@sisques-labs/nestjs-kit 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +770 -0
- package/dist/index.d.ts +93 -0
- package/dist/index.js +110 -0
- package/dist/index.js.map +1 -0
- package/dist/shared/application/commands/base/base-command.handler.d.ts +6 -0
- package/dist/shared/application/commands/base/base-command.handler.js +14 -0
- package/dist/shared/application/commands/base/base-command.handler.js.map +1 -0
- package/dist/shared/application/commands/interfaces/base-command-handler.interface.d.ts +3 -0
- package/dist/shared/application/commands/interfaces/base-command-handler.interface.js +3 -0
- package/dist/shared/application/commands/interfaces/base-command-handler.interface.js.map +1 -0
- package/dist/shared/application/commands/update/base-update/base-update.command-handler.d.ts +9 -0
- package/dist/shared/application/commands/update/base-update/base-update.command-handler.js +25 -0
- package/dist/shared/application/commands/update/base-update/base-update.command-handler.js.map +1 -0
- package/dist/shared/application/dtos/commands/field-changed/base-field-changed-command.dto.d.ts +5 -0
- package/dist/shared/application/dtos/commands/field-changed/base-field-changed-command.dto.js +3 -0
- package/dist/shared/application/dtos/commands/field-changed/base-field-changed-command.dto.js.map +1 -0
- package/dist/shared/application/services/base-service/base-service.interface.d.ts +3 -0
- package/dist/shared/application/services/base-service/base-service.interface.js +3 -0
- package/dist/shared/application/services/base-service/base-service.interface.js.map +1 -0
- package/dist/shared/domain/aggregates/base-aggregate/base.aggregate.d.ts +9 -0
- package/dist/shared/domain/aggregates/base-aggregate/base.aggregate.js +19 -0
- package/dist/shared/domain/aggregates/base-aggregate/base.aggregate.js.map +1 -0
- package/dist/shared/domain/entities/criteria.d.ts +21 -0
- package/dist/shared/domain/entities/criteria.js +12 -0
- package/dist/shared/domain/entities/criteria.js.map +1 -0
- package/dist/shared/domain/entities/paginated-result.entity.d.ts +8 -0
- package/dist/shared/domain/entities/paginated-result.entity.js +16 -0
- package/dist/shared/domain/entities/paginated-result.entity.js.map +1 -0
- package/dist/shared/domain/enums/filter-operator.enum.d.ts +10 -0
- package/dist/shared/domain/enums/filter-operator.enum.js +15 -0
- package/dist/shared/domain/enums/filter-operator.enum.js.map +1 -0
- package/dist/shared/domain/enums/length-unit/length-unit.enum.d.ts +7 -0
- package/dist/shared/domain/enums/length-unit/length-unit.enum.js +12 -0
- package/dist/shared/domain/enums/length-unit/length-unit.enum.js.map +1 -0
- package/dist/shared/domain/enums/sort-direction.enum.d.ts +4 -0
- package/dist/shared/domain/enums/sort-direction.enum.js +9 -0
- package/dist/shared/domain/enums/sort-direction.enum.js.map +1 -0
- package/dist/shared/domain/enums/user-context/user/user-role/user-role.enum.d.ts +4 -0
- package/dist/shared/domain/enums/user-context/user/user-role/user-role.enum.js +9 -0
- package/dist/shared/domain/enums/user-context/user/user-role/user-role.enum.js.map +1 -0
- package/dist/shared/domain/enums/user-context/user/user-status/user-status.enum.d.ts +5 -0
- package/dist/shared/domain/enums/user-context/user/user-status/user-status.enum.js +10 -0
- package/dist/shared/domain/enums/user-context/user/user-status/user-status.enum.js.map +1 -0
- package/dist/shared/domain/events/base-event.interface.d.ts +13 -0
- package/dist/shared/domain/events/base-event.interface.js +21 -0
- package/dist/shared/domain/events/base-event.interface.js.map +1 -0
- package/dist/shared/domain/exceptions/base.exception.d.ts +6 -0
- package/dist/shared/domain/exceptions/base.exception.js +23 -0
- package/dist/shared/domain/exceptions/base.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-boolean/invalid-boolean.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-boolean/invalid-boolean.exception.js +12 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-boolean/invalid-boolean.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-color/invalid-color.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-color/invalid-color.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-color/invalid-color.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-dimensions/invalid-dimensions.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-dimensions/invalid-dimensions.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-dimensions/invalid-dimensions.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-email/invalid-email.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-email/invalid-email.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-email/invalid-email.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-enum-value/invalid-enum-value.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-enum-value/invalid-enum-value.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-enum-value/invalid-enum-value.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-hex/invalid-hex.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-hex/invalid-hex.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-hex/invalid-hex.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-ip/invalid-ip.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-ip/invalid-ip.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-ip/invalid-ip.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-json/invalid-json.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-json/invalid-json.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-json/invalid-json.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-locale/invalid-locale.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-locale/invalid-locale.exception.js +12 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-locale/invalid-locale.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-number/invalid-number.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-number/invalid-number.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-number/invalid-number.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-numeric-range/invalid-numeric-range.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-numeric-range/invalid-numeric-range.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-numeric-range/invalid-numeric-range.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-password/invalid-password.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-password/invalid-password.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-password/invalid-password.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-phone/invalid-phone.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-phone/invalid-phone.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-phone/invalid-phone.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-string/invalid-string.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-string/invalid-string.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-string/invalid-string.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-timezone/invalid-timezone.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-timezone/invalid-timezone.exception.js +12 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-timezone/invalid-timezone.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-url/invalid-url.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-url/invalid-url.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-url/invalid-url.exception.js.map +1 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-uuid/invalid-uuid.exception.d.ts +4 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-uuid/invalid-uuid.exception.js +11 -0
- package/dist/shared/domain/exceptions/value-objects/invalid-uuid/invalid-uuid.exception.js.map +1 -0
- package/dist/shared/domain/interfaces/base-aggregate-dto.interface.d.ts +5 -0
- package/dist/shared/domain/interfaces/base-aggregate-dto.interface.js +3 -0
- package/dist/shared/domain/interfaces/base-aggregate-dto.interface.js.map +1 -0
- package/dist/shared/domain/interfaces/base-view-model-dto.interface.d.ts +5 -0
- package/dist/shared/domain/interfaces/base-view-model-dto.interface.js +3 -0
- package/dist/shared/domain/interfaces/base-view-model-dto.interface.js.map +1 -0
- package/dist/shared/domain/interfaces/event-metadata.interface.d.ts +7 -0
- package/dist/shared/domain/interfaces/event-metadata.interface.js +3 -0
- package/dist/shared/domain/interfaces/event-metadata.interface.js.map +1 -0
- package/dist/shared/domain/interfaces/events/base-event-data.interface.d.ts +4 -0
- package/dist/shared/domain/interfaces/events/base-event-data.interface.js +3 -0
- package/dist/shared/domain/interfaces/events/base-event-data.interface.js.map +1 -0
- package/dist/shared/domain/interfaces/factories/read-factory.interface.d.ts +5 -0
- package/dist/shared/domain/interfaces/factories/read-factory.interface.js +3 -0
- package/dist/shared/domain/interfaces/factories/read-factory.interface.js.map +1 -0
- package/dist/shared/domain/interfaces/factories/write-factory.interface.d.ts +4 -0
- package/dist/shared/domain/interfaces/factories/write-factory.interface.js +3 -0
- package/dist/shared/domain/interfaces/factories/write-factory.interface.js.map +1 -0
- package/dist/shared/domain/interfaces/numeric-range.interface.d.ts +4 -0
- package/dist/shared/domain/interfaces/numeric-range.interface.js +3 -0
- package/dist/shared/domain/interfaces/numeric-range.interface.js.map +1 -0
- package/dist/shared/domain/interfaces/repository/base-read-repository.interface.d.ts +8 -0
- package/dist/shared/domain/interfaces/repository/base-read-repository.interface.js +3 -0
- package/dist/shared/domain/interfaces/repository/base-read-repository.interface.js.map +1 -0
- package/dist/shared/domain/interfaces/repository/base-write-repository.interface.d.ts +5 -0
- package/dist/shared/domain/interfaces/repository/base-write-repository.interface.js +3 -0
- package/dist/shared/domain/interfaces/repository/base-write-repository.interface.js.map +1 -0
- package/dist/shared/domain/interfaces/updated-field.interface.d.ts +5 -0
- package/dist/shared/domain/interfaces/updated-field.interface.js +3 -0
- package/dist/shared/domain/interfaces/updated-field.interface.js.map +1 -0
- package/dist/shared/domain/primitives/base-primitives/base.primitives.d.ts +4 -0
- package/dist/shared/domain/primitives/base-primitives/base.primitives.js +3 -0
- package/dist/shared/domain/primitives/base-primitives/base.primitives.js.map +1 -0
- package/dist/shared/domain/value-objects/base/value-object.base.d.ts +11 -0
- package/dist/shared/domain/value-objects/base/value-object.base.js +40 -0
- package/dist/shared/domain/value-objects/base/value-object.base.js.map +1 -0
- package/dist/shared/domain/value-objects/boolean/boolean.vo.d.ts +26 -0
- package/dist/shared/domain/value-objects/boolean/boolean.vo.js +102 -0
- package/dist/shared/domain/value-objects/boolean/boolean.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/color/color.vo.d.ts +21 -0
- package/dist/shared/domain/value-objects/color/color.vo.js +127 -0
- package/dist/shared/domain/value-objects/color/color.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/date/date.vo.d.ts +9 -0
- package/dist/shared/domain/value-objects/date/date.vo.js +23 -0
- package/dist/shared/domain/value-objects/date/date.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/dimensions/dimensions.vo.d.ts +68 -0
- package/dist/shared/domain/value-objects/dimensions/dimensions.vo.js +182 -0
- package/dist/shared/domain/value-objects/dimensions/dimensions.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/email/email.vo.d.ts +12 -0
- package/dist/shared/domain/value-objects/email/email.vo.js +48 -0
- package/dist/shared/domain/value-objects/email/email.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/enum/enum.vo.d.ts +35 -0
- package/dist/shared/domain/value-objects/enum/enum.vo.js +137 -0
- package/dist/shared/domain/value-objects/enum/enum.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/hex/hex.vo.d.ts +11 -0
- package/dist/shared/domain/value-objects/hex/hex.vo.js +38 -0
- package/dist/shared/domain/value-objects/hex/hex.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/ip/ip.vo.d.ts +19 -0
- package/dist/shared/domain/value-objects/ip/ip.vo.js +90 -0
- package/dist/shared/domain/value-objects/ip/ip.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/json/json.vo.d.ts +43 -0
- package/dist/shared/domain/value-objects/json/json.vo.js +224 -0
- package/dist/shared/domain/value-objects/json/json.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/length-unit/length-unit.vo.d.ts +5 -0
- package/dist/shared/domain/value-objects/length-unit/length-unit.vo.js +12 -0
- package/dist/shared/domain/value-objects/length-unit/length-unit.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/locale/locale.vo.d.ts +27 -0
- package/dist/shared/domain/value-objects/locale/locale.vo.js +292 -0
- package/dist/shared/domain/value-objects/locale/locale.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/number/number.vo.d.ts +23 -0
- package/dist/shared/domain/value-objects/number/number.vo.js +77 -0
- package/dist/shared/domain/value-objects/number/number.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/numeric-range/numeric-range.vo.d.ts +13 -0
- package/dist/shared/domain/value-objects/numeric-range/numeric-range.vo.js +35 -0
- package/dist/shared/domain/value-objects/numeric-range/numeric-range.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/password/password.vo.d.ts +14 -0
- package/dist/shared/domain/value-objects/password/password.vo.js +90 -0
- package/dist/shared/domain/value-objects/password/password.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/phone/phone.vo.d.ts +13 -0
- package/dist/shared/domain/value-objects/phone/phone.vo.js +56 -0
- package/dist/shared/domain/value-objects/phone/phone.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/phone-code/phone-code.vo.d.ts +25 -0
- package/dist/shared/domain/value-objects/phone-code/phone-code.vo.js +344 -0
- package/dist/shared/domain/value-objects/phone-code/phone-code.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/slug/slug.vo.d.ts +25 -0
- package/dist/shared/domain/value-objects/slug/slug.vo.js +87 -0
- package/dist/shared/domain/value-objects/slug/slug.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/string/string.vo.d.ts +38 -0
- package/dist/shared/domain/value-objects/string/string.vo.js +146 -0
- package/dist/shared/domain/value-objects/string/string.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/timezone/timezone.vo.d.ts +23 -0
- package/dist/shared/domain/value-objects/timezone/timezone.vo.js +116 -0
- package/dist/shared/domain/value-objects/timezone/timezone.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/url/url.vo.d.ts +9 -0
- package/dist/shared/domain/value-objects/url/url.vo.js +31 -0
- package/dist/shared/domain/value-objects/url/url.vo.js.map +1 -0
- package/dist/shared/domain/value-objects/uuid/uuid.vo.d.ts +13 -0
- package/dist/shared/domain/value-objects/uuid/uuid.vo.js +49 -0
- package/dist/shared/domain/value-objects/uuid/uuid.vo.js.map +1 -0
- package/dist/shared/domain/view-models/base-view-model/base-view-model.d.ts +14 -0
- package/dist/shared/domain/view-models/base-view-model/base-view-model.js +24 -0
- package/dist/shared/domain/view-models/base-view-model/base-view-model.js.map +1 -0
- package/dist/shared/infrastructure/database/base-database.repository.d.ts +11 -0
- package/dist/shared/infrastructure/database/base-database.repository.js +14 -0
- package/dist/shared/infrastructure/database/base-database.repository.js.map +1 -0
- package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.d.ts +9 -0
- package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.js +78 -0
- package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.js.map +1 -0
- package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.d.ts +6 -0
- package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.js +12 -0
- package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.js.map +1 -0
- package/dist/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.d.ts +5 -0
- package/dist/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.js +3 -0
- package/dist/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.js.map +1 -0
- package/dist/shared/infrastructure/database/mongodb/mongodb.module.d.ts +2 -0
- package/dist/shared/infrastructure/database/mongodb/mongodb.module.js +23 -0
- package/dist/shared/infrastructure/database/mongodb/mongodb.module.js.map +1 -0
- package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.d.ts +14 -0
- package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.js +57 -0
- package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.js.map +1 -0
- package/dist/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.d.ts +9 -0
- package/dist/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.js +18 -0
- package/dist/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.js.map +1 -0
- package/dist/shared/infrastructure/database/typeorm/data-source.d.ts +4 -0
- package/dist/shared/infrastructure/database/typeorm/data-source.js +33 -0
- package/dist/shared/infrastructure/database/typeorm/data-source.js.map +1 -0
- package/dist/shared/infrastructure/database/typeorm/dtos/base-typeorm.dto.d.ts +4 -0
- package/dist/shared/infrastructure/database/typeorm/dtos/base-typeorm.dto.js +3 -0
- package/dist/shared/infrastructure/database/typeorm/dtos/base-typeorm.dto.js.map +1 -0
- package/dist/shared/infrastructure/database/typeorm/entities/base-typeorm.entity.d.ts +6 -0
- package/dist/shared/infrastructure/database/typeorm/entities/base-typeorm.entity.js +36 -0
- package/dist/shared/infrastructure/database/typeorm/entities/base-typeorm.entity.js.map +1 -0
- package/dist/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service.d.ts +9 -0
- package/dist/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service.js +42 -0
- package/dist/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service.js.map +1 -0
- package/dist/shared/infrastructure/database/typeorm/typeorm-module-options.factory.d.ts +3 -0
- package/dist/shared/infrastructure/database/typeorm/typeorm-module-options.factory.js +32 -0
- package/dist/shared/infrastructure/database/typeorm/typeorm-module-options.factory.js.map +1 -0
- package/dist/shared/infrastructure/database/typeorm/typeorm.module.d.ts +2 -0
- package/dist/shared/infrastructure/database/typeorm/typeorm.module.js +34 -0
- package/dist/shared/infrastructure/database/typeorm/typeorm.module.js.map +1 -0
- package/dist/shared/infrastructure/logging/factories/create-shared-winston-logger-options.d.ts +6 -0
- package/dist/shared/infrastructure/logging/factories/create-shared-winston-logger-options.js +92 -0
- package/dist/shared/infrastructure/logging/factories/create-shared-winston-logger-options.js.map +1 -0
- package/dist/shared/infrastructure/logging/formats/shared-winston.formats.d.ts +3 -0
- package/dist/shared/infrastructure/logging/formats/shared-winston.formats.js +30 -0
- package/dist/shared/infrastructure/logging/formats/shared-winston.formats.js.map +1 -0
- package/dist/shared/infrastructure/logging/interfaces/shared-winston-logger-factory-options.interface.d.ts +21 -0
- package/dist/shared/infrastructure/logging/interfaces/shared-winston-logger-factory-options.interface.js +3 -0
- package/dist/shared/infrastructure/logging/interfaces/shared-winston-logger-factory-options.interface.js.map +1 -0
- package/dist/shared/shared.module.d.ts +3 -0
- package/dist/shared/shared.module.js +51 -0
- package/dist/shared/shared.module.js.map +1 -0
- package/dist/shared/transport/graphql/dtos/requests/base-filter/base-filter.input.d.ts +6 -0
- package/dist/shared/transport/graphql/dtos/requests/base-filter/base-filter.input.js +40 -0
- package/dist/shared/transport/graphql/dtos/requests/base-filter/base-filter.input.js.map +1 -0
- package/dist/shared/transport/graphql/dtos/requests/base-find-by-criteria/base-find-by-criteria.input.d.ts +8 -0
- package/dist/shared/transport/graphql/dtos/requests/base-find-by-criteria/base-find-by-criteria.input.js +56 -0
- package/dist/shared/transport/graphql/dtos/requests/base-find-by-criteria/base-find-by-criteria.input.js.map +1 -0
- package/dist/shared/transport/graphql/dtos/requests/base-pagination/base-pagination.input.d.ts +4 -0
- package/dist/shared/transport/graphql/dtos/requests/base-pagination/base-pagination.input.js +33 -0
- package/dist/shared/transport/graphql/dtos/requests/base-pagination/base-pagination.input.js.map +1 -0
- package/dist/shared/transport/graphql/dtos/requests/base-sort/base-sort.input.d.ts +5 -0
- package/dist/shared/transport/graphql/dtos/requests/base-sort/base-sort.input.js +34 -0
- package/dist/shared/transport/graphql/dtos/requests/base-sort/base-sort.input.js.map +1 -0
- package/dist/shared/transport/graphql/dtos/requests/numeric-range/numeric-range.input.d.ts +4 -0
- package/dist/shared/transport/graphql/dtos/requests/numeric-range/numeric-range.input.js +31 -0
- package/dist/shared/transport/graphql/dtos/requests/numeric-range/numeric-range.input.js.map +1 -0
- package/dist/shared/transport/graphql/dtos/responses/base-paginated-result/base-paginated-result.dto.d.ts +6 -0
- package/dist/shared/transport/graphql/dtos/responses/base-paginated-result/base-paginated-result.dto.js +36 -0
- package/dist/shared/transport/graphql/dtos/responses/base-paginated-result/base-paginated-result.dto.js.map +1 -0
- package/dist/shared/transport/graphql/dtos/responses/numeric-range/numeric-range.dto.d.ts +4 -0
- package/dist/shared/transport/graphql/dtos/responses/numeric-range/numeric-range.dto.js +31 -0
- package/dist/shared/transport/graphql/dtos/responses/numeric-range/numeric-range.dto.js.map +1 -0
- package/dist/shared/transport/graphql/dtos/responses/success-response/success-response.dto.d.ts +5 -0
- package/dist/shared/transport/graphql/dtos/responses/success-response/success-response.dto.js +32 -0
- package/dist/shared/transport/graphql/dtos/responses/success-response/success-response.dto.js.map +1 -0
- package/dist/shared/transport/graphql/dtos/success-response-array.dto.d.ts +5 -0
- package/dist/shared/transport/graphql/dtos/success-response-array.dto.js +32 -0
- package/dist/shared/transport/graphql/dtos/success-response-array.dto.js.map +1 -0
- package/dist/shared/transport/graphql/enums/shared-registered-enums.graphql.d.ts +1 -0
- package/dist/shared/transport/graphql/enums/shared-registered-enums.graphql.js +15 -0
- package/dist/shared/transport/graphql/enums/shared-registered-enums.graphql.js.map +1 -0
- package/dist/shared/transport/graphql/mappers/mutation-response/mutation-response.mapper.d.ts +6 -0
- package/dist/shared/transport/graphql/mappers/mutation-response/mutation-response.mapper.js +31 -0
- package/dist/shared/transport/graphql/mappers/mutation-response/mutation-response.mapper.js.map +1 -0
- package/dist/shared/transport/graphql/plugins/complexity.plugin.d.ts +4 -0
- package/dist/shared/transport/graphql/plugins/complexity.plugin.js +40 -0
- package/dist/shared/transport/graphql/plugins/complexity.plugin.js.map +1 -0
- package/dist/shared/transport/graphql/registered-enums/registered-enums.graphql.d.ts +1 -0
- package/dist/shared/transport/graphql/registered-enums/registered-enums.graphql.js +33 -0
- package/dist/shared/transport/graphql/registered-enums/registered-enums.graphql.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +152 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { StringValueObject } from '@/shared/domain/value-objects/string/string.vo';
|
|
2
|
+
export declare class TimezoneValueObject extends StringValueObject {
|
|
3
|
+
private static readonly MIN_LENGTH;
|
|
4
|
+
private static readonly MAX_LENGTH;
|
|
5
|
+
private static readonly COMMON_TIMEZONES;
|
|
6
|
+
constructor(value: string, options?: {
|
|
7
|
+
allowEmpty?: boolean;
|
|
8
|
+
validateExistence?: boolean;
|
|
9
|
+
});
|
|
10
|
+
static fromString(timezone: string, options?: {
|
|
11
|
+
allowEmpty?: boolean;
|
|
12
|
+
validateExistence?: boolean;
|
|
13
|
+
}): TimezoneValueObject;
|
|
14
|
+
static normalizeTimezone(timezone: string): string;
|
|
15
|
+
exists(): boolean;
|
|
16
|
+
isUTC(): boolean;
|
|
17
|
+
getRegion(): string | null;
|
|
18
|
+
getCity(): string | null;
|
|
19
|
+
isEuropean(): boolean;
|
|
20
|
+
isAmerican(): boolean;
|
|
21
|
+
isAsian(): boolean;
|
|
22
|
+
private validateExistence;
|
|
23
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TimezoneValueObject = void 0;
|
|
4
|
+
const invalid_timezone_exception_1 = require("../../exceptions/value-objects/invalid-timezone/invalid-timezone.exception");
|
|
5
|
+
const string_vo_1 = require("../string/string.vo");
|
|
6
|
+
class TimezoneValueObject extends string_vo_1.StringValueObject {
|
|
7
|
+
constructor(value, options = {}) {
|
|
8
|
+
const processedValue = TimezoneValueObject.normalizeTimezone(value);
|
|
9
|
+
super(processedValue, {
|
|
10
|
+
minLength: TimezoneValueObject.MIN_LENGTH,
|
|
11
|
+
maxLength: TimezoneValueObject.MAX_LENGTH,
|
|
12
|
+
allowEmpty: options.allowEmpty ?? false,
|
|
13
|
+
trim: true,
|
|
14
|
+
});
|
|
15
|
+
if (options.validateExistence !== false) {
|
|
16
|
+
if (this.value.length > 0 || options.allowEmpty !== true) {
|
|
17
|
+
this.validateExistence();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
static fromString(timezone, options = {}) {
|
|
22
|
+
return new TimezoneValueObject(timezone, options);
|
|
23
|
+
}
|
|
24
|
+
static normalizeTimezone(timezone) {
|
|
25
|
+
if (!timezone || typeof timezone !== 'string') {
|
|
26
|
+
return '';
|
|
27
|
+
}
|
|
28
|
+
return timezone.trim();
|
|
29
|
+
}
|
|
30
|
+
exists() {
|
|
31
|
+
return TimezoneValueObject.COMMON_TIMEZONES.has(this.value);
|
|
32
|
+
}
|
|
33
|
+
isUTC() {
|
|
34
|
+
return this.value === 'UTC';
|
|
35
|
+
}
|
|
36
|
+
getRegion() {
|
|
37
|
+
const parts = this.value.split('/');
|
|
38
|
+
return parts.length >= 2 ? parts[0] : null;
|
|
39
|
+
}
|
|
40
|
+
getCity() {
|
|
41
|
+
const parts = this.value.split('/');
|
|
42
|
+
return parts.length >= 2 ? parts[1] : null;
|
|
43
|
+
}
|
|
44
|
+
isEuropean() {
|
|
45
|
+
return this.getRegion() === 'Europe';
|
|
46
|
+
}
|
|
47
|
+
isAmerican() {
|
|
48
|
+
return this.getRegion() === 'America';
|
|
49
|
+
}
|
|
50
|
+
isAsian() {
|
|
51
|
+
return this.getRegion() === 'Asia';
|
|
52
|
+
}
|
|
53
|
+
validateExistence() {
|
|
54
|
+
if (!this.exists()) {
|
|
55
|
+
throw new invalid_timezone_exception_1.InvalidTimezoneException(`Timezone ${this.value} is not recognized as a valid timezone`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.TimezoneValueObject = TimezoneValueObject;
|
|
60
|
+
TimezoneValueObject.MIN_LENGTH = 3;
|
|
61
|
+
TimezoneValueObject.MAX_LENGTH = 50;
|
|
62
|
+
TimezoneValueObject.COMMON_TIMEZONES = new Set([
|
|
63
|
+
'UTC',
|
|
64
|
+
'Europe/London',
|
|
65
|
+
'Europe/Paris',
|
|
66
|
+
'Europe/Madrid',
|
|
67
|
+
'Europe/Berlin',
|
|
68
|
+
'Europe/Rome',
|
|
69
|
+
'Europe/Amsterdam',
|
|
70
|
+
'Europe/Brussels',
|
|
71
|
+
'Europe/Vienna',
|
|
72
|
+
'Europe/Zurich',
|
|
73
|
+
'Europe/Stockholm',
|
|
74
|
+
'Europe/Oslo',
|
|
75
|
+
'Europe/Copenhagen',
|
|
76
|
+
'Europe/Helsinki',
|
|
77
|
+
'Europe/Warsaw',
|
|
78
|
+
'Europe/Prague',
|
|
79
|
+
'Europe/Budapest',
|
|
80
|
+
'Europe/Bucharest',
|
|
81
|
+
'Europe/Sofia',
|
|
82
|
+
'Europe/Athens',
|
|
83
|
+
'Europe/Istanbul',
|
|
84
|
+
'Europe/Moscow',
|
|
85
|
+
'America/New_York',
|
|
86
|
+
'America/Chicago',
|
|
87
|
+
'America/Denver',
|
|
88
|
+
'America/Los_Angeles',
|
|
89
|
+
'America/Toronto',
|
|
90
|
+
'America/Vancouver',
|
|
91
|
+
'America/Mexico_City',
|
|
92
|
+
'America/Sao_Paulo',
|
|
93
|
+
'America/Buenos_Aires',
|
|
94
|
+
'America/Lima',
|
|
95
|
+
'America/Bogota',
|
|
96
|
+
'America/Caracas',
|
|
97
|
+
'America/Santiago',
|
|
98
|
+
'Asia/Tokyo',
|
|
99
|
+
'Asia/Seoul',
|
|
100
|
+
'Asia/Shanghai',
|
|
101
|
+
'Asia/Hong_Kong',
|
|
102
|
+
'Asia/Singapore',
|
|
103
|
+
'Asia/Bangkok',
|
|
104
|
+
'Asia/Jakarta',
|
|
105
|
+
'Asia/Manila',
|
|
106
|
+
'Asia/Kolkata',
|
|
107
|
+
'Asia/Dubai',
|
|
108
|
+
'Asia/Tehran',
|
|
109
|
+
'Asia/Riyadh',
|
|
110
|
+
'Australia/Sydney',
|
|
111
|
+
'Australia/Melbourne',
|
|
112
|
+
'Australia/Perth',
|
|
113
|
+
'Pacific/Auckland',
|
|
114
|
+
'Pacific/Honolulu',
|
|
115
|
+
]);
|
|
116
|
+
//# sourceMappingURL=timezone.vo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezone.vo.js","sourceRoot":"","sources":["../../../../../src/shared/domain/value-objects/timezone/timezone.vo.ts"],"names":[],"mappings":";;;AAAA,2HAAgI;AAChI,mDAAmF;AAUnF,MAAa,mBAAoB,SAAQ,6BAAiB;IA4DxD,YACE,KAAa,EACb,UAGI,EAAE;QAEN,MAAM,cAAc,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEpE,KAAK,CAAC,cAAc,EAAE;YACpB,SAAS,EAAE,mBAAmB,CAAC,UAAU;YACzC,SAAS,EAAE,mBAAmB,CAAC,UAAU;YACzC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;YACvC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;YAExC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAQM,MAAM,CAAC,UAAU,CACtB,QAAgB,EAChB,UAGI,EAAE;QAEN,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAOM,MAAM,CAAC,iBAAiB,CAAC,QAAgB;QAC9C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAMM,MAAM;QACX,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAMM,KAAK;QACV,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;IAC9B,CAAC;IAMM,SAAS;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAMM,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAMM,UAAU;QACf,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,QAAQ,CAAC;IACvC,CAAC;IAMM,UAAU;QACf,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,SAAS,CAAC;IACxC,CAAC;IAMM,OAAO;QACZ,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,MAAM,CAAC;IACrC,CAAC;IAMO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,qDAAwB,CAChC,YAAY,IAAI,CAAC,KAAK,wCAAwC,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;;AArLH,kDAsLC;AArLyB,8BAAU,GAAG,CAAC,CAAC;AACf,8BAAU,GAAG,EAAE,CAAC;AAGhB,oCAAgB,GAAG,IAAI,GAAG,CAAC;IACjD,KAAK;IACL,eAAe;IACf,cAAc;IACd,eAAe;IACf,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,aAAa;IACb,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,iBAAiB;IACjB,mBAAmB;IACnB,qBAAqB;IACrB,mBAAmB;IACnB,sBAAsB;IACtB,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,cAAc;IACd,aAAa;IACb,cAAc;IACd,YAAY;IACZ,aAAa;IACb,aAAa;IACb,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;CACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ValueObject } from '@/shared/domain/value-objects/base/value-object.base';
|
|
2
|
+
export declare class UrlValueObject extends ValueObject<string> {
|
|
3
|
+
private readonly _value;
|
|
4
|
+
constructor(value: string);
|
|
5
|
+
get value(): string;
|
|
6
|
+
protected validate(): void;
|
|
7
|
+
private checkIsEmpty;
|
|
8
|
+
private checkIsUrl;
|
|
9
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UrlValueObject = void 0;
|
|
4
|
+
const invalid_url_exception_1 = require("../../exceptions/value-objects/invalid-url/invalid-url.exception");
|
|
5
|
+
const value_object_base_1 = require("../base/value-object.base");
|
|
6
|
+
class UrlValueObject extends value_object_base_1.ValueObject {
|
|
7
|
+
constructor(value) {
|
|
8
|
+
super();
|
|
9
|
+
this._value = value;
|
|
10
|
+
this.validate();
|
|
11
|
+
}
|
|
12
|
+
get value() {
|
|
13
|
+
return this._value;
|
|
14
|
+
}
|
|
15
|
+
validate() {
|
|
16
|
+
this.checkIsEmpty();
|
|
17
|
+
this.checkIsUrl();
|
|
18
|
+
}
|
|
19
|
+
checkIsEmpty() {
|
|
20
|
+
if (!this._value) {
|
|
21
|
+
throw new invalid_url_exception_1.InvalidUrlException('URL cannot be empty');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
checkIsUrl() {
|
|
25
|
+
if (!this._value.startsWith('http')) {
|
|
26
|
+
throw new invalid_url_exception_1.InvalidUrlException('URL must start with http');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.UrlValueObject = UrlValueObject;
|
|
31
|
+
//# sourceMappingURL=url.vo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.vo.js","sourceRoot":"","sources":["../../../../../src/shared/domain/value-objects/url/url.vo.ts"],"names":[],"mappings":";;;AAAA,4GAAiH;AACjH,iEAAmF;AASnF,MAAa,cAAe,SAAQ,+BAAmB;IAGrD,YAAY,KAAa;QACvB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAES,QAAQ;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,2CAAmB,CAAC,qBAAqB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,2CAAmB,CAAC,0BAA0B,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF;AA7BD,wCA6BC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ValueObject } from '@/shared/domain/value-objects/base/value-object.base';
|
|
2
|
+
export declare class UuidValueObject extends ValueObject<string> {
|
|
3
|
+
private readonly _value;
|
|
4
|
+
constructor(value?: string);
|
|
5
|
+
get value(): string;
|
|
6
|
+
equals(other: UuidValueObject): boolean;
|
|
7
|
+
getVersion(): number | null;
|
|
8
|
+
isNil(): boolean;
|
|
9
|
+
static generate(): UuidValueObject;
|
|
10
|
+
protected validate(): void;
|
|
11
|
+
private checkIsEmpty;
|
|
12
|
+
private checkIsValidUuid;
|
|
13
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UuidValueObject = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const invalid_uuid_exception_1 = require("../../exceptions/value-objects/invalid-uuid/invalid-uuid.exception");
|
|
6
|
+
const value_object_base_1 = require("../base/value-object.base");
|
|
7
|
+
class UuidValueObject extends value_object_base_1.ValueObject {
|
|
8
|
+
constructor(value) {
|
|
9
|
+
super();
|
|
10
|
+
this._value = value ?? (0, crypto_1.randomUUID)();
|
|
11
|
+
this.validate();
|
|
12
|
+
}
|
|
13
|
+
get value() {
|
|
14
|
+
return this._value;
|
|
15
|
+
}
|
|
16
|
+
equals(other) {
|
|
17
|
+
return this._value === other._value;
|
|
18
|
+
}
|
|
19
|
+
getVersion() {
|
|
20
|
+
const match = this._value.match(/^[0-9a-f]{8}-[0-9a-f]{4}-([0-9a-f])[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$/i);
|
|
21
|
+
if (match) {
|
|
22
|
+
return parseInt(match[1], 16);
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
isNil() {
|
|
27
|
+
return this._value === '00000000-0000-0000-0000-000000000000';
|
|
28
|
+
}
|
|
29
|
+
static generate() {
|
|
30
|
+
return new UuidValueObject();
|
|
31
|
+
}
|
|
32
|
+
validate() {
|
|
33
|
+
this.checkIsEmpty();
|
|
34
|
+
this.checkIsValidUuid();
|
|
35
|
+
}
|
|
36
|
+
checkIsEmpty() {
|
|
37
|
+
if (!this._value || this._value.trim() === '') {
|
|
38
|
+
throw new invalid_uuid_exception_1.InvalidUuidException('UUID cannot be empty');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
checkIsValidUuid() {
|
|
42
|
+
const uuidPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
43
|
+
if (!uuidPattern.test(this._value)) {
|
|
44
|
+
throw new invalid_uuid_exception_1.InvalidUuidException('Invalid UUID format');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.UuidValueObject = UuidValueObject;
|
|
49
|
+
//# sourceMappingURL=uuid.vo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.vo.js","sourceRoot":"","sources":["../../../../../src/shared/domain/value-objects/uuid/uuid.vo.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,+GAAoH;AACpH,iEAAmF;AASnF,MAAa,eAAgB,SAAQ,+BAAmB;IAGtD,YAAY,KAAc;QACxB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,IAAA,mBAAU,GAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,KAAsB;QAClC,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IACtC,CAAC;IAMM,UAAU;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAC7B,2EAA2E,CAC5E,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAMM,KAAK;QACV,OAAO,IAAI,CAAC,MAAM,KAAK,sCAAsC,CAAC;IAChE,CAAC;IAMM,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/B,CAAC;IAES,QAAQ;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,6CAAoB,CAAC,sBAAsB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,gBAAgB;QAEtB,MAAM,WAAW,GACf,4EAA4E,CAAC;QAE/E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,6CAAoB,CAAC,qBAAqB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF;AAnED,0CAmEC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare abstract class BaseViewModel {
|
|
2
|
+
protected readonly _id: string;
|
|
3
|
+
protected readonly _createdAt: Date;
|
|
4
|
+
protected _updatedAt: Date;
|
|
5
|
+
constructor(props: {
|
|
6
|
+
id: string;
|
|
7
|
+
createdAt: Date;
|
|
8
|
+
updatedAt: Date;
|
|
9
|
+
});
|
|
10
|
+
get id(): string;
|
|
11
|
+
get createdAt(): Date;
|
|
12
|
+
get updatedAt(): Date;
|
|
13
|
+
set updatedAt(updatedAt: Date);
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseViewModel = void 0;
|
|
4
|
+
class BaseViewModel {
|
|
5
|
+
constructor(props) {
|
|
6
|
+
this._id = props.id;
|
|
7
|
+
this._createdAt = props.createdAt;
|
|
8
|
+
this._updatedAt = props.updatedAt;
|
|
9
|
+
}
|
|
10
|
+
get id() {
|
|
11
|
+
return this._id;
|
|
12
|
+
}
|
|
13
|
+
get createdAt() {
|
|
14
|
+
return this._createdAt;
|
|
15
|
+
}
|
|
16
|
+
get updatedAt() {
|
|
17
|
+
return this._updatedAt;
|
|
18
|
+
}
|
|
19
|
+
set updatedAt(updatedAt) {
|
|
20
|
+
this._updatedAt = updatedAt;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.BaseViewModel = BaseViewModel;
|
|
24
|
+
//# sourceMappingURL=base-view-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-view-model.js","sourceRoot":"","sources":["../../../../../src/shared/domain/view-models/base-view-model/base-view-model.ts"],"names":[],"mappings":";;;AAOA,MAAsB,aAAa;IAKjC,YAAY,KAAuD;QACjE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;IACpC,CAAC;IAOD,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAOD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAOD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAOD,IAAW,SAAS,CAAC,SAAe;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;CACF;AA9CD,sCA8CC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Criteria } from '@/shared/domain/entities/criteria';
|
|
2
|
+
import { Logger } from '@nestjs/common';
|
|
3
|
+
export declare class BaseDatabaseRepository {
|
|
4
|
+
protected logger: Logger;
|
|
5
|
+
constructor();
|
|
6
|
+
calculatePagination(criteria: Criteria): Promise<{
|
|
7
|
+
page: number;
|
|
8
|
+
limit: number;
|
|
9
|
+
skip: number;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseDatabaseRepository = void 0;
|
|
4
|
+
class BaseDatabaseRepository {
|
|
5
|
+
constructor() { }
|
|
6
|
+
async calculatePagination(criteria) {
|
|
7
|
+
const page = criteria.pagination.page || 1;
|
|
8
|
+
const limit = criteria.pagination.perPage || 10;
|
|
9
|
+
const skip = (page - 1) * limit;
|
|
10
|
+
return { page, limit, skip };
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.BaseDatabaseRepository = BaseDatabaseRepository;
|
|
14
|
+
//# sourceMappingURL=base-database.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-database.repository.js","sourceRoot":"","sources":["../../../../src/shared/infrastructure/database/base-database.repository.ts"],"names":[],"mappings":";;;AAUA,MAAa,sBAAsB;IAajC,gBAAe,CAAC;IAWhB,KAAK,CAAC,mBAAmB,CAAC,QAAkB;QAK1C,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;CACF;AAlCD,wDAkCC"}
|
package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Collection } from 'mongodb';
|
|
2
|
+
import { Criteria } from '@/shared/domain/entities/criteria';
|
|
3
|
+
import { BaseDatabaseRepository } from '@/shared/infrastructure/database/base-database.repository';
|
|
4
|
+
export declare abstract class BaseMongoDatabaseRepository extends BaseDatabaseRepository {
|
|
5
|
+
constructor();
|
|
6
|
+
protected buildMongoQuery(criteria: Criteria): any;
|
|
7
|
+
protected buildSortQuery(criteria: Criteria): any;
|
|
8
|
+
protected executeQueryWithPagination(collection: Collection, mongoQuery: any, sortQuery: any, skip: number, limit: number): Promise<[any[], number]>;
|
|
9
|
+
}
|
package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseMongoDatabaseRepository = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const filter_operator_enum_1 = require("../../../../domain/enums/filter-operator.enum");
|
|
6
|
+
const sort_direction_enum_1 = require("../../../../domain/enums/sort-direction.enum");
|
|
7
|
+
const base_database_repository_1 = require("../../base-database.repository");
|
|
8
|
+
class BaseMongoDatabaseRepository extends base_database_repository_1.BaseDatabaseRepository {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
this.logger = new common_1.Logger(this.constructor.name);
|
|
12
|
+
}
|
|
13
|
+
buildMongoQuery(criteria) {
|
|
14
|
+
this.logger.log(`Building MongoDB query from criteria: ${JSON.stringify(criteria)}`);
|
|
15
|
+
const query = {};
|
|
16
|
+
if (criteria.filters && criteria.filters.length > 0) {
|
|
17
|
+
criteria.filters.forEach((filter) => {
|
|
18
|
+
switch (filter.operator) {
|
|
19
|
+
case filter_operator_enum_1.FilterOperator.EQUALS:
|
|
20
|
+
query[filter.field] = filter.value;
|
|
21
|
+
break;
|
|
22
|
+
case filter_operator_enum_1.FilterOperator.NOT_EQUALS:
|
|
23
|
+
query[filter.field] = { $ne: filter.value };
|
|
24
|
+
break;
|
|
25
|
+
case filter_operator_enum_1.FilterOperator.LIKE:
|
|
26
|
+
query[filter.field] = { $regex: filter.value, $options: 'i' };
|
|
27
|
+
break;
|
|
28
|
+
case filter_operator_enum_1.FilterOperator.IN:
|
|
29
|
+
query[filter.field] = {
|
|
30
|
+
$in: Array.isArray(filter.value) ? filter.value : [filter.value],
|
|
31
|
+
};
|
|
32
|
+
break;
|
|
33
|
+
case filter_operator_enum_1.FilterOperator.GREATER_THAN:
|
|
34
|
+
query[filter.field] = { $gt: filter.value };
|
|
35
|
+
break;
|
|
36
|
+
case filter_operator_enum_1.FilterOperator.LESS_THAN:
|
|
37
|
+
query[filter.field] = { $lt: filter.value };
|
|
38
|
+
break;
|
|
39
|
+
case filter_operator_enum_1.FilterOperator.GREATER_THAN_OR_EQUAL:
|
|
40
|
+
query[filter.field] = { $gte: filter.value };
|
|
41
|
+
break;
|
|
42
|
+
case filter_operator_enum_1.FilterOperator.LESS_THAN_OR_EQUAL:
|
|
43
|
+
query[filter.field] = { $lte: filter.value };
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return query;
|
|
51
|
+
}
|
|
52
|
+
buildSortQuery(criteria) {
|
|
53
|
+
this.logger.log(`Building MongoDB sort query from criteria: ${JSON.stringify(criteria)}`);
|
|
54
|
+
if (!criteria.sorts || criteria.sorts.length === 0) {
|
|
55
|
+
return { createdAt: sort_direction_enum_1.SortDirection.DESC };
|
|
56
|
+
}
|
|
57
|
+
const sortQuery = {};
|
|
58
|
+
criteria.sorts.forEach((sort) => {
|
|
59
|
+
sortQuery[sort.field] = sort.direction === sort_direction_enum_1.SortDirection.ASC ? 1 : -1;
|
|
60
|
+
});
|
|
61
|
+
return sortQuery;
|
|
62
|
+
}
|
|
63
|
+
async executeQueryWithPagination(collection, mongoQuery, sortQuery, skip, limit) {
|
|
64
|
+
this.logger.log(`Executing MongoDB query with pagination: ${JSON.stringify(mongoQuery)}`);
|
|
65
|
+
const [data, total] = await Promise.all([
|
|
66
|
+
collection
|
|
67
|
+
.find(mongoQuery)
|
|
68
|
+
.sort(sortQuery)
|
|
69
|
+
.skip(skip)
|
|
70
|
+
.limit(limit)
|
|
71
|
+
.toArray(),
|
|
72
|
+
collection.countDocuments(mongoQuery),
|
|
73
|
+
]);
|
|
74
|
+
return [data, total];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.BaseMongoDatabaseRepository = BaseMongoDatabaseRepository;
|
|
78
|
+
//# sourceMappingURL=base-mongo-database.repository.js.map
|
package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-mongo-database.repository.js","sourceRoot":"","sources":["../../../../../../src/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BaseMongoDatabaseRepository } from '@/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository';
|
|
2
|
+
import { MongoMasterService } from '@/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service';
|
|
3
|
+
export declare class BaseMongoMasterRepository extends BaseMongoDatabaseRepository {
|
|
4
|
+
protected readonly mongoMasterService: MongoMasterService;
|
|
5
|
+
constructor(mongoMasterService: MongoMasterService);
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseMongoMasterRepository = void 0;
|
|
4
|
+
const base_mongo_database_repository_1 = require("../base-mongo-database.repository");
|
|
5
|
+
class BaseMongoMasterRepository extends base_mongo_database_repository_1.BaseMongoDatabaseRepository {
|
|
6
|
+
constructor(mongoMasterService) {
|
|
7
|
+
super();
|
|
8
|
+
this.mongoMasterService = mongoMasterService;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.BaseMongoMasterRepository = BaseMongoMasterRepository;
|
|
12
|
+
//# sourceMappingURL=base-mongo-master.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-mongo-master.repository.js","sourceRoot":"","sources":["../../../../../../../src/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.ts"],"names":[],"mappings":";;;AAAA,sFAAiI;AAOjI,MAAa,yBAA0B,SAAQ,4DAA2B;IACxE,YAA+B,kBAAsC;QACnE,KAAK,EAAE,CAAC;QADqB,uBAAkB,GAAlB,kBAAkB,CAAoB;IAErE,CAAC;CACF;AAJD,8DAIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-mongo.dto.js","sourceRoot":"","sources":["../../../../../../src/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.MongoModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const mongo_master_service_1 = require("./services/mongo-master/mongo-master.service");
|
|
12
|
+
const SERVICES = [mongo_master_service_1.MongoMasterService];
|
|
13
|
+
let MongoModule = class MongoModule {
|
|
14
|
+
};
|
|
15
|
+
exports.MongoModule = MongoModule;
|
|
16
|
+
exports.MongoModule = MongoModule = __decorate([
|
|
17
|
+
(0, common_1.Global)(),
|
|
18
|
+
(0, common_1.Module)({
|
|
19
|
+
providers: [...SERVICES],
|
|
20
|
+
exports: [...SERVICES],
|
|
21
|
+
})
|
|
22
|
+
], MongoModule);
|
|
23
|
+
//# sourceMappingURL=mongodb.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongodb.module.js","sourceRoot":"","sources":["../../../../../src/shared/infrastructure/database/mongodb/mongodb.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAEhD,uFAAyH;AAEzH,MAAM,QAAQ,GAAG,CAAC,yCAAkB,CAAC,CAAC;AAW/B,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC;QACxB,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC;KACvB,CAAC;GACW,WAAW,CAAG"}
|
package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
|
|
2
|
+
import { ConfigService } from '@nestjs/config';
|
|
3
|
+
import { Db } from 'mongodb';
|
|
4
|
+
export declare class MongoMasterService implements OnModuleInit, OnModuleDestroy {
|
|
5
|
+
private readonly configService;
|
|
6
|
+
private readonly logger;
|
|
7
|
+
private client;
|
|
8
|
+
private db;
|
|
9
|
+
constructor(configService: ConfigService);
|
|
10
|
+
onModuleInit(): Promise<void>;
|
|
11
|
+
onModuleDestroy(): Promise<void>;
|
|
12
|
+
getDatabase(): Db;
|
|
13
|
+
getCollection(collectionName: string): import("mongodb").Collection<import("mongodb").Document>;
|
|
14
|
+
}
|
package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var MongoMasterService_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.MongoMasterService = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const config_1 = require("@nestjs/config");
|
|
16
|
+
const mongodb_1 = require("mongodb");
|
|
17
|
+
let MongoMasterService = MongoMasterService_1 = class MongoMasterService {
|
|
18
|
+
constructor(configService) {
|
|
19
|
+
this.configService = configService;
|
|
20
|
+
this.logger = new common_1.Logger(MongoMasterService_1.name);
|
|
21
|
+
}
|
|
22
|
+
async onModuleInit() {
|
|
23
|
+
this.logger.log(`🚀 Initializing MongoDB Master`);
|
|
24
|
+
const mongoUrl = this.configService.get('MONGODB_URI');
|
|
25
|
+
const dbName = this.configService.get('MONGODB_DATABASE');
|
|
26
|
+
try {
|
|
27
|
+
this.client = new mongodb_1.MongoClient(mongoUrl, {
|
|
28
|
+
authSource: 'admin',
|
|
29
|
+
});
|
|
30
|
+
await this.client.connect();
|
|
31
|
+
this.db = this.client.db(dbName);
|
|
32
|
+
this.logger.log(`🚀 MongoDB Master connected successfully`);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
this.logger.error(`🚀 Error connecting to MongoDB Master: ${error}`);
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async onModuleDestroy() {
|
|
40
|
+
await this.client.close();
|
|
41
|
+
this.logger.log(`🚀 MongoDB Master disconnected`);
|
|
42
|
+
}
|
|
43
|
+
getDatabase() {
|
|
44
|
+
this.logger.log(`🚀 Getting MongoDB Master database`);
|
|
45
|
+
return this.db;
|
|
46
|
+
}
|
|
47
|
+
getCollection(collectionName) {
|
|
48
|
+
this.logger.log(`🚀 Getting MongoDB Master collection ${collectionName}`);
|
|
49
|
+
return this.db.collection(collectionName);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
exports.MongoMasterService = MongoMasterService;
|
|
53
|
+
exports.MongoMasterService = MongoMasterService = MongoMasterService_1 = __decorate([
|
|
54
|
+
(0, common_1.Injectable)(),
|
|
55
|
+
__metadata("design:paramtypes", [config_1.ConfigService])
|
|
56
|
+
], MongoMasterService);
|
|
57
|
+
//# sourceMappingURL=mongo-master.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo-master.service.js","sourceRoot":"","sources":["../../../../../../../src/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAKwB;AACxB,2CAA+C;AAC/C,qCAA0C;AAGnC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAK7B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAJxC,WAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAIF,CAAC;IAE7D,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,aAAa,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAW,CAAC,QAAQ,EAAE;gBACtC,UAAU,EAAE,OAAO;aACpB,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;YACrE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,cAAsB;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,cAAc,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AAzCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAMiC,sBAAa;GAL9C,kBAAkB,CAyC9B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
2
|
+
import { BaseDatabaseRepository } from '@/shared/infrastructure/database/base-database.repository';
|
|
3
|
+
import { TypeormMasterService } from '@/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service';
|
|
4
|
+
export declare abstract class BaseTypeormMasterRepository<T> extends BaseDatabaseRepository {
|
|
5
|
+
protected readonly typeormMasterService: TypeormMasterService;
|
|
6
|
+
protected readonly repository: Repository<T>;
|
|
7
|
+
constructor(typeormMasterService: TypeormMasterService, entityClass: new () => T);
|
|
8
|
+
protected getRepository<U>(entityClass: new () => U): Repository<U>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseTypeormMasterRepository = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const base_database_repository_1 = require("../../../base-database.repository");
|
|
6
|
+
class BaseTypeormMasterRepository extends base_database_repository_1.BaseDatabaseRepository {
|
|
7
|
+
constructor(typeormMasterService, entityClass) {
|
|
8
|
+
super();
|
|
9
|
+
this.typeormMasterService = typeormMasterService;
|
|
10
|
+
this.logger = new common_1.Logger(BaseTypeormMasterRepository.name);
|
|
11
|
+
this.repository = this.typeormMasterService.getRepository(entityClass);
|
|
12
|
+
}
|
|
13
|
+
getRepository(entityClass) {
|
|
14
|
+
return this.typeormMasterService.getRepository(entityClass);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.BaseTypeormMasterRepository = BaseTypeormMasterRepository;
|
|
18
|
+
//# sourceMappingURL=base-typeorm-master.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-typeorm-master.repository.js","sourceRoot":"","sources":["../../../../../../../src/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAGxC,gFAAmG;AAGnG,MAAsB,2BAEpB,SAAQ,iDAAsB;IAG9B,YACqB,oBAA0C,EAC7D,WAAwB;QAExB,KAAK,EAAE,CAAC;QAHW,yBAAoB,GAApB,oBAAoB,CAAsB;QAI7D,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC;IASS,aAAa,CAAI,WAAwB;QACjD,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;CACF;AAxBD,kEAwBC"}
|