@tailor-platform/erp-kit 0.2.1 → 0.2.2

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 (618) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -23
  3. package/dist/cli.mjs +1613 -0
  4. package/package.json +14 -13
  5. package/schemas/app-compose/story.yml +12 -0
  6. package/schemas/module/command.yml +9 -0
  7. package/schemas/module/module.yml +4 -0
  8. package/schemas/module/query.yml +9 -0
  9. package/skills/erp-kit-app-1-requirements/SKILL.md +4 -4
  10. package/skills/erp-kit-app-2-requirements-review/SKILL.md +102 -0
  11. package/skills/erp-kit-app-2-requirements-review/references/best-practices-check.md +66 -0
  12. package/skills/erp-kit-app-2-requirements-review/references/boundary-consistency-check.md +69 -0
  13. package/skills/erp-kit-app-2-requirements-review/references/requirements-report-format.md +25 -0
  14. package/skills/erp-kit-app-3-plan/SKILL.md +157 -0
  15. package/skills/erp-kit-app-3-plan/references/resolver-extraction.md +107 -0
  16. package/skills/erp-kit-app-3-plan/references/screen-extraction.md +74 -0
  17. package/skills/erp-kit-app-3-plan/references/story-extraction.md +86 -0
  18. package/skills/erp-kit-app-4-plan-review/SKILL.md +177 -0
  19. package/skills/erp-kit-app-4-plan-review/references/actor-flow-parity.md +73 -0
  20. package/skills/erp-kit-app-4-plan-review/references/business-flow-story-parity.md +86 -0
  21. package/skills/erp-kit-app-4-plan-review/references/orphan-detection.md +69 -0
  22. package/skills/erp-kit-app-4-plan-review/references/parity-report-format.md +52 -0
  23. package/skills/erp-kit-app-4-plan-review/references/story-resolver-parity.md +83 -0
  24. package/skills/erp-kit-app-4-plan-review/references/story-screen-parity.md +73 -0
  25. package/skills/{erp-kit-app-5-implementation → erp-kit-app-5-impl-backend}/SKILL.md +24 -68
  26. package/skills/erp-kit-app-5-impl-backend/references/app-config.md +38 -0
  27. package/skills/erp-kit-app-5-impl-backend/references/module-wiring.md +48 -0
  28. package/skills/erp-kit-app-5-impl-backend/references/resolver-patterns.md +68 -0
  29. package/skills/erp-kit-app-6-impl-frontend/SKILL.md +74 -0
  30. package/skills/{erp-kit-app-5-implementation/references/frontend.md → erp-kit-app-6-impl-frontend/references/pages.md} +8 -90
  31. package/skills/erp-kit-app-7-impl-review/SKILL.md +176 -0
  32. package/skills/erp-kit-app-7-impl-review/references/impl-parity-report-format.md +52 -0
  33. package/skills/erp-kit-app-7-impl-review/references/module-wiring-parity.md +84 -0
  34. package/skills/erp-kit-app-7-impl-review/references/resolver-doc-code-parity.md +86 -0
  35. package/skills/erp-kit-app-7-impl-review/references/screen-doc-code-parity.md +86 -0
  36. package/skills/erp-kit-module-1-requirements/SKILL.md +126 -0
  37. package/skills/erp-kit-module-1-requirements/references/boundary-analysis.md +51 -0
  38. package/skills/erp-kit-module-1-requirements/references/erp-research.md +57 -0
  39. package/skills/erp-kit-module-1-requirements/references/feature-doc.md +61 -0
  40. package/skills/erp-kit-module-2-requirements-review/SKILL.md +112 -0
  41. package/skills/erp-kit-module-2-requirements-review/references/best-practices-check.md +79 -0
  42. package/skills/erp-kit-module-2-requirements-review/references/boundary-consistency-check.md +70 -0
  43. package/skills/erp-kit-module-2-requirements-review/references/requirements-report-format.md +25 -0
  44. package/skills/erp-kit-module-3-plan/SKILL.md +107 -0
  45. package/skills/erp-kit-module-3-plan/references/command-extraction.md +87 -0
  46. package/skills/erp-kit-module-3-plan/references/model-extraction.md +72 -0
  47. package/skills/erp-kit-module-3-plan/references/query-extraction.md +59 -0
  48. package/skills/erp-kit-module-4-plan-review/SKILL.md +158 -0
  49. package/skills/erp-kit-module-4-plan-review/references/command-model-consistency.md +46 -0
  50. package/skills/erp-kit-module-4-plan-review/references/feature-command-parity.md +97 -0
  51. package/skills/erp-kit-module-4-plan-review/references/feature-model-parity.md +47 -0
  52. package/skills/erp-kit-module-4-plan-review/references/feature-query-parity.md +70 -0
  53. package/skills/erp-kit-module-4-plan-review/references/parity-report-format.md +52 -0
  54. package/skills/erp-kit-module-5-impl/SKILL.md +118 -0
  55. package/skills/erp-kit-module-5-impl/references/command-impl.md +68 -0
  56. package/skills/erp-kit-module-5-impl/references/exports.md +10 -0
  57. package/skills/erp-kit-module-5-impl/references/model-impl.md +45 -0
  58. package/skills/erp-kit-module-5-impl/references/query-impl.md +53 -0
  59. package/skills/erp-kit-module-6-impl-review/SKILL.md +187 -0
  60. package/skills/erp-kit-module-6-impl-review/references/command-doc-code-parity.md +92 -0
  61. package/skills/erp-kit-module-6-impl-review/references/command-doc-test-parity.md +93 -0
  62. package/skills/erp-kit-module-6-impl-review/references/error-implementation-parity.md +95 -0
  63. package/skills/{erp-kit-module-5-impl-review → erp-kit-module-6-impl-review}/references/errors.md +1 -1
  64. package/skills/erp-kit-module-6-impl-review/references/impl-parity-report-format.md +52 -0
  65. package/skills/erp-kit-module-6-impl-review/references/model-doc-code-parity.md +80 -0
  66. package/skills/erp-kit-module-shared/SKILL.md +1 -1
  67. package/skills/erp-kit-module-shared/references/commands.md +1 -1
  68. package/skills/erp-kit-module-shared/references/errors.md +12 -9
  69. package/skills/erp-kit-module-shared/references/queries.md +109 -36
  70. package/skills/erp-kit-module-shared/references/testing.md +10 -0
  71. package/skills/erp-kit-update/SKILL.md +2 -2
  72. package/src/app.ts +1 -1
  73. package/src/commands/check.ts +1 -1
  74. package/src/commands/index.ts +16 -5
  75. package/src/commands/init.test.ts +22 -69
  76. package/src/commands/init.ts +28 -115
  77. package/src/commands/lib/distribute.test.ts +126 -0
  78. package/src/commands/lib/distribute.ts +129 -0
  79. package/src/commands/parse-doc-test-cases.ts +55 -0
  80. package/src/commands/scaffold.test.ts +74 -33
  81. package/src/commands/scaffold.ts +54 -18
  82. package/src/commands/sync-check.test.ts +173 -0
  83. package/src/commands/sync-check.ts +103 -2
  84. package/src/commands/update.test.ts +87 -0
  85. package/src/commands/update.ts +41 -0
  86. package/src/generator/generate-code.test.ts +23 -12
  87. package/src/generator/generate-code.ts +22 -16
  88. package/src/integration.test.ts +1 -1
  89. package/src/module.ts +14 -97
  90. package/src/modules/item-management/README.md +8 -0
  91. package/src/modules/item-management/command/activateItem.generated.ts +1 -1
  92. package/src/modules/item-management/command/activateItem.test.ts +12 -18
  93. package/src/modules/item-management/command/activateItem.ts +9 -5
  94. package/src/modules/item-management/command/assignItemToTaxonomy.generated.ts +1 -1
  95. package/src/modules/item-management/command/assignItemToTaxonomy.test.ts +10 -24
  96. package/src/modules/item-management/command/assignItemToTaxonomy.ts +19 -16
  97. package/src/modules/item-management/command/createItem.generated.ts +1 -1
  98. package/src/modules/item-management/command/createItem.test.ts +11 -11
  99. package/src/modules/item-management/command/createItem.ts +16 -7
  100. package/src/modules/item-management/command/createTaxonomyNode.generated.ts +1 -1
  101. package/src/modules/item-management/command/createTaxonomyNode.test.ts +9 -9
  102. package/src/modules/item-management/command/createTaxonomyNode.ts +33 -14
  103. package/src/modules/item-management/command/deactivateItem.generated.ts +1 -1
  104. package/src/modules/item-management/command/deactivateItem.test.ts +12 -18
  105. package/src/modules/item-management/command/deactivateItem.ts +9 -5
  106. package/src/modules/item-management/command/deleteItem.generated.ts +1 -1
  107. package/src/modules/item-management/command/deleteItem.test.ts +10 -16
  108. package/src/modules/item-management/command/deleteItem.ts +9 -5
  109. package/src/modules/item-management/command/deleteTaxonomyNode.generated.ts +1 -1
  110. package/src/modules/item-management/command/deleteTaxonomyNode.test.ts +10 -16
  111. package/src/modules/item-management/command/deleteTaxonomyNode.ts +22 -12
  112. package/src/modules/item-management/command/moveTaxonomyNode.generated.ts +1 -1
  113. package/src/modules/item-management/command/moveTaxonomyNode.test.ts +10 -10
  114. package/src/modules/item-management/command/moveTaxonomyNode.ts +63 -19
  115. package/src/modules/item-management/command/reactivateItem.generated.ts +1 -1
  116. package/src/modules/item-management/command/reactivateItem.test.ts +12 -18
  117. package/src/modules/item-management/command/reactivateItem.ts +9 -5
  118. package/src/modules/item-management/command/removeItemFromTaxonomy.generated.ts +1 -1
  119. package/src/modules/item-management/command/removeItemFromTaxonomy.test.ts +9 -16
  120. package/src/modules/item-management/command/removeItemFromTaxonomy.ts +11 -6
  121. package/src/modules/item-management/command/updateItem.generated.ts +1 -1
  122. package/src/modules/item-management/command/updateItem.test.ts +16 -16
  123. package/src/modules/item-management/command/updateItem.ts +11 -6
  124. package/src/modules/item-management/command/updateTaxonomyNode.generated.ts +1 -1
  125. package/src/modules/item-management/command/updateTaxonomyNode.test.ts +14 -20
  126. package/src/modules/item-management/command/updateTaxonomyNode.ts +9 -6
  127. package/src/modules/item-management/docs/commands/ActivateItem.md +8 -0
  128. package/src/modules/item-management/docs/commands/AssignItemToTaxonomy.md +7 -0
  129. package/src/modules/item-management/docs/commands/CreateItem.md +10 -0
  130. package/src/modules/item-management/docs/commands/CreateTaxonomyNode.md +9 -0
  131. package/src/modules/item-management/docs/commands/DeactivateItem.md +8 -0
  132. package/src/modules/item-management/docs/commands/DeleteItem.md +7 -0
  133. package/src/modules/item-management/docs/commands/DeleteTaxonomyNode.md +7 -0
  134. package/src/modules/item-management/docs/commands/MoveTaxonomyNode.md +10 -0
  135. package/src/modules/item-management/docs/commands/ReactivateItem.md +8 -0
  136. package/src/modules/item-management/docs/commands/RemoveItemFromTaxonomy.md +5 -0
  137. package/src/modules/item-management/docs/commands/UpdateItem.md +15 -0
  138. package/src/modules/item-management/docs/commands/UpdateTaxonomyNode.md +9 -0
  139. package/src/modules/item-management/docs/queries/CalculateNodeDepth.md +8 -0
  140. package/src/modules/item-management/docs/queries/CalculateSubtreeDepth.md +7 -0
  141. package/src/modules/item-management/docs/queries/DetectCircularReference.md +9 -0
  142. package/src/modules/item-management/docs/queries/GetItem.md +9 -0
  143. package/src/modules/item-management/docs/queries/GetItemTaxonomyAssignment.md +5 -0
  144. package/src/modules/item-management/docs/queries/GetTaxonomyNode.md +7 -0
  145. package/src/modules/item-management/docs/queries/GetTaxonomyNodeAssignments.md +5 -0
  146. package/src/modules/item-management/docs/queries/GetTaxonomyNodeChildren.md +6 -0
  147. package/src/modules/item-management/index.ts +0 -51
  148. package/src/modules/item-management/lib/errors.generated.ts +24 -24
  149. package/src/modules/item-management/lib/permissions.generated.ts +1 -1
  150. package/src/modules/item-management/lib/types.ts +1 -1
  151. package/src/modules/item-management/module.ts +1 -1
  152. package/src/modules/item-management/query/calculateNodeDepth.generated.ts +1 -1
  153. package/src/modules/item-management/query/calculateNodeDepth.test.ts +21 -6
  154. package/src/modules/item-management/query/calculateNodeDepth.ts +2 -2
  155. package/src/modules/item-management/query/calculateSubtreeDepth.generated.ts +1 -1
  156. package/src/modules/item-management/query/calculateSubtreeDepth.test.ts +17 -5
  157. package/src/modules/item-management/query/calculateSubtreeDepth.ts +2 -2
  158. package/src/modules/item-management/query/detectCircularReference.generated.ts +1 -1
  159. package/src/modules/item-management/query/detectCircularReference.test.ts +25 -7
  160. package/src/modules/item-management/query/detectCircularReference.ts +4 -4
  161. package/src/modules/item-management/query/getItem.generated.ts +1 -1
  162. package/src/modules/item-management/query/getItem.test.ts +25 -7
  163. package/src/modules/item-management/query/getItem.ts +2 -2
  164. package/src/modules/item-management/query/getItemTaxonomyAssignment.generated.ts +1 -1
  165. package/src/modules/item-management/query/getItemTaxonomyAssignment.test.ts +9 -3
  166. package/src/modules/item-management/query/getItemTaxonomyAssignment.ts +2 -2
  167. package/src/modules/item-management/query/getTaxonomyNode.generated.ts +1 -1
  168. package/src/modules/item-management/query/getTaxonomyNode.test.ts +17 -5
  169. package/src/modules/item-management/query/getTaxonomyNode.ts +2 -2
  170. package/src/modules/item-management/query/getTaxonomyNodeAssignments.generated.ts +1 -1
  171. package/src/modules/item-management/query/getTaxonomyNodeAssignments.test.ts +9 -3
  172. package/src/modules/item-management/query/getTaxonomyNodeAssignments.ts +2 -2
  173. package/src/modules/item-management/query/getTaxonomyNodeChildren.generated.ts +1 -1
  174. package/src/modules/item-management/query/getTaxonomyNodeChildren.test.ts +13 -4
  175. package/src/modules/item-management/query/getTaxonomyNodeChildren.ts +2 -2
  176. package/src/modules/item-management/tailor.config.ts +6 -4
  177. package/src/modules/item-management/tailor.d.ts +13 -0
  178. package/src/modules/primitives/README.md +8 -0
  179. package/src/modules/primitives/command/activateCategory.generated.ts +1 -1
  180. package/src/modules/primitives/command/activateCategory.test.ts +8 -18
  181. package/src/modules/primitives/command/activateCategory.ts +9 -5
  182. package/src/modules/primitives/command/activateCurrency.generated.ts +1 -1
  183. package/src/modules/primitives/command/activateCurrency.test.ts +8 -18
  184. package/src/modules/primitives/command/activateCurrency.ts +9 -5
  185. package/src/modules/primitives/command/activateUnit.generated.ts +1 -1
  186. package/src/modules/primitives/command/activateUnit.test.ts +8 -15
  187. package/src/modules/primitives/command/activateUnit.ts +9 -5
  188. package/src/modules/primitives/command/createCategory.generated.ts +1 -1
  189. package/src/modules/primitives/command/createCategory.test.ts +29 -44
  190. package/src/modules/primitives/command/createCategory.ts +9 -5
  191. package/src/modules/primitives/command/createCurrency.generated.ts +1 -1
  192. package/src/modules/primitives/command/createCurrency.test.ts +53 -78
  193. package/src/modules/primitives/command/createCurrency.ts +9 -6
  194. package/src/modules/primitives/command/createExchangeRate.generated.ts +1 -1
  195. package/src/modules/primitives/command/createExchangeRate.test.ts +59 -97
  196. package/src/modules/primitives/command/createExchangeRate.ts +13 -7
  197. package/src/modules/primitives/command/createUnit.generated.ts +1 -1
  198. package/src/modules/primitives/command/createUnit.test.ts +59 -90
  199. package/src/modules/primitives/command/createUnit.ts +9 -6
  200. package/src/modules/primitives/command/deactivateCategory.generated.ts +1 -1
  201. package/src/modules/primitives/command/deactivateCategory.test.ts +15 -33
  202. package/src/modules/primitives/command/deactivateCategory.ts +9 -5
  203. package/src/modules/primitives/command/deactivateCurrency.generated.ts +1 -1
  204. package/src/modules/primitives/command/deactivateCurrency.test.ts +12 -26
  205. package/src/modules/primitives/command/deactivateCurrency.ts +9 -5
  206. package/src/modules/primitives/command/deactivateUnit.generated.ts +1 -1
  207. package/src/modules/primitives/command/deactivateUnit.test.ts +15 -30
  208. package/src/modules/primitives/command/deactivateUnit.ts +14 -7
  209. package/src/modules/primitives/command/setBaseCurrency.generated.ts +1 -1
  210. package/src/modules/primitives/command/setBaseCurrency.test.ts +18 -40
  211. package/src/modules/primitives/command/setBaseCurrency.ts +15 -7
  212. package/src/modules/primitives/command/setReferenceUnit.generated.ts +1 -1
  213. package/src/modules/primitives/command/setReferenceUnit.test.ts +22 -44
  214. package/src/modules/primitives/command/setReferenceUnit.ts +21 -9
  215. package/src/modules/primitives/docs/commands/ActivateCategory.md +6 -0
  216. package/src/modules/primitives/docs/commands/ActivateCurrency.md +6 -0
  217. package/src/modules/primitives/docs/commands/ActivateUnit.md +6 -0
  218. package/src/modules/primitives/docs/commands/CreateCategory.md +6 -0
  219. package/src/modules/primitives/docs/commands/CreateCurrency.md +10 -0
  220. package/src/modules/primitives/docs/commands/CreateExchangeRate.md +11 -0
  221. package/src/modules/primitives/docs/commands/CreateUnit.md +10 -0
  222. package/src/modules/primitives/docs/commands/DeactivateCategory.md +7 -0
  223. package/src/modules/primitives/docs/commands/DeactivateCurrency.md +7 -0
  224. package/src/modules/primitives/docs/commands/DeactivateUnit.md +7 -0
  225. package/src/modules/primitives/docs/commands/SetBaseCurrency.md +7 -0
  226. package/src/modules/primitives/docs/commands/SetReferenceUnit.md +7 -0
  227. package/src/modules/primitives/docs/queries/ConvertAmount.md +14 -0
  228. package/src/modules/primitives/docs/queries/ConvertQuantity.md +13 -0
  229. package/src/modules/primitives/docs/queries/GetBaseCurrency.md +5 -0
  230. package/src/modules/primitives/docs/queries/GetCurrency.md +7 -0
  231. package/src/modules/primitives/docs/queries/GetUnit.md +7 -0
  232. package/src/modules/primitives/docs/queries/GetUoMCategory.md +7 -0
  233. package/src/modules/primitives/docs/queries/ListUnitsByCategory.md +15 -5
  234. package/src/modules/primitives/index.ts +0 -49
  235. package/src/modules/primitives/lib/errors.generated.ts +23 -23
  236. package/src/modules/primitives/lib/permissions.generated.ts +1 -1
  237. package/src/modules/primitives/lib/types.ts +1 -1
  238. package/src/modules/primitives/module.ts +1 -1
  239. package/src/modules/primitives/query/convertAmount.generated.ts +1 -1
  240. package/src/modules/primitives/query/convertAmount.test.ts +110 -77
  241. package/src/modules/primitives/query/convertAmount.ts +61 -47
  242. package/src/modules/primitives/query/convertQuantity.generated.ts +1 -1
  243. package/src/modules/primitives/query/convertQuantity.test.ts +99 -69
  244. package/src/modules/primitives/query/convertQuantity.ts +12 -10
  245. package/src/modules/primitives/query/getBaseCurrency.generated.ts +1 -1
  246. package/src/modules/primitives/query/getBaseCurrency.test.ts +10 -4
  247. package/src/modules/primitives/query/getBaseCurrency.ts +2 -2
  248. package/src/modules/primitives/query/getCurrency.generated.ts +1 -1
  249. package/src/modules/primitives/query/getCurrency.test.ts +17 -5
  250. package/src/modules/primitives/query/getCurrency.ts +2 -2
  251. package/src/modules/primitives/query/getUnit.generated.ts +1 -1
  252. package/src/modules/primitives/query/getUnit.test.ts +17 -5
  253. package/src/modules/primitives/query/getUnit.ts +2 -2
  254. package/src/modules/primitives/query/getUoMCategory.generated.ts +1 -1
  255. package/src/modules/primitives/query/getUoMCategory.test.ts +17 -5
  256. package/src/modules/primitives/query/getUoMCategory.ts +2 -2
  257. package/src/modules/primitives/query/listUnitsByCategory.generated.ts +1 -1
  258. package/src/modules/primitives/query/listUnitsByCategory.test.ts +80 -0
  259. package/src/modules/primitives/query/listUnitsByCategory.ts +19 -3
  260. package/src/modules/primitives/tailor.config.ts +6 -4
  261. package/src/modules/primitives/tailor.d.ts +13 -0
  262. package/src/modules/product-management/README.md +52 -0
  263. package/src/modules/product-management/command/activateProduct.generated.ts +6 -0
  264. package/src/modules/product-management/command/activateProduct.test.ts +40 -0
  265. package/src/modules/product-management/command/activateProduct.ts +42 -0
  266. package/src/modules/product-management/command/assignProductToCategory.generated.ts +6 -0
  267. package/src/modules/product-management/command/assignProductToCategory.test.ts +90 -0
  268. package/src/modules/product-management/command/assignProductToCategory.ts +62 -0
  269. package/src/modules/product-management/command/createProduct.generated.ts +6 -0
  270. package/src/modules/product-management/command/createProduct.test.ts +149 -0
  271. package/src/modules/product-management/command/createProduct.ts +73 -0
  272. package/src/modules/product-management/command/createProductAttribute.generated.ts +6 -0
  273. package/src/modules/product-management/command/createProductAttribute.test.ts +70 -0
  274. package/src/modules/product-management/command/createProductAttribute.ts +53 -0
  275. package/src/modules/product-management/command/createProductAttributeValue.generated.ts +6 -0
  276. package/src/modules/product-management/command/createProductAttributeValue.test.ts +68 -0
  277. package/src/modules/product-management/command/createProductAttributeValue.ts +63 -0
  278. package/src/modules/product-management/command/createProductCategory.generated.ts +6 -0
  279. package/src/modules/product-management/command/createProductCategory.test.ts +135 -0
  280. package/src/modules/product-management/command/createProductCategory.ts +82 -0
  281. package/src/modules/product-management/command/deactivateProduct.generated.ts +6 -0
  282. package/src/modules/product-management/command/deactivateProduct.test.ts +40 -0
  283. package/src/modules/product-management/command/deactivateProduct.ts +42 -0
  284. package/src/modules/product-management/command/deleteProduct.generated.ts +6 -0
  285. package/src/modules/product-management/command/deleteProduct.test.ts +42 -0
  286. package/src/modules/product-management/command/deleteProduct.ts +42 -0
  287. package/src/modules/product-management/command/deleteProductAttribute.generated.ts +6 -0
  288. package/src/modules/product-management/command/deleteProductAttribute.test.ts +49 -0
  289. package/src/modules/product-management/command/deleteProductAttribute.ts +45 -0
  290. package/src/modules/product-management/command/deleteProductAttributeValue.generated.ts +6 -0
  291. package/src/modules/product-management/command/deleteProductAttributeValue.test.ts +71 -0
  292. package/src/modules/product-management/command/deleteProductAttributeValue.ts +68 -0
  293. package/src/modules/product-management/command/deleteProductCategory.generated.ts +6 -0
  294. package/src/modules/product-management/command/deleteProductCategory.test.ts +74 -0
  295. package/src/modules/product-management/command/deleteProductCategory.ts +53 -0
  296. package/src/modules/product-management/command/generateVariants.generated.ts +6 -0
  297. package/src/modules/product-management/command/generateVariants.test.ts +365 -0
  298. package/src/modules/product-management/command/generateVariants.ts +168 -0
  299. package/src/modules/product-management/command/moveProductCategory.generated.ts +6 -0
  300. package/src/modules/product-management/command/moveProductCategory.test.ts +170 -0
  301. package/src/modules/product-management/command/moveProductCategory.ts +124 -0
  302. package/src/modules/product-management/command/reactivateProduct.generated.ts +6 -0
  303. package/src/modules/product-management/command/reactivateProduct.test.ts +40 -0
  304. package/src/modules/product-management/command/reactivateProduct.ts +42 -0
  305. package/src/modules/product-management/command/removeProductFromCategory.generated.ts +6 -0
  306. package/src/modules/product-management/command/removeProductFromCategory.test.ts +42 -0
  307. package/src/modules/product-management/command/removeProductFromCategory.ts +32 -0
  308. package/src/modules/product-management/command/setProductAttributeAssignment.generated.ts +6 -0
  309. package/src/modules/product-management/command/setProductAttributeAssignment.test.ts +206 -0
  310. package/src/modules/product-management/command/setProductAttributeAssignment.ts +102 -0
  311. package/src/modules/product-management/command/updateProduct.generated.ts +6 -0
  312. package/src/modules/product-management/command/updateProduct.test.ts +168 -0
  313. package/src/modules/product-management/command/updateProduct.ts +95 -0
  314. package/src/modules/product-management/command/updateProductAttribute.generated.ts +6 -0
  315. package/src/modules/product-management/command/updateProductAttribute.test.ts +101 -0
  316. package/src/modules/product-management/command/updateProductAttribute.ts +68 -0
  317. package/src/modules/product-management/command/updateProductAttributeValue.generated.ts +6 -0
  318. package/src/modules/product-management/command/updateProductAttributeValue.test.ts +80 -0
  319. package/src/modules/product-management/command/updateProductAttributeValue.ts +58 -0
  320. package/src/modules/product-management/command/updateProductCategory.generated.ts +6 -0
  321. package/src/modules/product-management/command/updateProductCategory.test.ts +80 -0
  322. package/src/modules/product-management/command/updateProductCategory.ts +66 -0
  323. package/src/modules/product-management/db/product.ts +47 -0
  324. package/src/modules/product-management/db/productAttribute.ts +26 -0
  325. package/src/modules/product-management/db/productAttributeAssignment.ts +58 -0
  326. package/src/modules/product-management/db/productAttributeValue.ts +39 -0
  327. package/src/modules/product-management/db/productCategory.ts +34 -0
  328. package/src/modules/product-management/db/productCategoryAssignment.ts +49 -0
  329. package/src/modules/product-management/db/productVariant.ts +52 -0
  330. package/src/modules/product-management/docs/commands/ActivateProduct.md +39 -0
  331. package/src/modules/product-management/docs/commands/AssignProductToCategory.md +43 -0
  332. package/src/modules/product-management/docs/commands/CreateProduct.md +48 -0
  333. package/src/modules/product-management/docs/commands/CreateProductAttribute.md +39 -0
  334. package/src/modules/product-management/docs/commands/CreateProductAttributeValue.md +42 -0
  335. package/src/modules/product-management/docs/commands/CreateProductCategory.md +54 -0
  336. package/src/modules/product-management/docs/commands/DeactivateProduct.md +39 -0
  337. package/src/modules/product-management/docs/commands/DeleteProduct.md +42 -0
  338. package/src/modules/product-management/docs/commands/DeleteProductAttribute.md +39 -0
  339. package/src/modules/product-management/docs/commands/DeleteProductAttributeValue.md +42 -0
  340. package/src/modules/product-management/docs/commands/DeleteProductCategory.md +43 -0
  341. package/src/modules/product-management/docs/commands/GenerateVariants.md +68 -0
  342. package/src/modules/product-management/docs/commands/MoveProductCategory.md +54 -0
  343. package/src/modules/product-management/docs/commands/ReactivateProduct.md +38 -0
  344. package/src/modules/product-management/docs/commands/RemoveProductFromCategory.md +34 -0
  345. package/src/modules/product-management/docs/commands/SetProductAttributeAssignment.md +62 -0
  346. package/src/modules/product-management/docs/commands/UpdateProduct.md +61 -0
  347. package/src/modules/product-management/docs/commands/UpdateProductAttribute.md +46 -0
  348. package/src/modules/product-management/docs/commands/UpdateProductAttributeValue.md +47 -0
  349. package/src/modules/product-management/docs/commands/UpdateProductCategory.md +46 -0
  350. package/src/modules/product-management/docs/features/attribute-management.md +48 -0
  351. package/src/modules/product-management/docs/features/product-category.md +71 -0
  352. package/src/modules/product-management/docs/features/product-lifecycle.md +66 -0
  353. package/src/modules/product-management/docs/features/variant-generation.md +77 -0
  354. package/src/modules/product-management/docs/models/Product.md +58 -0
  355. package/src/modules/product-management/docs/models/ProductAttribute.md +37 -0
  356. package/src/modules/product-management/docs/models/ProductAttributeAssignment.md +41 -0
  357. package/src/modules/product-management/docs/models/ProductAttributeValue.md +40 -0
  358. package/src/modules/product-management/docs/models/ProductCategory.md +46 -0
  359. package/src/modules/product-management/docs/models/ProductCategoryAssignment.md +37 -0
  360. package/src/modules/product-management/docs/models/ProductVariant.md +41 -0
  361. package/src/modules/product-management/docs/queries/CalculateCategoryDepth.md +47 -0
  362. package/src/modules/product-management/docs/queries/DetectCategoryCircularReference.md +51 -0
  363. package/src/modules/product-management/docs/queries/GetProduct.md +42 -0
  364. package/src/modules/product-management/docs/queries/GetProductAttribute.md +42 -0
  365. package/src/modules/product-management/docs/queries/GetProductAttributeAssignment.md +34 -0
  366. package/src/modules/product-management/docs/queries/GetProductAttributeValue.md +40 -0
  367. package/src/modules/product-management/docs/queries/GetProductCategory.md +42 -0
  368. package/src/modules/product-management/docs/queries/GetProductCategoryAssignment.md +34 -0
  369. package/src/modules/product-management/docs/queries/GetProductVariant.md +41 -0
  370. package/src/modules/product-management/docs/queries/ListAttributeAssignmentsByAttribute.md +34 -0
  371. package/src/modules/product-management/docs/queries/ListCategoryAssignmentsByProduct.md +35 -0
  372. package/src/modules/product-management/docs/queries/ListProductAttributeAssignments.md +34 -0
  373. package/src/modules/product-management/docs/queries/ListProductAttributeValues.md +36 -0
  374. package/src/modules/product-management/docs/queries/ListProductCategoryAssignments.md +34 -0
  375. package/src/modules/product-management/docs/queries/ListProductCategoryChildren.md +34 -0
  376. package/src/modules/product-management/docs/queries/ListProductVariants.md +34 -0
  377. package/src/modules/product-management/generated/enums.ts +9 -0
  378. package/src/modules/product-management/generated/kysely-tailordb.ts +100 -0
  379. package/src/modules/product-management/index.ts +2 -0
  380. package/src/modules/product-management/lib/_db_deps.ts +17 -0
  381. package/src/modules/product-management/lib/errors.generated.ts +152 -0
  382. package/src/modules/product-management/lib/permissions.generated.ts +25 -0
  383. package/src/modules/product-management/lib/types.ts +51 -0
  384. package/src/modules/product-management/module.ts +201 -0
  385. package/src/modules/product-management/query/calculateCategoryDepth.generated.ts +5 -0
  386. package/src/modules/product-management/query/calculateCategoryDepth.test.ts +72 -0
  387. package/src/modules/product-management/query/calculateCategoryDepth.ts +37 -0
  388. package/src/modules/product-management/query/detectCategoryCircularReference.generated.ts +5 -0
  389. package/src/modules/product-management/query/detectCategoryCircularReference.test.ts +72 -0
  390. package/src/modules/product-management/query/detectCategoryCircularReference.ts +44 -0
  391. package/src/modules/product-management/query/getProduct.generated.ts +5 -0
  392. package/src/modules/product-management/query/getProduct.test.ts +59 -0
  393. package/src/modules/product-management/query/getProduct.ts +18 -0
  394. package/src/modules/product-management/query/getProductAttribute.generated.ts +5 -0
  395. package/src/modules/product-management/query/getProductAttribute.test.ts +59 -0
  396. package/src/modules/product-management/query/getProductAttribute.ts +18 -0
  397. package/src/modules/product-management/query/getProductAttributeAssignment.generated.ts +5 -0
  398. package/src/modules/product-management/query/getProductAttributeAssignment.test.ts +37 -0
  399. package/src/modules/product-management/query/getProductAttributeAssignment.ts +18 -0
  400. package/src/modules/product-management/query/getProductAttributeValue.generated.ts +5 -0
  401. package/src/modules/product-management/query/getProductAttributeValue.test.ts +31 -0
  402. package/src/modules/product-management/query/getProductAttributeValue.ts +16 -0
  403. package/src/modules/product-management/query/getProductCategory.generated.ts +5 -0
  404. package/src/modules/product-management/query/getProductCategory.test.ts +59 -0
  405. package/src/modules/product-management/query/getProductCategory.ts +18 -0
  406. package/src/modules/product-management/query/getProductCategoryAssignment.generated.ts +5 -0
  407. package/src/modules/product-management/query/getProductCategoryAssignment.test.ts +37 -0
  408. package/src/modules/product-management/query/getProductCategoryAssignment.ts +18 -0
  409. package/src/modules/product-management/query/getProductVariant.generated.ts +5 -0
  410. package/src/modules/product-management/query/getProductVariant.test.ts +43 -0
  411. package/src/modules/product-management/query/getProductVariant.ts +20 -0
  412. package/src/modules/product-management/query/listAttributeAssignmentsByAttribute.generated.ts +5 -0
  413. package/src/modules/product-management/query/listAttributeAssignmentsByAttribute.test.ts +31 -0
  414. package/src/modules/product-management/query/listAttributeAssignmentsByAttribute.ts +16 -0
  415. package/src/modules/product-management/query/listCategoryAssignmentsByProduct.generated.ts +5 -0
  416. package/src/modules/product-management/query/listCategoryAssignmentsByProduct.test.ts +31 -0
  417. package/src/modules/product-management/query/listCategoryAssignmentsByProduct.ts +16 -0
  418. package/src/modules/product-management/query/listProductAttributeAssignments.generated.ts +5 -0
  419. package/src/modules/product-management/query/listProductAttributeAssignments.test.ts +31 -0
  420. package/src/modules/product-management/query/listProductAttributeAssignments.ts +16 -0
  421. package/src/modules/product-management/query/listProductAttributeValues.generated.ts +5 -0
  422. package/src/modules/product-management/query/listProductAttributeValues.test.ts +31 -0
  423. package/src/modules/product-management/query/listProductAttributeValues.ts +17 -0
  424. package/src/modules/product-management/query/listProductCategoryAssignments.generated.ts +5 -0
  425. package/src/modules/product-management/query/listProductCategoryAssignments.test.ts +31 -0
  426. package/src/modules/product-management/query/listProductCategoryAssignments.ts +16 -0
  427. package/src/modules/product-management/query/listProductCategoryChildren.generated.ts +5 -0
  428. package/src/modules/product-management/query/listProductCategoryChildren.test.ts +31 -0
  429. package/src/modules/product-management/query/listProductCategoryChildren.ts +16 -0
  430. package/src/modules/product-management/query/listProductVariants.generated.ts +5 -0
  431. package/src/modules/product-management/query/listProductVariants.test.ts +31 -0
  432. package/src/modules/product-management/query/listProductVariants.ts +16 -0
  433. package/src/modules/product-management/tailor.config.ts +13 -0
  434. package/src/modules/product-management/tailor.d.ts +13 -0
  435. package/src/modules/product-management/testing/fixtures.ts +151 -0
  436. package/src/modules/user-management/README.md +9 -3
  437. package/src/modules/user-management/command/activateUser.generated.ts +1 -1
  438. package/src/modules/user-management/command/activateUser.test.ts +12 -65
  439. package/src/modules/user-management/command/activateUser.ts +5 -20
  440. package/src/modules/user-management/command/assignPermissionToRole.generated.ts +1 -1
  441. package/src/modules/user-management/command/assignPermissionToRole.test.ts +25 -60
  442. package/src/modules/user-management/command/assignPermissionToRole.ts +5 -24
  443. package/src/modules/user-management/command/assignRoleToUser.generated.ts +1 -1
  444. package/src/modules/user-management/command/assignRoleToUser.test.ts +35 -87
  445. package/src/modules/user-management/command/assignRoleToUser.ts +5 -24
  446. package/src/modules/user-management/command/createPermission.generated.ts +1 -1
  447. package/src/modules/user-management/command/createPermission.test.ts +23 -33
  448. package/src/modules/user-management/command/createPermission.ts +4 -5
  449. package/src/modules/user-management/command/createRole.generated.ts +1 -1
  450. package/src/modules/user-management/command/createRole.test.ts +17 -27
  451. package/src/modules/user-management/command/createRole.ts +4 -5
  452. package/src/modules/user-management/command/createUser.generated.ts +1 -1
  453. package/src/modules/user-management/command/createUser.test.ts +31 -118
  454. package/src/modules/user-management/command/createUser.ts +7 -25
  455. package/src/modules/user-management/command/deactivateUser.generated.ts +1 -1
  456. package/src/modules/user-management/command/deactivateUser.test.ts +12 -65
  457. package/src/modules/user-management/command/deactivateUser.ts +6 -21
  458. package/src/modules/user-management/command/reactivateUser.generated.ts +1 -1
  459. package/src/modules/user-management/command/reactivateUser.test.ts +13 -66
  460. package/src/modules/user-management/command/reactivateUser.ts +5 -20
  461. package/src/modules/user-management/command/revokePermissionFromRole.generated.ts +1 -1
  462. package/src/modules/user-management/command/revokePermissionFromRole.test.ts +24 -62
  463. package/src/modules/user-management/command/revokePermissionFromRole.ts +5 -24
  464. package/src/modules/user-management/command/revokeRoleFromUser.generated.ts +1 -1
  465. package/src/modules/user-management/command/revokeRoleFromUser.test.ts +24 -60
  466. package/src/modules/user-management/command/revokeRoleFromUser.ts +5 -24
  467. package/src/modules/user-management/docs/commands/ActivateUser.md +7 -0
  468. package/src/modules/user-management/docs/commands/AssignPermissionToRole.md +7 -0
  469. package/src/modules/user-management/docs/commands/AssignRoleToUser.md +9 -0
  470. package/src/modules/user-management/docs/commands/CreatePermission.md +12 -0
  471. package/src/modules/user-management/docs/commands/CreateRole.md +9 -0
  472. package/src/modules/user-management/docs/commands/CreateUser.md +11 -0
  473. package/src/modules/user-management/docs/commands/DeactivateUser.md +7 -0
  474. package/src/modules/user-management/docs/commands/ReactivateUser.md +7 -0
  475. package/src/modules/user-management/docs/commands/RevokePermissionFromRole.md +7 -0
  476. package/src/modules/user-management/docs/commands/RevokeRoleFromUser.md +7 -0
  477. package/src/modules/user-management/index.ts +0 -30
  478. package/src/modules/user-management/lib/errors.generated.ts +14 -14
  479. package/src/modules/user-management/lib/permissions.generated.ts +1 -2
  480. package/src/modules/user-management/lib/recomputeUserPermissions.ts +4 -3
  481. package/src/modules/user-management/lib/types.ts +1 -1
  482. package/src/modules/user-management/module.ts +2 -7
  483. package/src/modules/user-management/tailor.config.ts +6 -4
  484. package/src/modules/user-management/tailor.d.ts +13 -0
  485. package/src/modules/user-management/testing/fixtures.ts +1 -20
  486. package/src/schemas.ts +1 -1
  487. package/src/{modules/shared → shared}/defineCommand.test.ts +23 -7
  488. package/src/{modules/shared → shared}/defineCommand.ts +19 -10
  489. package/src/{modules/shared/internal.ts → shared/index.ts} +9 -1
  490. package/src/shared/pagination.test.ts +43 -0
  491. package/src/shared/pagination.ts +22 -0
  492. package/src/{modules/shared → shared}/types.ts +13 -0
  493. package/src/{modules/testing → testing}/index.ts +14 -7
  494. package/src/testing.ts +1 -1
  495. package/src/util.ts +8 -0
  496. package/templates/config/license.config.json +4 -0
  497. package/templates/scaffold/app/backend/.env.example +1 -0
  498. package/templates/scaffold/app/backend/__dot__gitignore +4 -0
  499. package/templates/scaffold/app/backend/eslint.config.js +32 -0
  500. package/templates/scaffold/app/backend/package.json +31 -0
  501. package/templates/scaffold/app/backend/seed/data/AuditEvent.jsonl +0 -0
  502. package/templates/scaffold/app/backend/seed/data/Permission.jsonl +0 -0
  503. package/templates/scaffold/app/backend/seed/data/Permission.schema.ts +20 -0
  504. package/templates/scaffold/app/backend/seed/data/Role.jsonl +0 -0
  505. package/templates/scaffold/app/backend/seed/data/Role.schema.ts +20 -0
  506. package/templates/scaffold/app/backend/seed/data/RolePermission.jsonl +0 -0
  507. package/templates/scaffold/app/backend/seed/data/RolePermission.schema.ts +24 -0
  508. package/templates/scaffold/app/backend/seed/data/User.jsonl +1 -0
  509. package/templates/scaffold/app/backend/seed/data/User.schema.ts +20 -0
  510. package/templates/scaffold/app/backend/seed/data/UserRole.jsonl +0 -0
  511. package/templates/scaffold/app/backend/seed/data/UserRole.schema.ts +24 -0
  512. package/templates/scaffold/app/backend/seed/data/_User.jsonl +1 -0
  513. package/templates/scaffold/app/backend/seed/data/_User.schema.ts +30 -0
  514. package/templates/scaffold/app/backend/seed/exec.mjs +659 -0
  515. package/templates/scaffold/app/backend/src/executors/permissionCreated.ts +3 -0
  516. package/templates/scaffold/app/backend/src/executors/permissionDeleted.ts +3 -0
  517. package/templates/scaffold/app/backend/src/generated/kysely-tailordb.ts +83 -0
  518. package/templates/scaffold/app/backend/src/modules.ts +9 -0
  519. package/templates/scaffold/app/backend/src/resolvers/createUser.ts +46 -0
  520. package/templates/scaffold/app/backend/tailor.config.ts +68 -0
  521. package/templates/scaffold/app/backend/tailor.d.ts +15 -0
  522. package/templates/scaffold/app/backend/tsconfig.json +19 -0
  523. package/templates/scaffold/app/docs/actors/.gitkeep +0 -0
  524. package/templates/scaffold/app/docs/business-flow/.gitkeep +0 -0
  525. package/templates/scaffold/app/docs/resolver/.gitkeep +0 -0
  526. package/templates/scaffold/app/docs/screen/.gitkeep +0 -0
  527. package/templates/scaffold/app/frontend/.env.example +2 -0
  528. package/templates/scaffold/app/frontend/__dot__gitignore +3 -0
  529. package/templates/scaffold/app/frontend/components.json +23 -0
  530. package/templates/scaffold/app/frontend/eslint.config.js +48 -0
  531. package/templates/scaffold/app/frontend/index.html +13 -0
  532. package/templates/scaffold/app/frontend/package.json +53 -0
  533. package/templates/scaffold/app/frontend/scripts/generate-graphql.mjs +6 -0
  534. package/templates/scaffold/app/frontend/src/App.tsx +58 -0
  535. package/templates/scaffold/app/frontend/src/components/composed/empty-state.tsx +26 -0
  536. package/templates/scaffold/app/frontend/src/components/composed/error-fallback.tsx +28 -0
  537. package/templates/scaffold/app/frontend/src/components/composed/loading.tsx +13 -0
  538. package/templates/scaffold/app/frontend/src/components/ui/badge.tsx +39 -0
  539. package/templates/scaffold/app/frontend/src/components/ui/button.tsx +60 -0
  540. package/templates/scaffold/app/frontend/src/components/ui/card.tsx +75 -0
  541. package/templates/scaffold/app/frontend/src/components/ui/form.tsx +152 -0
  542. package/templates/scaffold/app/frontend/src/components/ui/input.tsx +21 -0
  543. package/templates/scaffold/app/frontend/src/components/ui/label.tsx +21 -0
  544. package/templates/scaffold/app/frontend/src/components/ui/spinner.tsx +16 -0
  545. package/templates/scaffold/app/frontend/src/components/ui/table.tsx +90 -0
  546. package/templates/scaffold/app/frontend/src/graphql/generated/graphql-env.d.ts +103 -0
  547. package/templates/scaffold/app/frontend/src/graphql/generated/schema.graphql +1235 -0
  548. package/templates/scaffold/app/frontend/src/graphql/index.ts +15 -0
  549. package/templates/scaffold/app/frontend/src/index.css +5 -0
  550. package/templates/scaffold/app/frontend/src/lib/auth-client.ts +17 -0
  551. package/templates/scaffold/app/frontend/src/lib/utils.ts +6 -0
  552. package/templates/scaffold/app/frontend/src/main.tsx +10 -0
  553. package/templates/scaffold/app/frontend/src/pages/page.tsx +20 -0
  554. package/templates/scaffold/app/frontend/src/pages/user-management/page.tsx +19 -0
  555. package/templates/scaffold/app/frontend/src/pages/user-management/profile/page.tsx +97 -0
  556. package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/components/user-detail.tsx +58 -0
  557. package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/page.tsx +51 -0
  558. package/templates/scaffold/app/frontend/src/pages/user-management/user/components/users-table.tsx +101 -0
  559. package/templates/scaffold/app/frontend/src/pages/user-management/user/create/components/create-user-form.tsx +99 -0
  560. package/templates/scaffold/app/frontend/src/pages/user-management/user/create/page.tsx +19 -0
  561. package/templates/scaffold/app/frontend/src/pages/user-management/user/page.tsx +61 -0
  562. package/templates/scaffold/app/frontend/src/providers/graphql-provider.tsx +21 -0
  563. package/templates/scaffold/app/frontend/tsconfig.app.json +35 -0
  564. package/templates/scaffold/app/frontend/tsconfig.json +16 -0
  565. package/templates/scaffold/app/frontend/tsconfig.node.json +23 -0
  566. package/templates/scaffold/app/frontend/vite.config.ts +23 -0
  567. package/templates/scaffold/module/command/.gitkeep +0 -0
  568. package/templates/scaffold/module/db/.gitkeep +0 -0
  569. package/templates/scaffold/module/executor/.gitkeep +0 -0
  570. package/templates/scaffold/module/generated/.gitkeep +0 -0
  571. package/templates/scaffold/module/index.ts +2 -0
  572. package/templates/scaffold/module/lib/errors.ts +1 -0
  573. package/templates/scaffold/module/lib/types.ts +4 -0
  574. package/templates/scaffold/module/module.ts +7 -0
  575. package/templates/scaffold/module/permissions.ts +3 -0
  576. package/templates/scaffold/module/query/.gitkeep +0 -0
  577. package/templates/scaffold/module/tailor.config.ts +13 -0
  578. package/templates/scaffold/module/testing/fixtures.ts +1 -0
  579. package/templates/workflows/erp-kit-check.yml +37 -0
  580. package/dist/cli.js +0 -1654
  581. package/skills/erp-kit-app-2-breakdown/SKILL.md +0 -88
  582. package/skills/erp-kit-app-3-doc-review/SKILL.md +0 -112
  583. package/skills/erp-kit-app-4-impl-spec/SKILL.md +0 -116
  584. package/skills/erp-kit-app-5-implementation/references/backend.md +0 -232
  585. package/skills/erp-kit-module-1-docs/SKILL.md +0 -111
  586. package/skills/erp-kit-module-2-feature-breakdown/SKILL.md +0 -76
  587. package/skills/erp-kit-module-3-doc-review/SKILL.md +0 -294
  588. package/skills/erp-kit-module-4-tdd/SKILL.md +0 -94
  589. package/skills/erp-kit-module-4-tdd/references/exports.md +0 -8
  590. package/skills/erp-kit-module-5-impl-review/SKILL.md +0 -410
  591. package/src/commands/scaffold-templates.ts +0 -65
  592. package/src/modules/shared/index.ts +0 -1
  593. package/src/modules/user-management/command/logAuditEvent.generated.ts +0 -6
  594. package/src/modules/user-management/command/logAuditEvent.test.ts +0 -187
  595. package/src/modules/user-management/command/logAuditEvent.ts +0 -56
  596. package/src/modules/user-management/db/auditEvent.ts +0 -47
  597. package/src/modules/user-management/docs/commands/LogAuditEvent.md +0 -37
  598. package/src/modules/user-management/docs/features/audit-trail.md +0 -80
  599. package/src/modules/user-management/docs/models/AuditEvent.md +0 -36
  600. /package/skills/{erp-kit-module-2-feature-breakdown → erp-kit-module-3-plan}/references/naming.md +0 -0
  601. /package/skills/{erp-kit-module-4-tdd → erp-kit-module-5-impl}/references/cross-module-dependency.md +0 -0
  602. /package/skills/{erp-kit-module-4-tdd → erp-kit-module-5-impl}/references/db-relations.md +0 -0
  603. /package/skills/{erp-kit-module-4-tdd → erp-kit-module-5-impl}/references/generated-code.md +0 -0
  604. /package/skills/{erp-kit-module-4-tdd → erp-kit-module-5-impl}/references/models.md +0 -0
  605. /package/skills/{erp-kit-module-5-impl-review → erp-kit-module-6-impl-review}/references/commands.md +0 -0
  606. /package/skills/{erp-kit-module-5-impl-review → erp-kit-module-6-impl-review}/references/testing.md +0 -0
  607. /package/src/modules/{product-management → audit}/.gitkeep +0 -0
  608. /package/src/{modules/shared → shared}/createContext.test.ts +0 -0
  609. /package/src/{modules/shared → shared}/createContext.ts +0 -0
  610. /package/src/{modules/shared → shared}/definePermissions.test.ts +0 -0
  611. /package/src/{modules/shared → shared}/definePermissions.ts +0 -0
  612. /package/src/{modules/shared → shared}/defineQuery.test.ts +0 -0
  613. /package/src/{modules/shared → shared}/defineQuery.ts +0 -0
  614. /package/src/{modules/shared → shared}/entityTypes.ts +0 -0
  615. /package/src/{modules/shared → shared}/errors.ts +0 -0
  616. /package/src/{modules/shared → shared}/requirePermission.test.ts +0 -0
  617. /package/src/{modules/shared → shared}/requirePermission.ts +0 -0
  618. /package/src/{modules/shared → shared}/result.ts +0 -0
@@ -0,0 +1,1235 @@
1
+ """"""
2
+ directive @tag(name: String!) on SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION
3
+
4
+ """"""
5
+ type Query {
6
+ """
7
+ Get the current user `User`. This field is only available to authorized users.
8
+ """
9
+ me: User
10
+
11
+ """"""
12
+ _users(query: _UserQueryInput, first: Int, after: String): _UserConnection
13
+
14
+ """"""
15
+ _user(id: ID!): _User
16
+
17
+ """
18
+ getMyProfile resolver
19
+
20
+ Returns:
21
+ Current user profile
22
+ """
23
+ getMyProfile: GetMyProfileOutput!
24
+
25
+ """role(GetList)"""
26
+ roles(query: RoleQueryInput, first: Int, after: String, last: Int, before: String, order: [RoleOrderInput]): RoleConnection!
27
+
28
+ """role(GetOne)"""
29
+ role(id: ID!): Role
30
+
31
+ """userRole(GetOne)"""
32
+ userRole(id: ID!): UserRole
33
+
34
+ """userRoleBy(GetOneBy)"""
35
+ userRoleBy(id: ID, userRoleUniqueIdx: UserRoleUniqueIdx): UserRole
36
+
37
+ """permission(GetList)"""
38
+ permissions(query: PermissionQueryInput, first: Int, after: String, last: Int, before: String, order: [PermissionOrderInput]): PermissionConnection!
39
+
40
+ """userBy(GetOneBy)"""
41
+ userBy(
42
+ """"""
43
+ id: ID
44
+
45
+ """User email address (unique identifier)"""
46
+ email: String
47
+ ): User
48
+
49
+ """roleBy(GetOneBy)"""
50
+ roleBy(
51
+ """"""
52
+ id: ID
53
+
54
+ """Role name (unique identifier)"""
55
+ name: String
56
+ ): Role
57
+
58
+ """auditEvent(GetOne)"""
59
+ auditEvent(id: ID!): AuditEvent
60
+
61
+ """auditEvent(GetList)"""
62
+ auditEvents(query: AuditEventQueryInput, first: Int, after: String, last: Int, before: String, order: [AuditEventOrderInput]): AuditEventConnection!
63
+
64
+ """user(GetList)"""
65
+ users(query: UserQueryInput, first: Int, after: String, last: Int, before: String, order: [UserOrderInput]): UserConnection!
66
+
67
+ """rolePermission(GetOne)"""
68
+ rolePermission(id: ID!): RolePermission
69
+
70
+ """user(GetOne)"""
71
+ user(id: ID!): User
72
+
73
+ """rolePermission(GetList)"""
74
+ rolePermissions(query: RolePermissionQueryInput, first: Int, after: String, last: Int, before: String, order: [RolePermissionOrderInput]): RolePermissionConnection!
75
+
76
+ """userRole(GetList)"""
77
+ userRoles(before: String, order: [UserRoleOrderInput], query: UserRoleQueryInput, first: Int, after: String, last: Int): UserRoleConnection!
78
+
79
+ """rolePermissionBy(GetOneBy)"""
80
+ rolePermissionBy(id: ID, rolePermissionUniqueIdx: RolePermissionUniqueIdx): RolePermission
81
+
82
+ """permission(GetOne)"""
83
+ permission(id: ID!): Permission
84
+
85
+ """permissionBy(GetOneBy)"""
86
+ permissionBy(
87
+ """"""
88
+ id: ID
89
+
90
+ """Permission key in resource:action format (e.g., orders:read)"""
91
+ key: String
92
+ ): Permission
93
+ }
94
+
95
+ """"""
96
+ type User {
97
+ """Document id"""
98
+ id: ID!
99
+
100
+ """Flattened permission keys from all assigned roles"""
101
+ permissions: [String!]
102
+
103
+ """User display name"""
104
+ name: String!
105
+
106
+ """User email address (unique identifier)"""
107
+ email: String!
108
+
109
+ """Create time"""
110
+ created: DateTime @deprecated
111
+
112
+ """Record creation timestamp"""
113
+ createdAt: DateTime!
114
+
115
+ """"""
116
+ userRoles(first: Int, after: String, last: Int, before: String, order: [UserRoleOrderInput], query: UserRoleQueryInput): UserRoleConnection!
117
+
118
+ """User status"""
119
+ status: UserStatus!
120
+
121
+ """created by"""
122
+ createdByID: ID @deprecated
123
+
124
+ """Update time"""
125
+ updated: DateTime @deprecated
126
+
127
+ """updated by"""
128
+ updatedByID: ID @deprecated
129
+
130
+ """Record last update timestamp"""
131
+ updatedAt: DateTime
132
+ }
133
+
134
+ """"""
135
+ type _UserConnection {
136
+ """"""
137
+ edges: [_UserEdge]
138
+
139
+ """"""
140
+ pageInfo: _PageInfo
141
+
142
+ """"""
143
+ totalCount: Int
144
+ }
145
+
146
+ """
147
+ The `DateTime` scalar type represents a DateTime. The DateTime is serialized as an RFC 3339 quoted string
148
+ """
149
+ scalar DateTime
150
+
151
+ """"""
152
+ input _CreateUserInput {
153
+ """"""
154
+ password: String
155
+
156
+ """"""
157
+ disabled: Boolean
158
+
159
+ """"""
160
+ name: String!
161
+ }
162
+
163
+ """"""
164
+ input _UserQueryInput {
165
+ """"""
166
+ ids: [ID!]
167
+
168
+ """"""
169
+ names: [String!]
170
+ }
171
+
172
+ """"""
173
+ type _PageInfo {
174
+ """"""
175
+ startCursor: String
176
+
177
+ """"""
178
+ endCursor: String
179
+
180
+ """"""
181
+ hasNextPage: Boolean!
182
+
183
+ """"""
184
+ hasPreviousPage: Boolean!
185
+ }
186
+
187
+ """Input for sending a password reset email to a user."""
188
+ input _SendPasswordResetEmailInput {
189
+ """The ID of the user to send the password reset email to."""
190
+ userId: ID!
191
+
192
+ """The URI to redirect to after the password reset is complete."""
193
+ redirectUri: String!
194
+ }
195
+
196
+ """"""
197
+ type _UserEdge {
198
+ """"""
199
+ node: _User
200
+
201
+ """"""
202
+ cursor: String
203
+ }
204
+
205
+ """"""
206
+ type _User {
207
+ """"""
208
+ createdAt: DateTime!
209
+
210
+ """"""
211
+ disabled: Boolean!
212
+
213
+ """"""
214
+ id: ID!
215
+
216
+ """"""
217
+ name: String!
218
+ }
219
+
220
+ """"""
221
+ type Mutation {
222
+ """"""
223
+ _sendPasswordResetEmail(input: _SendPasswordResetEmailInput): Boolean
224
+
225
+ """"""
226
+ _createUser(input: _CreateUserInput): _User
227
+
228
+ """"""
229
+ _updateUser(input: _UpdateUserInput): _User
230
+
231
+ """"""
232
+ _deleteUser(id: ID!): Boolean
233
+
234
+ """
235
+ createUser resolver
236
+
237
+ Returns:
238
+ Create user response
239
+ """
240
+ createUser(
241
+ """User name"""
242
+ name: String!
243
+
244
+ """User email"""
245
+ email: String!
246
+ ): CreateUserOutput!
247
+ }
248
+
249
+ """"""
250
+ input _UpdateUserInput {
251
+ """"""
252
+ password: String
253
+
254
+ """"""
255
+ disabled: Boolean
256
+
257
+ """"""
258
+ clearPassword: Boolean
259
+
260
+ """"""
261
+ id: ID!
262
+
263
+ """"""
264
+ name: String
265
+ }
266
+
267
+ """"""
268
+ input UUIDFilter {
269
+ """"""
270
+ in: [ID!]
271
+
272
+ """"""
273
+ nin: [ID!]
274
+
275
+ """"""
276
+ eq: ID
277
+
278
+ """"""
279
+ ne: ID
280
+ }
281
+
282
+ """"""
283
+ input StringFilter {
284
+ """"""
285
+ in: [String!]
286
+
287
+ """"""
288
+ nin: [String!]
289
+
290
+ """"""
291
+ contains: String
292
+
293
+ """"""
294
+ notContains: String
295
+
296
+ """"""
297
+ hasPrefix: String
298
+
299
+ """"""
300
+ hasSuffix: String
301
+
302
+ """"""
303
+ notHasPrefix: String
304
+
305
+ """"""
306
+ notHasSuffix: String
307
+
308
+ """"""
309
+ regex: String
310
+
311
+ """"""
312
+ eq: String
313
+
314
+ """"""
315
+ ne: String
316
+ }
317
+
318
+ """"""
319
+ input DateFilter {
320
+ """"""
321
+ gte: Date
322
+
323
+ """"""
324
+ gt: Date
325
+
326
+ """"""
327
+ lte: Date
328
+
329
+ """"""
330
+ lt: Date
331
+
332
+ """"""
333
+ eq: Date
334
+
335
+ """"""
336
+ ne: Date
337
+
338
+ """"""
339
+ in: [Date]
340
+
341
+ """"""
342
+ nin: [Date]
343
+
344
+ """"""
345
+ between: DateBetweenFilter
346
+ }
347
+
348
+ """"""
349
+ input DateBetweenFilter {
350
+ """"""
351
+ min: Date
352
+
353
+ """"""
354
+ max: Date
355
+ }
356
+
357
+ """"""
358
+ input TimeFilter {
359
+ """"""
360
+ gte: Time
361
+
362
+ """"""
363
+ gt: Time
364
+
365
+ """"""
366
+ lte: Time
367
+
368
+ """"""
369
+ lt: Time
370
+
371
+ """"""
372
+ eq: Time
373
+
374
+ """"""
375
+ ne: Time
376
+
377
+ """"""
378
+ in: [Time]
379
+
380
+ """"""
381
+ nin: [Time]
382
+
383
+ """"""
384
+ between: TimeBetweenFilter
385
+ }
386
+
387
+ """"""
388
+ input TimeBetweenFilter {
389
+ """"""
390
+ min: Time
391
+
392
+ """"""
393
+ max: Time
394
+ }
395
+
396
+ """The `Date` scalar type represents a date in format `YYYY-MM-DD`."""
397
+ scalar Date
398
+
399
+ """
400
+ The Time scalar type represents a Time. The Time is serialized as an `hh:mm` quoted string
401
+ """
402
+ scalar Time
403
+
404
+ """Create user response"""
405
+ type CreateUserOutput {
406
+ """Result message"""
407
+ message: String!
408
+ }
409
+
410
+ """Current user profile"""
411
+ type GetMyProfileOutput {
412
+ """User ID"""
413
+ id: String!
414
+
415
+ """User name"""
416
+ name: String!
417
+
418
+ """User email"""
419
+ email: String!
420
+
421
+ """User status"""
422
+ status: String!
423
+ }
424
+
425
+ """"""
426
+ type UserRole {
427
+ """Create time"""
428
+ created: DateTime @deprecated
429
+
430
+ """updated by"""
431
+ updatedByID: ID @deprecated
432
+
433
+ """Record last update timestamp"""
434
+ updatedAt: DateTime
435
+
436
+ """created by"""
437
+ createdByID: ID @deprecated
438
+
439
+ """"""
440
+ role: Role
441
+
442
+ """"""
443
+ user: User
444
+
445
+ """Update time"""
446
+ updated: DateTime @deprecated
447
+
448
+ """Record creation timestamp"""
449
+ createdAt: DateTime!
450
+
451
+ """Document id"""
452
+ id: ID!
453
+
454
+ """Foreign key to Role"""
455
+ roleId: ID!
456
+
457
+ """Foreign key to User"""
458
+ userId: ID!
459
+ }
460
+
461
+ """"""
462
+ type Role {
463
+ """"""
464
+ rolePermissions(query: RolePermissionQueryInput, first: Int, after: String, last: Int, before: String, order: [RolePermissionOrderInput]): RolePermissionConnection!
465
+
466
+ """Record last update timestamp"""
467
+ updatedAt: DateTime
468
+
469
+ """Document id"""
470
+ id: ID!
471
+
472
+ """Create time"""
473
+ created: DateTime @deprecated
474
+
475
+ """"""
476
+ userRoles(query: UserRoleQueryInput, first: Int, after: String, last: Int, before: String, order: [UserRoleOrderInput]): UserRoleConnection!
477
+
478
+ """created by"""
479
+ createdByID: ID @deprecated
480
+
481
+ """updated by"""
482
+ updatedByID: ID @deprecated
483
+
484
+ """Role name (unique identifier)"""
485
+ name: String!
486
+
487
+ """Update time"""
488
+ updated: DateTime @deprecated
489
+
490
+ """Record creation timestamp"""
491
+ createdAt: DateTime!
492
+
493
+ """Optional description of what this role represents"""
494
+ description: String
495
+ }
496
+
497
+ """"""
498
+ type RolePermission {
499
+ """Foreign key to Permission"""
500
+ permissionId: ID!
501
+
502
+ """Record last update timestamp"""
503
+ updatedAt: DateTime
504
+
505
+ """Document id"""
506
+ id: ID!
507
+
508
+ """created by"""
509
+ createdByID: ID @deprecated
510
+
511
+ """"""
512
+ permission: Permission
513
+
514
+ """updated by"""
515
+ updatedByID: ID @deprecated
516
+
517
+ """"""
518
+ role: Role
519
+
520
+ """Foreign key to Role"""
521
+ roleId: ID!
522
+
523
+ """Record creation timestamp"""
524
+ createdAt: DateTime!
525
+
526
+ """Update time"""
527
+ updated: DateTime @deprecated
528
+
529
+ """Create time"""
530
+ created: DateTime @deprecated
531
+ }
532
+
533
+ """role(Connection)"""
534
+ type RoleConnection {
535
+ """"""
536
+ edges: [RoleEdge!]!
537
+
538
+ """"""
539
+ pageInfo: PageInfo!
540
+
541
+ """"""
542
+ total: Int
543
+ }
544
+
545
+ """"""
546
+ input UserOrderInput {
547
+ """"""
548
+ field: UserOrderFieldEnum!
549
+
550
+ """"""
551
+ direction: OrderDirectionEnum
552
+ }
553
+
554
+ """"""
555
+ input StringArrayFilter {
556
+ """"""
557
+ len: ArrayLengthFilter
558
+
559
+ """"""
560
+ all: StringFilter
561
+
562
+ """"""
563
+ has: StringFilter
564
+
565
+ """"""
566
+ exists: Boolean
567
+ }
568
+
569
+ """role(QueryInput)"""
570
+ input RoleQueryInput {
571
+ """"""
572
+ description: StringFilter
573
+
574
+ """"""
575
+ name: StringFilter
576
+
577
+ """"""
578
+ and: [RoleQueryInput!]
579
+
580
+ """"""
581
+ or: [RoleQueryInput!]
582
+
583
+ """"""
584
+ not: [RoleQueryInput!]
585
+
586
+ """"""
587
+ id: UUIDFilter
588
+
589
+ """"""
590
+ createdAt: DatetimeFilter
591
+
592
+ """"""
593
+ updatedAt: DatetimeFilter
594
+ }
595
+
596
+ """"""
597
+ enum UserOrderFieldEnum {
598
+ """"""
599
+ email
600
+
601
+ """"""
602
+ status
603
+
604
+ """"""
605
+ createdAt
606
+
607
+ """"""
608
+ updatedAt
609
+
610
+ """"""
611
+ name
612
+ }
613
+
614
+ """"""
615
+ input PermissionOrderInput {
616
+ """"""
617
+ field: PermissionOrderFieldEnum!
618
+
619
+ """"""
620
+ direction: OrderDirectionEnum
621
+ }
622
+
623
+ """userRole(QueryInput)"""
624
+ input UserRoleQueryInput {
625
+ """"""
626
+ or: [UserRoleQueryInput!]
627
+
628
+ """"""
629
+ not: [UserRoleQueryInput!]
630
+
631
+ """"""
632
+ id: UUIDFilter
633
+
634
+ """"""
635
+ roleId: UUIDFilter
636
+
637
+ """"""
638
+ userId: UUIDFilter
639
+
640
+ """"""
641
+ createdAt: DatetimeFilter
642
+
643
+ """"""
644
+ updatedAt: DatetimeFilter
645
+
646
+ """"""
647
+ and: [UserRoleQueryInput!]
648
+ }
649
+
650
+ """"""
651
+ enum UserStatus {
652
+ """"""
653
+ PENDING
654
+
655
+ """"""
656
+ ACTIVE
657
+
658
+ """"""
659
+ INACTIVE
660
+ }
661
+
662
+ """"""
663
+ enum RoleOrderFieldEnum {
664
+ """"""
665
+ createdAt
666
+
667
+ """"""
668
+ updatedAt
669
+
670
+ """"""
671
+ description
672
+
673
+ """"""
674
+ name
675
+ }
676
+
677
+ """"""
678
+ enum AuditEventEventType {
679
+ """"""
680
+ PERMISSION_REVOKED
681
+
682
+ """"""
683
+ USER_CREATED
684
+
685
+ """"""
686
+ USER_ACTIVATED
687
+
688
+ """"""
689
+ USER_DEACTIVATED
690
+
691
+ """"""
692
+ USER_REACTIVATED
693
+
694
+ """"""
695
+ ROLE_ASSIGNED
696
+
697
+ """"""
698
+ ROLE_REVOKED
699
+
700
+ """"""
701
+ PERMISSION_ASSIGNED
702
+ }
703
+
704
+ """"""
705
+ input DatetimeBetweenFilter {
706
+ """"""
707
+ min: DateTime
708
+
709
+ """"""
710
+ max: DateTime
711
+ }
712
+
713
+ """Information about pagination in a connection"""
714
+ type PageInfo {
715
+ """"""
716
+ endCursor: String
717
+
718
+ """"""
719
+ hasNextPage: Boolean!
720
+
721
+ """"""
722
+ hasPreviousPage: Boolean!
723
+
724
+ """"""
725
+ startCursor: String
726
+ }
727
+
728
+ """permission(QueryInput)"""
729
+ input PermissionQueryInput {
730
+ """"""
731
+ updatedAt: DatetimeFilter
732
+
733
+ """"""
734
+ description: StringFilter
735
+
736
+ """"""
737
+ key: StringFilter
738
+
739
+ """"""
740
+ and: [PermissionQueryInput!]
741
+
742
+ """"""
743
+ or: [PermissionQueryInput!]
744
+
745
+ """"""
746
+ not: [PermissionQueryInput!]
747
+
748
+ """"""
749
+ id: UUIDFilter
750
+
751
+ """"""
752
+ createdAt: DatetimeFilter
753
+ }
754
+
755
+ """"""
756
+ enum PermissionOrderFieldEnum {
757
+ """"""
758
+ createdAt
759
+
760
+ """"""
761
+ updatedAt
762
+
763
+ """"""
764
+ description
765
+
766
+ """"""
767
+ key
768
+ }
769
+
770
+ """"""
771
+ input UserRoleOrderInput {
772
+ """"""
773
+ field: UserRoleOrderFieldEnum!
774
+
775
+ """"""
776
+ direction: OrderDirectionEnum
777
+ }
778
+
779
+ """permission(Edge)"""
780
+ type PermissionEdge {
781
+ """"""
782
+ node: Permission!
783
+
784
+ """"""
785
+ cursor: String!
786
+ }
787
+
788
+ """"""
789
+ input UserStatusEnumFilter {
790
+ """"""
791
+ ne: UserStatus
792
+
793
+ """"""
794
+ in: [UserStatus!]
795
+
796
+ """"""
797
+ nin: [UserStatus!]
798
+
799
+ """"""
800
+ eq: UserStatus
801
+ }
802
+
803
+ """rolePermission(QueryInput)"""
804
+ input RolePermissionQueryInput {
805
+ """"""
806
+ permissionId: UUIDFilter
807
+
808
+ """"""
809
+ roleId: UUIDFilter
810
+
811
+ """"""
812
+ createdAt: DatetimeFilter
813
+
814
+ """"""
815
+ and: [RolePermissionQueryInput!]
816
+
817
+ """"""
818
+ or: [RolePermissionQueryInput!]
819
+
820
+ """"""
821
+ not: [RolePermissionQueryInput!]
822
+
823
+ """"""
824
+ id: UUIDFilter
825
+
826
+ """"""
827
+ updatedAt: DatetimeFilter
828
+ }
829
+
830
+ """"""
831
+ enum RolePermissionOrderFieldEnum {
832
+ """"""
833
+ createdAt
834
+
835
+ """"""
836
+ updatedAt
837
+ }
838
+
839
+ """"""
840
+ input RolePermissionOrderInput {
841
+ """"""
842
+ field: RolePermissionOrderFieldEnum!
843
+
844
+ """"""
845
+ direction: OrderDirectionEnum
846
+ }
847
+
848
+ """"""
849
+ input RoleOrderInput {
850
+ """"""
851
+ field: RoleOrderFieldEnum!
852
+
853
+ """"""
854
+ direction: OrderDirectionEnum
855
+ }
856
+
857
+ """"""
858
+ enum AuditEventOrderFieldEnum {
859
+ """"""
860
+ payload
861
+
862
+ """"""
863
+ createdAt
864
+
865
+ """"""
866
+ eventType
867
+
868
+ """"""
869
+ updatedAt
870
+
871
+ """"""
872
+ targetType
873
+ }
874
+
875
+ """auditEvent(Edge)"""
876
+ type AuditEventEdge {
877
+ """"""
878
+ cursor: String!
879
+
880
+ """"""
881
+ node: AuditEvent!
882
+ }
883
+
884
+ """"""
885
+ enum UserRoleOrderFieldEnum {
886
+ """"""
887
+ createdAt
888
+
889
+ """"""
890
+ updatedAt
891
+ }
892
+
893
+ """userRole(Edge)"""
894
+ type UserRoleEdge {
895
+ """"""
896
+ node: UserRole!
897
+
898
+ """"""
899
+ cursor: String!
900
+ }
901
+
902
+ """rolePermission(Connection)"""
903
+ type RolePermissionConnection {
904
+ """"""
905
+ edges: [RolePermissionEdge!]!
906
+
907
+ """"""
908
+ pageInfo: PageInfo!
909
+
910
+ """"""
911
+ total: Int
912
+ }
913
+
914
+ """role(Edge)"""
915
+ type RoleEdge {
916
+ """"""
917
+ node: Role!
918
+
919
+ """"""
920
+ cursor: String!
921
+ }
922
+
923
+ """"""
924
+ type AuditEvent {
925
+ """Record creation timestamp"""
926
+ createdAt: DateTime!
927
+
928
+ """updated by"""
929
+ updatedByID: ID @deprecated
930
+
931
+ """Document id"""
932
+ id: ID!
933
+
934
+ """Type of audit event"""
935
+ eventType: AuditEventEventType!
936
+
937
+ """Type of the affected entity (User, Role, Permission)"""
938
+ targetType: String
939
+
940
+ """Create time"""
941
+ created: DateTime @deprecated
942
+
943
+ """Update time"""
944
+ updated: DateTime @deprecated
945
+
946
+ """ID of the user who performed the action"""
947
+ actorId: ID!
948
+
949
+ """JSON payload with additional event details"""
950
+ payload: String
951
+
952
+ """ID of the affected entity"""
953
+ targetId: ID
954
+
955
+ """created by"""
956
+ createdByID: ID @deprecated
957
+
958
+ """Record last update timestamp"""
959
+ updatedAt: DateTime
960
+ }
961
+
962
+ """auditEvent(Connection)"""
963
+ type AuditEventConnection {
964
+ """"""
965
+ edges: [AuditEventEdge!]!
966
+
967
+ """"""
968
+ pageInfo: PageInfo!
969
+
970
+ """"""
971
+ total: Int
972
+ }
973
+
974
+ """"""
975
+ input ArrayLengthFilter {
976
+ """"""
977
+ lte: Int
978
+
979
+ """"""
980
+ eq: Int
981
+
982
+ """"""
983
+ ne: Int
984
+
985
+ """"""
986
+ gt: Int
987
+
988
+ """"""
989
+ gte: Int
990
+
991
+ """"""
992
+ lt: Int
993
+ }
994
+
995
+ """user(Edge)"""
996
+ type UserEdge {
997
+ """"""
998
+ node: User!
999
+
1000
+ """"""
1001
+ cursor: String!
1002
+ }
1003
+
1004
+ """permission(Connection)"""
1005
+ type PermissionConnection {
1006
+ """"""
1007
+ edges: [PermissionEdge!]!
1008
+
1009
+ """"""
1010
+ pageInfo: PageInfo!
1011
+
1012
+ """"""
1013
+ total: Int
1014
+ }
1015
+
1016
+ """
1017
+ A new scalar called FieldSet is a custom scalar type that is used to represent a set of fields.
1018
+ """
1019
+ scalar FieldSet
1020
+
1021
+ """"""
1022
+ input RolePermissionUniqueIdx {
1023
+ """Foreign key to Role"""
1024
+ roleId: ID!
1025
+
1026
+ """Foreign key to Permission"""
1027
+ permissionId: ID!
1028
+ }
1029
+
1030
+ """user(Connection)"""
1031
+ type UserConnection {
1032
+ """"""
1033
+ edges: [UserEdge!]!
1034
+
1035
+ """"""
1036
+ pageInfo: PageInfo!
1037
+
1038
+ """"""
1039
+ total: Int
1040
+ }
1041
+
1042
+ """"""
1043
+ input UserRoleUniqueIdx {
1044
+ """Foreign key to User"""
1045
+ userId: ID!
1046
+
1047
+ """Foreign key to Role"""
1048
+ roleId: ID!
1049
+ }
1050
+
1051
+ """"""
1052
+ type Permission {
1053
+ """created by"""
1054
+ createdByID: ID @deprecated
1055
+
1056
+ """Optional description of what this permission grants"""
1057
+ description: String
1058
+
1059
+ """"""
1060
+ rolePermissions(order: [RolePermissionOrderInput], query: RolePermissionQueryInput, first: Int, after: String, last: Int, before: String): RolePermissionConnection!
1061
+
1062
+ """Record last update timestamp"""
1063
+ updatedAt: DateTime
1064
+
1065
+ """Update time"""
1066
+ updated: DateTime @deprecated
1067
+
1068
+ """Permission key in resource:action format (e.g., orders:read)"""
1069
+ key: String!
1070
+
1071
+ """Document id"""
1072
+ id: ID!
1073
+
1074
+ """Record creation timestamp"""
1075
+ createdAt: DateTime!
1076
+
1077
+ """updated by"""
1078
+ updatedByID: ID @deprecated
1079
+
1080
+ """Create time"""
1081
+ created: DateTime @deprecated
1082
+ }
1083
+
1084
+ """"""
1085
+ input AuditEventEventTypeEnumFilter {
1086
+ """"""
1087
+ eq: AuditEventEventType
1088
+
1089
+ """"""
1090
+ ne: AuditEventEventType
1091
+
1092
+ """"""
1093
+ in: [AuditEventEventType!]
1094
+
1095
+ """"""
1096
+ nin: [AuditEventEventType!]
1097
+ }
1098
+
1099
+ """"""
1100
+ input DatetimeFilter {
1101
+ """"""
1102
+ nin: [DateTime!]
1103
+
1104
+ """"""
1105
+ eq: DateTime
1106
+
1107
+ """"""
1108
+ lte: DateTime
1109
+
1110
+ """"""
1111
+ lt: DateTime
1112
+
1113
+ """"""
1114
+ gte: DateTime
1115
+
1116
+ """"""
1117
+ in: [DateTime!]
1118
+
1119
+ """"""
1120
+ between: DatetimeBetweenFilter
1121
+
1122
+ """"""
1123
+ ne: DateTime
1124
+
1125
+ """"""
1126
+ gt: DateTime
1127
+ }
1128
+
1129
+ """auditEvent(QueryInput)"""
1130
+ input AuditEventQueryInput {
1131
+ """"""
1132
+ and: [AuditEventQueryInput!]
1133
+
1134
+ """"""
1135
+ createdAt: DatetimeFilter
1136
+
1137
+ """"""
1138
+ updatedAt: DatetimeFilter
1139
+
1140
+ """"""
1141
+ or: [AuditEventQueryInput!]
1142
+
1143
+ """"""
1144
+ not: [AuditEventQueryInput!]
1145
+
1146
+ """"""
1147
+ eventType: AuditEventEventTypeEnumFilter
1148
+
1149
+ """"""
1150
+ actorId: UUIDFilter
1151
+
1152
+ """"""
1153
+ payload: StringFilter
1154
+
1155
+ """"""
1156
+ id: UUIDFilter
1157
+
1158
+ """"""
1159
+ targetId: UUIDFilter
1160
+
1161
+ """"""
1162
+ targetType: StringFilter
1163
+ }
1164
+
1165
+ """user(QueryInput)"""
1166
+ input UserQueryInput {
1167
+ """"""
1168
+ updatedAt: DatetimeFilter
1169
+
1170
+ """"""
1171
+ or: [UserQueryInput!]
1172
+
1173
+ """"""
1174
+ not: [UserQueryInput!]
1175
+
1176
+ """"""
1177
+ id: UUIDFilter
1178
+
1179
+ """"""
1180
+ name: StringFilter
1181
+
1182
+ """"""
1183
+ email: StringFilter
1184
+
1185
+ """"""
1186
+ status: UserStatusEnumFilter
1187
+
1188
+ """"""
1189
+ permissions: StringArrayFilter
1190
+
1191
+ """"""
1192
+ and: [UserQueryInput!]
1193
+
1194
+ """"""
1195
+ createdAt: DatetimeFilter
1196
+ }
1197
+
1198
+ """"""
1199
+ enum OrderDirectionEnum {
1200
+ """"""
1201
+ Desc
1202
+
1203
+ """"""
1204
+ Asc
1205
+ }
1206
+
1207
+ """"""
1208
+ input AuditEventOrderInput {
1209
+ """"""
1210
+ field: AuditEventOrderFieldEnum!
1211
+
1212
+ """"""
1213
+ direction: OrderDirectionEnum
1214
+ }
1215
+
1216
+ """userRole(Connection)"""
1217
+ type UserRoleConnection {
1218
+ """"""
1219
+ total: Int
1220
+
1221
+ """"""
1222
+ edges: [UserRoleEdge!]!
1223
+
1224
+ """"""
1225
+ pageInfo: PageInfo!
1226
+ }
1227
+
1228
+ """rolePermission(Edge)"""
1229
+ type RolePermissionEdge {
1230
+ """"""
1231
+ node: RolePermission!
1232
+
1233
+ """"""
1234
+ cursor: String!
1235
+ }