@flowerforce/flowerbase 1.0.1-beta.3

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 (292) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/LICENSE +3 -0
  3. package/README.md +18 -0
  4. package/dist/auth/controller.d.ts +8 -0
  5. package/dist/auth/controller.d.ts.map +1 -0
  6. package/dist/auth/controller.js +76 -0
  7. package/dist/auth/dtos.d.ts +6 -0
  8. package/dist/auth/dtos.d.ts.map +1 -0
  9. package/dist/auth/dtos.js +2 -0
  10. package/dist/auth/plugins/jwt.d.ts +14 -0
  11. package/dist/auth/plugins/jwt.d.ts.map +1 -0
  12. package/dist/auth/plugins/jwt.js +68 -0
  13. package/dist/auth/providers/local-userpass/controller.d.ts +8 -0
  14. package/dist/auth/providers/local-userpass/controller.d.ts.map +1 -0
  15. package/dist/auth/providers/local-userpass/controller.js +184 -0
  16. package/dist/auth/providers/local-userpass/dtos.d.ts +35 -0
  17. package/dist/auth/providers/local-userpass/dtos.d.ts.map +1 -0
  18. package/dist/auth/providers/local-userpass/dtos.js +2 -0
  19. package/dist/auth/utils.d.ts +126 -0
  20. package/dist/auth/utils.d.ts.map +1 -0
  21. package/dist/auth/utils.js +122 -0
  22. package/dist/constants.d.ts +18 -0
  23. package/dist/constants.d.ts.map +1 -0
  24. package/dist/constants.js +34 -0
  25. package/dist/features/endpoints/index.d.ts +10 -0
  26. package/dist/features/endpoints/index.d.ts.map +1 -0
  27. package/dist/features/endpoints/index.js +31 -0
  28. package/dist/features/endpoints/interface.d.ts +27 -0
  29. package/dist/features/endpoints/interface.d.ts.map +1 -0
  30. package/dist/features/endpoints/interface.js +2 -0
  31. package/dist/features/endpoints/utils.d.ts +31 -0
  32. package/dist/features/endpoints/utils.d.ts.map +1 -0
  33. package/dist/features/endpoints/utils.js +85 -0
  34. package/dist/features/functions/controller.d.ts +9 -0
  35. package/dist/features/functions/controller.d.ts.map +1 -0
  36. package/dist/features/functions/controller.js +88 -0
  37. package/dist/features/functions/dtos.d.ts +34 -0
  38. package/dist/features/functions/dtos.d.ts.map +1 -0
  39. package/dist/features/functions/dtos.js +2 -0
  40. package/dist/features/functions/index.d.ts +9 -0
  41. package/dist/features/functions/index.d.ts.map +1 -0
  42. package/dist/features/functions/index.js +28 -0
  43. package/dist/features/functions/interface.d.ts +32 -0
  44. package/dist/features/functions/interface.d.ts.map +1 -0
  45. package/dist/features/functions/interface.js +2 -0
  46. package/dist/features/functions/utils.d.ts +23 -0
  47. package/dist/features/functions/utils.d.ts.map +1 -0
  48. package/dist/features/functions/utils.js +75 -0
  49. package/dist/features/rules/index.d.ts +1 -0
  50. package/dist/features/rules/index.d.ts.map +1 -0
  51. package/dist/features/rules/index.js +1 -0
  52. package/dist/features/rules/interface.d.ts +22 -0
  53. package/dist/features/rules/interface.d.ts.map +1 -0
  54. package/dist/features/rules/interface.js +2 -0
  55. package/dist/features/rules/utils.d.ts +3 -0
  56. package/dist/features/rules/utils.d.ts.map +1 -0
  57. package/dist/features/rules/utils.js +31 -0
  58. package/dist/features/triggers/dtos.d.ts +9 -0
  59. package/dist/features/triggers/dtos.d.ts.map +1 -0
  60. package/dist/features/triggers/dtos.js +2 -0
  61. package/dist/features/triggers/index.d.ts +10 -0
  62. package/dist/features/triggers/index.d.ts.map +1 -0
  63. package/dist/features/triggers/index.js +57 -0
  64. package/dist/features/triggers/interface.d.ts +44 -0
  65. package/dist/features/triggers/interface.d.ts.map +1 -0
  66. package/dist/features/triggers/interface.js +2 -0
  67. package/dist/features/triggers/utils.d.ts +16 -0
  68. package/dist/features/triggers/utils.d.ts.map +1 -0
  69. package/dist/features/triggers/utils.js +153 -0
  70. package/dist/index.d.ts +19 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +84 -0
  73. package/dist/model.d.ts +2 -0
  74. package/dist/model.d.ts.map +1 -0
  75. package/dist/model.js +2 -0
  76. package/dist/services/api/index.d.ts +36 -0
  77. package/dist/services/api/index.d.ts.map +1 -0
  78. package/dist/services/api/index.js +36 -0
  79. package/dist/services/api/model.d.ts +33 -0
  80. package/dist/services/api/model.d.ts.map +1 -0
  81. package/dist/services/api/model.js +2 -0
  82. package/dist/services/api/utils.d.ts +16 -0
  83. package/dist/services/api/utils.d.ts.map +1 -0
  84. package/dist/services/api/utils.js +45 -0
  85. package/dist/services/aws/index.d.ts +13 -0
  86. package/dist/services/aws/index.d.ts.map +1 -0
  87. package/dist/services/aws/index.js +50 -0
  88. package/dist/services/index.d.ts +41 -0
  89. package/dist/services/index.d.ts.map +1 -0
  90. package/dist/services/index.js +14 -0
  91. package/dist/services/interface.d.ts +3 -0
  92. package/dist/services/interface.d.ts.map +1 -0
  93. package/dist/services/interface.js +2 -0
  94. package/dist/services/mongodb-atlas/index.d.ts +4 -0
  95. package/dist/services/mongodb-atlas/index.d.ts.map +1 -0
  96. package/dist/services/mongodb-atlas/index.js +483 -0
  97. package/dist/services/mongodb-atlas/model.d.ts +39 -0
  98. package/dist/services/mongodb-atlas/model.d.ts.map +1 -0
  99. package/dist/services/mongodb-atlas/model.js +2 -0
  100. package/dist/services/mongodb-atlas/utils.d.ts +8 -0
  101. package/dist/services/mongodb-atlas/utils.d.ts.map +1 -0
  102. package/dist/services/mongodb-atlas/utils.js +33 -0
  103. package/dist/state.d.ts +6 -0
  104. package/dist/state.d.ts.map +1 -0
  105. package/dist/state.js +18 -0
  106. package/dist/utils/context/helpers.d.ts +74 -0
  107. package/dist/utils/context/helpers.d.ts.map +1 -0
  108. package/dist/utils/context/helpers.js +60 -0
  109. package/dist/utils/context/index.d.ts +14 -0
  110. package/dist/utils/context/index.d.ts.map +1 -0
  111. package/dist/utils/context/index.js +50 -0
  112. package/dist/utils/context/interface.d.ts +18 -0
  113. package/dist/utils/context/interface.d.ts.map +1 -0
  114. package/dist/utils/context/interface.js +2 -0
  115. package/dist/utils/crypto/index.d.ts +19 -0
  116. package/dist/utils/crypto/index.d.ts.map +1 -0
  117. package/dist/utils/crypto/index.js +50 -0
  118. package/dist/utils/helpers/someAsync.d.ts +12 -0
  119. package/dist/utils/helpers/someAsync.d.ts.map +1 -0
  120. package/dist/utils/helpers/someAsync.js +56 -0
  121. package/dist/utils/index.d.ts +3 -0
  122. package/dist/utils/index.d.ts.map +1 -0
  123. package/dist/utils/index.js +11 -0
  124. package/dist/utils/initializer/exposeRoutes.d.ts +8 -0
  125. package/dist/utils/initializer/exposeRoutes.d.ts.map +1 -0
  126. package/dist/utils/initializer/exposeRoutes.js +41 -0
  127. package/dist/utils/initializer/registerPlugins.d.ts +19 -0
  128. package/dist/utils/initializer/registerPlugins.d.ts.map +1 -0
  129. package/dist/utils/initializer/registerPlugins.js +84 -0
  130. package/dist/utils/roles/helpers.d.ts +4 -0
  131. package/dist/utils/roles/helpers.d.ts.map +1 -0
  132. package/dist/utils/roles/helpers.js +47 -0
  133. package/dist/utils/roles/interface.d.ts +33 -0
  134. package/dist/utils/roles/interface.d.ts.map +1 -0
  135. package/dist/utils/roles/interface.js +2 -0
  136. package/dist/utils/roles/machines/commonValidators.d.ts +6 -0
  137. package/dist/utils/roles/machines/commonValidators.d.ts.map +1 -0
  138. package/dist/utils/roles/machines/commonValidators.js +34 -0
  139. package/dist/utils/roles/machines/index.d.ts +14 -0
  140. package/dist/utils/roles/machines/index.d.ts.map +1 -0
  141. package/dist/utils/roles/machines/index.js +27 -0
  142. package/dist/utils/roles/machines/interface.d.ts +46 -0
  143. package/dist/utils/roles/machines/interface.d.ts.map +1 -0
  144. package/dist/utils/roles/machines/interface.js +2 -0
  145. package/dist/utils/roles/machines/machine.d.ts +15 -0
  146. package/dist/utils/roles/machines/machine.d.ts.map +1 -0
  147. package/dist/utils/roles/machines/machine.js +97 -0
  148. package/dist/utils/roles/machines/read/A/index.d.ts +3 -0
  149. package/dist/utils/roles/machines/read/A/index.d.ts.map +1 -0
  150. package/dist/utils/roles/machines/read/A/index.js +27 -0
  151. package/dist/utils/roles/machines/read/B/index.d.ts +3 -0
  152. package/dist/utils/roles/machines/read/B/index.d.ts.map +1 -0
  153. package/dist/utils/roles/machines/read/B/index.js +36 -0
  154. package/dist/utils/roles/machines/read/C/index.d.ts +3 -0
  155. package/dist/utils/roles/machines/read/C/index.d.ts.map +1 -0
  156. package/dist/utils/roles/machines/read/C/index.js +38 -0
  157. package/dist/utils/roles/machines/read/D/index.d.ts +3 -0
  158. package/dist/utils/roles/machines/read/D/index.d.ts.map +1 -0
  159. package/dist/utils/roles/machines/read/D/index.js +26 -0
  160. package/dist/utils/roles/machines/read/D/validators.d.ts +4 -0
  161. package/dist/utils/roles/machines/read/D/validators.d.ts.map +1 -0
  162. package/dist/utils/roles/machines/read/D/validators.js +24 -0
  163. package/dist/utils/roles/machines/read/index.d.ts +2 -0
  164. package/dist/utils/roles/machines/read/index.d.ts.map +1 -0
  165. package/dist/utils/roles/machines/read/index.js +8 -0
  166. package/dist/utils/roles/machines/utils.d.ts +37 -0
  167. package/dist/utils/roles/machines/utils.d.ts.map +1 -0
  168. package/dist/utils/roles/machines/utils.js +54 -0
  169. package/dist/utils/roles/machines/write/A/index.d.ts +3 -0
  170. package/dist/utils/roles/machines/write/A/index.d.ts.map +1 -0
  171. package/dist/utils/roles/machines/write/A/index.js +29 -0
  172. package/dist/utils/roles/machines/write/B/index.d.ts +3 -0
  173. package/dist/utils/roles/machines/write/B/index.d.ts.map +1 -0
  174. package/dist/utils/roles/machines/write/B/index.js +47 -0
  175. package/dist/utils/roles/machines/write/C/index.d.ts +3 -0
  176. package/dist/utils/roles/machines/write/C/index.d.ts.map +1 -0
  177. package/dist/utils/roles/machines/write/C/index.js +26 -0
  178. package/dist/utils/roles/machines/write/C/validators.d.ts +4 -0
  179. package/dist/utils/roles/machines/write/C/validators.d.ts.map +1 -0
  180. package/dist/utils/roles/machines/write/C/validators.js +24 -0
  181. package/dist/utils/roles/machines/write/index.d.ts +2 -0
  182. package/dist/utils/roles/machines/write/index.d.ts.map +1 -0
  183. package/dist/utils/roles/machines/write/index.js +7 -0
  184. package/dist/utils/rules-matcher/interface.d.ts +338 -0
  185. package/dist/utils/rules-matcher/interface.d.ts.map +1 -0
  186. package/dist/utils/rules-matcher/interface.js +26 -0
  187. package/dist/utils/rules-matcher/utils.d.ts +11 -0
  188. package/dist/utils/rules-matcher/utils.d.ts.map +1 -0
  189. package/dist/utils/rules-matcher/utils.js +214 -0
  190. package/dist/utils/rules.d.ts +2 -0
  191. package/dist/utils/rules.d.ts.map +1 -0
  192. package/dist/utils/rules.js +22 -0
  193. package/jest.config.ts +24 -0
  194. package/package.json +63 -0
  195. package/project.json +10 -0
  196. package/rollup.config.js +17 -0
  197. package/src/auth/controller.ts +78 -0
  198. package/src/auth/dtos.ts +6 -0
  199. package/src/auth/plugins/jwt.ts +68 -0
  200. package/src/auth/providers/local-userpass/controller.ts +226 -0
  201. package/src/auth/providers/local-userpass/dtos.ts +40 -0
  202. package/src/auth/utils.ts +165 -0
  203. package/src/babel.config.json +3 -0
  204. package/src/constants.ts +22 -0
  205. package/src/fastify.d.ts +28 -0
  206. package/src/features/endpoints/index.ts +27 -0
  207. package/src/features/endpoints/interface.ts +29 -0
  208. package/src/features/endpoints/utils.ts +72 -0
  209. package/src/features/functions/controller.ts +102 -0
  210. package/src/features/functions/dtos.ts +41 -0
  211. package/src/features/functions/index.ts +21 -0
  212. package/src/features/functions/interface.ts +38 -0
  213. package/src/features/functions/utils.ts +82 -0
  214. package/src/features/rules/index.tsx +0 -0
  215. package/src/features/rules/interface.ts +24 -0
  216. package/src/features/rules/utils.ts +20 -0
  217. package/src/features/triggers/dtos.ts +9 -0
  218. package/src/features/triggers/index.ts +34 -0
  219. package/src/features/triggers/interface.ts +44 -0
  220. package/src/features/triggers/utils.ts +157 -0
  221. package/src/global.d.ts +0 -0
  222. package/src/index.ts +75 -0
  223. package/src/model.ts +1 -0
  224. package/src/services/api/index.ts +50 -0
  225. package/src/services/api/model.ts +38 -0
  226. package/src/services/api/utils.ts +39 -0
  227. package/src/services/aws/index.ts +48 -0
  228. package/src/services/index.ts +9 -0
  229. package/src/services/interface.ts +3 -0
  230. package/src/services/mongodb-atlas/index.ts +569 -0
  231. package/src/services/mongodb-atlas/model.ts +67 -0
  232. package/src/services/mongodb-atlas/utils.ts +44 -0
  233. package/src/state.ts +24 -0
  234. package/src/utils/__tests__/STEP_A_STATES.test.ts +54 -0
  235. package/src/utils/__tests__/STEP_B_STATES.test.ts +113 -0
  236. package/src/utils/__tests__/STEP_C_STATES.test.ts +87 -0
  237. package/src/utils/__tests__/STEP_D_STATES.test.ts +93 -0
  238. package/src/utils/__tests__/checkAdditionalFieldsFn.test.ts +45 -0
  239. package/src/utils/__tests__/checkApplyWhen.test.ts +49 -0
  240. package/src/utils/__tests__/checkFieldsPropertyExists.test.ts +47 -0
  241. package/src/utils/__tests__/checkIsValidFieldNameFn.test.ts +190 -0
  242. package/src/utils/__tests__/comparePassword.test.ts +38 -0
  243. package/src/utils/__tests__/evaluateDocumentsFiltersReadFn.test.ts +57 -0
  244. package/src/utils/__tests__/evaluateDocumentsFiltersWriteFn.test.ts +57 -0
  245. package/src/utils/__tests__/evaluateTopLevelReadFn.test.ts +58 -0
  246. package/src/utils/__tests__/evaluateTopLevelWriteFn.test.ts +66 -0
  247. package/src/utils/__tests__/exposeRoutes.test.ts +65 -0
  248. package/src/utils/__tests__/generateContextData.test.ts +75 -0
  249. package/src/utils/__tests__/getDefaultRule.test.ts +29 -0
  250. package/src/utils/__tests__/getKey.test.ts +12 -0
  251. package/src/utils/__tests__/getKeys.test.ts +11 -0
  252. package/src/utils/__tests__/getWinningRole.test.ts +66 -0
  253. package/src/utils/__tests__/hashPassword.test.ts +28 -0
  254. package/src/utils/__tests__/isEmpty.test.ts +17 -0
  255. package/src/utils/__tests__/logMachineInfo.test.ts +15 -0
  256. package/src/utils/__tests__/operators.test.ts +99 -0
  257. package/src/utils/__tests__/readFileContent.test.ts +35 -0
  258. package/src/utils/__tests__/registerPlugins.test.ts +59 -0
  259. package/src/utils/__tests__/rule.test.ts +51 -0
  260. package/src/utils/__tests__/rulesMatcherInterfaces.test.ts +57 -0
  261. package/src/utils/__tests__/rulesMatcherUtils.test.ts +56 -0
  262. package/src/utils/__tests__/someAsync.test.ts +55 -0
  263. package/src/utils/context/helpers.ts +71 -0
  264. package/src/utils/context/index.ts +52 -0
  265. package/src/utils/context/interface.ts +19 -0
  266. package/src/utils/crypto/index.ts +36 -0
  267. package/src/utils/helpers/someAsync.ts +24 -0
  268. package/src/utils/index.ts +5 -0
  269. package/src/utils/initializer/exposeRoutes.ts +26 -0
  270. package/src/utils/initializer/registerPlugins.ts +97 -0
  271. package/src/utils/roles/helpers.ts +47 -0
  272. package/src/utils/roles/interface.ts +42 -0
  273. package/src/utils/roles/machines/commonValidators.ts +24 -0
  274. package/src/utils/roles/machines/index.ts +20 -0
  275. package/src/utils/roles/machines/interface.ts +46 -0
  276. package/src/utils/roles/machines/machine.ts +85 -0
  277. package/src/utils/roles/machines/read/A/index.ts +19 -0
  278. package/src/utils/roles/machines/read/B/index.ts +31 -0
  279. package/src/utils/roles/machines/read/C/index.ts +30 -0
  280. package/src/utils/roles/machines/read/D/index.ts +20 -0
  281. package/src/utils/roles/machines/read/D/validators.ts +24 -0
  282. package/src/utils/roles/machines/read/index.ts +6 -0
  283. package/src/utils/roles/machines/utils.ts +54 -0
  284. package/src/utils/roles/machines/write/A/index.ts +25 -0
  285. package/src/utils/roles/machines/write/B/index.ts +43 -0
  286. package/src/utils/roles/machines/write/C/index.ts +20 -0
  287. package/src/utils/roles/machines/write/C/validators.ts +24 -0
  288. package/src/utils/roles/machines/write/index.ts +5 -0
  289. package/src/utils/rules-matcher/interface.ts +365 -0
  290. package/src/utils/rules-matcher/utils.ts +281 -0
  291. package/src/utils/rules.ts +19 -0
  292. package/tsconfig.json +28 -0
@@ -0,0 +1,3 @@
1
+ import { States } from '../../interface';
2
+ export declare const STEP_A_STATES: States;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/utils/roles/machines/write/A/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGxC,eAAO,MAAM,aAAa,EAAE,MAkB3B,CAAA"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.STEP_A_STATES = void 0;
13
+ const commonValidators_1 = require("../../commonValidators");
14
+ const utils_1 = require("../../utils");
15
+ exports.STEP_A_STATES = {
16
+ checkDocumentsFilters: (_a) => __awaiter(void 0, [_a], void 0, function* ({ context, next, goToNextValidationStage }) {
17
+ (0, utils_1.logMachineInfo)({ enabled: context.enableLog, machine: "A", step: 1, stepName: "checkDocumentsFilters" });
18
+ const { role } = context;
19
+ if (role.document_filters) {
20
+ return next('evaluateDocumentsFiltersWrite');
21
+ }
22
+ return goToNextValidationStage();
23
+ }),
24
+ evaluateDocumentsFiltersWrite: (_a) => __awaiter(void 0, [_a], void 0, function* ({ context, endValidation, goToNextValidationStage }) {
25
+ (0, utils_1.logMachineInfo)({ enabled: context.enableLog, machine: "B", step: 2, stepName: "evaluateDocumentsFiltersWrite" });
26
+ const check = yield (0, commonValidators_1.evaluateDocumentFiltersFn)(context, "write");
27
+ return check ? goToNextValidationStage() : endValidation({ success: false });
28
+ })
29
+ };
@@ -0,0 +1,3 @@
1
+ import { States } from '../../interface';
2
+ export declare const STEP_B_STATES: States;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/utils/roles/machines/write/B/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGxC,eAAO,MAAM,aAAa,EAAE,MAoC3B,CAAA"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.STEP_B_STATES = void 0;
13
+ const commonValidators_1 = require("../../commonValidators");
14
+ const utils_1 = require("../../utils");
15
+ exports.STEP_B_STATES = {
16
+ checkDeleteRequest: (_a) => __awaiter(void 0, [_a], void 0, function* ({ context, next }) {
17
+ (0, utils_1.logMachineInfo)({ enabled: context.enableLog, machine: "B", step: 1, stepName: "checkDeleteRequest" });
18
+ if (context.params.type === 'delete') {
19
+ return next('evaluateTopLevelDelete');
20
+ }
21
+ return next('evaluateTopLevelWrite');
22
+ }),
23
+ evaluateTopLevelDelete: (_a) => __awaiter(void 0, [_a], void 0, function* ({ context, endValidation, }) {
24
+ (0, utils_1.logMachineInfo)({ enabled: context.enableLog, machine: "B", step: 2, stepName: "evaluateTopLevelDelete" });
25
+ const check = yield (0, commonValidators_1.evaluateTopLevelPermissionsFn)(context, "delete");
26
+ return endValidation({ success: !!check });
27
+ }),
28
+ evaluateTopLevelWrite: (_a) => __awaiter(void 0, [_a], void 0, function* ({ context, next, endValidation }) {
29
+ (0, utils_1.logMachineInfo)({ enabled: context.enableLog, machine: "B", step: 3, stepName: "evaluateTopLevelWrite" });
30
+ const check = yield (0, commonValidators_1.evaluateTopLevelPermissionsFn)(context, "write");
31
+ if (check)
32
+ return context.params.type === "insert" ? next('evaluateTopLevelInsert') : endValidation({ success: true });
33
+ return check === false
34
+ ? endValidation({ success: false })
35
+ : next('checkFieldsProperty');
36
+ }),
37
+ checkFieldsProperty: (_a) => __awaiter(void 0, [_a], void 0, function* ({ context, goToNextValidationStage }) {
38
+ (0, utils_1.logMachineInfo)({ enabled: context.enableLog, machine: "B", step: 4, stepName: "checkFieldsProperty" });
39
+ const check = (0, commonValidators_1.checkFieldsPropertyExists)(context);
40
+ return goToNextValidationStage(check ? 'checkIsValidFieldName' : 'checkAdditionalFields');
41
+ }),
42
+ evaluateTopLevelInsert: (_a) => __awaiter(void 0, [_a], void 0, function* ({ context, endValidation }) {
43
+ (0, utils_1.logMachineInfo)({ enabled: context.enableLog, machine: "B", step: 5, stepName: "evaluateTopLevelInsert" });
44
+ const check = yield (0, commonValidators_1.evaluateTopLevelPermissionsFn)(context, "insert");
45
+ return endValidation({ success: !!check });
46
+ })
47
+ };
@@ -0,0 +1,3 @@
1
+ import { States } from '../../interface';
2
+ export declare const STEP_C_STATES: States;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/utils/roles/machines/write/C/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAOxC,eAAO,MAAM,aAAa,EAAE,MAW3B,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.STEP_C_STATES = void 0;
13
+ const utils_1 = require("../../utils");
14
+ const validators_1 = require("./validators");
15
+ exports.STEP_C_STATES = {
16
+ checkAdditionalFields: (_a) => __awaiter(void 0, [_a], void 0, function* ({ context, next, endValidation }) {
17
+ (0, utils_1.logMachineInfo)({ enabled: context.enableLog, machine: "C", step: 1, stepName: "checkAdditionalFields" });
18
+ const check = (0, validators_1.checkAdditionalFieldsFn)(context);
19
+ return check ? next('checkIsValidFieldName') : endValidation({ success: false });
20
+ }),
21
+ checkIsValidFieldName: (_a) => __awaiter(void 0, [_a], void 0, function* ({ context, endValidation }) {
22
+ (0, utils_1.logMachineInfo)({ enabled: context.enableLog, machine: "D", step: 2, stepName: "checkIsValidFieldName" });
23
+ const document = (0, validators_1.checkIsValidFieldNameFn)(context);
24
+ return endValidation({ success: !!Object.keys(document).length, document });
25
+ }),
26
+ };
@@ -0,0 +1,4 @@
1
+ import { MachineContext } from "../../interface";
2
+ export declare const checkAdditionalFieldsFn: ({ role }: MachineContext) => boolean;
3
+ export declare const checkIsValidFieldNameFn: ({ role, params }: MachineContext) => {};
4
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../../../../src/utils/roles/machines/write/C/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGhD,eAAO,MAAM,uBAAuB,GAAI,UAAU,cAAc,YAE/D,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,kBAAkB,cAAc,OAgBvE,CAAA"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkIsValidFieldNameFn = exports.checkAdditionalFieldsFn = void 0;
4
+ const checkAdditionalFieldsFn = ({ role }) => {
5
+ return !!Object.keys(role.additional_fields || {}).length;
6
+ };
7
+ exports.checkAdditionalFieldsFn = checkAdditionalFieldsFn;
8
+ const checkIsValidFieldNameFn = ({ role, params }) => {
9
+ const { cursor } = params;
10
+ const { fields = {}, additional_fields = {} } = role;
11
+ const rulesOnId = !!(fields["_id"] || additional_fields["_id"]);
12
+ const filteredDocument = Object.entries(cursor).reduce((filteredDocument, [key, value]) => {
13
+ var _a;
14
+ if (fields[key]) {
15
+ return role.fields[key].write ? Object.assign(Object.assign({}, filteredDocument), { [key]: value }) : filteredDocument;
16
+ }
17
+ if (additional_fields[key]) {
18
+ return ((_a = additional_fields[key]) === null || _a === void 0 ? void 0 : _a.write) ? Object.assign(Object.assign({}, filteredDocument), { [key]: value }) : filteredDocument;
19
+ }
20
+ return Object.assign(Object.assign({}, filteredDocument), { [key]: value });
21
+ }, {});
22
+ return (rulesOnId || cursor._id === undefined) ? filteredDocument : Object.assign(Object.assign({}, filteredDocument), { "_id": cursor._id });
23
+ };
24
+ exports.checkIsValidFieldNameFn = checkIsValidFieldNameFn;
@@ -0,0 +1,2 @@
1
+ export declare const WRITE_MACHINE: import("../interface").States[];
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/utils/roles/machines/write/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,iCAAgD,CAAA"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WRITE_MACHINE = void 0;
4
+ const A_1 = require("./A");
5
+ const B_1 = require("./B");
6
+ const C_1 = require("./C");
7
+ exports.WRITE_MACHINE = [A_1.STEP_A_STATES, B_1.STEP_B_STATES, C_1.STEP_C_STATES];
@@ -0,0 +1,338 @@
1
+ export type CheckTypeOf = (v: any) => boolean;
2
+ export type CheckOperationObj = {
3
+ op: keyof Operators;
4
+ value: any;
5
+ opt?: any;
6
+ };
7
+ export interface RulesMatcherUtils {
8
+ /**
9
+ * @param el
10
+ *
11
+ * Determines if a given value is a number.
12
+ * It checks if the value matches a numeric pattern using a regular expression.
13
+ *
14
+ * @returns
15
+ */
16
+ isNumber: <T>(el: T) => boolean;
17
+ /**
18
+ * @param val
19
+ * @param data
20
+ * @param options
21
+ *
22
+ * Processes a single rule against provided data to check its validity.
23
+ * Returns a boolean indicating whether the rule is valid and a name for the rule.
24
+ *
25
+ * @returns
26
+ */
27
+ rule: (block: Record<string, any>, keys: Record<string, any>, options?: Record<string, any>) => {
28
+ valid: boolean;
29
+ name: string;
30
+ };
31
+ /**
32
+ * @param block
33
+ * @param keys
34
+ * @param options
35
+ *
36
+ * Extracts keys from a rule object.
37
+ * It recursively traverses through the rule object and extracts keys while handling $and and $or logical operators.
38
+ *
39
+ * @returns
40
+ */
41
+ getKey: (block: RulesObject<any>, keys: Record<string, any>, options: Record<string, any>) => Record<string, any>;
42
+ /**
43
+ * @param v
44
+ *
45
+ * Checks if a given value is a Date object.
46
+ *
47
+ * @returns
48
+ */
49
+ isDate: CheckTypeOf;
50
+ /**
51
+ * @param v
52
+ *
53
+ * Checks if a given value is defined (neither null nor undefined).
54
+ *
55
+ * @returns
56
+ */
57
+ isDefined: CheckTypeOf;
58
+ /**
59
+ * @param v
60
+ *
61
+ * Checks if a given value is an object (it will return true if pass an Array).
62
+ *
63
+ * @returns
64
+ */
65
+ isObject: CheckTypeOf;
66
+ /**
67
+ * @param v
68
+ *
69
+ * Checks if a given value is a function.
70
+ *
71
+ * @returns
72
+ */
73
+ isFunction: CheckTypeOf;
74
+ /**
75
+ * @param v
76
+ *
77
+ * Checks if a given value is a string.
78
+ *
79
+ * @returns
80
+ */
81
+ isString: CheckTypeOf;
82
+ /**
83
+ * @param value
84
+ *
85
+ * Returns the default comparison operation for a string value.
86
+ *
87
+ * @returns
88
+ */
89
+ getDefaultStringValue: (value: '$required' | '$exists' | string) => CheckOperationObj;
90
+ /**
91
+ * @param value
92
+ *
93
+ * Determines the type of a given value.
94
+ *
95
+ * @returns
96
+ */
97
+ getTypeOf: (value: any) => string | null;
98
+ /**
99
+ * @param value
100
+ *
101
+ * Returns the default rule configuration based on the type of the value.
102
+ *
103
+ * @returns
104
+ */
105
+ getDefaultRule: (value: any) => CheckOperationObj;
106
+ /**
107
+ * @param value
108
+ *
109
+ * Checks if a value is empty.
110
+ * Handles various data types including null, undefined, functions, strings, arrays, objects, and dates.
111
+ *
112
+ * @returns
113
+ */
114
+ isEmpty: (value: any) => boolean;
115
+ /**
116
+ * @param a
117
+ *
118
+ * Converts a value into an array if it is not already.
119
+ *
120
+ * @returns
121
+ */
122
+ forceArray: <T>(value: T) => Array<T>;
123
+ /**
124
+ * @param path
125
+ * @param prefix
126
+ *
127
+ * Constructs a path with a prefix if provided.
128
+ * Handles special characters such as '^' and '$'.
129
+ *
130
+ * @returns
131
+ */
132
+ getPath: (path: string, prefix?: string) => string;
133
+ /**
134
+ * @param el
135
+ *
136
+ * Converts a value into a number.
137
+ * Handles cases where the value might be a string representation of a number or an array.
138
+ *
139
+ * @returns
140
+ */
141
+ forceNumber: <T>(value: T) => number;
142
+ /**
143
+ * @param block
144
+ * @param data
145
+ * @param options
146
+ *
147
+ * Checks if a given rule is valid against the provided data.
148
+ *
149
+ * @returns
150
+ */
151
+ checkRule: <T extends Record<string, any>>(block: RulesObject<T>, data: T, options?: Record<string, any>) => boolean;
152
+ /**
153
+ * @param rules
154
+ * @param options
155
+ *
156
+ * Extracts keys from a set of rules.
157
+ *
158
+ * @returns
159
+ */
160
+ getKeys: <T extends Record<string, any>>(rules?: T, options?: Record<string, any>) => string[] | null;
161
+ }
162
+ export type OperatorsFunction = (a: any, b: any, opt?: any, data?: any) => boolean;
163
+ export type Operators = {
164
+ /**
165
+ * @param a
166
+ * @param b
167
+ *
168
+ * Checks if a value exists or not.
169
+ * If the user input is not empty, it returns true if the rule value is true, otherwise false.
170
+ *
171
+ * @returns
172
+ */
173
+ $exists: OperatorsFunction;
174
+ /**
175
+ * @param a
176
+ * @param b
177
+ *
178
+ * Checks if two values are equal.
179
+ *
180
+ * @returns
181
+ */
182
+ $eq: OperatorsFunction;
183
+ /**
184
+ * @param a
185
+ * @param b
186
+ *
187
+ * Checks if two values are not equal.
188
+ *
189
+ * @returns
190
+ */
191
+ $ne: OperatorsFunction;
192
+ /**
193
+ * @param a
194
+ * @param b
195
+ *
196
+ * Checks if the user input value is greater than the rule value after converting them both to numbers.
197
+ *
198
+ * @returns
199
+ */
200
+ $gt: OperatorsFunction;
201
+ /**
202
+ * @param a
203
+ * @param b
204
+ *
205
+ * Checks if the user input value is greater than or equal to the rule value.
206
+ *
207
+ * @returns
208
+ */
209
+ $gte: OperatorsFunction;
210
+ /**
211
+ * @param a
212
+ * @param b
213
+ *
214
+ * Checks if the user input value is less than the rule value.
215
+ *
216
+ * @returns
217
+ */
218
+ $lt: OperatorsFunction;
219
+ /**
220
+ * @param a
221
+ * @param b
222
+ *
223
+ * Checks if the user input value is less than or equal to the rule value.
224
+ *
225
+ * @returns
226
+ */
227
+ $lte: OperatorsFunction;
228
+ /**
229
+ * @param a
230
+ * @param b
231
+ *
232
+ * Compares the lengths of two strings and checks if the length of the user input string is greater than the rule value.
233
+ *
234
+ * @returns
235
+ */
236
+ $strGt: OperatorsFunction;
237
+ /**
238
+ * @param a
239
+ * @param b
240
+ *
241
+ * Compares the lengths of two strings and checks if the length of the user input string is greater than or equal to the rule value.
242
+ *
243
+ * @returns
244
+ */
245
+ $strGte: OperatorsFunction;
246
+ /**
247
+ * @param a
248
+ * @param b
249
+ *
250
+ * Compares the lengths of two strings and checks if the length of the user input string is less than the rule value.
251
+ *
252
+ * @returns
253
+ */
254
+ $strLt: OperatorsFunction;
255
+ /**
256
+ * @param a
257
+ * @param b
258
+ *
259
+ * Compares the lengths of two strings and checks if the length of the user input string is less than or equal to the rule value.
260
+ *
261
+ * @returns
262
+ */
263
+ $strLte: OperatorsFunction;
264
+ /**
265
+ * @param a
266
+ * @param b
267
+ *
268
+ * Checks if the user input value is in the array of rule values.
269
+ * It checks for intersection between the user input array and each rule value array.
270
+ *
271
+ * @returns
272
+ */
273
+ $in: OperatorsFunction;
274
+ /**
275
+ * @param a
276
+ * @param b
277
+ *
278
+ * Checks if the user input value is not in the array of rule values.
279
+ * It checks for the absence of intersection between the user input array and each rule value array.
280
+ *
281
+ * @returns
282
+ */
283
+ $nin: OperatorsFunction;
284
+ /**
285
+ * @param a
286
+ * @param b
287
+ *
288
+ * Checks if all elements in the user input array are present in the array of rule values.
289
+ * It checks for intersection between each element of the user input array and each rule value array.
290
+ *
291
+ * @returns
292
+ */
293
+ $all: OperatorsFunction;
294
+ /**
295
+ * @param a
296
+ * @param b
297
+ * @param opt
298
+ *
299
+ * Performs a regular expression match on the user input value with the rule value(s).
300
+ * It supports either a single regular expression or an array of regular expressions.
301
+ *
302
+ * @returns
303
+ */
304
+ $regex: OperatorsFunction;
305
+ };
306
+ export declare enum RulesOperators {
307
+ $exists = "$exists",
308
+ $eq = "$eq",
309
+ $ne = "$ne",
310
+ $gt = "$gt",
311
+ $gte = "$gte",
312
+ $lt = "$lt",
313
+ $lte = "$lte",
314
+ $strGt = "$strGt",
315
+ $strGte = "$strGte",
316
+ $strLt = "$strLt",
317
+ $strLte = "$strLte",
318
+ $in = "$in",
319
+ $nin = "$nin",
320
+ $all = "$all",
321
+ $regex = "$regex"
322
+ }
323
+ export type RulesOperatorsInArray<T> = Partial<{
324
+ [KEY in keyof T]: Partial<{
325
+ [K in keyof typeof RulesOperators]: T[KEY];
326
+ }>;
327
+ }>;
328
+ export type RulesValuesType<T> = {
329
+ '$form.isValid'?: boolean;
330
+ } & T;
331
+ export declare enum RulesModes {
332
+ $and = "$and",
333
+ $or = "$or"
334
+ }
335
+ export type RulesObject<T> = RulesValuesType<T> | {
336
+ [K in keyof typeof RulesModes]: Array<RulesOperatorsInArray<RulesValuesType<T>>> | Array<RulesObject<RulesValuesType<T>>>;
337
+ } | Array<Exclude<RulesOperatorsInArray<RulesValuesType<T>>, undefined>>;
338
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/utils/rules-matcher/interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RulesModes = exports.RulesOperators = void 0;
4
+ var RulesOperators;
5
+ (function (RulesOperators) {
6
+ RulesOperators["$exists"] = "$exists";
7
+ RulesOperators["$eq"] = "$eq";
8
+ RulesOperators["$ne"] = "$ne";
9
+ RulesOperators["$gt"] = "$gt";
10
+ RulesOperators["$gte"] = "$gte";
11
+ RulesOperators["$lt"] = "$lt";
12
+ RulesOperators["$lte"] = "$lte";
13
+ RulesOperators["$strGt"] = "$strGt";
14
+ RulesOperators["$strGte"] = "$strGte";
15
+ RulesOperators["$strLt"] = "$strLt";
16
+ RulesOperators["$strLte"] = "$strLte";
17
+ RulesOperators["$in"] = "$in";
18
+ RulesOperators["$nin"] = "$nin";
19
+ RulesOperators["$all"] = "$all";
20
+ RulesOperators["$regex"] = "$regex";
21
+ })(RulesOperators || (exports.RulesOperators = RulesOperators = {}));
22
+ var RulesModes;
23
+ (function (RulesModes) {
24
+ RulesModes["$and"] = "$and";
25
+ RulesModes["$or"] = "$or";
26
+ })(RulesModes || (exports.RulesModes = RulesModes = {}));
@@ -0,0 +1,11 @@
1
+ import { Operators, RulesMatcherUtils } from './interface';
2
+ /**
3
+ * Defines a utility object named rulesMatcherUtils, which contains various helper functions used for processing rules and data in a rule-matching context.
4
+ */
5
+ declare const rulesMatcherUtils: RulesMatcherUtils;
6
+ /**
7
+ * Defines a set of comparison operators used for matching rules against user input.
8
+ */
9
+ export declare const operators: Operators;
10
+ export default rulesMatcherUtils;
11
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/rules-matcher/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAe,MAAM,aAAa,CAAA;AAIvE;;GAEG;AACH,QAAA,MAAM,iBAAiB,EAAE,iBA+MxB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,SAsDvB,CAAA;AAID,eAAe,iBAAiB,CAAA"}