@nest-omni/core 1.0.7 → 1.0.8

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.
Files changed (264) hide show
  1. package/package.json +4 -1
  2. package/src/boilerplate.polyfill.d.ts +0 -39
  3. package/src/boilerplate.polyfill.js +0 -78
  4. package/src/boilerplate.polyfill.ts +0 -202
  5. package/src/common/abstract-client.service.d.ts +0 -20
  6. package/src/common/abstract-client.service.js +0 -39
  7. package/src/common/abstract-client.service.ts +0 -56
  8. package/src/common/abstract.entity.d.ts +0 -24
  9. package/src/common/abstract.entity.js +0 -152
  10. package/src/common/abstract.entity.ts +0 -73
  11. package/src/common/dto/abstract.dto.d.ts +0 -13
  12. package/src/common/dto/abstract.dto.js +0 -96
  13. package/src/common/dto/abstract.dto.ts +0 -64
  14. package/src/common/dto/bulk-id.dto.d.ts +0 -3
  15. package/src/common/dto/bulk-id.dto.js +0 -63
  16. package/src/common/dto/bulk-id.dto.ts +0 -13
  17. package/src/common/dto/create-translation.dto.d.ts +0 -5
  18. package/src/common/dto/create-translation.dto.js +0 -63
  19. package/src/common/dto/create-translation.dto.ts +0 -10
  20. package/src/common/dto/page-meta.dto.d.ts +0 -15
  21. package/src/common/dto/page-meta.dto.js +0 -88
  22. package/src/common/dto/page-meta.dto.ts +0 -37
  23. package/src/common/dto/page-options.dto.d.ts +0 -8
  24. package/src/common/dto/page-options.dto.js +0 -87
  25. package/src/common/dto/page-options.dto.ts +0 -35
  26. package/src/common/dto/page.dto.d.ts +0 -11
  27. package/src/common/dto/page.dto.js +0 -94
  28. package/src/common/dto/page.dto.ts +0 -36
  29. package/src/common/utils.d.ts +0 -14
  30. package/src/common/utils.js +0 -39
  31. package/src/common/utils.ts +0 -45
  32. package/src/constants/index.d.ts +0 -4
  33. package/src/constants/index.js +0 -20
  34. package/src/constants/index.ts +0 -4
  35. package/src/constants/language-code.d.ts +0 -5
  36. package/src/constants/language-code.js +0 -10
  37. package/src/constants/language-code.ts +0 -7
  38. package/src/constants/order.d.ts +0 -4
  39. package/src/constants/order.js +0 -8
  40. package/src/constants/order.ts +0 -4
  41. package/src/constants/role-type.d.ts +0 -4
  42. package/src/constants/role-type.js +0 -8
  43. package/src/constants/role-type.ts +0 -4
  44. package/src/constants/token-type.d.ts +0 -4
  45. package/src/constants/token-type.js +0 -8
  46. package/src/constants/token-type.ts +0 -4
  47. package/src/decorators/api-page-ok-response.decorator.d.ts +0 -5
  48. package/src/decorators/api-page-ok-response.decorator.js +0 -25
  49. package/src/decorators/api-page-ok-response.decorator.ts +0 -31
  50. package/src/decorators/auth-user.decorator.d.ts +0 -1
  51. package/src/decorators/auth-user.decorator.js +0 -15
  52. package/src/decorators/auth-user.decorator.ts +0 -16
  53. package/src/decorators/controller.decorator.d.ts +0 -1
  54. package/src/decorators/controller.decorator.js +0 -34
  55. package/src/decorators/controller.decorator.ts +0 -8
  56. package/src/decorators/field.decorators.d.ts +0 -71
  57. package/src/decorators/field.decorators.js +0 -455
  58. package/src/decorators/field.decorators.ts +0 -773
  59. package/src/decorators/http.decorators.d.ts +0 -3
  60. package/src/decorators/http.decorators.js +0 -8
  61. package/src/decorators/http.decorators.ts +0 -10
  62. package/src/decorators/index.d.ts +0 -12
  63. package/src/decorators/index.js +0 -28
  64. package/src/decorators/index.ts +0 -12
  65. package/src/decorators/omni-auth.decorator.d.ts +0 -8
  66. package/src/decorators/omni-auth.decorator.js +0 -60
  67. package/src/decorators/omni-auth.decorator.ts +0 -46
  68. package/src/decorators/operation.decorator.d.ts +0 -1
  69. package/src/decorators/operation.decorator.js +0 -6
  70. package/src/decorators/operation.decorator.ts +0 -4
  71. package/src/decorators/property.decorators.d.ts +0 -15
  72. package/src/decorators/property.decorators.js +0 -36
  73. package/src/decorators/property.decorators.ts +0 -62
  74. package/src/decorators/public-route.decorator.d.ts +0 -3
  75. package/src/decorators/public-route.decorator.js +0 -8
  76. package/src/decorators/public-route.decorator.ts +0 -8
  77. package/src/decorators/swagger.schema.d.ts +0 -5
  78. package/src/decorators/swagger.schema.js +0 -82
  79. package/src/decorators/swagger.schema.ts +0 -117
  80. package/src/decorators/timestamp-column.decorator.d.ts +0 -1
  81. package/src/decorators/timestamp-column.decorator.js +0 -28
  82. package/src/decorators/timestamp-column.decorator.ts +0 -29
  83. package/src/decorators/transform.decorators.d.ts +0 -35
  84. package/src/decorators/transform.decorators.js +0 -122
  85. package/src/decorators/transform.decorators.ts +0 -147
  86. package/src/decorators/translate.decorator.d.ts +0 -5
  87. package/src/decorators/translate.decorator.js +0 -18
  88. package/src/decorators/translate.decorator.ts +0 -19
  89. package/src/decorators/use-dto.decorator.d.ts +0 -4
  90. package/src/decorators/use-dto.decorator.js +0 -9
  91. package/src/decorators/use-dto.decorator.ts +0 -11
  92. package/src/decorators/user-check.decorator.d.ts +0 -6
  93. package/src/decorators/user-check.decorator.js +0 -44
  94. package/src/decorators/user-check.decorator.ts +0 -30
  95. package/src/decorators/user.decorator.d.ts +0 -8
  96. package/src/decorators/user.decorator.js +0 -62
  97. package/src/decorators/user.decorator.ts +0 -48
  98. package/src/decorators/user_auth.decorator.d.ts +0 -1
  99. package/src/decorators/user_auth.decorator.js +0 -16
  100. package/src/decorators/user_auth.decorator.ts +0 -15
  101. package/src/decorators/validator.decorators.d.ts +0 -10
  102. package/src/decorators/validator.decorators.js +0 -59
  103. package/src/decorators/validator.decorators.ts +0 -78
  104. package/src/exceptions/file-not-image.exception.d.ts +0 -4
  105. package/src/exceptions/file-not-image.exception.js +0 -10
  106. package/src/exceptions/file-not-image.exception.ts +0 -7
  107. package/src/exceptions/index.d.ts +0 -2
  108. package/src/exceptions/index.js +0 -18
  109. package/src/exceptions/index.ts +0 -2
  110. package/src/exceptions/page-type.exception.d.ts +0 -4
  111. package/src/exceptions/page-type.exception.js +0 -10
  112. package/src/exceptions/page-type.exception.ts +0 -7
  113. package/src/exceptions/user-not-found.exception.d.ts +0 -4
  114. package/src/exceptions/user-not-found.exception.js +0 -10
  115. package/src/exceptions/user-not-found.exception.ts +0 -7
  116. package/src/filters/bad-request.filter.d.ts +0 -5
  117. package/src/filters/bad-request.filter.js +0 -104
  118. package/src/filters/bad-request.filter.ts +0 -67
  119. package/src/filters/constraint-errors.d.ts +0 -1
  120. package/src/filters/constraint-errors.js +0 -7
  121. package/src/filters/constraint-errors.ts +0 -5
  122. package/src/filters/index.d.ts +0 -3
  123. package/src/filters/index.js +0 -19
  124. package/src/filters/index.ts +0 -3
  125. package/src/filters/query-failed.filter.d.ts +0 -10
  126. package/src/filters/query-failed.filter.js +0 -81
  127. package/src/filters/query-failed.filter.ts +0 -32
  128. package/src/health-checker/health-checker.controller.d.ts +0 -15
  129. package/src/health-checker/health-checker.controller.js +0 -104
  130. package/src/health-checker/health-checker.controller.ts +0 -51
  131. package/src/health-checker/health-checker.module.d.ts +0 -2
  132. package/src/health-checker/health-checker.module.js +0 -69
  133. package/src/health-checker/health-checker.module.ts +0 -13
  134. package/src/health-checker/health-indicators/service.indicator.d.ts +0 -8
  135. package/src/health-checker/health-indicators/service.indicator.js +0 -102
  136. package/src/health-checker/health-indicators/service.indicator.ts +0 -44
  137. package/src/helpers/common.helper.d.ts +0 -16
  138. package/src/helpers/common.helper.js +0 -49
  139. package/src/helpers/common.helper.ts +0 -49
  140. package/src/helpers/date.helper.d.ts +0 -10
  141. package/src/helpers/date.helper.js +0 -81
  142. package/src/helpers/date.helper.ts +0 -64
  143. package/src/helpers/excel.helper.d.ts +0 -27
  144. package/src/helpers/excel.helper.js +0 -338
  145. package/src/helpers/index.d.ts +0 -3
  146. package/src/helpers/index.js +0 -19
  147. package/src/helpers/index.ts +0 -3
  148. package/src/i18n/en_US/validation.json +0 -38
  149. package/src/i18n/zh_CN/validation.json +0 -38
  150. package/src/index.d.ts +0 -11
  151. package/src/index.js +0 -28
  152. package/src/index.ts +0 -12
  153. package/src/interceptors/auth-user.interceptor.d.ts +0 -4
  154. package/src/interceptors/auth-user.interceptor.js +0 -68
  155. package/src/interceptors/auth-user.interceptor.ts +0 -20
  156. package/src/interceptors/index.d.ts +0 -2
  157. package/src/interceptors/index.js +0 -18
  158. package/src/interceptors/index.ts +0 -2
  159. package/src/interceptors/language-interceptor.service.d.ts +0 -6
  160. package/src/interceptors/language-interceptor.service.js +0 -74
  161. package/src/interceptors/language-interceptor.service.ts +0 -31
  162. package/src/interceptors/translation-interceptor.service.d.ts +0 -5
  163. package/src/interceptors/translation-interceptor.service.js +0 -83
  164. package/src/interceptors/translation-interceptor.service.ts +0 -43
  165. package/src/interfaces/IApiFile.d.ts +0 -4
  166. package/src/interfaces/IApiFile.js +0 -2
  167. package/src/interfaces/IApiFile.ts +0 -4
  168. package/src/interfaces/IFile.d.ts +0 -9
  169. package/src/interfaces/IFile.js +0 -2
  170. package/src/interfaces/IFile.ts +0 -8
  171. package/src/interfaces/ITranslationDecoratorInterface.d.ts +0 -3
  172. package/src/interfaces/ITranslationDecoratorInterface.js +0 -2
  173. package/src/interfaces/ITranslationDecoratorInterface.ts +0 -3
  174. package/src/interfaces/index.d.ts +0 -3
  175. package/src/interfaces/index.js +0 -19
  176. package/src/interfaces/index.ts +0 -3
  177. package/src/interfaces/response.d.ts +0 -25
  178. package/src/interfaces/response.js +0 -2
  179. package/src/interfaces/response.ts +0 -37
  180. package/src/middlewares/index.d.ts +0 -3
  181. package/src/middlewares/index.js +0 -19
  182. package/src/middlewares/index.ts +0 -3
  183. package/src/middlewares/omni-auth.middleware.d.ts +0 -1
  184. package/src/middlewares/omni-auth.middleware.js +0 -13
  185. package/src/middlewares/omni-auth.middleware.ts +0 -10
  186. package/src/middlewares/powerby.middleware.d.ts +0 -1
  187. package/src/middlewares/powerby.middleware.js +0 -10
  188. package/src/middlewares/powerby.middleware.ts +0 -6
  189. package/src/middlewares/request-id.middleware.d.ts +0 -7
  190. package/src/middlewares/request-id.middleware.js +0 -22
  191. package/src/middlewares/request-id.middleware.ts +0 -28
  192. package/src/providers/context.provider.d.ts +0 -32
  193. package/src/providers/context.provider.js +0 -73
  194. package/src/providers/context.provider.ts +0 -98
  195. package/src/providers/generator.provider.d.ts +0 -13
  196. package/src/providers/generator.provider.js +0 -54
  197. package/src/providers/generator.provider.ts +0 -66
  198. package/src/providers/index.d.ts +0 -2
  199. package/src/providers/index.js +0 -18
  200. package/src/providers/index.ts +0 -2
  201. package/src/setup/bootstrap.setup.d.ts +0 -5
  202. package/src/setup/bootstrap.setup.js +0 -138
  203. package/src/setup/bootstrap.setup.ts +0 -139
  204. package/src/setup/index.d.ts +0 -1
  205. package/src/setup/index.js +0 -17
  206. package/src/setup/index.ts +0 -1
  207. package/src/setup/microservices.setup.js +0 -55
  208. package/src/setup-swagger.d.ts +0 -2
  209. package/src/setup-swagger.js +0 -62
  210. package/src/setup-swagger.ts +0 -67
  211. package/src/shared/index.d.ts +0 -2
  212. package/src/shared/index.js +0 -18
  213. package/src/shared/index.ts +0 -2
  214. package/src/shared/serviceRegistryModule.d.ts +0 -2
  215. package/src/shared/serviceRegistryModule.js +0 -176
  216. package/src/shared/serviceRegistryModule.ts +0 -110
  217. package/src/shared/services/api-config.service.d.ts +0 -73
  218. package/src/shared/services/api-config.service.js +0 -335
  219. package/src/shared/services/api-config.service.ts +0 -319
  220. package/src/shared/services/aws-s3.service.d.ts +0 -10
  221. package/src/shared/services/aws-s3.service.js +0 -96
  222. package/src/shared/services/aws-s3.service.ts +0 -39
  223. package/src/shared/services/generator.service.d.ts +0 -4
  224. package/src/shared/services/generator.service.js +0 -67
  225. package/src/shared/services/generator.service.ts +0 -13
  226. package/src/shared/services/index.d.ts +0 -5
  227. package/src/shared/services/index.js +0 -21
  228. package/src/shared/services/index.ts +0 -5
  229. package/src/shared/services/translation.service.d.ts +0 -9
  230. package/src/shared/services/translation.service.js +0 -109
  231. package/src/shared/services/translation.service.ts +0 -59
  232. package/src/shared/services/validator.service.d.ts +0 -3
  233. package/src/shared/services/validator.service.js +0 -64
  234. package/src/shared/services/validator.service.ts +0 -10
  235. package/src/snake-naming.strategy.d.ts +0 -11
  236. package/src/snake-naming.strategy.js +0 -37
  237. package/src/snake-naming.strategy.ts +0 -64
  238. package/src/types.d.ts +0 -9
  239. package/src/types.js +0 -2
  240. package/src/types.ts +0 -44
  241. package/src/validators/file-mimetype.validator.d.ts +0 -13
  242. package/src/validators/file-mimetype.validator.js +0 -21
  243. package/src/validators/file-mimetype.validator.ts +0 -34
  244. package/src/validators/index.d.ts +0 -3
  245. package/src/validators/index.js +0 -19
  246. package/src/validators/index.ts +0 -3
  247. package/src/validators/is-exists.validator.d.ts +0 -18
  248. package/src/validators/is-exists.validator.js +0 -99
  249. package/src/validators/is-exists.validator.ts +0 -60
  250. package/src/validators/is-unique.validator.d.ts +0 -17
  251. package/src/validators/is-unique.validator.js +0 -131
  252. package/src/validators/is-unique.validator.ts +0 -93
  253. package/src/validators/phone-country-code.validator.d.ts +0 -2
  254. package/src/validators/phone-country-code.validator.js +0 -30
  255. package/src/validators/phone-country-code.validator.ts +0 -36
  256. package/src/validators/same-as.validator.d.ts +0 -2
  257. package/src/validators/same-as.validator.js +0 -25
  258. package/src/validators/same-as.validator.ts +0 -27
  259. package/src/validators/skip-empty.validator.d.ts +0 -6
  260. package/src/validators/skip-empty.validator.js +0 -23
  261. package/src/validators/skip-empty.validator.ts +0 -25
  262. package/tsconfig.json +0 -30
  263. package/tsconfig.lib.json +0 -16
  264. package/tsconfig.tsbuildinfo +0 -1
package/src/types.ts DELETED
@@ -1,44 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- export type Constructor<T, Arguments extends unknown[] = undefined[]> = new (
3
- ...arguments_: Arguments
4
- ) => T;
5
-
6
- export type Plain<T> = T;
7
-
8
- export type PathImpl<T, Key extends keyof T> = Key extends string
9
- ? T[Key] extends Record<string, any>
10
- ?
11
- | `${Key}.${PathImpl<T[Key], Exclude<keyof T[Key], keyof any[]>> &
12
- string}`
13
- | `${Key}.${Exclude<keyof T[Key], keyof any[]> & string}`
14
- : never
15
- : never;
16
-
17
- export type PathImpl2<T> = PathImpl<T, keyof T> | keyof T;
18
-
19
- export type Path<T> = keyof T extends string
20
- ? PathImpl2<T> extends string | keyof T
21
- ? PathImpl2<T>
22
- : keyof T
23
- : never;
24
-
25
- export type PathValue<
26
- T,
27
- P extends Path<T>,
28
- > = P extends `${infer Key}.${infer Rest}`
29
- ? Key extends keyof T
30
- ? Rest extends Path<T[Key]>
31
- ? PathValue<T[Key], Rest>
32
- : never
33
- : never
34
- : P extends keyof T
35
- ? T[P]
36
- : never;
37
-
38
- export type KeyOfType<Entity, U> = {
39
- [P in keyof Required<Entity>]: Required<Entity>[P] extends U
40
- ? P
41
- : Required<Entity>[P] extends U[]
42
- ? P
43
- : never;
44
- }[keyof Entity];
@@ -1,13 +0,0 @@
1
- import { FileValidator } from '@nestjs/common/pipes/file/file-validator.interface';
2
- import { IFile } from '@nestjs/common/pipes/file/interfaces';
3
- export type FileMimetypeValidatorOptions = {
4
- allowedMimetypes: string[];
5
- message?: string;
6
- };
7
- export declare class FileMimetypeValidator extends FileValidator<FileMimetypeValidatorOptions, IFile> {
8
- private allowedMimetypes;
9
- private message;
10
- constructor(options: FileMimetypeValidatorOptions);
11
- buildErrorMessage(): string;
12
- isValid(file?: IFile): boolean;
13
- }
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileMimetypeValidator = void 0;
4
- const file_validator_interface_1 = require("@nestjs/common/pipes/file/file-validator.interface");
5
- class FileMimetypeValidator extends file_validator_interface_1.FileValidator {
6
- constructor(options) {
7
- super(options);
8
- this.allowedMimetypes = options.allowedMimetypes;
9
- this.message = options.message;
10
- }
11
- buildErrorMessage() {
12
- if (this.message) {
13
- return this.message;
14
- }
15
- return `Invalid file type. Only ${this.allowedMimetypes.join(', ')} are allowed.`;
16
- }
17
- isValid(file) {
18
- return this.allowedMimetypes.includes(file.mimetype);
19
- }
20
- }
21
- exports.FileMimetypeValidator = FileMimetypeValidator;
@@ -1,34 +0,0 @@
1
- import { FileValidator } from '@nestjs/common/pipes/file/file-validator.interface';
2
- import { IFile } from '@nestjs/common/pipes/file/interfaces';
3
-
4
- export type FileMimetypeValidatorOptions = {
5
- allowedMimetypes: string[];
6
- message?: string;
7
- };
8
-
9
- export class FileMimetypeValidator extends FileValidator<
10
- FileMimetypeValidatorOptions,
11
- IFile
12
- > {
13
- private allowedMimetypes: string[];
14
- private message: string;
15
-
16
- constructor(options: FileMimetypeValidatorOptions) {
17
- super(options);
18
- this.allowedMimetypes = options.allowedMimetypes;
19
- this.message = options.message;
20
- }
21
-
22
- buildErrorMessage(): string {
23
- if (this.message) {
24
- return this.message;
25
- }
26
- return `Invalid file type. Only ${this.allowedMimetypes.join(
27
- ', ',
28
- )} are allowed.`;
29
- }
30
-
31
- isValid(file?: IFile): boolean {
32
- return this.allowedMimetypes.includes(file.mimetype);
33
- }
34
- }
@@ -1,3 +0,0 @@
1
- export * from './phone-country-code.validator';
2
- export * from './skip-empty.validator';
3
- export * from './file-mimetype.validator';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./phone-country-code.validator"), exports);
18
- __exportStar(require("./skip-empty.validator"), exports);
19
- __exportStar(require("./file-mimetype.validator"), exports);
@@ -1,3 +0,0 @@
1
- export * from './phone-country-code.validator';
2
- export * from './skip-empty.validator';
3
- export * from './file-mimetype.validator';
@@ -1,18 +0,0 @@
1
- import type { ValidationArguments, ValidationOptions, ValidatorConstraintInterface } from 'class-validator';
2
- import type { EntitySchema, FindOptionsWhere, ObjectType } from 'typeorm';
3
- import { DataSource } from 'typeorm';
4
- export declare class IsExistsValidator implements ValidatorConstraintInterface {
5
- private readonly dataSource;
6
- constructor(dataSource: DataSource);
7
- validate<E>(value: string, args: IExistsValidationArguments<E>): Promise<boolean>;
8
- defaultMessage(args: ValidationArguments): string;
9
- }
10
- type ExistsValidationConstraints<E> = [
11
- ObjectType<E> | EntitySchema<E> | string,
12
- (validationArguments: ValidationArguments) => FindOptionsWhere<E>
13
- ];
14
- interface IExistsValidationArguments<E> extends ValidationArguments {
15
- constraints: ExistsValidationConstraints<E>;
16
- }
17
- export declare function IsExists<E>(constraints: Partial<ExistsValidationConstraints<E>>, validationOptions?: ValidationOptions): PropertyDecorator;
18
- export {};
@@ -1,99 +0,0 @@
1
- "use strict";
2
- var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
- var _, done = false;
8
- for (var i = decorators.length - 1; i >= 0; i--) {
9
- var context = {};
10
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
- if (kind === "accessor") {
15
- if (result === void 0) continue;
16
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
- if (_ = accept(result.get)) descriptor.get = _;
18
- if (_ = accept(result.set)) descriptor.set = _;
19
- if (_ = accept(result.init)) initializers.unshift(_);
20
- }
21
- else if (_ = accept(result)) {
22
- if (kind === "field") initializers.unshift(_);
23
- else descriptor[key] = _;
24
- }
25
- }
26
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
- done = true;
28
- };
29
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
- var useValue = arguments.length > 2;
31
- for (var i = 0; i < initializers.length; i++) {
32
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
- }
34
- return useValue ? value : void 0;
35
- };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
46
- if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
47
- return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.IsExists = exports.IsExistsValidator = void 0;
51
- const class_validator_1 = require("class-validator");
52
- const typeorm_transactional_1 = require("typeorm-transactional");
53
- const nestjs_i18n_1 = require("nestjs-i18n");
54
- const common_1 = require("@nestjs/common");
55
- let IsExistsValidator = (() => {
56
- let _classDecorators = [(0, common_1.Injectable)(), (0, class_validator_1.ValidatorConstraint)({ name: 'isExists', async: true })];
57
- let _classDescriptor;
58
- let _classExtraInitializers = [];
59
- let _classThis;
60
- var IsExistsValidator = _classThis = class {
61
- constructor(dataSource) {
62
- this.dataSource = dataSource;
63
- this.dataSource = (0, typeorm_transactional_1.getDataSourceByName)('default');
64
- }
65
- validate(value, args) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- const [entityClass, findCondition] = args.constraints;
68
- return ((yield this.dataSource.getRepository(entityClass).count({
69
- where: findCondition(args),
70
- })) > 0);
71
- });
72
- }
73
- defaultMessage(args) {
74
- return (0, nestjs_i18n_1.i18nValidationMessage)('validation.IS_EXISTS')(args);
75
- }
76
- };
77
- __setFunctionName(_classThis, "IsExistsValidator");
78
- (() => {
79
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
80
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
81
- IsExistsValidator = _classThis = _classDescriptor.value;
82
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
83
- __runInitializers(_classThis, _classExtraInitializers);
84
- })();
85
- return IsExistsValidator = _classThis;
86
- })();
87
- exports.IsExistsValidator = IsExistsValidator;
88
- function IsExists(constraints, validationOptions) {
89
- return (object, propertyName) => {
90
- (0, class_validator_1.registerDecorator)({
91
- target: object.constructor,
92
- propertyName,
93
- options: validationOptions,
94
- constraints,
95
- validator: IsExistsValidator,
96
- });
97
- };
98
- }
99
- exports.IsExists = IsExists;
@@ -1,60 +0,0 @@
1
- import type {
2
- ValidationArguments,
3
- ValidationOptions,
4
- ValidatorConstraintInterface,
5
- } from 'class-validator';
6
- import { registerDecorator, ValidatorConstraint } from 'class-validator';
7
- import type { EntitySchema, FindOptionsWhere, ObjectType } from 'typeorm';
8
- import { DataSource } from 'typeorm';
9
- import { getDataSourceByName } from 'typeorm-transactional';
10
- import { i18nValidationMessage } from 'nestjs-i18n';
11
- import { Injectable } from '@nestjs/common';
12
-
13
- @Injectable()
14
- @ValidatorConstraint({ name: 'isExists', async: true })
15
- export class IsExistsValidator implements ValidatorConstraintInterface {
16
- constructor(private readonly dataSource: DataSource) {
17
- this.dataSource = getDataSourceByName('default');
18
- }
19
-
20
- public async validate<E>(
21
- value: string,
22
- args: IExistsValidationArguments<E>,
23
- ): Promise<boolean> {
24
- const [entityClass, findCondition] = args.constraints;
25
-
26
- return (
27
- (await this.dataSource.getRepository(entityClass).count({
28
- where: findCondition(args),
29
- })) > 0
30
- );
31
- }
32
-
33
- defaultMessage(args: ValidationArguments): string {
34
- return i18nValidationMessage('validation.IS_EXISTS')(args);
35
- }
36
- }
37
-
38
- type ExistsValidationConstraints<E> = [
39
- ObjectType<E> | EntitySchema<E> | string,
40
- (validationArguments: ValidationArguments) => FindOptionsWhere<E>,
41
- ];
42
-
43
- interface IExistsValidationArguments<E> extends ValidationArguments {
44
- constraints: ExistsValidationConstraints<E>;
45
- }
46
-
47
- export function IsExists<E>(
48
- constraints: Partial<ExistsValidationConstraints<E>>,
49
- validationOptions?: ValidationOptions,
50
- ): PropertyDecorator {
51
- return (object, propertyName: string) => {
52
- registerDecorator({
53
- target: object.constructor,
54
- propertyName,
55
- options: validationOptions,
56
- constraints,
57
- validator: IsExistsValidator,
58
- });
59
- };
60
- }
@@ -1,17 +0,0 @@
1
- import type { ValidationArguments, ValidationOptions, ValidatorConstraintInterface } from 'class-validator';
2
- import { DataSource, EntitySchema, FindOptionsWhere, ObjectType } from 'typeorm';
3
- export declare class IsUniqueValidator implements ValidatorConstraintInterface {
4
- private readonly dataSource;
5
- constructor(dataSource: DataSource);
6
- validate<E>(value: string, args: IUniqueValidationArguments<E>): Promise<boolean>;
7
- defaultMessage(args: ValidationArguments): string;
8
- }
9
- type UniqueValidationConstraints<E> = [
10
- ObjectType<E> | EntitySchema<E> | string,
11
- (validationArguments: ValidationArguments) => FindOptionsWhere<E>
12
- ];
13
- interface IUniqueValidationArguments<E> extends ValidationArguments {
14
- constraints: UniqueValidationConstraints<E>;
15
- }
16
- export declare function IsUnique<E>(constraints: Partial<UniqueValidationConstraints<E>>, validationOptions?: ValidationOptions): PropertyDecorator;
17
- export {};
@@ -1,131 +0,0 @@
1
- "use strict";
2
- var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
- var _, done = false;
8
- for (var i = decorators.length - 1; i >= 0; i--) {
9
- var context = {};
10
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
- if (kind === "accessor") {
15
- if (result === void 0) continue;
16
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
- if (_ = accept(result.get)) descriptor.get = _;
18
- if (_ = accept(result.set)) descriptor.set = _;
19
- if (_ = accept(result.init)) initializers.unshift(_);
20
- }
21
- else if (_ = accept(result)) {
22
- if (kind === "field") initializers.unshift(_);
23
- else descriptor[key] = _;
24
- }
25
- }
26
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
- done = true;
28
- };
29
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
- var useValue = arguments.length > 2;
31
- for (var i = 0; i < initializers.length; i++) {
32
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
- }
34
- return useValue ? value : void 0;
35
- };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
46
- if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
47
- return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.IsUnique = exports.IsUniqueValidator = void 0;
51
- const class_validator_1 = require("class-validator");
52
- const typeorm_transactional_1 = require("typeorm-transactional");
53
- const nestjs_i18n_1 = require("nestjs-i18n");
54
- let IsUniqueValidator = (() => {
55
- let _classDecorators = [(0, class_validator_1.ValidatorConstraint)({ name: 'isUnique', async: true })];
56
- let _classDescriptor;
57
- let _classExtraInitializers = [];
58
- let _classThis;
59
- var IsUniqueValidator = _classThis = class {
60
- constructor(dataSource) {
61
- this.dataSource = dataSource;
62
- this.dataSource = (0, typeorm_transactional_1.getDataSourceByName)('default');
63
- }
64
- validate(value, args) {
65
- return __awaiter(this, void 0, void 0, function* () {
66
- const [entityClass, findCondition] = args.constraints;
67
- let exists;
68
- const defCon = findCondition(args);
69
- const pkCols = this.dataSource
70
- .getMetadata(entityClass)
71
- .primaryColumns.map((column) => column.propertyName);
72
- const isNew = pkCols.some((pk) => args.object[pk]);
73
- if (!isNew) {
74
- exists =
75
- (yield this.dataSource
76
- .getRepository(entityClass)
77
- .count({ where: defCon })) < 1;
78
- }
79
- else {
80
- const entities = yield this.dataSource
81
- .getRepository(entityClass)
82
- .createQueryBuilder()
83
- .where(defCon)
84
- .select(pkCols)
85
- .limit(2)
86
- .execute();
87
- const entityCount = entities.length;
88
- if (entityCount === 1) {
89
- const entity = entities[0];
90
- const oldPk = {};
91
- const newPk = {};
92
- pkCols.map((pk) => {
93
- oldPk[pk] = entity[pk];
94
- newPk[pk] = args.object[pk];
95
- });
96
- exists = JSON.stringify(oldPk) === JSON.stringify(newPk);
97
- }
98
- else {
99
- exists = entityCount < 1;
100
- }
101
- }
102
- return exists;
103
- });
104
- }
105
- defaultMessage(args) {
106
- return (0, nestjs_i18n_1.i18nValidationMessage)('validation.IS_UNIQUE')(args);
107
- }
108
- };
109
- __setFunctionName(_classThis, "IsUniqueValidator");
110
- (() => {
111
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
112
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
113
- IsUniqueValidator = _classThis = _classDescriptor.value;
114
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
115
- __runInitializers(_classThis, _classExtraInitializers);
116
- })();
117
- return IsUniqueValidator = _classThis;
118
- })();
119
- exports.IsUniqueValidator = IsUniqueValidator;
120
- function IsUnique(constraints, validationOptions) {
121
- return function (object, propertyName) {
122
- (0, class_validator_1.registerDecorator)({
123
- target: object.constructor,
124
- propertyName,
125
- options: validationOptions,
126
- constraints,
127
- validator: IsUniqueValidator,
128
- });
129
- };
130
- }
131
- exports.IsUnique = IsUnique;
@@ -1,93 +0,0 @@
1
- import type {
2
- ValidationArguments,
3
- ValidationOptions,
4
- ValidatorConstraintInterface,
5
- } from 'class-validator';
6
- import { registerDecorator, ValidatorConstraint } from 'class-validator';
7
- import {
8
- DataSource,
9
- EntitySchema,
10
- FindOptionsWhere,
11
- ObjectType,
12
- } from 'typeorm';
13
- import { getDataSourceByName } from 'typeorm-transactional';
14
- import { i18nValidationMessage } from 'nestjs-i18n';
15
-
16
- @ValidatorConstraint({ name: 'isUnique', async: true })
17
- export class IsUniqueValidator implements ValidatorConstraintInterface {
18
- constructor(private readonly dataSource: DataSource) {
19
- this.dataSource = getDataSourceByName('default');
20
- }
21
-
22
- public async validate<E>(
23
- value: string,
24
- args: IUniqueValidationArguments<E>,
25
- ): Promise<boolean> {
26
- const [entityClass, findCondition] = args.constraints;
27
-
28
- let exists: boolean;
29
- const defCon = findCondition(args);
30
- const pkCols = this.dataSource
31
- .getMetadata(entityClass)
32
- .primaryColumns.map((column) => column.propertyName);
33
-
34
- const isNew = pkCols.some((pk) => args.object[pk]);
35
- if (!isNew) {
36
- exists =
37
- (await this.dataSource
38
- .getRepository(entityClass)
39
- .count({ where: defCon })) < 1;
40
- } else {
41
- const entities = await this.dataSource
42
- .getRepository(entityClass)
43
- .createQueryBuilder()
44
- .where(defCon)
45
- .select(pkCols)
46
- .limit(2)
47
- .execute();
48
-
49
- const entityCount = entities.length;
50
- if (entityCount === 1) {
51
- const entity = entities[0];
52
- const oldPk = {};
53
- const newPk = {};
54
- pkCols.map((pk) => {
55
- oldPk[pk] = entity[pk];
56
- newPk[pk] = args.object[pk];
57
- });
58
- exists = JSON.stringify(oldPk) === JSON.stringify(newPk);
59
- } else {
60
- exists = entityCount < 1;
61
- }
62
- }
63
- return exists;
64
- }
65
-
66
- defaultMessage(args: ValidationArguments): string {
67
- return i18nValidationMessage('validation.IS_UNIQUE')(args);
68
- }
69
- }
70
-
71
- type UniqueValidationConstraints<E> = [
72
- ObjectType<E> | EntitySchema<E> | string,
73
- (validationArguments: ValidationArguments) => FindOptionsWhere<E>,
74
- ];
75
-
76
- interface IUniqueValidationArguments<E> extends ValidationArguments {
77
- constraints: UniqueValidationConstraints<E>;
78
- }
79
-
80
- export function IsUnique<E>(
81
- constraints: Partial<UniqueValidationConstraints<E>>,
82
- validationOptions?: ValidationOptions,
83
- ): PropertyDecorator {
84
- return function (object, propertyName: string) {
85
- registerDecorator({
86
- target: object.constructor,
87
- propertyName,
88
- options: validationOptions,
89
- constraints,
90
- validator: IsUniqueValidator,
91
- });
92
- };
93
- }
@@ -1,2 +0,0 @@
1
- import { ValidationOptions } from 'class-validator';
2
- export declare function IsPhoneNumberWithCountryCode(validationOptions?: ValidationOptions): (object: NonNullable<unknown>, propertyName: string) => void;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IsPhoneNumberWithCountryCode = void 0;
4
- const class_validator_1 = require("class-validator");
5
- function IsPhoneNumberWithCountryCode(validationOptions) {
6
- return function (object, propertyName) {
7
- (0, class_validator_1.ValidateIf)((_, value) => !!value)(object, propertyName);
8
- const countryCodePropertyName = 'countryCode';
9
- (0, class_validator_1.registerDecorator)({
10
- name: 'isPhoneNumberWithCountryCode',
11
- target: object.constructor,
12
- propertyName: propertyName,
13
- constraints: [countryCodePropertyName],
14
- options: validationOptions,
15
- validator: {
16
- validate(value, args) {
17
- const [countryCodePropertyName] = args.constraints;
18
- const countryCode = args.object[countryCodePropertyName];
19
- return (0, class_validator_1.isPhoneNumber)(value, countryCode);
20
- },
21
- defaultMessage(args) {
22
- const [countryCodePropertyName] = args.constraints;
23
- const countryCode = args.object[countryCodePropertyName];
24
- return `$property must be a valid phone number in the country code ${countryCode}`;
25
- },
26
- },
27
- });
28
- };
29
- }
30
- exports.IsPhoneNumberWithCountryCode = IsPhoneNumberWithCountryCode;
@@ -1,36 +0,0 @@
1
- import {
2
- isPhoneNumber,
3
- registerDecorator,
4
- ValidateIf,
5
- ValidationArguments,
6
- ValidationOptions,
7
- } from 'class-validator';
8
-
9
- export function IsPhoneNumberWithCountryCode(
10
- validationOptions?: ValidationOptions,
11
- ) {
12
- return function (object: NonNullable<unknown>, propertyName: string) {
13
- ValidateIf((_, value) => !!value)(object, propertyName);
14
- const countryCodePropertyName = 'countryCode';
15
-
16
- registerDecorator({
17
- name: 'isPhoneNumberWithCountryCode',
18
- target: object.constructor,
19
- propertyName: propertyName,
20
- constraints: [countryCodePropertyName],
21
- options: validationOptions,
22
- validator: {
23
- validate(value: any, args: ValidationArguments) {
24
- const [countryCodePropertyName] = args.constraints;
25
- const countryCode = args.object[countryCodePropertyName];
26
- return isPhoneNumber(value, countryCode);
27
- },
28
- defaultMessage(args: ValidationArguments) {
29
- const [countryCodePropertyName] = args.constraints;
30
- const countryCode = args.object[countryCodePropertyName];
31
- return `$property must be a valid phone number in the country code ${countryCode}`;
32
- },
33
- },
34
- });
35
- };
36
- }
@@ -1,2 +0,0 @@
1
- import type { ValidationOptions } from 'class-validator';
2
- export declare function SameAs(property: string, validationOptions?: ValidationOptions): PropertyDecorator;