SYMBOL INDEX (239 symbols across 82 files) FILE: database/getMigrator.ts function getMigrator (line 15) | async function getMigrator() { FILE: database/migrate.ts function run (line 4) | async function run() { FILE: database/migrations/2022.10.07T13.49.19.users.sql type "users" (line 1) | CREATE TABLE "users" ( FILE: database/migrations/2022.10.07T13.49.54.wallets.sql type "wallets" (line 1) | CREATE TABLE "wallets" ( FILE: database/seed.ts function runAll (line 16) | async function runAll() { FILE: src/app.module.ts class AppModule (line 46) | class AppModule {} FILE: src/libs/api/api-error.response.ts class ApiErrorResponse (line 3) | class ApiErrorResponse { method constructor (line 24) | constructor(body: ApiErrorResponse) { FILE: src/libs/api/graphql/paginated.graphql-response.base.ts type IPaginatedType (line 4) | interface IPaginatedType { function PaginatedGraphqlResponse (line 11) | function PaginatedGraphqlResponse( FILE: src/libs/api/id.response.dto.ts class IdResponse (line 3) | class IdResponse { method constructor (line 4) | constructor(id: string) { FILE: src/libs/api/paginated-query.request.dto.ts class PaginatedQueryRequestDto (line 5) | class PaginatedQueryRequestDto { FILE: src/libs/api/response.base.ts type BaseResponseProps (line 4) | interface BaseResponseProps { class ResponseBase (line 15) | class ResponseBase extends IdResponse { method constructor (line 16) | constructor(props: BaseResponseProps) { FILE: src/libs/application/context/AppRequestContext.ts class AppRequestContext (line 8) | class AppRequestContext extends RequestContext { class RequestContextService (line 13) | class RequestContextService { method getContext (line 14) | static getContext(): AppRequestContext { method setRequestId (line 19) | static setRequestId(id: string): void { method getRequestId (line 24) | static getRequestId(): string { method getTransactionConnection (line 28) | static getTransactionConnection(): DatabaseTransactionConnection | und... method setTransactionConnection (line 33) | static setTransactionConnection( method cleanTransactionConnection (line 40) | static cleanTransactionConnection(): void { FILE: src/libs/application/context/ContextInterceptor.ts class ContextInterceptor (line 12) | class ContextInterceptor implements NestInterceptor { method intercept (line 13) | intercept(context: ExecutionContext, next: CallHandler): Observable> { method findAll (line 49) | async findAll(): Promise { method findAllPaginated (line 59) | async findAllPaginated( method delete (line 79) | async delete(entity: Aggregate): Promise { method insert (line 102) | async insert(entity: Aggregate | Aggregate[]): Promise { method writeQuery (line 130) | protected async writeQuery( method generateInsertQuery (line 171) | protected generateInsertQuery( method transaction (line 205) | public async transaction(handler: () => Promise): Promise { method pool (line 236) | protected get pool(): DatabasePool | DatabaseTransactionConnection { FILE: src/libs/ddd/aggregate-root.base.ts method domainEvents (line 10) | get domainEvents(): DomainEvent[] { method addEvent (line 14) | protected addEvent(domainEvent: DomainEvent): void { method clearEvents (line 18) | public clearEvents(): void { method publishEvents (line 22) | public async publishEvents( FILE: src/libs/ddd/command.base.ts type CommandProps (line 6) | type CommandProps = Omit & Partial; type CommandMetadata (line 8) | type CommandMetadata = { class Command (line 30) | class Command { method constructor (line 39) | constructor(props: CommandProps) { FILE: src/libs/ddd/domain-event.base.ts type DomainEventMetadata (line 6) | type DomainEventMetadata = { type DomainEventProps (line 25) | type DomainEventProps = Omit & { method constructor (line 38) | constructor(props: DomainEventProps) { FILE: src/libs/ddd/entity.base.ts type AggregateID (line 9) | type AggregateID = string; type BaseEntityProps (line 11) | interface BaseEntityProps { type CreateEntityProps (line 17) | interface CreateEntityProps { method constructor (line 25) | constructor({ method id (line 54) | get id(): AggregateID { method setId (line 58) | private setId(id: AggregateID): void { method createdAt (line 62) | get createdAt(): Date { method updatedAt (line 66) | get updatedAt(): Date { method isEntity (line 70) | static isEntity(entity: unknown): entity is Entity { method equals (line 78) | public equals(object?: Entity): boolean { method getProps (line 99) | public getProps(): EntityProps & BaseEntityProps { method toObject (line 114) | public toObject(): unknown { method validateProps (line 133) | private validateProps(props: EntityProps): void { FILE: src/libs/ddd/mapper.interface.ts type Mapper (line 3) | interface Mapper< FILE: src/libs/ddd/query.base.ts method constructor (line 17) | constructor(props: PaginatedParams) { type PaginatedParams (line 27) | type PaginatedParams = Omit< FILE: src/libs/ddd/repository.port.ts class Paginated (line 10) | class Paginated { method constructor (line 16) | constructor(props: Paginated) { type OrderBy (line 24) | type OrderBy = { field: string | true; param: 'asc' | 'desc' }; type PaginatedQueryParams (line 26) | type PaginatedQueryParams = { type RepositoryPort (line 33) | interface RepositoryPort { FILE: src/libs/ddd/value-object.base.ts type Primitives (line 8) | type Primitives = string | number | boolean; type DomainPrimitive (line 9) | interface DomainPrimitive { type ValueObjectProps (line 13) | type ValueObjectProps = T extends Primitives | Date ? DomainPrimitive... method constructor (line 18) | constructor(props: ValueObjectProps) { method isValueObject (line 26) | static isValueObject(obj: unknown): obj is ValueObject { method equals (line 34) | public equals(vo?: ValueObject): boolean { method unpack (line 44) | public unpack(): T { method checkIfEmpty (line 54) | private checkIfEmpty(props: ValueObjectProps): void { method isDomainPrimitive (line 63) | private isDomainPrimitive( FILE: src/libs/decorators/final.decorator.ts function final (line 7) | function final( FILE: src/libs/decorators/frozen.decorator.ts function frozen (line 8) | function frozen(constructor: Function): void { FILE: src/libs/exceptions/exception.base.ts type SerializedException (line 3) | interface SerializedException { method constructor (line 39) | constructor( method toJSON (line 57) | toJSON(): SerializedException { FILE: src/libs/exceptions/exception.codes.ts constant ARGUMENT_INVALID (line 10) | const ARGUMENT_INVALID = 'GENERIC.ARGUMENT_INVALID'; constant ARGUMENT_OUT_OF_RANGE (line 11) | const ARGUMENT_OUT_OF_RANGE = 'GENERIC.ARGUMENT_OUT_OF_RANGE'; constant ARGUMENT_NOT_PROVIDED (line 12) | const ARGUMENT_NOT_PROVIDED = 'GENERIC.ARGUMENT_NOT_PROVIDED'; constant NOT_FOUND (line 13) | const NOT_FOUND = 'GENERIC.NOT_FOUND'; constant CONFLICT (line 14) | const CONFLICT = 'GENERIC.CONFLICT'; constant INTERNAL_SERVER_ERROR (line 15) | const INTERNAL_SERVER_ERROR = 'GENERIC.INTERNAL_SERVER_ERROR'; FILE: src/libs/exceptions/exceptions.ts class ArgumentInvalidException (line 17) | class ArgumentInvalidException extends ExceptionBase { class ArgumentNotProvidedException (line 27) | class ArgumentNotProvidedException extends ExceptionBase { class ArgumentOutOfRangeException (line 38) | class ArgumentOutOfRangeException extends ExceptionBase { class ConflictException (line 48) | class ConflictException extends ExceptionBase { class NotFoundException (line 58) | class NotFoundException extends ExceptionBase { method constructor (line 61) | constructor(message = NotFoundException.message) { class InternalServerErrorException (line 74) | class InternalServerErrorException extends ExceptionBase { method constructor (line 77) | constructor(message = InternalServerErrorException.message) { FILE: src/libs/guard.ts class Guard (line 1) | class Guard { method isEmpty (line 5) | static isEmpty(value: unknown): boolean { method lengthIsBetween (line 36) | static lengthIsBetween( FILE: src/libs/ports/logger.port.ts type LoggerPort (line 1) | interface LoggerPort { FILE: src/libs/types/deep-partial.type.ts type DeepPartial (line 4) | type DeepPartial = { FILE: src/libs/types/mutable.type.ts type Mutable (line 5) | type Mutable = { type DeepMutable (line 13) | type DeepMutable = { -readonly [P in keyof T]: DeepMutable }; FILE: src/libs/types/non-function-properties.type.ts type NonFunctionPropertyNames (line 1) | type NonFunctionPropertyNames = { type NonFunctionProperties (line 9) | type NonFunctionProperties = Pick>; FILE: src/libs/types/object-literal.type.ts type ObjectLiteral (line 4) | interface ObjectLiteral { FILE: src/libs/types/require-one.type.ts type RequireAtLeastOne (line 4) | type RequireAtLeastOne = Pick< type RequireOnlyOne (line 13) | type RequireOnlyOne = Pick< FILE: src/libs/utils/convert-props-to-object.util.ts function isEntity (line 5) | function isEntity(obj: unknown): obj is Entity { function convertToPlainObject (line 18) | function convertToPlainObject(item: any): any { function convertPropsToObject (line 33) | function convertPropsToObject(props: any): any { FILE: src/main.ts function bootstrap (line 6) | async function bootstrap() { FILE: src/modules/user/commands/create-user/create-user.cli.controller.ts class CreateUserCliController (line 12) | class CreateUserCliController { method constructor (line 13) | constructor( method createUser (line 23) | async createUser( FILE: src/modules/user/commands/create-user/create-user.command.ts class CreateUserCommand (line 3) | class CreateUserCommand extends Command { method constructor (line 12) | constructor(props: CommandProps) { FILE: src/modules/user/commands/create-user/create-user.http.controller.ts class CreateUserHttpController (line 20) | class CreateUserHttpController { method constructor (line 21) | constructor(private readonly commandBus: CommandBus) {} method create (line 38) | async create(@Body() body: CreateUserRequestDto): Promise { FILE: src/modules/user/commands/create-user/create-user.message.controller.ts class CreateUserMessageController (line 9) | class CreateUserMessageController { method constructor (line 10) | constructor(private readonly commandBus: CommandBus) {} method create (line 13) | async create(message: CreateUserRequestDto): Promise { FILE: src/modules/user/commands/create-user/create-user.request.dto.ts class CreateUserRequestDto (line 11) | class CreateUserRequestDto { FILE: src/modules/user/commands/create-user/create-user.service.ts class CreateUserService (line 14) | class CreateUserService implements ICommandHandler { method constructor (line 15) | constructor( method execute (line 20) | async execute( FILE: src/modules/user/commands/create-user/graphql-example/create-user.graphql-resolver.ts class CreateUserGraphqlResolver (line 12) | class CreateUserGraphqlResolver { method constructor (line 13) | constructor(private readonly commandBus: CommandBus) {} method create (line 16) | async create( FILE: src/modules/user/commands/create-user/graphql-example/dtos/create-user.gql-request.dto.ts class CreateUserGqlRequestDto (line 13) | class CreateUserGqlRequestDto { FILE: src/modules/user/commands/create-user/graphql-example/dtos/id.gql-response.dto.ts class IdGqlResponse (line 4) | class IdGqlResponse { method constructor (line 5) | constructor(id: string) { FILE: src/modules/user/commands/delete-user/delete-user.http-controller.ts class DeleteUserHttpController (line 17) | class DeleteUserHttpController { method constructor (line 18) | constructor(private readonly commandBus: CommandBus) {} method deleteUser (line 31) | async deleteUser(@Param('id') id: string): Promise { FILE: src/modules/user/commands/delete-user/delete-user.service.ts class DeleteUserCommand (line 8) | class DeleteUserCommand { method constructor (line 11) | constructor(props: DeleteUserCommand) { class DeleteUserService (line 17) | class DeleteUserService { method constructor (line 18) | constructor( method execute (line 23) | async execute( FILE: src/modules/user/database/user.repository.port.ts type FindUsersParams (line 4) | interface FindUsersParams extends PaginatedQueryParams { type UserRepositoryPort (line 10) | interface UserRepositoryPort extends RepositoryPort { FILE: src/modules/user/database/user.repository.ts type UserModel (line 28) | type UserModel = z.TypeOf; class UserRepository (line 34) | class UserRepository method constructor (line 42) | constructor( method updateAddress (line 51) | async updateAddress(user: UserEntity): Promise { method findOneByEmail (line 61) | async findOneByEmail(email: string): Promise { FILE: src/modules/user/domain/events/user-address-updated.domain-event.ts class UserAddressUpdatedDomainEvent (line 3) | class UserAddressUpdatedDomainEvent extends DomainEvent { method constructor (line 10) | constructor(props: DomainEventProps) { FILE: src/modules/user/domain/events/user-created.domain-event.ts class UserCreatedDomainEvent (line 3) | class UserCreatedDomainEvent extends DomainEvent { method constructor (line 12) | constructor(props: DomainEventProps) { FILE: src/modules/user/domain/events/user-deleted.domain-event.ts class UserDeletedDomainEvent (line 3) | class UserDeletedDomainEvent extends DomainEvent { method constructor (line 4) | constructor(props: DomainEventProps) { FILE: src/modules/user/domain/events/user-role-changed.domain-event.ts class UserRoleChangedDomainEvent (line 4) | class UserRoleChangedDomainEvent extends DomainEvent { method constructor (line 9) | constructor(props: DomainEventProps) { FILE: src/modules/user/domain/user.entity.ts class UserEntity (line 15) | class UserEntity extends AggregateRoot { method create (line 18) | static create(create: CreateUserProps): UserEntity { method role (line 41) | get role(): UserRoles { method changeRole (line 45) | private changeRole(newRole: UserRoles): void { method makeAdmin (line 57) | makeAdmin(): void { method makeModerator (line 61) | makeModerator(): void { method delete (line 65) | delete(): void { method updateAddress (line 77) | updateAddress(props: UpdateUserAddressProps): void { method validate (line 95) | validate(): void { FILE: src/modules/user/domain/user.errors.ts class UserAlreadyExistsError (line 3) | class UserAlreadyExistsError extends ExceptionBase { method constructor (line 8) | constructor(cause?: Error, metadata?: unknown) { FILE: src/modules/user/domain/user.types.ts type UserProps (line 4) | interface UserProps { type CreateUserProps (line 11) | interface CreateUserProps { type UpdateUserAddressProps (line 17) | interface UpdateUserAddressProps { type UserRoles (line 23) | enum UserRoles { FILE: src/modules/user/domain/value-objects/address.value-object.ts type AddressProps (line 10) | interface AddressProps { class Address (line 16) | class Address extends ValueObject { method country (line 17) | get country(): string { method postalCode (line 21) | get postalCode(): string { method street (line 25) | get street(): string { method validate (line 36) | protected validate(props: AddressProps): void { FILE: src/modules/user/dtos/graphql/user.graphql-response.dto.ts class UserGraphqlResponseDto (line 5) | class UserGraphqlResponseDto extends ResponseBase { FILE: src/modules/user/dtos/graphql/user.paginated-gql-response.dto.ts class UserPaginatedGraphqlResponseDto (line 7) | class UserPaginatedGraphqlResponseDto extends PaginatedGraphqlResponse( FILE: src/modules/user/dtos/user.paginated.response.dto.ts class UserPaginatedResponseDto (line 5) | class UserPaginatedResponseDto extends PaginatedResponseDto) { class FindUsersQueryHandler (line 25) | class FindUsersQueryHandler implements IQueryHandler { method constructor (line 26) | constructor( method execute (line 37) | async execute( FILE: src/modules/user/queries/find-users/find-users.request.dto.ts class FindUsersRequestDto (line 10) | class FindUsersRequestDto { FILE: src/modules/user/user.di-tokens.ts constant USER_REPOSITORY (line 3) | const USER_REPOSITORY = Symbol('USER_REPOSITORY'); FILE: src/modules/user/user.mapper.ts class UserMapper (line 16) | class UserMapper method toPersistence (line 19) | toPersistence(entity: UserEntity): UserModel { method toDomain (line 34) | toDomain(record: UserModel): UserEntity { method toResponse (line 52) | toResponse(entity: UserEntity): UserResponseDto { FILE: src/modules/user/user.module.ts class UserModule (line 55) | class UserModule {} FILE: src/modules/wallet/application/event-handlers/create-wallet-when-user-is-created.domain-event-handler.ts class CreateWalletWhenUserIsCreatedDomainEventHandler (line 9) | class CreateWalletWhenUserIsCreatedDomainEventHandler { method constructor (line 10) | constructor( method handle (line 17) | async handle(event: UserCreatedDomainEvent): Promise { FILE: src/modules/wallet/database/wallet.repository.port.ts type WalletRepositoryPort (line 4) | type WalletRepositoryPort = RepositoryPort; FILE: src/modules/wallet/database/wallet.repository.ts type WalletModel (line 19) | type WalletModel = z.TypeOf; class WalletRepository (line 22) | class WalletRepository method constructor (line 30) | constructor( FILE: src/modules/wallet/domain/events/wallet-created.domain-event.ts class WalletCreatedDomainEvent (line 3) | class WalletCreatedDomainEvent extends DomainEvent { method constructor (line 6) | constructor(props: DomainEventProps) { FILE: src/modules/wallet/domain/wallet.entity.ts type CreateWalletProps (line 8) | interface CreateWalletProps { type WalletProps (line 12) | interface WalletProps extends CreateWalletProps { class WalletEntity (line 16) | class WalletEntity extends AggregateRoot { method create (line 19) | static create(create: CreateWalletProps): WalletEntity { method deposit (line 31) | deposit(amount: number): void { method withdraw (line 35) | withdraw(amount: number): Result { method validate (line 48) | public validate(): void { FILE: src/modules/wallet/domain/wallet.errors.ts class WalletNotEnoughBalanceError (line 3) | class WalletNotEnoughBalanceError extends ExceptionBase { method constructor (line 8) | constructor(metadata?: unknown) { FILE: src/modules/wallet/wallet.di-tokens.ts constant WALLET_REPOSITORY (line 1) | const WALLET_REPOSITORY = Symbol('WALLET_REPOSITORY'); FILE: src/modules/wallet/wallet.mapper.ts class WalletMapper (line 7) | class WalletMapper implements Mapper { method toPersistence (line 8) | toPersistence(entity: WalletEntity): WalletModel { method toDomain (line 20) | toDomain(record: WalletModel): WalletEntity { method toResponse (line 33) | toResponse(): any { FILE: src/modules/wallet/wallet.module.ts class WalletModule (line 22) | class WalletModule {} FILE: tests/setup/jestSetupAfterEnv.ts class TestServer (line 11) | class TestServer { method constructor (line 12) | constructor( method new (line 17) | public static async new( function generateTestingApplication (line 39) | async function generateTestingApplication(): Promise<{ function getTestServer (line 53) | function getTestServer(): TestServer { function getConnectionPool (line 57) | function getConnectionPool(): DatabasePool { function getHttpServer (line 61) | function getHttpServer(): request.SuperTest { FILE: tests/test-utils/ApiClient.ts class ApiClient (line 7) | class ApiClient { method createUser (line 10) | async createUser(dto: CreateUserRequestDto): Promise { method deleteUser (line 15) | async deleteUser(id: string): Promise { method findAllUsers (line 20) | async findAllUsers(): Promise { FILE: tests/test-utils/TestContext.ts class TestContext (line 4) | class TestContext { method constructor (line 9) | constructor() { FILE: tests/user/user-shared-steps.ts type CreateUserTestContext (line 11) | type CreateUserTestContext = {