@isloth/node-common-lib
v0.1.92
Published
shared codes for node services
Readme
node-common-lib
Shared code for backend node services
Setup
Clone the repository:
git clone https://github.com/i-Sloth/node-common-lib.git cd node-common-libInstall dependencies:
npm install
Commands
Build library
npm run buildRun tests
npm run testGenerate JS package (in dist directory)
npm run prepare
Client component commands
install
npm install @isloth/node-common-libUpdate to the latest version
npm install @isloth/node-common-lib@latest
Class Diagram
Contexts
classDiagram
class BaseContext {
+ correlation_id: string
}
class CreateContext {
}
class AuthorizedCreateContext {
+ authContext: AuthContext
}
class UpdateContext {
}
class AuthorizedUpdateContext {
+ authContext: AuthContext
}
class DeleteContext {
}
class AuthorizedDeleteContext {
+ authContext: AuthContext
}
class FindContext~T extends Pagination~ {
+ baseUrl: string
}
class AuthorizedFindContext~T extends Pagination~ {
+ authContext: AuthContext
}
BaseContext <|-- CreateContext
CreateContext <|-- AuthorizedCreateContext
BaseContext <|-- UpdateContext
UpdateContext <|-- AuthorizedUpdateContext
BaseContext <|-- DeleteContext
DeleteContext <|-- AuthorizedDeleteContext
BaseContext <|-- FindContext
FindContext <|-- AuthorizedFindContextclassDiagram
class BaseBuilder~T~ {
<<Abstract>>
# data: Partial~T~
# validate(data: T) void
+ build() T
+ toJSON() Partial~T~
}
class BaseContextBuilder {
<<Abstract>>
+ setCorrelationId(correlationId: string) this
}
class CreateContextBuilder {
<<Abstract>>
}
class AuthorizedCreateContextBuilder {
<<Abstract>>
+ setAuthContext(authContext: AuthContext) this
}
class UpdateContextBuilder {
<<Abstract>>
}
class AuthorizedUpdateContextBuilder {
<<Abstract>>
+ setAuthContext(authContext: AuthContext) this
}
class DeleteContextBuilder {
<<Abstract>>
}
class AuthorizedDeleteContextBuilder {
<<Abstract>>
+ setAuthContext(authContext: AuthContext) this
}
class FindContextBuilder~T extends PaginationSchema~ {
<<Abstract>>
+ setBaseUrl(url: string) this
}
class AuthorizedFindContextBuilder~T extends PaginationSchema~ {
<<Abstract>>
+ setAuthContext(authContext: AuthContext) this
}
BaseBuilder <|-- BaseContextBuilder
BaseContextBuilder <|-- CreateContextBuilder
BaseContextBuilder <|-- UpdateContextBuilder
BaseContextBuilder <|-- DeleteContextBuilder
BaseContextBuilder <|-- FindContextBuilder
CreateContextBuilder <|-- AuthorizedCreateContextBuilder
UpdateContextBuilder <|-- AuthorizedUpdateContextBuilder
DeleteContextBuilder <|-- AuthorizedDeleteContextBuilder
FindContextBuilder <|-- AuthorizedFindContextBuilderControllers
classDiagram
class BaseController {
# getAuthContext(request: Request) AuthContext
# getCorrelationId(request: Request) string
# getFullUrl(req: Request) string
}Models
classDiagram
class Entity {
+ id: string
}
class File {
+ key: string
+ url: string
+ thumbnail_url: string
+ filename: string;
+ type: string
+ size: number
+ width?: number
+ height?: number
+ duration?: number
}
class JwtPayload {
+ sub: string
+ role: Role
+ toJson()
}
class Location {
+ latitude?: number
+ longitude?: number
+ altitude?: number
+ address?: string
+ city?: string
+ country?: string
}