Home - juanitopons/fullstack-test GitHub Wiki

fullstack-test-server - v1.0.0Wiki

fullstack-test-server - v1.0.0

Index

Namespaces

Enumerations

Classes

Interfaces

Variables

Functions

Object literals

Namespaces

__global

__global:

Defined in src/typings/config.d.ts:1

NodeJS

NodeJS:

Defined in src/typings/config.d.ts:2

ProcessEnv

ProcessEnv:

Defined in src/typings/config.d.ts:3

API_URI

API_URI: string

Defined in src/typings/config.d.ts:4

MYSQL_DATABASE

MYSQL_DATABASE: string

Defined in src/typings/config.d.ts:17

MYSQL_HOSTNAME

MYSQL_HOSTNAME: string

Defined in src/typings/config.d.ts:13

MYSQL_PASSWORD

MYSQL_PASSWORD: string

Defined in src/typings/config.d.ts:15

MYSQL_PORT

MYSQL_PORT: string

Defined in src/typings/config.d.ts:16

MYSQL_USER

MYSQL_USER: string

Defined in src/typings/config.d.ts:14

NODE_DEBUG

NODE_DEBUG: string

Defined in src/typings/config.d.ts:12

NODE_DOCKER

NODE_DOCKER: string

Defined in src/typings/config.d.ts:19

NODE_ENV

NODE_ENV: string

Defined in src/typings/config.d.ts:5

NODE_LOG_DIR

NODE_LOG_DIR: string

Defined in src/typings/config.d.ts:8

NODE_LOG_FILE

NODE_LOG_FILE: string

Defined in src/typings/config.d.ts:7

NODE_LOG_LEVEL

NODE_LOG_LEVEL: string

Defined in src/typings/config.d.ts:6

NODE_MORGAN_LOG

NODE_MORGAN_LOG: string

Defined in src/typings/config.d.ts:9

NODE_MORGAN_LOG_FMT

NODE_MORGAN_LOG_FMT: string

Defined in src/typings/config.d.ts:10

NODE_MORGAN_LOG_ROLLING_INTERVAL

NODE_MORGAN_LOG_ROLLING_INTERVAL: string

Defined in src/typings/config.d.ts:11

SERVER_INTERNAL_PORT

SERVER_INTERNAL_PORT: string

Defined in src/typings/config.d.ts:18

Variables

Const DatabaseEnv

DatabaseEnv: object = process.env as ProcessEnv

Defined in src/database/database.ts:24

Type declaration:

  • MYSQL_DATABASE: any

  • MYSQL_HOSTNAME: any

  • MYSQL_PASSWORD: any

  • MYSQL_PORT: any

  • MYSQL_USER: any


Const ExpressEnv

ExpressEnv: object = process.env as ProcessEnv

Defined in src/express.ts:23

Type declaration:

  • API_URI: any

  • MYSQL_HOSTNAME: any

  • MYSQL_PORT: any

  • NODE_DEBUG: any

  • NODE_DOCKER: any

  • NODE_ENV: any

  • SERVER_INTERNAL_PORT: any


Const LOGGER_FILES_PATH

LOGGER_FILES_PATH: string = ${LoggerEnv.NODE_LOG_DIR}/${LoggerEnv.NODE_LOG_FILE}

Defined in src/helpers/logger.ts:30


Const LoggerEnv

LoggerEnv: object = process.env as ProcessEnv

Defined in src/helpers/logger.ts:20

Type declaration:

  • NODE_ENV: any

  • NODE_LOG_DIR: any

  • NODE_LOG_FILE: any

  • NODE_LOG_LEVEL: any

  • NODE_MORGAN_LOG: any

  • NODE_MORGAN_LOG_FMT: any

  • NODE_MORGAN_LOG_ROLLING_INTERVAL: any


Const MORGAN_ACCESS_APPENDER

MORGAN_ACCESS_APPENDER: RequestHandler‹ParamsDictionary› = morgan(LoggerEnv.NODE_MORGAN_LOG_FMT, { stream: MORGAN_ROTATING, })

Defined in src/helpers/logger.ts:46


Const MORGAN_ROTATING

MORGAN_ROTATING: RotatingFileStream‹› = rfs.createStream(LoggerEnv.NODE_MORGAN_LOG, { interval: LoggerEnv.NODE_MORGAN_LOG_ROLLING_INTERVAL, path: LoggerEnv.NODE_LOG_DIR, })

Defined in src/helpers/logger.ts:42


Const cronJobs

cronJobs: ICustomCronJobParams[] = [ { name: 'cron-example', cronTime: '0 */1 * * * *', onTick: everyOneMinCronJob, }, ] as ICustomCronJobParams[]

Defined in src/cron.jobs.ts:7


Const expressServer

expressServer: ExpressServer‹› = Container.get(ExpressServer)

Defined in src/server.ts:15


Const logger

logger: IServerLogger = getLogger()

Defined in src/server.ts:14

Functions

Logger

Logger(): (Anonymous function)

Defined in src/decorators/logger.ts:6

Returns: (Anonymous function)


Validator

Validator(schema: ObjectSchema): (Anonymous function)

Defined in src/app/middlewares/validator.ts:11

Parameters:

Name Type
schema ObjectSchema

Returns: (Anonymous function)


addSourceMapSupport

addSourceMapSupport(): void

Defined in src/config.ts:17

Returns: void


applyMixins

applyMixins(derivedCtor: any, baseCtors: any[]): void

Defined in src/helpers/utils.ts:216

Parameters:

Name Type
derivedCtor any
baseCtors any[]

Returns: void


entityArrayToMap

entityArrayToMap<T>(entityArray: T[], mapKey: string): Map‹any, Partial‹T[]››

Defined in src/helpers/utils.ts:173

Transform array entities to mapped key column

export

Type parameters:

T: CoreEntity

Parameters:

Name Type
entityArray T[]
mapKey string

Returns: Map‹any, Partial‹T[]››


Const everyOneMinCronJob

everyOneMinCronJob(): void

Defined in src/scripts/cron/example-every-one-minute.ts:4

Returns: void


getDefaultsQueryOptions

getDefaultsQueryOptions(options: IQueryOptions): IQueryOptions

Defined in src/helpers/utils.ts:67

Get defaults of QueryOptions filter if no valid ones were obtained from the client

Parameters:

Name Type
options IQueryOptions

Returns: IQueryOptions


getFilter

getFilter(options: IQueryOptions, countAll: boolean): FindManyOptions

Defined in src/helpers/utils.ts:120

Get repositories find filter from QueryOptions interface

export

Parameters:

Name Type Default
options IQueryOptions -
countAll boolean false

Returns: FindManyOptions


Const getLogger

getLogger(): ServerLogger‹›

Defined in src/helpers/logger.ts:250

Returns: ServerLogger‹›


getPageOptions

getPageOptions(queryOptions: IQueryOptions): FindManyOptions

Defined in src/helpers/utils.ts:103

Generate typeorm repositories find filter for pagination from QueryOptions interface col

Parameters:

Name Type
queryOptions IQueryOptions

Returns: FindManyOptions


getSortOptions

getSortOptions(queryOptions: IQueryOptions): object

Defined in src/helpers/utils.ts:76

Parameters:

Name Type
queryOptions IQueryOptions

Returns: object


initConfig

initConfig(): void

Defined in src/config.ts:41

Returns: void


isDevelopment

isDevelopment(): boolean

Defined in src/helpers/utils.ts:17

Check for 'development' enviroment

export

Returns: boolean


isProduction

isProduction(): boolean

Defined in src/helpers/utils.ts:21

Returns: boolean


loadDotenvConfig

loadDotenvConfig(): void

Defined in src/config.ts:27

Returns: void


mapArrayToEntity

mapArrayToEntity<T>(arrayValues: Partial‹T›[], model: object): T[]

Defined in src/helpers/utils.ts:209

Type parameters:

T: CoreEntity

Parameters:

Name Type
arrayValues Partial‹T›[]
model object

Returns: T[]


mapSingleToEntity

mapSingleToEntity<T>(values: Partial‹T›, model: object): T

Defined in src/helpers/utils.ts:202

Type parameters:

T: CoreEntity

Parameters:

Name Type
values Partial‹T›
model object

Returns: T


mappingTypeExists

mappingTypeExists(mappingType: string, entityRef: ICoreEntity): boolean

Defined in src/helpers/utils.ts:158

Check if mapping exists for given Entity

export

Parameters:

Name Type
mappingType string
entityRef ICoreEntity

Returns: boolean


Const pipe

pipe(...fns: any[]): (Anonymous function)

Defined in src/helpers/utils.ts:25

Parameters:

Name Type
...fns any[]

Returns: (Anonymous function)


queryMapEntity

queryMapEntity<T, K>(mapColumn: string, data: Partial‹T[]›): Map‹T[K], Partial‹T[]››

Defined in src/helpers/utils.ts:195

Map entity queries by entity map type

export

Type parameters:

T: CoreEntity

K: keyof T

Parameters:

Name Type
mapColumn string
data Partial‹T[]›

Returns: Map‹T[K], Partial‹T[]››


strictEnv

strictEnv(): void

Defined in src/config.ts:11

Returns: void


Const strictNodeEnvValueValidator

strictNodeEnvValueValidator(nodeEnvs: string[]): (Anonymous function)

Defined in src/helpers/validation/validators.ts:5

Parameters:

Name Type
nodeEnvs string[]

Returns: (Anonymous function)


Const stringInclude

stringInclude(expected: string[]): (Anonymous function)

Defined in src/helpers/validation/rules.ts:22

Parameters:

Name Type
expected string[]

Returns: (Anonymous function)


Const stringValue

stringValue(expected: string): (Anonymous function)

Defined in src/helpers/validation/rules.ts:3

Parameters:

Name Type
expected string

Returns: (Anonymous function)


throwIfNotKeyinObj

throwIfNotKeyinObj<T, K>(obj: Partial‹T›, prop: K, validator: any, msg: string): T[K]

Defined in src/helpers/utils.ts:42

Object key function validator. Checks if key K from T exists on Partial. Also checks T[K] specific defined validator

export

Type parameters:

T

K: keyof T

Parameters:

Name Type Default
obj Partial‹T› -
prop K -
validator any -
msg string Property key '${prop}' not found in Object

Returns: T[K]


useContainers

useContainers(): void

Defined in src/config.ts:35

Returns: void

Object literals

Const CRON_LEVEL

CRON_LEVEL: object

Defined in src/helpers/logger.ts:56

name

name: string = "CRON"

Defined in src/helpers/logger.ts:56

level: object

Defined in src/helpers/logger.ts:56

  • colour: string = "yellow"

  • value: number = 300001


Const DATEFILE_APPENDER

DATEFILE_APPENDER: object

Defined in src/helpers/logger.ts:33

compress

compress: boolean = true

Defined in src/helpers/logger.ts:37

daysToKeep

daysToKeep: number = 14

Defined in src/helpers/logger.ts:38

filename

filename: string = LOGGER_FILES_PATH

Defined in src/helpers/logger.ts:35

keepFileExt

keepFileExt: boolean = true

Defined in src/helpers/logger.ts:39

type

type: string = "dateFile"

Defined in src/helpers/logger.ts:34

layout: object

Defined in src/helpers/logger.ts:36

  • type: string = "basic"

Const DB_LEVEL

DB_LEVEL: object

Defined in src/helpers/logger.ts:57

name

name: string = "DB"

Defined in src/helpers/logger.ts:57

level: object

Defined in src/helpers/logger.ts:57

  • colour: string = "cyan"

  • value: number = 200001


Const ENTITY_CHECK_REL_OPS

ENTITY_CHECK_REL_OPS: object

Defined in src/app/controller.interface.ts:30

ownEntity

ownEntity: false = false

Defined in src/app/controller.interface.ts:31


Const LOGGER_APPENDERS

LOGGER_APPENDERS: object

Defined in src/helpers/logger.ts:50

console

console: object = STDOUT_APPENDER

Defined in src/helpers/logger.ts:51

Type declaration:

  • type: string = "stdout"

  • layout: object

    • type: string = "colored"

dateFile

dateFile: object = DATEFILE_APPENDER

Defined in src/helpers/logger.ts:52

Type declaration:

  • compress: boolean = true

  • daysToKeep: number = 14

  • filename: string = LOGGER_FILES_PATH

  • keepFileExt: boolean = true

  • type: string = "dateFile"

  • layout: object

    • type: string = "basic"

Const LOGGER_CONFIG

LOGGER_CONFIG: object

Defined in src/helpers/logger.ts:59

__computed: object

Defined in src/helpers/logger.ts:60

Defined in src/helpers/logger.ts:65

Defined in src/helpers/logger.ts:70

  • appendersCategories: string[] = ['console', 'dateFile']

  • expressAppenders: RequestHandler‹ParamsDictionary›[] = [MORGAN_ACCESS_APPENDER]

  • level: string = "info"

default: object

Defined in src/helpers/logger.ts:75

  • appendersCategories: string[] = ['console']

  • expressAppenders: undefined[] = []

  • level: string = "debug"


Const LOGGER_LEVELS

LOGGER_LEVELS: object

Defined in src/helpers/logger.ts:82

__computed

__computed: object = DB_LEVEL.level

Defined in src/helpers/logger.ts:83

Defined in src/helpers/logger.ts:84

Type declaration:

  • colour: string = "cyan"

  • value: number = 200001


Const NODE_ENV_STRICT_VALUES

NODE_ENV_STRICT_VALUES: object

Defined in src/app/config.interface.ts:3

DEVELOPMENT

DEVELOPMENT: string = "development"

Defined in src/app/config.interface.ts:4

PRODUCTION

PRODUCTION: string = "production"

Defined in src/app/config.interface.ts:6

STAGING

STAGING: string = "staging"

Defined in src/app/config.interface.ts:5


Const OPTS

OPTS: object

Defined in src/app/middlewares/validator.ts:4

abortEarly

abortEarly: false = false

Defined in src/app/middlewares/validator.ts:5

language: object

Defined in src/app/middlewares/validator.ts:6

  • key: string = "{{key}} "

Const QUERY_OPTIONS

QUERY_OPTIONS: object

Defined in src/app/controller.interface.ts:18

itemsPerPage

itemsPerPage: string = "5"

Defined in src/app/controller.interface.ts:22

mapping

mapping: null = null

Defined in src/app/controller.interface.ts:21

page

page: string = "0"

Defined in src/app/controller.interface.ts:23

sortColumns

sortColumns: string[] = ['id']

Defined in src/app/controller.interface.ts:19

sortDirections

sortDirections: QuerySortOrder[] = [QuerySortOrder.DESC]

Defined in src/app/controller.interface.ts:20


Const STDOUT_APPENDER

STDOUT_APPENDER: object

Defined in src/helpers/logger.ts:41

type

type: string = "stdout"

Defined in src/helpers/logger.ts:41

layout: object

Defined in src/helpers/logger.ts:41

  • type: string = "colored"

Const STRICT_ENVS

STRICT_ENVS: object

Defined in src/app/config.interface.ts:9

API_URI: object

Defined in src/app/config.interface.ts:10

  • key: string = "API_URI"

MYSQL_DATABASE: object

Defined in src/app/config.interface.ts:27

  • key: string = "MYSQL_DATABASE"

MYSQL_HOSTNAME: object

Defined in src/app/config.interface.ts:23

  • key: string = "MYSQL_HOSTNAME"

MYSQL_PASSWORD: object

Defined in src/app/config.interface.ts:25

  • key: string = "MYSQL_PASSWORD"

MYSQL_PORT: object

Defined in src/app/config.interface.ts:26

  • key: string = "MYSQL_PORT"

MYSQL_USER: object

Defined in src/app/config.interface.ts:24

  • key: string = "MYSQL_USER"

NODE_DEBUG: object

Defined in src/app/config.interface.ts:22

  • key: string = "NODE_DEBUG"

NODE_ENV: object

Defined in src/app/config.interface.ts:11

  • key: string = "NODE_ENV"

  • validator(): (Anonymous function)

NODE_LOG_DIR: object

Defined in src/app/config.interface.ts:18

  • key: string = "NODE_LOG_DIR"

NODE_LOG_FILE: object

Defined in src/app/config.interface.ts:17

  • key: string = "NODE_LOG_FILE"

NODE_LOG_LEVEL: object

Defined in src/app/config.interface.ts:16

  • key: string = "NODE_LOG_LEVEL"

NODE_MORGAN_LOG: object

Defined in src/app/config.interface.ts:19

  • key: string = "NODE_MORGAN_LOG"

NODE_MORGAN_LOG_FMT: object

Defined in src/app/config.interface.ts:20

  • key: string = "NODE_MORGAN_LOG_FMT"

NODE_MORGAN_LOG_ROLLING_INTERVAL: object

Defined in src/app/config.interface.ts:21

  • key: string = "NODE_MORGAN_LOG_ROLLING_INTERVAL"

SERVER_INTERNAL_PORT: object

Defined in src/app/config.interface.ts:28

  • key: string = "SERVER_INTERNAL_PORT"
⚠️ **GitHub.com Fallback** ⚠️