@nest-omni/core 1.0.6 → 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 (294) hide show
  1. package/{src → dist}/boilerplate.polyfill.js +0 -1
  2. package/{src → dist}/common/abstract-client.service.d.ts +0 -4
  3. package/{src → dist}/common/abstract-client.service.js +0 -4
  4. package/{src → dist}/common/abstract.entity.d.ts +0 -7
  5. package/dist/common/abstract.entity.js +64 -0
  6. package/dist/common/dto/abstract.dto.js +59 -0
  7. package/dist/common/dto/bulk-id.dto.js +27 -0
  8. package/dist/common/dto/create-translation.dto.js +25 -0
  9. package/dist/common/dto/page-meta.dto.js +48 -0
  10. package/dist/common/dto/page-options.dto.js +52 -0
  11. package/dist/common/dto/page.dto.js +53 -0
  12. package/{src → dist}/common/utils.d.ts +0 -11
  13. package/{src → dist}/common/utils.js +1 -15
  14. package/{src → dist}/constants/language-code.js +0 -1
  15. package/dist/decorators/controller.decorator.js +11 -0
  16. package/{src → dist}/decorators/field.decorators.js +1 -7
  17. package/{src → dist}/decorators/omni-auth.decorator.js +1 -26
  18. package/{src → dist}/decorators/property.decorators.js +1 -5
  19. package/{src → dist}/decorators/public-route.decorator.js +0 -1
  20. package/{src → dist}/decorators/swagger.schema.js +1 -4
  21. package/{src → dist}/decorators/timestamp-column.decorator.js +1 -1
  22. package/dist/decorators/transform.decorators.d.ts +8 -0
  23. package/{src → dist}/decorators/transform.decorators.js +0 -27
  24. package/{src → dist}/decorators/translate.decorator.js +0 -1
  25. package/dist/decorators/user-check.decorator.js +21 -0
  26. package/{src → dist}/decorators/user.decorator.js +1 -25
  27. package/dist/filters/bad-request.filter.js +60 -0
  28. package/{src → dist}/filters/constraint-errors.js +0 -1
  29. package/dist/filters/query-failed.filter.js +42 -0
  30. package/dist/health-checker/health-checker.controller.js +72 -0
  31. package/dist/health-checker/health-checker.module.js +25 -0
  32. package/dist/health-checker/health-indicators/service.indicator.js +66 -0
  33. package/dist/helpers/common.helper.d.ts +3 -0
  34. package/{src → dist}/helpers/common.helper.js +0 -13
  35. package/{src → dist}/helpers/date.helper.d.ts +3 -3
  36. package/{src → dist}/helpers/date.helper.js +2 -25
  37. package/dist/i18n/en_US/validation.json +38 -0
  38. package/dist/i18n/zh_CN/validation.json +38 -0
  39. package/{src → dist}/index.js +0 -1
  40. package/dist/interceptors/auth-user.interceptor.js +24 -0
  41. package/dist/interceptors/language-interceptor.service.js +30 -0
  42. package/dist/interceptors/translation-interceptor.service.js +34 -0
  43. package/{src → dist}/providers/context.provider.js +0 -2
  44. package/{src → dist}/providers/generator.provider.d.ts +0 -4
  45. package/{src → dist}/providers/generator.provider.js +0 -4
  46. package/{src → dist}/setup/bootstrap.setup.js +7 -33
  47. package/dist/shared/serviceRegistryModule.js +110 -0
  48. package/{src → dist}/shared/services/api-config.service.d.ts +0 -3
  49. package/dist/shared/services/api-config.service.js +290 -0
  50. package/dist/shared/services/aws-s3.service.js +56 -0
  51. package/dist/shared/services/generator.service.js +23 -0
  52. package/dist/shared/services/translation.service.js +70 -0
  53. package/dist/shared/services/validator.service.js +20 -0
  54. package/dist/tsconfig.tsbuildinfo +1 -0
  55. package/dist/validators/is-exists.validator.js +61 -0
  56. package/dist/validators/is-unique.validator.js +92 -0
  57. package/{src → dist}/validators/skip-empty.validator.d.ts +0 -5
  58. package/{src → dist}/validators/skip-empty.validator.js +0 -5
  59. package/package.json +4 -1
  60. package/src/boilerplate.polyfill.ts +0 -202
  61. package/src/common/abstract-client.service.ts +0 -56
  62. package/src/common/abstract.entity.js +0 -152
  63. package/src/common/abstract.entity.ts +0 -73
  64. package/src/common/dto/abstract.dto.js +0 -96
  65. package/src/common/dto/abstract.dto.ts +0 -64
  66. package/src/common/dto/bulk-id.dto.js +0 -63
  67. package/src/common/dto/bulk-id.dto.ts +0 -13
  68. package/src/common/dto/create-translation.dto.js +0 -63
  69. package/src/common/dto/create-translation.dto.ts +0 -10
  70. package/src/common/dto/page-meta.dto.js +0 -88
  71. package/src/common/dto/page-meta.dto.ts +0 -37
  72. package/src/common/dto/page-options.dto.js +0 -87
  73. package/src/common/dto/page-options.dto.ts +0 -35
  74. package/src/common/dto/page.dto.js +0 -94
  75. package/src/common/dto/page.dto.ts +0 -36
  76. package/src/common/utils.ts +0 -45
  77. package/src/constants/index.ts +0 -4
  78. package/src/constants/language-code.ts +0 -7
  79. package/src/constants/order.ts +0 -4
  80. package/src/constants/role-type.ts +0 -4
  81. package/src/constants/token-type.ts +0 -4
  82. package/src/decorators/api-page-ok-response.decorator.ts +0 -31
  83. package/src/decorators/auth-user.decorator.ts +0 -16
  84. package/src/decorators/controller.decorator.js +0 -34
  85. package/src/decorators/controller.decorator.ts +0 -8
  86. package/src/decorators/field.decorators.ts +0 -773
  87. package/src/decorators/http.decorators.ts +0 -10
  88. package/src/decorators/index.ts +0 -12
  89. package/src/decorators/omni-auth.decorator.ts +0 -46
  90. package/src/decorators/operation.decorator.ts +0 -4
  91. package/src/decorators/property.decorators.ts +0 -62
  92. package/src/decorators/public-route.decorator.ts +0 -8
  93. package/src/decorators/swagger.schema.ts +0 -117
  94. package/src/decorators/timestamp-column.decorator.ts +0 -29
  95. package/src/decorators/transform.decorators.d.ts +0 -35
  96. package/src/decorators/transform.decorators.ts +0 -147
  97. package/src/decorators/translate.decorator.ts +0 -19
  98. package/src/decorators/use-dto.decorator.ts +0 -11
  99. package/src/decorators/user-check.decorator.js +0 -44
  100. package/src/decorators/user-check.decorator.ts +0 -30
  101. package/src/decorators/user.decorator.ts +0 -48
  102. package/src/decorators/user_auth.decorator.ts +0 -15
  103. package/src/decorators/validator.decorators.ts +0 -78
  104. package/src/exceptions/file-not-image.exception.ts +0 -7
  105. package/src/exceptions/index.ts +0 -2
  106. package/src/exceptions/page-type.exception.ts +0 -7
  107. package/src/exceptions/user-not-found.exception.ts +0 -7
  108. package/src/filters/bad-request.filter.js +0 -104
  109. package/src/filters/bad-request.filter.ts +0 -67
  110. package/src/filters/constraint-errors.ts +0 -5
  111. package/src/filters/index.ts +0 -3
  112. package/src/filters/query-failed.filter.js +0 -81
  113. package/src/filters/query-failed.filter.ts +0 -32
  114. package/src/health-checker/health-checker.controller.js +0 -104
  115. package/src/health-checker/health-checker.controller.ts +0 -51
  116. package/src/health-checker/health-checker.module.js +0 -69
  117. package/src/health-checker/health-checker.module.ts +0 -13
  118. package/src/health-checker/health-indicators/service.indicator.js +0 -102
  119. package/src/health-checker/health-indicators/service.indicator.ts +0 -44
  120. package/src/helpers/common.helper.d.ts +0 -16
  121. package/src/helpers/common.helper.ts +0 -49
  122. package/src/helpers/date.helper.ts +0 -64
  123. package/src/helpers/excel.helper.d.ts +0 -27
  124. package/src/helpers/excel.helper.js +0 -338
  125. package/src/helpers/index.ts +0 -3
  126. package/src/i18n/en_US/validation.json +0 -38
  127. package/src/i18n/zh_CN/validation.json +0 -38
  128. package/src/index.ts +0 -12
  129. package/src/interceptors/auth-user.interceptor.js +0 -68
  130. package/src/interceptors/auth-user.interceptor.ts +0 -20
  131. package/src/interceptors/index.ts +0 -2
  132. package/src/interceptors/language-interceptor.service.js +0 -74
  133. package/src/interceptors/language-interceptor.service.ts +0 -31
  134. package/src/interceptors/translation-interceptor.service.js +0 -83
  135. package/src/interceptors/translation-interceptor.service.ts +0 -43
  136. package/src/interfaces/IApiFile.ts +0 -4
  137. package/src/interfaces/IFile.ts +0 -8
  138. package/src/interfaces/ITranslationDecoratorInterface.ts +0 -3
  139. package/src/interfaces/index.ts +0 -3
  140. package/src/interfaces/response.ts +0 -37
  141. package/src/middlewares/index.ts +0 -3
  142. package/src/middlewares/omni-auth.middleware.ts +0 -10
  143. package/src/middlewares/powerby.middleware.ts +0 -6
  144. package/src/middlewares/request-id.middleware.ts +0 -28
  145. package/src/providers/context.provider.ts +0 -98
  146. package/src/providers/generator.provider.ts +0 -66
  147. package/src/providers/index.ts +0 -2
  148. package/src/setup/bootstrap.setup.ts +0 -139
  149. package/src/setup/index.ts +0 -1
  150. package/src/setup/microservices.setup.js +0 -55
  151. package/src/setup-swagger.ts +0 -67
  152. package/src/shared/index.ts +0 -2
  153. package/src/shared/serviceRegistryModule.js +0 -176
  154. package/src/shared/serviceRegistryModule.ts +0 -110
  155. package/src/shared/services/api-config.service.js +0 -335
  156. package/src/shared/services/api-config.service.ts +0 -319
  157. package/src/shared/services/aws-s3.service.js +0 -96
  158. package/src/shared/services/aws-s3.service.ts +0 -39
  159. package/src/shared/services/generator.service.js +0 -67
  160. package/src/shared/services/generator.service.ts +0 -13
  161. package/src/shared/services/index.ts +0 -5
  162. package/src/shared/services/translation.service.js +0 -109
  163. package/src/shared/services/translation.service.ts +0 -59
  164. package/src/shared/services/validator.service.js +0 -64
  165. package/src/shared/services/validator.service.ts +0 -10
  166. package/src/snake-naming.strategy.ts +0 -64
  167. package/src/types.ts +0 -44
  168. package/src/validators/file-mimetype.validator.ts +0 -34
  169. package/src/validators/index.ts +0 -3
  170. package/src/validators/is-exists.validator.js +0 -99
  171. package/src/validators/is-exists.validator.ts +0 -60
  172. package/src/validators/is-unique.validator.js +0 -131
  173. package/src/validators/is-unique.validator.ts +0 -93
  174. package/src/validators/phone-country-code.validator.ts +0 -36
  175. package/src/validators/same-as.validator.ts +0 -27
  176. package/src/validators/skip-empty.validator.ts +0 -25
  177. package/tsconfig.json +0 -26
  178. package/tsconfig.lib.json +0 -16
  179. package/tsconfig.tsbuildinfo +0 -1
  180. /package/{src → dist}/boilerplate.polyfill.d.ts +0 -0
  181. /package/{src → dist}/common/dto/abstract.dto.d.ts +0 -0
  182. /package/{src → dist}/common/dto/bulk-id.dto.d.ts +0 -0
  183. /package/{src → dist}/common/dto/create-translation.dto.d.ts +0 -0
  184. /package/{src → dist}/common/dto/page-meta.dto.d.ts +0 -0
  185. /package/{src → dist}/common/dto/page-options.dto.d.ts +0 -0
  186. /package/{src → dist}/common/dto/page.dto.d.ts +0 -0
  187. /package/{src → dist}/constants/index.d.ts +0 -0
  188. /package/{src → dist}/constants/index.js +0 -0
  189. /package/{src → dist}/constants/language-code.d.ts +0 -0
  190. /package/{src → dist}/constants/order.d.ts +0 -0
  191. /package/{src → dist}/constants/order.js +0 -0
  192. /package/{src → dist}/constants/role-type.d.ts +0 -0
  193. /package/{src → dist}/constants/role-type.js +0 -0
  194. /package/{src → dist}/constants/token-type.d.ts +0 -0
  195. /package/{src → dist}/constants/token-type.js +0 -0
  196. /package/{src → dist}/decorators/api-page-ok-response.decorator.d.ts +0 -0
  197. /package/{src → dist}/decorators/api-page-ok-response.decorator.js +0 -0
  198. /package/{src → dist}/decorators/auth-user.decorator.d.ts +0 -0
  199. /package/{src → dist}/decorators/auth-user.decorator.js +0 -0
  200. /package/{src → dist}/decorators/controller.decorator.d.ts +0 -0
  201. /package/{src → dist}/decorators/field.decorators.d.ts +0 -0
  202. /package/{src → dist}/decorators/http.decorators.d.ts +0 -0
  203. /package/{src → dist}/decorators/http.decorators.js +0 -0
  204. /package/{src → dist}/decorators/index.d.ts +0 -0
  205. /package/{src → dist}/decorators/index.js +0 -0
  206. /package/{src → dist}/decorators/omni-auth.decorator.d.ts +0 -0
  207. /package/{src → dist}/decorators/operation.decorator.d.ts +0 -0
  208. /package/{src → dist}/decorators/operation.decorator.js +0 -0
  209. /package/{src → dist}/decorators/property.decorators.d.ts +0 -0
  210. /package/{src → dist}/decorators/public-route.decorator.d.ts +0 -0
  211. /package/{src → dist}/decorators/swagger.schema.d.ts +0 -0
  212. /package/{src → dist}/decorators/timestamp-column.decorator.d.ts +0 -0
  213. /package/{src → dist}/decorators/translate.decorator.d.ts +0 -0
  214. /package/{src → dist}/decorators/use-dto.decorator.d.ts +0 -0
  215. /package/{src → dist}/decorators/use-dto.decorator.js +0 -0
  216. /package/{src → dist}/decorators/user-check.decorator.d.ts +0 -0
  217. /package/{src → dist}/decorators/user.decorator.d.ts +0 -0
  218. /package/{src → dist}/decorators/user_auth.decorator.d.ts +0 -0
  219. /package/{src → dist}/decorators/user_auth.decorator.js +0 -0
  220. /package/{src → dist}/decorators/validator.decorators.d.ts +0 -0
  221. /package/{src → dist}/decorators/validator.decorators.js +0 -0
  222. /package/{src → dist}/exceptions/file-not-image.exception.d.ts +0 -0
  223. /package/{src → dist}/exceptions/file-not-image.exception.js +0 -0
  224. /package/{src → dist}/exceptions/index.d.ts +0 -0
  225. /package/{src → dist}/exceptions/index.js +0 -0
  226. /package/{src → dist}/exceptions/page-type.exception.d.ts +0 -0
  227. /package/{src → dist}/exceptions/page-type.exception.js +0 -0
  228. /package/{src → dist}/exceptions/user-not-found.exception.d.ts +0 -0
  229. /package/{src → dist}/exceptions/user-not-found.exception.js +0 -0
  230. /package/{src → dist}/filters/bad-request.filter.d.ts +0 -0
  231. /package/{src → dist}/filters/constraint-errors.d.ts +0 -0
  232. /package/{src → dist}/filters/index.d.ts +0 -0
  233. /package/{src → dist}/filters/index.js +0 -0
  234. /package/{src → dist}/filters/query-failed.filter.d.ts +0 -0
  235. /package/{src → dist}/health-checker/health-checker.controller.d.ts +0 -0
  236. /package/{src → dist}/health-checker/health-checker.module.d.ts +0 -0
  237. /package/{src → dist}/health-checker/health-indicators/service.indicator.d.ts +0 -0
  238. /package/{src → dist}/helpers/index.d.ts +0 -0
  239. /package/{src → dist}/helpers/index.js +0 -0
  240. /package/{src → dist}/index.d.ts +0 -0
  241. /package/{src → dist}/interceptors/auth-user.interceptor.d.ts +0 -0
  242. /package/{src → dist}/interceptors/index.d.ts +0 -0
  243. /package/{src → dist}/interceptors/index.js +0 -0
  244. /package/{src → dist}/interceptors/language-interceptor.service.d.ts +0 -0
  245. /package/{src → dist}/interceptors/translation-interceptor.service.d.ts +0 -0
  246. /package/{src → dist}/interfaces/IApiFile.d.ts +0 -0
  247. /package/{src → dist}/interfaces/IApiFile.js +0 -0
  248. /package/{src → dist}/interfaces/IFile.d.ts +0 -0
  249. /package/{src → dist}/interfaces/IFile.js +0 -0
  250. /package/{src → dist}/interfaces/ITranslationDecoratorInterface.d.ts +0 -0
  251. /package/{src → dist}/interfaces/ITranslationDecoratorInterface.js +0 -0
  252. /package/{src → dist}/interfaces/index.d.ts +0 -0
  253. /package/{src → dist}/interfaces/index.js +0 -0
  254. /package/{src → dist}/interfaces/response.d.ts +0 -0
  255. /package/{src → dist}/interfaces/response.js +0 -0
  256. /package/{src → dist}/middlewares/index.d.ts +0 -0
  257. /package/{src → dist}/middlewares/index.js +0 -0
  258. /package/{src → dist}/middlewares/omni-auth.middleware.d.ts +0 -0
  259. /package/{src → dist}/middlewares/omni-auth.middleware.js +0 -0
  260. /package/{src → dist}/middlewares/powerby.middleware.d.ts +0 -0
  261. /package/{src → dist}/middlewares/powerby.middleware.js +0 -0
  262. /package/{src → dist}/middlewares/request-id.middleware.d.ts +0 -0
  263. /package/{src → dist}/middlewares/request-id.middleware.js +0 -0
  264. /package/{src → dist}/providers/context.provider.d.ts +0 -0
  265. /package/{src → dist}/providers/index.d.ts +0 -0
  266. /package/{src → dist}/providers/index.js +0 -0
  267. /package/{src → dist}/setup/bootstrap.setup.d.ts +0 -0
  268. /package/{src → dist}/setup/index.d.ts +0 -0
  269. /package/{src → dist}/setup/index.js +0 -0
  270. /package/{src → dist}/setup-swagger.d.ts +0 -0
  271. /package/{src → dist}/setup-swagger.js +0 -0
  272. /package/{src → dist}/shared/index.d.ts +0 -0
  273. /package/{src → dist}/shared/index.js +0 -0
  274. /package/{src → dist}/shared/serviceRegistryModule.d.ts +0 -0
  275. /package/{src → dist}/shared/services/aws-s3.service.d.ts +0 -0
  276. /package/{src → dist}/shared/services/generator.service.d.ts +0 -0
  277. /package/{src → dist}/shared/services/index.d.ts +0 -0
  278. /package/{src → dist}/shared/services/index.js +0 -0
  279. /package/{src → dist}/shared/services/translation.service.d.ts +0 -0
  280. /package/{src → dist}/shared/services/validator.service.d.ts +0 -0
  281. /package/{src → dist}/snake-naming.strategy.d.ts +0 -0
  282. /package/{src → dist}/snake-naming.strategy.js +0 -0
  283. /package/{src → dist}/types.d.ts +0 -0
  284. /package/{src → dist}/types.js +0 -0
  285. /package/{src → dist}/validators/file-mimetype.validator.d.ts +0 -0
  286. /package/{src → dist}/validators/file-mimetype.validator.js +0 -0
  287. /package/{src → dist}/validators/index.d.ts +0 -0
  288. /package/{src → dist}/validators/index.js +0 -0
  289. /package/{src → dist}/validators/is-exists.validator.d.ts +0 -0
  290. /package/{src → dist}/validators/is-unique.validator.d.ts +0 -0
  291. /package/{src → dist}/validators/phone-country-code.validator.d.ts +0 -0
  292. /package/{src → dist}/validators/phone-country-code.validator.js +0 -0
  293. /package/{src → dist}/validators/same-as.validator.d.ts +0 -0
  294. /package/{src → dist}/validators/same-as.validator.js +0 -0
@@ -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,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,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,27 +0,0 @@
1
- import type { ValidationOptions } from 'class-validator';
2
- import { registerDecorator } from 'class-validator';
3
-
4
- export function SameAs(
5
- property: string,
6
- validationOptions?: ValidationOptions,
7
- ): PropertyDecorator {
8
- return function (object, propertyName: string) {
9
- registerDecorator({
10
- name: 'sameAs',
11
- target: object.constructor,
12
- propertyName,
13
- options: validationOptions,
14
- constraints: [property],
15
- validator: {
16
- validate(value, args) {
17
- const [relatedPropertyName] = args!.constraints;
18
-
19
- return args?.object[relatedPropertyName] === value;
20
- },
21
- defaultMessage() {
22
- return '$property must match $constraint1';
23
- },
24
- },
25
- });
26
- };
27
- }
@@ -1,25 +0,0 @@
1
- import { applyDecorators } from '@nestjs/common';
2
- import { ApiProperty } from '@nestjs/swagger';
3
- import { ValidateIf } from 'class-validator';
4
- import { isString } from 'lodash';
5
-
6
- /**
7
- * When the value is emtpy, validation is skipped
8
- * @param field
9
- * @constructor
10
- */
11
- export function SkipEmpty(field?: string) {
12
- return applyDecorators(
13
- ApiProperty({ required: false }),
14
- ValidateIf((obj, value) => {
15
- if (field) {
16
- value = obj[field];
17
- }
18
- return !(
19
- value === null ||
20
- value === undefined ||
21
- (isString(value) && value.trim() === '')
22
- );
23
- }),
24
- );
25
- }
package/tsconfig.json DELETED
@@ -1,26 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "declaration": true,
5
- "removeComments": true,
6
- "emitDecoratorMetadata": true,
7
- "experimentalDecorators": true,
8
- "allowSyntheticDefaultImports": true,
9
- "target": "es6",
10
- "sourceMap": false,
11
- "outDir": "./dist",
12
- "rootDir": "./src",
13
- "incremental": true,
14
- "skipLibCheck": true,
15
- "strictNullChecks": false,
16
- "noImplicitAny": false,
17
- "strictBindCallApply": false,
18
- "forceConsistentCasingInFileNames": false,
19
- "noFallthroughCasesInSwitch": false,
20
- "resolveJsonModule": true,
21
- },
22
- "include": [
23
- "./src/**/*.ts",
24
- "./src/i18n/**/*.json"
25
- ]
26
- }
package/tsconfig.lib.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "declaration": true,
5
- "outDir": "../../dist/libs/core"
6
- },
7
- "include": [
8
- "src/**/*"
9
- ],
10
- "exclude": [
11
- "node_modules",
12
- "dist",
13
- "test",
14
- "**/*spec.ts"
15
- ]
16
- }