@steroidsjs/nest 1.1.32 → 1.2.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/jest.e2e.config.d.ts +3 -0
- package/jest.e2e.config.js +12 -0
- package/jest.e2e.config.js.map +1 -0
- package/package.json +13 -4
- package/{domain → src/domain}/base/BaseEnum.d.ts +0 -0
- package/{domain → src/domain}/base/BaseEnum.js +0 -0
- package/src/domain/base/BaseEnum.js.map +1 -0
- package/{index.d.ts → src/index.d.ts} +0 -0
- package/{index.js → src/index.js} +0 -0
- package/src/index.js.map +1 -0
- package/{infrastructure → src/infrastructure}/base/DatabaseNamingStrategy.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/base/DatabaseNamingStrategy.js +0 -0
- package/src/infrastructure/base/DatabaseNamingStrategy.js.map +1 -0
- package/{infrastructure → src/infrastructure}/commands/MigrateCommand.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/commands/MigrateCommand.js +0 -0
- package/src/infrastructure/commands/MigrateCommand.js.map +1 -0
- package/{infrastructure → src/infrastructure}/commands/dbml/dbml2code.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/commands/dbml/dbml2code.js +0 -0
- package/src/infrastructure/commands/dbml/dbml2code.js.map +1 -0
- package/{infrastructure → src/infrastructure}/commands/dbml/templates.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/commands/dbml/templates.js +1 -1
- package/src/infrastructure/commands/dbml/templates.js.map +1 -0
- package/{infrastructure → src/infrastructure}/commands/generate/CustomPostgresQueryRunner.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/commands/generate/CustomPostgresQueryRunner.js +0 -0
- package/src/infrastructure/commands/generate/CustomPostgresQueryRunner.js.map +1 -0
- package/{infrastructure → src/infrastructure}/commands/generate/CustomRdbmsSchemaBuilder.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/commands/generate/CustomRdbmsSchemaBuilder.js +0 -0
- package/src/infrastructure/commands/generate/CustomRdbmsSchemaBuilder.js.map +1 -0
- package/{infrastructure → src/infrastructure}/commands/generate/index.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/commands/generate/index.js +0 -0
- package/src/infrastructure/commands/generate/index.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/ApiOkSearchResponse.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/ApiOkSearchResponse.js +0 -0
- package/src/infrastructure/decorators/ApiOkSearchResponse.js.map +1 -0
- package/src/infrastructure/decorators/Computable.d.ts +3 -0
- package/src/infrastructure/decorators/Computable.js +7 -0
- package/src/infrastructure/decorators/Computable.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/Context.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/Context.js +0 -0
- package/src/infrastructure/decorators/Context.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/TableFromModel.d.ts +1 -0
- package/{infrastructure → src/infrastructure}/decorators/TableFromModel.js +7 -1
- package/src/infrastructure/decorators/TableFromModel.js.map +1 -0
- package/src/infrastructure/decorators/Transform.d.ts +15 -0
- package/src/infrastructure/decorators/Transform.js +19 -0
- package/src/infrastructure/decorators/Transform.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/BaseField.d.ts +3 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/BaseField.js +7 -2
- package/src/infrastructure/decorators/fields/BaseField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/BooleanField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/BooleanField.js +0 -0
- package/src/infrastructure/decorators/fields/BooleanField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/CoordinateField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/CoordinateField.js +0 -0
- package/src/infrastructure/decorators/fields/CoordinateField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/CreateTimeField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/CreateTimeField.js +8 -4
- package/src/infrastructure/decorators/fields/CreateTimeField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/DateField.d.ts +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/DateField.js +18 -4
- package/src/infrastructure/decorators/fields/DateField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/DateTimeField.d.ts +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/DateTimeField.js +16 -1
- package/src/infrastructure/decorators/fields/DateTimeField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/DecimalField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/DecimalField.js +0 -0
- package/src/infrastructure/decorators/fields/DecimalField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/EmailField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/EmailField.js +0 -0
- package/src/infrastructure/decorators/fields/EmailField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/EnumField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/EnumField.js +0 -0
- package/src/infrastructure/decorators/fields/EnumField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/ExtendField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/ExtendField.js +0 -0
- package/src/infrastructure/decorators/fields/ExtendField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/FileField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/FileField.js +0 -0
- package/src/infrastructure/decorators/fields/FileField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/HtmlField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/HtmlField.js +0 -0
- package/src/infrastructure/decorators/fields/HtmlField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/IntegerField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/IntegerField.js +0 -0
- package/src/infrastructure/decorators/fields/IntegerField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/PasswordField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/PasswordField.js +0 -0
- package/src/infrastructure/decorators/fields/PasswordField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/PhoneField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/PhoneField.js +0 -0
- package/src/infrastructure/decorators/fields/PhoneField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/PrimaryKeyField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/PrimaryKeyField.js +0 -0
- package/src/infrastructure/decorators/fields/PrimaryKeyField.js.map +1 -0
- package/src/infrastructure/decorators/fields/RelationField.d.ts +36 -0
- package/src/infrastructure/decorators/fields/RelationField.js +95 -0
- package/src/infrastructure/decorators/fields/RelationField.js.map +1 -0
- package/src/infrastructure/decorators/fields/RelationIdField.d.ts +20 -0
- package/src/infrastructure/decorators/fields/RelationIdField.js +60 -0
- package/src/infrastructure/decorators/fields/RelationIdField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/StringField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/StringField.js +0 -0
- package/src/infrastructure/decorators/fields/StringField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/TextField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/TextField.js +0 -0
- package/src/infrastructure/decorators/fields/TextField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/TimeField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/TimeField.js +0 -0
- package/src/infrastructure/decorators/fields/TimeField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/UidField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/UidField.js +0 -0
- package/src/infrastructure/decorators/fields/UidField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/UpdateTimeField.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/UpdateTimeField.js +8 -4
- package/src/infrastructure/decorators/fields/UpdateTimeField.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/index.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/fields/index.js +0 -0
- package/src/infrastructure/decorators/fields/index.js.map +1 -0
- package/{infrastructure → src/infrastructure}/decorators/schema/SchemaSelect.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/decorators/schema/SchemaSelect.js +0 -0
- package/src/infrastructure/decorators/schema/SchemaSelect.js.map +1 -0
- package/{infrastructure → src/infrastructure}/filters/ValidationExceptionFilter.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/filters/ValidationExceptionFilter.js +0 -0
- package/src/infrastructure/filters/ValidationExceptionFilter.js.map +1 -0
- package/{infrastructure → src/infrastructure}/helpers/ModuleHelper.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/helpers/ModuleHelper.js +0 -0
- package/src/infrastructure/helpers/ModuleHelper.js.map +1 -0
- package/{infrastructure → src/infrastructure}/pipes/CreateDtoPipe.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/pipes/CreateDtoPipe.js +0 -0
- package/src/infrastructure/pipes/CreateDtoPipe.js.map +1 -0
- package/{infrastructure → src/infrastructure}/pipes/SchemaSerializer.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/pipes/SchemaSerializer.js +2 -2
- package/src/infrastructure/pipes/SchemaSerializer.js.map +1 -0
- package/{infrastructure → src/infrastructure}/repositories/CrudRepository.d.ts +2 -1
- package/{infrastructure → src/infrastructure}/repositories/CrudRepository.js +13 -7
- package/src/infrastructure/repositories/CrudRepository.js.map +1 -0
- package/{infrastructure → src/infrastructure}/schemas/SearchSchema.d.ts +0 -0
- package/{infrastructure → src/infrastructure}/schemas/SearchSchema.js +0 -0
- package/src/infrastructure/schemas/SearchSchema.js.map +1 -0
- package/src/infrastructure/tests/ModelTest.test.d.ts +1 -0
- package/src/infrastructure/tests/ModelTest.test.js +112 -0
- package/src/infrastructure/tests/ModelTest.test.js.map +1 -0
- package/src/infrastructure/tests/app/models/ArticleModel.d.ts +15 -0
- package/src/infrastructure/tests/app/models/ArticleModel.js +79 -0
- package/src/infrastructure/tests/app/models/ArticleModel.js.map +1 -0
- package/src/infrastructure/tests/app/models/CommentModel.d.ts +11 -0
- package/src/infrastructure/tests/app/models/CommentModel.js +58 -0
- package/src/infrastructure/tests/app/models/CommentModel.js.map +1 -0
- package/src/infrastructure/tests/app/models/FileModel.d.ts +7 -0
- package/src/infrastructure/tests/app/models/FileModel.js +41 -0
- package/src/infrastructure/tests/app/models/FileModel.js.map +1 -0
- package/src/infrastructure/tests/app/models/ImageModel.d.ts +8 -0
- package/src/infrastructure/tests/app/models/ImageModel.js +45 -0
- package/src/infrastructure/tests/app/models/ImageModel.js.map +1 -0
- package/src/infrastructure/tests/app/models/TagModel.d.ts +4 -0
- package/src/infrastructure/tests/app/models/TagModel.js +25 -0
- package/src/infrastructure/tests/app/models/TagModel.js.map +1 -0
- package/src/infrastructure/tests/app/models/UserInfoModel.d.ts +7 -0
- package/src/infrastructure/tests/app/models/UserInfoModel.js +41 -0
- package/src/infrastructure/tests/app/models/UserInfoModel.js.map +1 -0
- package/src/infrastructure/tests/app/models/UserModel.d.ts +12 -0
- package/src/infrastructure/tests/app/models/UserModel.js +71 -0
- package/src/infrastructure/tests/app/models/UserModel.js.map +1 -0
- package/src/infrastructure/tests/app/repositories/ArticleRepository.d.ts +9 -0
- package/src/infrastructure/tests/app/repositories/ArticleRepository.js +35 -0
- package/src/infrastructure/tests/app/repositories/ArticleRepository.js.map +1 -0
- package/src/infrastructure/tests/app/repositories/CommentRepository.d.ts +9 -0
- package/src/infrastructure/tests/app/repositories/CommentRepository.js +35 -0
- package/src/infrastructure/tests/app/repositories/CommentRepository.js.map +1 -0
- package/src/infrastructure/tests/app/repositories/FileRepository.d.ts +9 -0
- package/src/infrastructure/tests/app/repositories/FileRepository.js +35 -0
- package/src/infrastructure/tests/app/repositories/FileRepository.js.map +1 -0
- package/src/infrastructure/tests/app/repositories/ImageRepository.d.ts +9 -0
- package/src/infrastructure/tests/app/repositories/ImageRepository.js +35 -0
- package/src/infrastructure/tests/app/repositories/ImageRepository.js.map +1 -0
- package/src/infrastructure/tests/app/repositories/TagRepository.d.ts +9 -0
- package/src/infrastructure/tests/app/repositories/TagRepository.js +35 -0
- package/src/infrastructure/tests/app/repositories/TagRepository.js.map +1 -0
- package/src/infrastructure/tests/app/repositories/UserRepository.d.ts +9 -0
- package/src/infrastructure/tests/app/repositories/UserRepository.js +35 -0
- package/src/infrastructure/tests/app/repositories/UserRepository.js.map +1 -0
- package/src/infrastructure/tests/app/services/ArticleService.d.ts +9 -0
- package/src/infrastructure/tests/app/services/ArticleService.js +29 -0
- package/src/infrastructure/tests/app/services/ArticleService.js.map +1 -0
- package/src/infrastructure/tests/app/services/CommentService.d.ts +9 -0
- package/src/infrastructure/tests/app/services/CommentService.js +29 -0
- package/src/infrastructure/tests/app/services/CommentService.js.map +1 -0
- package/src/infrastructure/tests/app/services/FileService.d.ts +9 -0
- package/src/infrastructure/tests/app/services/FileService.js +29 -0
- package/src/infrastructure/tests/app/services/FileService.js.map +1 -0
- package/src/infrastructure/tests/app/services/ImageService.d.ts +9 -0
- package/src/infrastructure/tests/app/services/ImageService.js +29 -0
- package/src/infrastructure/tests/app/services/ImageService.js.map +1 -0
- package/src/infrastructure/tests/app/services/TagService.d.ts +9 -0
- package/src/infrastructure/tests/app/services/TagService.js +29 -0
- package/src/infrastructure/tests/app/services/TagService.js.map +1 -0
- package/src/infrastructure/tests/app/services/UserService.d.ts +9 -0
- package/src/infrastructure/tests/app/services/UserService.js +29 -0
- package/src/infrastructure/tests/app/services/UserService.js.map +1 -0
- package/src/infrastructure/tests/app/tables/ArticleTable.d.ts +3 -0
- package/src/infrastructure/tests/app/tables/ArticleTable.js +18 -0
- package/src/infrastructure/tests/app/tables/ArticleTable.js.map +1 -0
- package/src/infrastructure/tests/app/tables/CommentTable.d.ts +3 -0
- package/src/infrastructure/tests/app/tables/CommentTable.js +18 -0
- package/src/infrastructure/tests/app/tables/CommentTable.js.map +1 -0
- package/src/infrastructure/tests/app/tables/FileTable.d.ts +3 -0
- package/src/infrastructure/tests/app/tables/FileTable.js +18 -0
- package/src/infrastructure/tests/app/tables/FileTable.js.map +1 -0
- package/src/infrastructure/tests/app/tables/ImageTable.d.ts +3 -0
- package/src/infrastructure/tests/app/tables/ImageTable.js +18 -0
- package/src/infrastructure/tests/app/tables/ImageTable.js.map +1 -0
- package/src/infrastructure/tests/app/tables/TagTable.d.ts +3 -0
- package/src/infrastructure/tests/app/tables/TagTable.js +18 -0
- package/src/infrastructure/tests/app/tables/TagTable.js.map +1 -0
- package/src/infrastructure/tests/app/tables/UserInfoTable.d.ts +3 -0
- package/src/infrastructure/tests/app/tables/UserInfoTable.js +18 -0
- package/src/infrastructure/tests/app/tables/UserInfoTable.js.map +1 -0
- package/src/infrastructure/tests/app/tables/UserTable.d.ts +3 -0
- package/src/infrastructure/tests/app/tables/UserTable.js +18 -0
- package/src/infrastructure/tests/app/tables/UserTable.js.map +1 -0
- package/src/infrastructure/tests/bootstrap.d.ts +1 -0
- package/src/infrastructure/tests/bootstrap.js +60 -0
- package/src/infrastructure/tests/bootstrap.js.map +1 -0
- package/{usecases → src/usecases}/base/SearchQuery.d.ts +0 -0
- package/{usecases → src/usecases}/base/SearchQuery.js +3 -0
- package/src/usecases/base/SearchQuery.js.map +1 -0
- package/{usecases → src/usecases}/dtos/ContextDto.d.ts +0 -0
- package/{usecases → src/usecases}/dtos/ContextDto.js +0 -0
- package/src/usecases/dtos/ContextDto.js.map +1 -0
- package/{usecases → src/usecases}/dtos/SearchInputDto.d.ts +0 -0
- package/{usecases → src/usecases}/dtos/SearchInputDto.js +0 -0
- package/src/usecases/dtos/SearchInputDto.js.map +1 -0
- package/{usecases → src/usecases}/dtos/SearchResultDto.d.ts +0 -0
- package/{usecases → src/usecases}/dtos/SearchResultDto.js +0 -0
- package/src/usecases/dtos/SearchResultDto.js.map +1 -0
- package/{usecases → src/usecases}/exceptions/BadRequestException.d.ts +0 -0
- package/{usecases → src/usecases}/exceptions/BadRequestException.js +0 -0
- package/src/usecases/exceptions/BadRequestException.js.map +1 -0
- package/{usecases → src/usecases}/exceptions/DataMapperException.d.ts +0 -0
- package/{usecases → src/usecases}/exceptions/DataMapperException.js +0 -0
- package/src/usecases/exceptions/DataMapperException.js.map +1 -0
- package/{usecases → src/usecases}/exceptions/ForbiddenException.d.ts +0 -0
- package/{usecases → src/usecases}/exceptions/ForbiddenException.js +0 -0
- package/src/usecases/exceptions/ForbiddenException.js.map +1 -0
- package/{usecases → src/usecases}/exceptions/UnauthorizedException.d.ts +0 -0
- package/{usecases → src/usecases}/exceptions/UnauthorizedException.js +0 -0
- package/src/usecases/exceptions/UnauthorizedException.js.map +1 -0
- package/{usecases → src/usecases}/exceptions/ValidationException.d.ts +0 -0
- package/{usecases → src/usecases}/exceptions/ValidationException.js +0 -0
- package/src/usecases/exceptions/ValidationException.js.map +1 -0
- package/{usecases → src/usecases}/exceptions/index.d.ts +0 -0
- package/{usecases → src/usecases}/exceptions/index.js +0 -0
- package/src/usecases/exceptions/index.js.map +1 -0
- package/{usecases → src/usecases}/helpers/ConditionHelper.d.ts +0 -0
- package/{usecases → src/usecases}/helpers/ConditionHelper.js +0 -0
- package/src/usecases/helpers/ConditionHelper.js.map +1 -0
- package/src/usecases/helpers/DataMapper.d.ts +7 -0
- package/src/usecases/helpers/DataMapper.js +75 -0
- package/src/usecases/helpers/DataMapper.js.map +1 -0
- package/{usecases → src/usecases}/helpers/SearchHelper.d.ts +0 -0
- package/{usecases → src/usecases}/helpers/SearchHelper.js +0 -0
- package/src/usecases/helpers/SearchHelper.js.map +1 -0
- package/{usecases → src/usecases}/helpers/ValidationHelper.d.ts +0 -0
- package/{usecases → src/usecases}/helpers/ValidationHelper.js +0 -0
- package/src/usecases/helpers/ValidationHelper.js.map +1 -0
- package/{usecases → src/usecases}/interfaces/ICrudRepository.d.ts +0 -0
- package/{usecases → src/usecases}/interfaces/ICrudRepository.js +0 -0
- package/src/usecases/interfaces/ICrudRepository.js.map +1 -0
- package/{usecases → src/usecases}/interfaces/IFormError.d.ts +0 -0
- package/{usecases → src/usecases}/interfaces/IFormError.js +0 -0
- package/src/usecases/interfaces/IFormError.js.map +1 -0
- package/{usecases → src/usecases}/interfaces/IManualSchema.d.ts +0 -0
- package/{usecases → src/usecases}/interfaces/IManualSchema.js +0 -0
- package/src/usecases/interfaces/IManualSchema.js.map +1 -0
- package/src/usecases/interfaces/ISaveManager.d.ts +3 -0
- package/src/usecases/interfaces/ISaveManager.js +3 -0
- package/src/usecases/interfaces/ISaveManager.js.map +1 -0
- package/{usecases → src/usecases}/services/CrudService.d.ts +0 -0
- package/{usecases → src/usecases}/services/CrudService.js +10 -5
- package/src/usecases/services/CrudService.js.map +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/domain/base/BaseEnum.js.map +0 -1
- package/index.js.map +0 -1
- package/infrastructure/base/DatabaseNamingStrategy.js.map +0 -1
- package/infrastructure/commands/MigrateCommand.js.map +0 -1
- package/infrastructure/commands/dbml/dbml2code.js.map +0 -1
- package/infrastructure/commands/dbml/templates.js.map +0 -1
- package/infrastructure/commands/generate/CustomPostgresQueryRunner.js.map +0 -1
- package/infrastructure/commands/generate/CustomRdbmsSchemaBuilder.js.map +0 -1
- package/infrastructure/commands/generate/index.js.map +0 -1
- package/infrastructure/decorators/ApiOkSearchResponse.js.map +0 -1
- package/infrastructure/decorators/Context.js.map +0 -1
- package/infrastructure/decorators/TableFromModel.js.map +0 -1
- package/infrastructure/decorators/fields/BaseField.js.map +0 -1
- package/infrastructure/decorators/fields/BooleanField.js.map +0 -1
- package/infrastructure/decorators/fields/ComputableField.d.ts +0 -15
- package/infrastructure/decorators/fields/ComputableField.js +0 -22
- package/infrastructure/decorators/fields/ComputableField.js.map +0 -1
- package/infrastructure/decorators/fields/CoordinateField.js.map +0 -1
- package/infrastructure/decorators/fields/CreateTimeField.js.map +0 -1
- package/infrastructure/decorators/fields/DateField.js.map +0 -1
- package/infrastructure/decorators/fields/DateTimeField.js.map +0 -1
- package/infrastructure/decorators/fields/DecimalField.js.map +0 -1
- package/infrastructure/decorators/fields/EmailField.js.map +0 -1
- package/infrastructure/decorators/fields/EnumField.js.map +0 -1
- package/infrastructure/decorators/fields/ExtendField.js.map +0 -1
- package/infrastructure/decorators/fields/FileField.js.map +0 -1
- package/infrastructure/decorators/fields/HtmlField.js.map +0 -1
- package/infrastructure/decorators/fields/IntegerField.js.map +0 -1
- package/infrastructure/decorators/fields/PasswordField.js.map +0 -1
- package/infrastructure/decorators/fields/PhoneField.js.map +0 -1
- package/infrastructure/decorators/fields/PrimaryKeyField.js.map +0 -1
- package/infrastructure/decorators/fields/RelationField.d.ts +0 -9
- package/infrastructure/decorators/fields/RelationField.js +0 -52
- package/infrastructure/decorators/fields/RelationField.js.map +0 -1
- package/infrastructure/decorators/fields/RelationIdField.d.ts +0 -5
- package/infrastructure/decorators/fields/RelationIdField.js +0 -16
- package/infrastructure/decorators/fields/RelationIdField.js.map +0 -1
- package/infrastructure/decorators/fields/StringField.js.map +0 -1
- package/infrastructure/decorators/fields/TextField.js.map +0 -1
- package/infrastructure/decorators/fields/TimeField.js.map +0 -1
- package/infrastructure/decorators/fields/UidField.js.map +0 -1
- package/infrastructure/decorators/fields/UpdateTimeField.js.map +0 -1
- package/infrastructure/decorators/fields/index.js.map +0 -1
- package/infrastructure/decorators/schema/SchemaSelect.js.map +0 -1
- package/infrastructure/filters/ValidationExceptionFilter.js.map +0 -1
- package/infrastructure/helpers/ModuleHelper.js.map +0 -1
- package/infrastructure/pipes/CreateDtoPipe.js.map +0 -1
- package/infrastructure/pipes/SchemaSerializer.js.map +0 -1
- package/infrastructure/repositories/CrudRepository.js.map +0 -1
- package/infrastructure/schemas/BaseSchema.d.ts +0 -6
- package/infrastructure/schemas/BaseSchema.js +0 -20
- package/infrastructure/schemas/BaseSchema.js.map +0 -1
- package/infrastructure/schemas/SearchSchema.js.map +0 -1
- package/usecases/base/SearchQuery.js.map +0 -1
- package/usecases/dtos/ContextDto.js.map +0 -1
- package/usecases/dtos/SearchInputDto.js.map +0 -1
- package/usecases/dtos/SearchResultDto.js.map +0 -1
- package/usecases/exceptions/BadRequestException.js.map +0 -1
- package/usecases/exceptions/DataMapperException.js.map +0 -1
- package/usecases/exceptions/ForbiddenException.js.map +0 -1
- package/usecases/exceptions/UnauthorizedException.js.map +0 -1
- package/usecases/exceptions/ValidationException.js.map +0 -1
- package/usecases/exceptions/index.js.map +0 -1
- package/usecases/helpers/ConditionHelper.js.map +0 -1
- package/usecases/helpers/DataMapperHelper.d.ts +0 -10
- package/usecases/helpers/DataMapperHelper.js +0 -210
- package/usecases/helpers/DataMapperHelper.js.map +0 -1
- package/usecases/helpers/SearchHelper.js.map +0 -1
- package/usecases/helpers/ValidationHelper.js.map +0 -1
- package/usecases/interfaces/ICrudRepository.js.map +0 -1
- package/usecases/interfaces/IFormError.js.map +0 -1
- package/usecases/interfaces/IManualSchema.js.map +0 -1
- package/usecases/services/CrudService.js.map +0 -1
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DateTimeField = void 0;
|
|
3
|
+
exports.DateTimeField = exports.normalizeDateTime = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
const lodash_1 = require("lodash");
|
|
6
6
|
const typeorm_1 = require("typeorm");
|
|
7
7
|
const class_validator_1 = require("class-validator");
|
|
8
8
|
const class_transformer_1 = require("class-transformer");
|
|
9
9
|
const BaseField_1 = require("./BaseField");
|
|
10
|
+
const date_fns_1 = require("date-fns");
|
|
11
|
+
const normalizeDateTime = value => {
|
|
12
|
+
if (!value) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
if (typeof value === 'string') {
|
|
16
|
+
value = (0, date_fns_1.parseISO)(value);
|
|
17
|
+
}
|
|
18
|
+
return (0, date_fns_1.formatISO9075)(value);
|
|
19
|
+
};
|
|
20
|
+
exports.normalizeDateTime = normalizeDateTime;
|
|
10
21
|
function DateTimeField(options = {}) {
|
|
11
22
|
return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(options, {
|
|
12
23
|
decoratorName: 'DateTimeField',
|
|
@@ -17,6 +28,10 @@ function DateTimeField(options = {}) {
|
|
|
17
28
|
precision: (0, lodash_1.has)(options, 'precision') ? options.precision : 0,
|
|
18
29
|
default: options.defaultValue,
|
|
19
30
|
nullable: options.nullable,
|
|
31
|
+
transformer: {
|
|
32
|
+
from: exports.normalizeDateTime,
|
|
33
|
+
to: exports.normalizeDateTime,
|
|
34
|
+
},
|
|
20
35
|
}), (0, class_validator_1.IsDate)({
|
|
21
36
|
message: 'Некорректный формат даты',
|
|
22
37
|
}), (0, class_transformer_1.Type)(() => Date));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/DateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAAmC;AACnC,qCAA+B;AAC/B,qDAAuC;AACvC,yDAAuC;AACvC,2CAAyD;AACzD,uCAAiD;AAE1C,MAAM,iBAAiB,GAAG,KAAK,CAAC,EAAE;IACrC,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,IAAI,CAAC;KACf;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,KAAK,GAAG,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;KAC3B;IAED,OAAO,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B;AAMF,SAAgB,aAAa,CAAC,UAAuC,EAAE;IACnE,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE;YACT,IAAI,EAAE,yBAAiB;YACvB,EAAE,EAAE,yBAAiB;SACxB;KACJ,CAAC,EACF,IAAA,wBAAM,EAAC;QACH,OAAO,EAAE,0BAA0B;KACtC,CAAC,EACF,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CACnB,CAAC;AACN,CAAC;AAtBD,sCAsBC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DecimalField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/DecimalField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAqD;AACrD,2CAAyD;AAOzD,SAAgB,YAAY,CAAC,UAAgC,EAAE;IAC3D,OAAO,IAAA,wBAAe,EAAC,GAAG;QAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;SAC5B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;QACjE,IAAA,0BAAQ,EAAC;YACL,OAAO,EAAE,qBAAqB;SACjC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AApBD,oCAoBC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/EmailField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAwC;AACxC,2CAAyD;AAMzD,SAAgB,UAAU,CAAC,UAA8B,EAAE;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;KAC3B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAC;QACd,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,yBAAO,EAAC;QACJ,OAAO,EAAE,0BAA0B;KACtC,CAAC,CACL,CAAC;AACN,CAAC;AArBD,gCAqBC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnumField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/EnumField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAmD;AACnD,2CAAyD;AACzD,4DAAqD;AAMrD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC7B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC9C,IAAI,KAAK,CAAC,SAAS,YAAY,kBAAQ,EAAE;gBACrC,GAAG,mCACI,GAAG,GACH,KAAK,CAAC,MAAM,EAAE,CACpB,CAAC;aACL;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAClC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aACtB;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;KACV;SAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,YAAY,kBAAQ,EAAE;QACzF,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KACxC;IAED,OAAO,IAAA,wBAAe,EAAC,GAAG;QAClB,IAAA,qBAAS,EAAC,OAAO,EAAC;YACd,aAAa,EAAE,WAAW;YAC1B,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;QACjE,IAAA,wBAAM,EAAC,OAAO,CAAC,IAAI,CAAC;KACvB,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAhCD,8BAgCC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtendField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/ExtendField.ts"],"names":[],"mappings":";;;AAAA,2CAAkF;AAOlF,SAAgB,WAAW,CAAC,UAAU,EAAE,UAAwC,EAAE;IAC9E,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC7B,OAAO,GAAG,EAAC,eAAe,EAAE,OAAO,EAAC,CAAC;SACxC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,IAAI,YAAY,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,YAAY,GAAG,cAAc,GAAG,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;SAChG;QAGD,MAAM,aAAa,GAAG,IAAA,2BAAe,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAA,6BAAiB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAChE,SAAS,iCAAK,aAAa,GAAK,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,CAAC;AACN,CAAC;AAhBD,kCAgBC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/FileField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAA2D;AAC3D,2CAAyD;AAMzD,SAAgB,SAAS,CAAC,UAAsB,EAAE;IAC9C,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACnD,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,4BAAU,GAAE,EACZ,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,yBAAO,GAAE,CAAC,CAAC,CAAC,IAAA,uBAAK,GAAE,CACzC,CAAC;AACN,CAAC;AAfD,8BAeC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HtmlField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/HtmlField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,2CAAyD;AAEzD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,CACL,CAAC;AACN,CAAC;AAbD,8BAaC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntegerField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/IntegerField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAA+C;AAC/C,qCAA+B;AAC/B,qDAA4E;AAC5E,2CAAyD;AACzD,yDAA4C;AAM5C,SAAgB,YAAY,CAAC,UAAgC,EAAE;IAC3D,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;QACjG,IAAA,6BAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC,CAAC;aACxD;YACD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;QACtD,CAAC,CAAE;QACH,IAAA,uBAAK,EAAC;YACF,OAAO,EAAE,oBAAoB;YAC7B,IAAI,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,qBAAG,EAAC,OAAO,CAAC,GAAG,CAAC;QACnD,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,qBAAG,EAAC,OAAO,CAAC,GAAG,CAAC;KACtD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,CAAC;AA3BD,oCA2BC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/PasswordField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,2CAAyD;AAEzD,SAAgB,aAAa,CAAC,UAA6B,EAAE;IACzD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;KAC5B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO,CAAC,GAAG;QACnB,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,CACL,CAAC;AACN,CAAC;AAlBD,sCAkBC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhoneField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/PhoneField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAA8C;AAC9C,2CAAyD;AACzD,yDAA4C;AAM5C,MAAM,iCAAiC,GAAG,SAAS,CAAC;AAEpD,SAAgB,UAAU,CAAC,UAA8B,EAAE;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;KAC7B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE;QACzB,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,6BAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAC5F,IAAA,+BAAa,EAAC,IAAI,EAAE;QAChB,OAAO,EAAE,6BAA6B;KACzC,CAAC,CACL,CAAC;AACN,CAAC;AAvBD,gCAuBC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrimaryKeyField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/PrimaryKeyField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+C;AAC/C,2CAAyD;AAEzD,SAAgB,eAAe,CAAC,UAA6B,EAAE;IAC3D,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;KACxB;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,iBAAiB;QAChC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gCAAsB,EAAC,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC,CAC5C,CAAC;AACN,CAAC;AAbD,0CAaC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IBaseFieldOptions } from './BaseField';
|
|
2
|
+
export interface IRelationFieldOneToOneOptions extends IBaseFieldOptions {
|
|
3
|
+
type: 'OneToOne';
|
|
4
|
+
isOwningSide: boolean;
|
|
5
|
+
relationClass: () => any;
|
|
6
|
+
}
|
|
7
|
+
export interface IRelationFieldManyToManyOptions extends IBaseFieldOptions {
|
|
8
|
+
type: 'ManyToMany';
|
|
9
|
+
isOwningSide: boolean;
|
|
10
|
+
relationClass: () => any;
|
|
11
|
+
}
|
|
12
|
+
export interface IRelationFieldManyToOneOptions extends IBaseFieldOptions {
|
|
13
|
+
type: 'ManyToOne';
|
|
14
|
+
relationClass: () => any;
|
|
15
|
+
}
|
|
16
|
+
export interface IRelationFieldOneToManyOptions extends IBaseFieldOptions {
|
|
17
|
+
type: 'OneToMany';
|
|
18
|
+
relationClass: () => any;
|
|
19
|
+
inverseSide: string | ((object: any) => any);
|
|
20
|
+
}
|
|
21
|
+
export declare type IRelationFieldOptions = IRelationFieldOneToOneOptions | IRelationFieldManyToManyOptions | IRelationFieldManyToOneOptions | IRelationFieldOneToManyOptions;
|
|
22
|
+
export declare const relationTransformFromDb: ({ value, options }: {
|
|
23
|
+
value: any;
|
|
24
|
+
options: any;
|
|
25
|
+
}) => any;
|
|
26
|
+
export declare const relationTransformToDb: ({ value, item, key, options }: {
|
|
27
|
+
value: any;
|
|
28
|
+
item: any;
|
|
29
|
+
key: any;
|
|
30
|
+
options: any;
|
|
31
|
+
}) => any;
|
|
32
|
+
export declare const relationTransform: ({ value, options }: {
|
|
33
|
+
value: any;
|
|
34
|
+
options: any;
|
|
35
|
+
}) => any;
|
|
36
|
+
export declare function RelationField(options: IRelationFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RelationField = exports.relationTransform = exports.relationTransformToDb = exports.relationTransformFromDb = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const typeorm_1 = require("typeorm");
|
|
6
|
+
const class_validator_1 = require("class-validator");
|
|
7
|
+
const class_transformer_1 = require("class-transformer");
|
|
8
|
+
const BaseField_1 = require("./BaseField");
|
|
9
|
+
const TableFromModel_1 = require("../TableFromModel");
|
|
10
|
+
const Transform_1 = require("../Transform");
|
|
11
|
+
const DataMapper_1 = require("../../../usecases/helpers/DataMapper");
|
|
12
|
+
const getRelationDecorator = (relation) => {
|
|
13
|
+
switch (relation) {
|
|
14
|
+
case 'OneToOne':
|
|
15
|
+
return typeorm_1.OneToOne;
|
|
16
|
+
case 'ManyToMany':
|
|
17
|
+
return typeorm_1.ManyToMany;
|
|
18
|
+
case 'OneToMany':
|
|
19
|
+
return typeorm_1.OneToMany;
|
|
20
|
+
case 'ManyToOne':
|
|
21
|
+
return typeorm_1.ManyToOne;
|
|
22
|
+
default:
|
|
23
|
+
throw new Error('Wrong relation type: ' + relation);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const getOwningDecorator = (options) => {
|
|
27
|
+
if (options.type === 'ManyToMany' && options.isOwningSide) {
|
|
28
|
+
return typeorm_1.JoinTable;
|
|
29
|
+
}
|
|
30
|
+
if (options.type === 'OneToOne' && options.isOwningSide) {
|
|
31
|
+
return typeorm_1.JoinColumn;
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
};
|
|
35
|
+
const transformInstances = (TargetClass, value, isArray = false) => {
|
|
36
|
+
if (isArray && Array.isArray(value)) {
|
|
37
|
+
return value.map(item => transformInstances(TargetClass, item));
|
|
38
|
+
}
|
|
39
|
+
if (typeof value === 'object' && !(value instanceof TargetClass)) {
|
|
40
|
+
return DataMapper_1.DataMapper.create(TargetClass, value);
|
|
41
|
+
}
|
|
42
|
+
return value;
|
|
43
|
+
};
|
|
44
|
+
const transformIds = (TableClass, value, isArray = false) => {
|
|
45
|
+
if (isArray && Array.isArray(value)) {
|
|
46
|
+
return value.map(item => transformIds(TableClass, item));
|
|
47
|
+
}
|
|
48
|
+
if (typeof value === 'number') {
|
|
49
|
+
const primaryKey = (0, BaseField_1.getMetaPrimaryKey)(TableClass);
|
|
50
|
+
return DataMapper_1.DataMapper.create(TableClass, { [primaryKey]: value });
|
|
51
|
+
}
|
|
52
|
+
return value;
|
|
53
|
+
};
|
|
54
|
+
const relationTransformFromDb = ({ value, options }) => {
|
|
55
|
+
const ModelClass = options.relationClass();
|
|
56
|
+
return transformInstances(ModelClass, value, options.isArray);
|
|
57
|
+
};
|
|
58
|
+
exports.relationTransformFromDb = relationTransformFromDb;
|
|
59
|
+
const relationTransformToDb = ({ value, item, key, options }) => {
|
|
60
|
+
const TableClass = (0, TableFromModel_1.getTableFromModel)(options.relationClass());
|
|
61
|
+
const relationIdName = (0, BaseField_1.getMetaFields)(item.constructor).find(name => {
|
|
62
|
+
const relationOptions = (0, BaseField_1.getFieldOptions)(item.constructor, name);
|
|
63
|
+
return relationOptions.appType === 'relationId' && relationOptions.relationName === key;
|
|
64
|
+
});
|
|
65
|
+
if (relationIdName && item[relationIdName]) {
|
|
66
|
+
return transformIds(TableClass, item[relationIdName], options.isArray);
|
|
67
|
+
}
|
|
68
|
+
return transformInstances(TableClass, value, options.isArray);
|
|
69
|
+
};
|
|
70
|
+
exports.relationTransformToDb = relationTransformToDb;
|
|
71
|
+
const relationTransform = ({ value, options }) => {
|
|
72
|
+
const DtoClass = options.relationClass();
|
|
73
|
+
return transformInstances(DtoClass, value, options.isArray);
|
|
74
|
+
};
|
|
75
|
+
exports.relationTransform = relationTransform;
|
|
76
|
+
function RelationField(options) {
|
|
77
|
+
const OwningDecorator = getOwningDecorator(options);
|
|
78
|
+
return (0, common_1.applyDecorators)(...[
|
|
79
|
+
(0, BaseField_1.BaseField)(options, {
|
|
80
|
+
decoratorName: 'RelationField',
|
|
81
|
+
appType: 'relation',
|
|
82
|
+
jsType: 'number',
|
|
83
|
+
isArray: ['ManyToMany', 'OneToMany'].includes(options.type),
|
|
84
|
+
}),
|
|
85
|
+
getRelationDecorator(options.type)(() => (0, TableFromModel_1.getTableFromModel)(options.relationClass()), options.inverseSide, { cascade: ['insert', 'update'], onUpdate: 'CASCADE' }),
|
|
86
|
+
OwningDecorator && OwningDecorator(),
|
|
87
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
88
|
+
(0, class_transformer_1.Type)(options.relationClass),
|
|
89
|
+
(0, Transform_1.Transform)(exports.relationTransformFromDb, Transform_1.TRANSFORM_TYPE_FROM_DB),
|
|
90
|
+
(0, Transform_1.Transform)(exports.relationTransformToDb, Transform_1.TRANSFORM_TYPE_TO_DB),
|
|
91
|
+
(0, Transform_1.Transform)(options.transform || exports.relationTransform),
|
|
92
|
+
].filter(Boolean));
|
|
93
|
+
}
|
|
94
|
+
exports.RelationField = RelationField;
|
|
95
|
+
//# sourceMappingURL=RelationField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelationField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/RelationField.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IBaseFieldOptions } from './BaseField';
|
|
2
|
+
export interface IRelationIdFieldOptions extends IBaseFieldOptions {
|
|
3
|
+
relationName?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const relationTransformFromDb: ({ value, item, key, options }: {
|
|
6
|
+
value: any;
|
|
7
|
+
item: any;
|
|
8
|
+
key: any;
|
|
9
|
+
options: any;
|
|
10
|
+
}) => any;
|
|
11
|
+
export declare const relationTransformToDb: ({ value, item, options }: {
|
|
12
|
+
value: any;
|
|
13
|
+
item: any;
|
|
14
|
+
options: any;
|
|
15
|
+
}) => any;
|
|
16
|
+
export declare const relationTransform: ({ value, options }: {
|
|
17
|
+
value: any;
|
|
18
|
+
options: any;
|
|
19
|
+
}) => any;
|
|
20
|
+
export declare function RelationIdField(options?: IRelationIdFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RelationIdField = exports.relationTransform = exports.relationTransformToDb = exports.relationTransformFromDb = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const BaseField_1 = require("./BaseField");
|
|
6
|
+
const TableFromModel_1 = require("../TableFromModel");
|
|
7
|
+
const Transform_1 = require("../Transform");
|
|
8
|
+
const DataMapper_1 = require("../../../usecases/helpers/DataMapper");
|
|
9
|
+
const relationTransformFromDbInternal = (TableClass, value, isArray = false) => {
|
|
10
|
+
if (isArray && Array.isArray(value)) {
|
|
11
|
+
return value.map(item => relationTransformFromDbInternal(TableClass, item));
|
|
12
|
+
}
|
|
13
|
+
if (value && typeof value === 'object') {
|
|
14
|
+
const primaryKey = (0, BaseField_1.getMetaPrimaryKey)(TableClass);
|
|
15
|
+
return value[primaryKey];
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
};
|
|
19
|
+
const relationTransformFromDb = ({ value, item, key, options }) => {
|
|
20
|
+
if (value) {
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
const relationOptions = (0, BaseField_1.getFieldOptions)(item.constructor, options.relationName);
|
|
24
|
+
const TableClass = (0, TableFromModel_1.getTableFromModel)(relationOptions.relationClass());
|
|
25
|
+
const relationValue = item[options.relationName];
|
|
26
|
+
return relationTransformFromDbInternal(TableClass, relationValue, relationOptions.isArray);
|
|
27
|
+
};
|
|
28
|
+
exports.relationTransformFromDb = relationTransformFromDb;
|
|
29
|
+
const relationTransformToDbInternal = (TableClass, value, isArray = false) => {
|
|
30
|
+
if (isArray && Array.isArray(value)) {
|
|
31
|
+
return value.map(item => relationTransformToDbInternal(TableClass, item));
|
|
32
|
+
}
|
|
33
|
+
if (typeof value === 'number') {
|
|
34
|
+
const primaryKey = (0, BaseField_1.getMetaPrimaryKey)(TableClass);
|
|
35
|
+
return DataMapper_1.DataMapper.create(TableClass, { [primaryKey]: value });
|
|
36
|
+
}
|
|
37
|
+
return value;
|
|
38
|
+
};
|
|
39
|
+
const relationTransformToDb = ({ value, item, options }) => {
|
|
40
|
+
return value;
|
|
41
|
+
};
|
|
42
|
+
exports.relationTransformToDb = relationTransformToDb;
|
|
43
|
+
const relationTransform = ({ value, options }) => {
|
|
44
|
+
return value;
|
|
45
|
+
};
|
|
46
|
+
exports.relationTransform = relationTransform;
|
|
47
|
+
function RelationIdField(options = {}) {
|
|
48
|
+
return (0, common_1.applyDecorators)(...[
|
|
49
|
+
(0, BaseField_1.BaseField)(options, {
|
|
50
|
+
decoratorName: 'RelationIdField',
|
|
51
|
+
appType: 'relationId',
|
|
52
|
+
jsType: 'number',
|
|
53
|
+
}),
|
|
54
|
+
(0, Transform_1.Transform)(exports.relationTransformFromDb, Transform_1.TRANSFORM_TYPE_FROM_DB),
|
|
55
|
+
(0, Transform_1.Transform)(exports.relationTransformToDb, Transform_1.TRANSFORM_TYPE_TO_DB),
|
|
56
|
+
(0, Transform_1.Transform)(options.transform || exports.relationTransform),
|
|
57
|
+
].filter(Boolean));
|
|
58
|
+
}
|
|
59
|
+
exports.RelationIdField = RelationIdField;
|
|
60
|
+
//# sourceMappingURL=RelationIdField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelationIdField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/RelationIdField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,2CAA6F;AAC7F,sDAAoD;AACpD,4CAAqF;AACrF,qEAAgE;AAOhE,MAAM,+BAA+B,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;IAC3E,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,+BAA+B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KAC/E;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;KAC5B;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACM,MAAM,uBAAuB,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAC,EAAE,EAAE;IACnE,IAAI,KAAK,EAAE;QACP,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,eAAe,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,IAAA,kCAAiB,EAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjD,OAAO,+BAA+B,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;AAC/F,CAAC,CAAA;AAVY,QAAA,uBAAuB,2BAUnC;AAID,MAAM,6BAA6B,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;IACzE,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,6BAA6B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KAC7E;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,OAAO,uBAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC;KAC/D;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACM,MAAM,qBAAqB,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAC,EAAE,EAAE;IAE5D,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAHY,QAAA,qBAAqB,yBAGjC;AAEM,MAAM,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;IAClD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B;AAED,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,iBAAiB;YAChC,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,qBAAS,EAAC,+BAAuB,EAAE,kCAAsB,CAAC;QAC1D,IAAA,qBAAS,EAAC,6BAAqB,EAAE,gCAAoB,CAAC;QACtD,IAAA,qBAAS,EAAC,OAAO,CAAC,SAAS,IAAI,yBAAiB,CAAC;KACpD,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAbD,0CAaC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/StringField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAuF;AACvF,2CAAyD;AAMzD,SAAgB,WAAW,CAAC,UAA+B,EAAE;IACzD,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,OAAO,CAAC,GAAG;YACnB,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAA,0BAAQ,EAAC;YACL,OAAO,EAAE,oBAAoB;SAChC,CAAC;QACF,IAAA,4BAAU,GAAE;QACZ,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,2BAAS,EAAC,OAAO,CAAC,GAAG,CAAC;QACzD,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,2BAAS,EAAC,OAAO,CAAC,GAAG,CAAC;KAC5D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,CAAC;AArBD,kCAqBC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/TextField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,2CAAyD;AAEzD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO,CAAC,GAAG;QACnB,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,CACL,CAAC;AACN,CAAC;AAdD,8BAcC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/TimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAA+C;AAC/C,2CAAyD;AAEzD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,gCAAc,GAAE,CACnB,CAAC;AACN,CAAC;AAfD,8BAeC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UidField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/UidField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,+BAAkC;AAClC,qCAAuD;AACvD,kFAA6E;AAC7E,2CAAyD;AAElD,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,IAAA,SAAM,GAAE,CAAC;AAArC,QAAA,WAAW,eAA0B;AAElD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IAC1C,MAAM,UAAU,GAAG,YAAY,GAAG,gBAAgB,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAErB,MAAM,CAAC,UAAU,CAAC,GAAG;YACjB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBACrB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAA,mBAAW,GAAE,CAAC;aACtC;QACL,CAAC,CAAC;KACL;IAED,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;QAC1B,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,uCAAkB,CAAC,aAAa;KACzC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAgB,QAAQ,CAAC,UAA6B,EAAE;IACpD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC;KACpC;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,UAAU;QACzB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;QACjC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,KAAK;KAChB,CAAC,EACF,YAAY,CACf,CAAC;AACN,CAAC;AAnBD,4BAmBC"}
|
|
File without changes
|
|
@@ -5,13 +5,13 @@ const common_1 = require("@nestjs/common");
|
|
|
5
5
|
const lodash_1 = require("lodash");
|
|
6
6
|
const typeorm_1 = require("typeorm");
|
|
7
7
|
const EventListenerTypes_1 = require("typeorm/metadata/types/EventListenerTypes");
|
|
8
|
-
const class_transformer_1 = require("class-transformer");
|
|
9
8
|
const BaseField_1 = require("./BaseField");
|
|
9
|
+
const DateTimeField_1 = require("./DateTimeField");
|
|
10
10
|
const UpdateTimeBehaviour = (object, propertyName) => {
|
|
11
11
|
const methodName = propertyName + '__updateTimeBehaviour';
|
|
12
12
|
if (!object[methodName]) {
|
|
13
13
|
object[methodName] = function () {
|
|
14
|
-
this[propertyName] = new Date();
|
|
14
|
+
this[propertyName] = (0, DateTimeField_1.normalizeDateTime)(new Date());
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
[EventListenerTypes_1.EventListenerTypes.BEFORE_INSERT, EventListenerTypes_1.EventListenerTypes.BEFORE_INSERT].forEach(type => {
|
|
@@ -30,12 +30,16 @@ function UpdateTimeField(options = {}) {
|
|
|
30
30
|
decoratorName: 'UpdateTimeField',
|
|
31
31
|
appType: 'updateTime',
|
|
32
32
|
jsType: 'string',
|
|
33
|
-
}), (0, typeorm_1.
|
|
33
|
+
}), (0, typeorm_1.Column)({
|
|
34
34
|
type: 'timestamp',
|
|
35
35
|
precision: (0, lodash_1.has)(options, 'precision') ? options.precision : 0,
|
|
36
36
|
default: (0, lodash_1.has)(options, 'defaultValue') ? options.defaultValue : undefined,
|
|
37
37
|
nullable: (0, lodash_1.has)(options, 'nullable') ? options.nullable : false,
|
|
38
|
-
|
|
38
|
+
transformer: {
|
|
39
|
+
from: DateTimeField_1.normalizeDateTime,
|
|
40
|
+
to: DateTimeField_1.normalizeDateTime,
|
|
41
|
+
},
|
|
42
|
+
}), UpdateTimeBehaviour);
|
|
39
43
|
}
|
|
40
44
|
exports.UpdateTimeField = UpdateTimeField;
|
|
41
45
|
//# sourceMappingURL=UpdateTimeField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateTimeField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/UpdateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAAmC;AACnC,qCAAuD;AACvD,kFAA6E;AAC7E,2CAAyD;AACzD,mDAAkD;AAMlD,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,YAAY,GAAG,uBAAuB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAErB,MAAM,CAAC,UAAU,CAAC,GAAG;YACjB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAA,iCAAiB,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;KACL;IAED,CAAC,uCAAkB,CAAC,aAAa,EAAE,uCAAkB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChF,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,UAAU;YACxB,IAAI;SACP,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;KAC9B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,iBAAiB;QAChC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QACzE,QAAQ,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;QAC9D,WAAW,EAAE;YACT,IAAI,EAAE,iCAAiB;YACvB,EAAE,EAAE,iCAAiB;SACxB;KACJ,CAAC,EACF,mBAAmB,CACtB,CAAC;AACN,CAAC;AAvBD,0CAuBC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/index.ts"],"names":[],"mappings":";;;AAcA,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AACnB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaSelect.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/schema/SchemaSelect.ts"],"names":[],"mappings":";;;AAAa,QAAA,2BAA2B,GAAG,6BAA6B,CAAC;AAOlE,MAAM,sBAAsB,GAAG,CAClC,WAAW,EACb,EAAE,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,mCAA2B,EAAE,WAAW,CAAC,CAAC;AAFrE,QAAA,sBAAsB,0BAE+C;AAElF,SAAgB,YAAY,CAAC,UAA0B,EAAE;IACrD,OAAO,CAAC,MAAM,EAAE,EAAE;QACd,OAAO,CAAC,cAAc,CAAC,mCAA2B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC,CAAC;AACN,CAAC;AAJD,oCAIC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidationExceptionFilter.js","sourceRoot":"","sources":["../../../../src/infrastructure/filters/ValidationExceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiF;AAEjF,qDAAgD;AAChD,uFAAkF;AAGlF,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAClC,WAAW,CAAC,MAAM;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,iCAAe,EAAE;YAC/D,OAAO,MAAM,CAAC,MAAM,CAChB,CAAC,MAAW,EAAE,IAAI,EAAE,EAAE;;gBAClB,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;iBACtE;gBACD,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,IAAG,CAAC,EAAE;oBAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC3D;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC,EACD,EAAE,CACL,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAA8B,EAAE,IAAmB;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAElD,QAAQ;aAEH,MAAM,CAAC,mBAAU,CAAC,EAAE,CAAC;aACrB,IAAI,CAAC;YACF,UAAU,EAAE,mBAAU,CAAC,WAAW;YAClC,MAAM;SACT,CAAC,CAAC;IACX,CAAC;CACJ,CAAA;AAhCY,yBAAyB;IADrC,IAAA,cAAK,EAAC,yCAAmB,CAAC;GACd,yBAAyB,CAgCrC;AAhCY,8DAAyB"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleHelper.js","sourceRoot":"","sources":["../../../../src/infrastructure/helpers/ModuleHelper.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,yBAAyB;AAEzB,MAAa,YAAY;IACrB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;QAC7B,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;aACrB,GAAG,CAAC,QAAQ,CAAC,EAAE;YACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC3D,OAAO,IAAI,CAAC;aACf;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CACJ;AApBD,oCAoBC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateDtoPipe.js","sourceRoot":"","sources":["../../../../src/infrastructure/pipes/CreateDtoPipe.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2E;AAC3E,yDAAkD;AAGlD,IAAa,aAAa,GAA1B,MAAa,aAAa;IACtB,KAAK,CAAC,SAAS,CAAC,KAAU,EAAE,QAA0B;QAClD,OAAO,IAAA,mCAAe,EAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;CACJ,CAAA;AAJY,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAIzB;AAJY,sCAAa"}
|
|
File without changes
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SchemaSerializer = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
-
const
|
|
5
|
+
const class_transformer_1 = require("class-transformer");
|
|
6
6
|
class SchemaSerializer extends common_1.ClassSerializerInterceptor {
|
|
7
7
|
transformToPlain(data, options) {
|
|
8
|
-
return
|
|
8
|
+
return (0, class_transformer_1.instanceToPlain)(data);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
exports.SchemaSerializer = SchemaSerializer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaSerializer.js","sourceRoot":"","sources":["../../../../src/infrastructure/pipes/SchemaSerializer.ts"],"names":[],"mappings":";;;AAAA,2CAA8E;AAE9E,yDAAkD;AAElD,MAAa,gBAAiB,SAAQ,mCAA0B;IAC5D,gBAAgB,CAAC,IAAS,EAAE,OAA8B;QAEtD,OAAO,IAAA,mCAAe,EAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACJ;AALD,4CAKC"}
|
|
@@ -5,6 +5,7 @@ import { SearchResultDto } from '../../usecases/dtos/SearchResultDto';
|
|
|
5
5
|
import SearchQuery from '../../usecases/base/SearchQuery';
|
|
6
6
|
import { SelectQueryBuilder } from 'typeorm/query-builder/SelectQueryBuilder';
|
|
7
7
|
import { ICondition } from '../../usecases/helpers/ConditionHelper';
|
|
8
|
+
import { ISaveManager } from '../../usecases/interfaces/ISaveManager';
|
|
8
9
|
export declare class CrudRepository<TModel> implements ICrudRepository<TModel> {
|
|
9
10
|
primaryKey: string;
|
|
10
11
|
dbRepository: Repository<any>;
|
|
@@ -17,7 +18,7 @@ export declare class CrudRepository<TModel> implements ICrudRepository<TModel> {
|
|
|
17
18
|
create(model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
|
|
18
19
|
update(id: number, model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
|
|
19
20
|
save(model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
|
|
20
|
-
saveInternal(manager:
|
|
21
|
+
saveInternal(manager: ISaveManager, nextModel: TModel): Promise<void>;
|
|
21
22
|
remove(id: number, transactionHandler?: (callback: any) => Promise<void>): Promise<void>;
|
|
22
23
|
removeInternal(manager: EntityManager, id: number): Promise<void>;
|
|
23
24
|
protected modelToEntity(model: any): any;
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CrudRepository = void 0;
|
|
4
4
|
const SearchHelper_1 = require("../../usecases/helpers/SearchHelper");
|
|
5
5
|
const SearchQuery_1 = require("../../usecases/base/SearchQuery");
|
|
6
|
-
const
|
|
6
|
+
const DataMapper_1 = require("../../usecases/helpers/DataMapper");
|
|
7
|
+
const TableFromModel_1 = require("../decorators/TableFromModel");
|
|
8
|
+
const Transform_1 = require("../decorators/Transform");
|
|
7
9
|
class CrudRepository {
|
|
8
10
|
constructor() {
|
|
9
11
|
this.primaryKey = 'id';
|
|
@@ -46,21 +48,25 @@ class CrudRepository {
|
|
|
46
48
|
return this.save(model, transactionHandler);
|
|
47
49
|
}
|
|
48
50
|
async save(model, transactionHandler) {
|
|
51
|
+
const saver = async (manager, nextModel) => {
|
|
52
|
+
const entity = this.modelToEntity(nextModel);
|
|
53
|
+
const newEntity = await manager.save(entity);
|
|
54
|
+
DataMapper_1.DataMapper.applyValues(nextModel, newEntity, Transform_1.TRANSFORM_TYPE_FROM_DB);
|
|
55
|
+
};
|
|
49
56
|
if (transactionHandler) {
|
|
50
57
|
await this.dbRepository.manager.transaction(async (manager) => {
|
|
51
58
|
await transactionHandler(async () => {
|
|
52
|
-
await this.saveInternal(manager, model);
|
|
59
|
+
await this.saveInternal({ save: (nextModel) => saver(manager, nextModel) }, model);
|
|
53
60
|
});
|
|
54
61
|
});
|
|
55
62
|
}
|
|
56
63
|
else {
|
|
57
|
-
await this.saveInternal(this.dbRepository.manager, model);
|
|
64
|
+
await this.saveInternal({ save: (nextModel) => saver(this.dbRepository.manager, nextModel) }, model);
|
|
58
65
|
}
|
|
59
66
|
return model;
|
|
60
67
|
}
|
|
61
68
|
async saveInternal(manager, nextModel) {
|
|
62
|
-
|
|
63
|
-
DataMapperHelper_1.DataMapperHelper.applyChangesToModel(nextModel, entity);
|
|
69
|
+
await manager.save(nextModel);
|
|
64
70
|
}
|
|
65
71
|
async remove(id, transactionHandler) {
|
|
66
72
|
if (transactionHandler) {
|
|
@@ -78,13 +84,13 @@ class CrudRepository {
|
|
|
78
84
|
await manager.remove(this.dbRepository.create({ id }));
|
|
79
85
|
}
|
|
80
86
|
modelToEntity(model) {
|
|
81
|
-
return
|
|
87
|
+
return DataMapper_1.DataMapper.create((0, TableFromModel_1.getTableFromModel)(this.modelClass), model, Transform_1.TRANSFORM_TYPE_TO_DB);
|
|
82
88
|
}
|
|
83
89
|
entityToModel(obj) {
|
|
84
90
|
if (!this.modelClass) {
|
|
85
91
|
throw new Error('Property modelClass is not set in repository: ' + this.constructor.name);
|
|
86
92
|
}
|
|
87
|
-
return
|
|
93
|
+
return DataMapper_1.DataMapper.create(this.modelClass, obj, Transform_1.TRANSFORM_TYPE_FROM_DB);
|
|
88
94
|
}
|
|
89
95
|
}
|
|
90
96
|
exports.CrudRepository = CrudRepository;
|