@simitgroup/simpleapp-generator 1.0.32 → 1.0.35

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 (281) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/README.md +185 -16
  3. package/buildinschemas copy/autoincreament.autoinc.jsonschema.json +39 -0
  4. package/buildinschemas copy/branch.branch.jsonschema.json +41 -0
  5. package/buildinschemas copy/docnoformat.docno.jsonschema.json +41 -0
  6. package/buildinschemas copy/organization.org.jsonschema.json +50 -0
  7. package/buildinschemas copy/permission.perm.jsonschema.json +23 -0
  8. package/buildinschemas copy/permission.perm.jsonschema.try.json +25 -0
  9. package/buildinschemas copy/tenant.tenant.jsonschema.json +21 -0
  10. package/buildinschemas copy/tenant.tenant.jsonschema.try.json +27 -0
  11. package/buildinschemas copy/user.user.jsonschema.json +31 -0
  12. package/dist/buildinschemas/autoincreament.d.ts +3 -0
  13. package/dist/buildinschemas/autoincreament.d.ts.map +1 -0
  14. package/dist/buildinschemas/autoincreament.js +36 -0
  15. package/dist/buildinschemas/autoincreament.js.map +1 -0
  16. package/dist/buildinschemas/branch.d.ts +3 -0
  17. package/dist/buildinschemas/branch.d.ts.map +1 -0
  18. package/dist/buildinschemas/branch.js +41 -0
  19. package/dist/buildinschemas/branch.js.map +1 -0
  20. package/dist/buildinschemas/docnoformat.d.ts +3 -0
  21. package/dist/buildinschemas/docnoformat.d.ts.map +1 -0
  22. package/dist/buildinschemas/docnoformat.js +60 -0
  23. package/dist/buildinschemas/docnoformat.js.map +1 -0
  24. package/dist/buildinschemas/index.d.ts +8 -0
  25. package/dist/buildinschemas/index.d.ts.map +1 -0
  26. package/dist/buildinschemas/index.js +18 -0
  27. package/dist/buildinschemas/index.js.map +1 -0
  28. package/dist/buildinschemas/organization.d.ts +3 -0
  29. package/dist/buildinschemas/organization.d.ts.map +1 -0
  30. package/dist/buildinschemas/organization.js +34 -0
  31. package/dist/buildinschemas/organization.js.map +1 -0
  32. package/dist/buildinschemas/permission.d.ts +3 -0
  33. package/dist/buildinschemas/permission.d.ts.map +1 -0
  34. package/dist/buildinschemas/permission.js +34 -0
  35. package/dist/buildinschemas/permission.js.map +1 -0
  36. package/dist/buildinschemas/tenant.d.ts +3 -0
  37. package/dist/buildinschemas/tenant.d.ts.map +1 -0
  38. package/dist/buildinschemas/tenant.js +41 -0
  39. package/dist/buildinschemas/tenant.js.map +1 -0
  40. package/dist/buildinschemas/user.d.ts +3 -0
  41. package/dist/buildinschemas/user.d.ts.map +1 -0
  42. package/dist/buildinschemas/user.js +31 -0
  43. package/dist/buildinschemas/user.js.map +1 -0
  44. package/dist/constant.d.ts +4 -0
  45. package/dist/constant.d.ts.map +1 -0
  46. package/dist/constant.js +2 -1
  47. package/dist/constant.js.map +1 -1
  48. package/dist/framework.d.ts +10 -0
  49. package/dist/framework.d.ts.map +1 -0
  50. package/dist/framework.js +120 -68
  51. package/dist/framework.js.map +1 -1
  52. package/dist/generate-allow-changebackend.js +305 -0
  53. package/dist/generate-allow-changebackend.js.map +1 -0
  54. package/dist/generate.d.ts +2 -0
  55. package/dist/generate.d.ts.map +1 -0
  56. package/dist/generate.js +310 -230
  57. package/dist/generate.js.map +1 -1
  58. package/dist/index.d.ts +3 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +84 -20
  61. package/dist/index.js.map +1 -1
  62. package/dist/libs.d.ts +2 -0
  63. package/dist/libs.d.ts.map +1 -0
  64. package/dist/processors/groupsbuilder.js +2 -0
  65. package/dist/processors/groupsbuilder.js.map +1 -0
  66. package/dist/processors/jsonschemabuilder.d.ts +4 -0
  67. package/dist/processors/jsonschemabuilder.d.ts.map +1 -0
  68. package/dist/processors/jsonschemabuilder.js +146 -172
  69. package/dist/processors/jsonschemabuilder.js.map +1 -1
  70. package/dist/schematype/baseschema.js +25 -0
  71. package/dist/schematype/baseschema.js.map +1 -0
  72. package/dist/schematype/default.js +2 -0
  73. package/dist/schematype/default.js.map +1 -0
  74. package/dist/schematype/index.js +12 -0
  75. package/dist/schematype/index.js.map +1 -0
  76. package/dist/schematype/primarymasterdata.js +38 -0
  77. package/dist/schematype/primarymasterdata.js.map +1 -0
  78. package/dist/schematype/simple.js +24 -0
  79. package/dist/schematype/simple.js.map +1 -0
  80. package/dist/schematype/simplemasterdata.js +31 -0
  81. package/dist/schematype/simplemasterdata.js.map +1 -0
  82. package/dist/schematype/transaction.js +74 -0
  83. package/dist/schematype/transaction.js.map +1 -0
  84. package/dist/storage.d.ts +3 -0
  85. package/dist/storage.d.ts.map +1 -0
  86. package/dist/storage.js +2 -2
  87. package/dist/storage.js.map +1 -1
  88. package/dist/type.d.ts +164 -0
  89. package/dist/type.d.ts.map +1 -0
  90. package/dist/type.js +16 -1
  91. package/dist/type.js.map +1 -1
  92. package/dist/validation.d.ts +1 -0
  93. package/dist/validation.d.ts.map +1 -0
  94. package/documentation/designconcept.bpmn +349 -0
  95. package/documentation/documentation.png +0 -0
  96. package/documentation/infra.drawio +141 -0
  97. package/documentation/infra.png +0 -0
  98. package/documentation/management.drawio +57 -0
  99. package/documentation/stack.drawio +106 -0
  100. package/package.json +3 -1
  101. package/src/buildinschemas/autoincreament.ts +34 -0
  102. package/src/buildinschemas/branch.ts +39 -0
  103. package/src/buildinschemas/docnoformat.ts +58 -0
  104. package/src/buildinschemas/index.ts +7 -0
  105. package/src/buildinschemas/organization.ts +31 -0
  106. package/src/buildinschemas/permission.ts +31 -0
  107. package/src/buildinschemas/tenant.ts +38 -0
  108. package/src/buildinschemas/user.ts +28 -0
  109. package/src/constant.ts +2 -1
  110. package/src/framework.ts +126 -67
  111. package/src/generate.ts +327 -266
  112. package/src/generate.ts.backup +339 -0
  113. package/src/index.ts +93 -18
  114. package/src/processors/jsonschemabuilder.ts +199 -226
  115. package/src/processors/jsonschemabuilder.ts-old +383 -0
  116. package/src/storage.ts +1 -1
  117. package/src/type.ts +94 -27
  118. package/templates/basic/nest/controller.ts.eta +255 -0
  119. package/templates/basic/nest/default.ts.eta +42 -0
  120. package/templates/basic/{model.eta → nest/model.ts.eta} +18 -5
  121. package/templates/basic/nest/processor.ts.eta +129 -0
  122. package/templates/basic/nest/service.ts.eta +64 -0
  123. package/templates/basic/{type.eta → nest/type.ts.eta} +3 -3
  124. package/templates/basic/nuxt/default.ts.eta +42 -0
  125. package/templates/basic/{pageindex.vue.eta → nuxt/pages.crud.vue.eta} +85 -22
  126. package/templates/basic/nuxt/simpleapp.doc.ts.eta +11 -0
  127. package/templates/basic/nuxt/simpleapp.generate.client.ts.eta +212 -0
  128. package/templates/nest/.env.eta +31 -0
  129. package/templates/nest/.gitignore.eta +40 -0
  130. package/templates/nest/src/app.controller.ts.eta +19 -0
  131. package/templates/nest/src/app.module.ts.eta +77 -0
  132. package/templates/nest/src/app.service.ts.eta +9 -0
  133. package/templates/nest/src/main.ts.eta +58 -0
  134. package/templates/nest/src/simpleapp/generate/apischemas/index.ts.eta +16 -0
  135. package/templates/nest/src/simpleapp/generate/commons/decorators/appuser.decorator.ts.eta +8 -0
  136. package/templates/nest/src/simpleapp/generate/commons/dicts/foreignkeys.ts.eta +1 -0
  137. package/templates/nest/src/simpleapp/generate/commons/docnogenerator.service.ts.eta +101 -0
  138. package/templates/nest/src/simpleapp/generate/commons/exceptions/SimpleAppExceptionFilter.ts.eta +39 -0
  139. package/templates/nest/src/simpleapp/generate/commons/interceptors/response.interceptor.ts.eta +38 -0
  140. package/templates/nest/src/simpleapp/generate/commons/middlewares/tenant.middleware.ts.eta +88 -0
  141. package/templates/nest/{Workflow.eta → src/simpleapp/generate/commons/providers/workflow.provider.ts.etax} +20 -14
  142. package/templates/nest/src/simpleapp/generate/commons/roles/roles.decorator.ts.eta +6 -0
  143. package/templates/nest/src/simpleapp/generate/commons/roles/roles.enum.ts.eta +28 -0
  144. package/templates/nest/src/simpleapp/generate/commons/roles/roles.group.ts.eta +10 -0
  145. package/templates/nest/src/simpleapp/generate/commons/roles/roles.guard.ts.eta +34 -0
  146. package/templates/nest/src/simpleapp/generate/commons/user.context.ts.eta +391 -0
  147. package/templates/nest/src/simpleapp/generate/controllers/simpleapp.controller.ts.eta +71 -0
  148. package/templates/nest/src/simpleapp/generate/models/perm.model.ts.eta +53 -0
  149. package/templates/nest/src/simpleapp/generate/models/tenant.model.ts.eta +45 -0
  150. package/templates/nest/src/simpleapp/generate/models/user.model.ts.eta +57 -0
  151. package/templates/nest/src/simpleapp/generate/processors/simpleapp.processor.ts.eta +624 -0
  152. package/templates/nest/src/simpleapp/generate/types/index.ts.eta +19 -0
  153. package/templates/nest/src/simpleapp/profile/profile.apischema.ts.eta +74 -0
  154. package/templates/nest/src/simpleapp/profile/profile.controller.ts.eta +110 -0
  155. package/templates/nest/src/simpleapp/profile/profile.service.ts.eta +195 -0
  156. package/templates/nest/src/simpleapp/profile/profile.types.ts.eta +18 -0
  157. package/templates/nest/src/simpleapp/services/autoinc.service.ts.eta +89 -0
  158. package/templates/nest/src/simpleapp/services/branch.service.ts.eta +66 -0
  159. package/templates/nest/src/simpleapp/services/docno.service.ts.eta +93 -0
  160. package/templates/nest/src/simpleapp/services/org.service.ts.eta +67 -0
  161. package/templates/nest/src/simpleapp/services/perm.service.ts.eta +102 -0
  162. package/templates/nest/src/simpleapp/services/tenant.service.ts.eta +69 -0
  163. package/templates/nest/src/simpleapp/services/user.service.ts.eta +66 -0
  164. package/templates/nest/src/simpleapp/simpleapp.module.ts.eta +43 -0
  165. package/templates/nuxt/.env.eta +21 -0
  166. package/templates/nuxt/.gitignore.eta +28 -0
  167. package/templates/nuxt/app.vue.eta +5 -2
  168. package/templates/nuxt/assets/css/tailwind.css.eta +35 -0
  169. package/templates/nuxt/components/CrudNestedDoc.vue.eta +164 -0
  170. package/templates/nuxt/components/CrudSimple.vue.eta +179 -0
  171. package/templates/nuxt/{components.debugdocdata.vue.eta → components/DebugDocumentData.vue.eta} +4 -1
  172. package/templates/nuxt/{components.eventmonitor.vue.eta → components/EventMonitor.vue.eta} +27 -27
  173. package/templates/nuxt/components/Invitation.vue.eta +50 -0
  174. package/templates/nuxt/components/Menus.vue.eta +58 -0
  175. package/templates/nuxt/components/PermissionInfo.vue.eta +92 -0
  176. package/templates/nuxt/components/SimpleAppAutocomplete.vue.eta +131 -0
  177. package/templates/nuxt/components/SimpleAppAutocompletemulti.vue.eta +73 -0
  178. package/templates/nuxt/components/SimpleAppCalendar.vue.eta +55 -0
  179. package/templates/nuxt/components/SimpleAppCheckbox.vue.eta +29 -0
  180. package/templates/nuxt/components/SimpleAppChip.vue.eta +28 -0
  181. package/templates/nuxt/components/SimpleAppColor.vue.eta +41 -0
  182. package/templates/nuxt/components/SimpleAppDatatable.vue.eta +20 -0
  183. package/templates/nuxt/components/SimpleAppDocumentNo.vue.eta +90 -0
  184. package/templates/nuxt/components/SimpleAppDynamicInput.vue.eta +29 -0
  185. package/templates/nuxt/components/SimpleAppEditor.vue.eta +31 -0
  186. package/templates/nuxt/components/SimpleAppForm.vue.eta +131 -0
  187. package/templates/nuxt/components/SimpleAppInputTable.vue.eta +104 -0
  188. package/templates/nuxt/components/SimpleAppList.vue.eta +38 -0
  189. package/templates/nuxt/components/SimpleAppListmulti.vue.eta +41 -0
  190. package/templates/nuxt/components/SimpleAppNumber.vue.eta +32 -0
  191. package/templates/nuxt/components/SimpleAppPassword.vue.eta +41 -0
  192. package/templates/nuxt/components/SimpleAppRadio.vue.eta +42 -0
  193. package/templates/nuxt/components/SimpleAppRating.vue.eta +41 -0
  194. package/templates/nuxt/components/SimpleAppSelect.vue.eta +38 -0
  195. package/templates/nuxt/components/SimpleAppSelectmulti.vue.eta +39 -0
  196. package/templates/nuxt/components/SimpleAppSlider.vue.eta +42 -0
  197. package/templates/nuxt/components/SimpleAppSwitch.vue.eta +30 -0
  198. package/templates/nuxt/components/SimpleAppText.vue.eta +50 -0
  199. package/templates/nuxt/components/SimpleAppTextarea.vue.eta +30 -0
  200. package/templates/nuxt/components/SimpleAppValue.vue.eta +86 -0
  201. package/templates/nuxt/components/SimpleFieldContainer.vue.eta +102 -0
  202. package/templates/nuxt/components/XorgPicker.vue.eta +66 -0
  203. package/templates/nuxt/components/helper.ts.eta +90 -0
  204. package/templates/nuxt/components/type.ts.eta +32 -0
  205. package/templates/nuxt/composables/docformat.generate.ts.eta +5 -0
  206. package/templates/nuxt/{composables.getautocomplete.ts.eta → composables/getAutocomplete.generate.ts.eta} +4 -5
  207. package/templates/nuxt/{composables.getmenus.ts.eta → composables/getMenus.generate.ts.eta} +22 -7
  208. package/templates/nuxt/composables/getOpenApi.generate.ts.eta +6 -0
  209. package/templates/nuxt/composables/getTenant.generate.ts.eta +4 -0
  210. package/templates/nuxt/composables/getUserStore.generate.ts.eta +22 -0
  211. package/templates/nuxt/composables/logout.generate.ts.eta +22 -0
  212. package/templates/nuxt/composables/roles.generate.ts.eta +48 -0
  213. package/templates/nuxt/composables/stringHelper.generate.ts.eta +5 -0
  214. package/templates/nuxt/{layouts.default.vue.eta → layouts/default.vue.eta} +2 -0
  215. package/templates/nuxt/middleware/10.acl.global.ts.eta +38 -0
  216. package/templates/nuxt/nuxt.config.ts.eta +12 -2
  217. package/templates/nuxt/pages/[xorg]/branch/index.vue.eta +102 -0
  218. package/templates/nuxt/pages/[xorg]/docnoformat/[id].vue.eta +17 -0
  219. package/templates/nuxt/pages/[xorg]/docnoformat/index.vue.eta +269 -0
  220. package/templates/nuxt/pages/[xorg]/index.vue.eta +36 -0
  221. package/templates/nuxt/pages/[xorg]/organization/index.vue.eta +148 -0
  222. package/templates/nuxt/pages/[xorg]/permission/index.vue.eta +280 -0
  223. package/templates/nuxt/pages/[xorg]/tenant/index.vue.eta +93 -0
  224. package/templates/nuxt/pages/[xorg]/user/index.vue.eta +468 -0
  225. package/templates/nuxt/pages/index.vue.eta +191 -0
  226. package/templates/nuxt/pages/login.vue.eta +21 -0
  227. package/templates/nuxt/plugins/10.simpleapp-event.ts.eta +53 -0
  228. package/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta +155 -0
  229. package/templates/nuxt/plugins/50.simpleapp-client.ts.eta +23 -0
  230. package/templates/nuxt/{server.api.ts.eta → server/api/[xorg]/[...].ts.eta} +5 -2
  231. package/templates/nuxt/server/api/auth/[...].ts.eta +68 -0
  232. package/templates/nuxt/{server.api.auth.logout.ts.eta → server/api/auth/logout.ts.eta} +1 -3
  233. package/templates/nuxt/server/api/profile/[...].ts.eta +150 -0
  234. package/templates/nuxt/server/api/profile/index.ts.eta +103 -0
  235. package/templates/nuxt/simpleapp/generate/clients/SimpleAppClient.ts.eta +187 -0
  236. package/templates/nuxt/simpleapp/generate/commons/documents.ts.eta +6 -0
  237. package/templates/nuxt/simpleapp/generate/commons/events.ts.eta +5 -0
  238. package/templates/nuxt/simpleapp/generate/commons/groups.ts.eta +11 -0
  239. package/templates/nuxt/simpleapp/generate/commons/roles.ts.eta +21 -0
  240. package/templates/nuxt/types/index.ts.eta +65 -0
  241. package/templates/project/README.md +11 -0
  242. package/templates/project/build.sh.eta +17 -0
  243. package/templates/project/config.json.eta +2 -0
  244. package/templates/project/generate.ts.eta +10 -0
  245. package/templates/project/schemas/category.ts.eta +26 -0
  246. package/templates/project/schemas/index.ts.eta +5 -0
  247. package/templates/project/schemas/product.ts.eta +59 -0
  248. package/templates/project/shares/hello.ts.eta +1 -0
  249. package/templates/project/shares/index.ts.eta +2 -0
  250. package/tsconfig.json +9 -2
  251. package/tsconfig.tsbuildinfo +1 -0
  252. package/definations/category.cat.jsonschema.json +0 -55
  253. package/definations/level.lvl.jsonschema.json +0 -48
  254. package/definations/product.prd.jsonschema.json +0 -46
  255. package/templates/basic/controller.eta +0 -152
  256. package/templates/basic/module.eta +0 -22
  257. package/templates/basic/service.eta +0 -62
  258. package/templates/basic/simpleappclient.eta +0 -120
  259. package/templates/nest/SimpleAppController.eta +0 -69
  260. package/templates/nest/SimpleAppService.eta +0 -366
  261. package/templates/nest/TenantMiddleware.eta +0 -34
  262. package/templates/nest/UserProvider.eta +0 -127
  263. package/templates/nest/app.controller.eta +0 -12
  264. package/templates/nest/app.module.eta +0 -64
  265. package/templates/nest/app.service.eta +0 -8
  266. package/templates/nest/inputvalidation-exception.eta +0 -6
  267. package/templates/nest/nest.env.eta +0 -28
  268. package/templates/nest/nest.main.eta +0 -31
  269. package/templates/nuxt/components.crudsimple.vue.eta +0 -124
  270. package/templates/nuxt/components.menus.vue.eta +0 -35
  271. package/templates/nuxt/env.eta +0 -17
  272. package/templates/nuxt/pages.[xorg].index.vue.eta +0 -20
  273. package/templates/nuxt/pages.index.vue.eta +0 -72
  274. package/templates/nuxt/pages.login.vue.eta +0 -20
  275. package/templates/nuxt/plugins.simpleapp.ts.eta +0 -88
  276. package/templates/nuxt/server.api.auth[...].ts.eta +0 -233
  277. package/templates/nuxt/tailwind.css.eta +0 -49
  278. /package/templates/basic/{apischema.eta → nest/apischema.ts.eta} +0 -0
  279. /package/templates/basic/{jsonschema.eta → nest/jsonschema.ts.eta} +0 -0
  280. /package/templates/basic/{pageindexwithid.vue.eta → nuxt/pages.[id].vue.eta} +0 -0
  281. /package/templates/nest/{oauth2-redirect.eta → public_html/oauth2-redirect.html.eta} +0 -0
@@ -0,0 +1,106 @@
1
+ <mxfile host="65bd71144e">
2
+ <diagram id="g2NRvyCy43iObyQwmQN3" name="Page-1">
3
+ <mxGraphModel dx="1092" dy="595" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
4
+ <root>
5
+ <mxCell id="0"/>
6
+ <mxCell id="1" parent="0"/>
7
+ <mxCell id="8" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="2" target="7">
8
+ <mxGeometry relative="1" as="geometry"/>
9
+ </mxCell>
10
+ <mxCell id="11" style="edgeStyle=none;html=1;" edge="1" parent="1" source="2" target="10">
11
+ <mxGeometry relative="1" as="geometry"/>
12
+ </mxCell>
13
+ <mxCell id="13" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="2" target="12">
14
+ <mxGeometry relative="1" as="geometry"/>
15
+ </mxCell>
16
+ <mxCell id="37" style="edgeStyle=none;html=1;" edge="1" parent="1" source="2" target="36">
17
+ <mxGeometry relative="1" as="geometry"/>
18
+ </mxCell>
19
+ <mxCell id="2" value="npm" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
20
+ <mxGeometry x="230" y="40" width="110" height="30" as="geometry"/>
21
+ </mxCell>
22
+ <mxCell id="4" value="Nuxt Frontend" style="swimlane;whiteSpace=wrap;html=1;" vertex="1" parent="1">
23
+ <mxGeometry x="80" y="140" width="200" height="200" as="geometry"/>
24
+ </mxCell>
25
+ <mxCell id="7" value="simpleapp-vue-component" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="4">
26
+ <mxGeometry x="30" y="40" width="110" height="30" as="geometry"/>
27
+ </mxCell>
28
+ <mxCell id="21" style="edgeStyle=none;html=1;" edge="1" parent="4" source="14" target="19">
29
+ <mxGeometry relative="1" as="geometry"/>
30
+ </mxCell>
31
+ <mxCell id="14" value="pages &amp;amp; client libs" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="4">
32
+ <mxGeometry x="40" y="90" width="110" height="30" as="geometry"/>
33
+ </mxCell>
34
+ <mxCell id="19" value="api-client" style="whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="4">
35
+ <mxGeometry x="40" y="150" width="75" height="35" as="geometry"/>
36
+ </mxCell>
37
+ <mxCell id="5" value="Nest Backend" style="swimlane;whiteSpace=wrap;html=1;" vertex="1" parent="1">
38
+ <mxGeometry x="310" y="140" width="200" height="200" as="geometry"/>
39
+ </mxCell>
40
+ <mxCell id="23" value="mongoose-schema" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="5">
41
+ <mxGeometry x="40" y="155" width="110" height="30" as="geometry"/>
42
+ </mxCell>
43
+ <mxCell id="24" value="doc-service" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="5">
44
+ <mxGeometry x="40" y="125" width="110" height="30" as="geometry"/>
45
+ </mxCell>
46
+ <mxCell id="25" value="api-countroller" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="5">
47
+ <mxGeometry x="40" y="95" width="110" height="30" as="geometry"/>
48
+ </mxCell>
49
+ <mxCell id="36" value="backend-libs" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="5">
50
+ <mxGeometry x="40" y="30" width="110" height="30" as="geometry"/>
51
+ </mxCell>
52
+ <mxCell id="6" value="Nest BPMN" style="swimlane;whiteSpace=wrap;html=1;" vertex="1" parent="1">
53
+ <mxGeometry x="530" y="140" width="200" height="200" as="geometry"/>
54
+ </mxCell>
55
+ <mxCell id="10" value="bpmn-server" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="6">
56
+ <mxGeometry x="30" y="40" width="110" height="30" as="geometry"/>
57
+ </mxCell>
58
+ <mxCell id="15" value="" style="edgeStyle=none;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="12" target="4">
59
+ <mxGeometry relative="1" as="geometry"/>
60
+ </mxCell>
61
+ <mxCell id="17" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="12" target="16">
62
+ <mxGeometry relative="1" as="geometry"/>
63
+ </mxCell>
64
+ <mxCell id="26" style="edgeStyle=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="12" target="5">
65
+ <mxGeometry relative="1" as="geometry"/>
66
+ </mxCell>
67
+ <mxCell id="27" style="edgeStyle=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="12" target="6">
68
+ <mxGeometry relative="1" as="geometry"/>
69
+ </mxCell>
70
+ <mxCell id="35" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="12" target="34">
71
+ <mxGeometry relative="1" as="geometry"/>
72
+ </mxCell>
73
+ <mxCell id="12" value="simpleapp-generator" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
74
+ <mxGeometry x="250" y="430" width="110" height="30" as="geometry"/>
75
+ </mxCell>
76
+ <mxCell id="20" style="edgeStyle=none;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="16" target="19">
77
+ <mxGeometry relative="1" as="geometry"/>
78
+ </mxCell>
79
+ <mxCell id="16" value="openapi-generator" style="whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
80
+ <mxGeometry x="140" y="380" width="75" height="35" as="geometry"/>
81
+ </mxCell>
82
+ <mxCell id="32" style="edgeStyle=none;html=1;" edge="1" parent="1" source="28" target="12">
83
+ <mxGeometry relative="1" as="geometry"/>
84
+ </mxCell>
85
+ <mxCell id="28" value="jsonschema" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
86
+ <mxGeometry x="175" y="550" width="120" height="80" as="geometry"/>
87
+ </mxCell>
88
+ <mxCell id="31" style="edgeStyle=none;html=1;" edge="1" parent="1" source="29" target="12">
89
+ <mxGeometry relative="1" as="geometry"/>
90
+ </mxCell>
91
+ <mxCell id="29" value="bpmn" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
92
+ <mxGeometry x="340" y="550" width="120" height="80" as="geometry"/>
93
+ </mxCell>
94
+ <mxCell id="33" style="edgeStyle=none;html=1;entryX=0.916;entryY=1.003;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="30" target="12">
95
+ <mxGeometry relative="1" as="geometry"/>
96
+ </mxCell>
97
+ <mxCell id="30" value="UI Design (One day)" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
98
+ <mxGeometry x="490" y="550" width="120" height="80" as="geometry"/>
99
+ </mxCell>
100
+ <mxCell id="34" value="mobile app (One day)" style="whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
101
+ <mxGeometry x="600" y="415" width="120" height="60" as="geometry"/>
102
+ </mxCell>
103
+ </root>
104
+ </mxGraphModel>
105
+ </diagram>
106
+ </mxfile>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simitgroup/simpleapp-generator",
3
- "version": "1.0.32",
3
+ "version": "1.0.35",
4
4
  "description": "frontend nuxtjs and backend nests code generator using jsonschema",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -20,6 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@apidevtools/json-schema-ref-parser": "^10.1.0",
23
+ "@simitgroup/simpleapp-vue-component": "^1.0.65",
23
24
  "ajv": "^8.12.0",
24
25
  "ajv-formats": "^2.1.1",
25
26
  "axios": "^1.5.0",
@@ -31,6 +32,7 @@
31
32
  "fs": "0.0.1-security",
32
33
  "json-schema": "^0.4.0",
33
34
  "json-schema-ref-parser": "^9.0.9",
35
+ "lodash": "^4.17.21",
34
36
  "path": "^0.12.7",
35
37
  "tslog": "^4.9.1"
36
38
  },
@@ -0,0 +1,34 @@
1
+ import {SchemaType,RESTMethods,IsolationType} from '../type'
2
+
3
+ export const autoincreament:SchemaType = {
4
+ type: "object",
5
+ "x-simpleapp-config":{
6
+ documentType:'autoinc',
7
+ documentName:'autoincreament',
8
+ isolationType:IsolationType.tenant,
9
+ pageType:"crud",
10
+ additionalApis:[{
11
+ action:"genNextNumber",
12
+ entrypoint:"gennextno/:collection/:field",
13
+ requiredrole:["User"],
14
+ method:RESTMethods.get,
15
+ execute:"generateNextNo",
16
+ description:"Get next no and trigger increase nextno"
17
+ }],
18
+ },
19
+ required:["nextno","collectionName","fieldName"],
20
+ properties: {
21
+ _id:{type:'string'},
22
+ created:{type:'string'},
23
+ updated:{type:'string'},
24
+ createdby:{type:'string'},
25
+ updatedby:{type:'string'},
26
+ tenantId: {type:'integer',default:1,minimum:1 },
27
+ orgId: {type:'integer',default:1,minimum:1 },
28
+ branchId: {type:'integer',default:1,minimum:1 },
29
+ collectionName: {type: "string",minLength:1,},
30
+ fieldName: {type: "string",minLength:1,},
31
+ nextno:{type: "integer","minimum":1}
32
+ }
33
+ }
34
+
@@ -0,0 +1,39 @@
1
+ import {SchemaType,RESTMethods,IsolationType} from '../type'
2
+
3
+ export const branch:SchemaType ={
4
+ type: "object",
5
+ "x-simpleapp-config":{
6
+ isolationType:IsolationType.tenant,
7
+ documentType:'branch',
8
+ documentName:'branch',
9
+ pageType:"crud",
10
+ uniqueKey:'branchCode',
11
+ documentTitle:'branchName',
12
+ additionalAutoCompleteFields: ['branchId']
13
+ },
14
+ "properties": {
15
+ _id:{type:'string'},
16
+ created:{type:'string'},
17
+ updated:{type:'string'},
18
+ createdby:{type:'string'},
19
+ updatedby:{type:'string'},
20
+ tenantId: {type:'integer',default:1,minimum:1 },
21
+ orgId: {type:'integer',default:1,minimum:1 },
22
+ branchId: {type:'integer',default:1,minimum:1 },
23
+ organization:{
24
+ type:"object",
25
+ "x-foreignkey":"organization",
26
+ properties:{
27
+ "_id":{"type":"string"},
28
+ "code":{"type":"string"},
29
+ "label":{"type":"string"},
30
+ "orgId":{"type":"integer"}
31
+ }
32
+ },
33
+ branchCode: {type: "string",minLength:1},
34
+ branchName: {type: "string",minLength:1},
35
+ active: {type: "boolean",default:true},
36
+ description: {type: "string",}
37
+ }
38
+
39
+ }
@@ -0,0 +1,58 @@
1
+ import {SchemaType,RESTMethods,IsolationType} from '../type'
2
+
3
+ export const docnoformat:SchemaType ={
4
+ type: "object",
5
+ "x-simpleapp-config":{
6
+ isolationType:IsolationType.tenant,
7
+ documentType:'docno',
8
+ documentName:'docnoformat',
9
+ pageType:"crud",
10
+ uniqueKey:'docNoFormatNo',
11
+ documentTitle:'docNoFormatName',
12
+ additionalAutoCompleteFields: ['default'],
13
+ additionalApis:[{
14
+ "action":"listDocFormats",
15
+ "entrypoint":"/listdocformats/:doctype",
16
+ "requiredrole":["User"],
17
+ "method":RESTMethods.get,
18
+ "execute":"listDocFormats",
19
+ "description":"get list of document format for 1 doctype"
20
+ } ]
21
+ },
22
+
23
+ properties: {
24
+ _id:{type:'string'},
25
+ created:{type:'string'},
26
+ updated:{type:'string'},
27
+ createdby:{type:'string'},
28
+ updatedby:{type:'string'},
29
+ tenantId: {type:'integer',default:1,minimum:1 },
30
+ orgId: {type:'integer',default:1,minimum:1 },
31
+ branchId: {type:'integer',default:1,minimum:1 },
32
+ "docNoFormatNo": {"type": "string","examples": ["INV"]},
33
+ "docNoFormatName": { "type": "string", "examples": ["Invoice Default Format"]},
34
+ "active": {"type": "boolean","examples": [true],"default":true},
35
+ "default":{"type": "boolean","examples": [true],"default":true},
36
+ "docNoType": {"type": "string","examples": ["SI","PI"]},
37
+ "docNoPattern": {"type": "string","examples": ["SI{YYMM}-<000>","PI-2023-<0000>"],"description":"{date} format as ISO8601 symbol"},
38
+ "isMonthly": {"type": "boolean","examples": [false]},
39
+ "nextNumber":{"type":"integer","examples":[1],"default":1},
40
+ "monthlySetting": {
41
+ "type": "object",
42
+ "properties": {
43
+ "jan": {"type": "integer","default":1},
44
+ "feb": {"type": "integer","default":1},
45
+ "mar": {"type": "integer","default":1},
46
+ "apr": {"type": "integer","default":1},
47
+ "may": {"type": "integer","default":1},
48
+ "jun": {"type": "integer","default":1},
49
+ "jul": {"type": "integer","default":1},
50
+ "aug": {"type": "integer","default":1},
51
+ "sep": {"type": "integer","default":1},
52
+ "oct": {"type": "integer","default":1},
53
+ "nov": {"type": "integer","default":1},
54
+ "dec": {"type": "integer","default":1}
55
+ }
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,7 @@
1
+ export {tenant} from './tenant'
2
+ export {organization} from './organization'
3
+ export {branch} from './branch'
4
+ export {permission} from './permission'
5
+ export {user} from './user'
6
+ export {autoincreament} from './autoincreament'
7
+ export {docnoformat} from './docnoformat'
@@ -0,0 +1,31 @@
1
+ import {SchemaType,RESTMethods,IsolationType} from '../type'
2
+
3
+ export const organization:SchemaType ={
4
+ type: "object",
5
+ "x-simpleapp-config":{
6
+ isolationType:IsolationType.tenant,
7
+ documentType:'org',
8
+ documentName:'organization',
9
+ pageType:"crud",
10
+ uniqueKey:'orgCode',
11
+ documentTitle:'orgName',
12
+ additionalAutoCompleteFields: ['orgId']
13
+ },
14
+ required:["orgId","orgCode","orgName"],
15
+ "properties": {
16
+ _id:{type:'string'},
17
+ created:{type:'string'},
18
+ updated:{type:'string'},
19
+ createdby:{type:'string'},
20
+ updatedby:{type:'string'},
21
+ tenantId: {type:'integer',default:1,minimum:1 },
22
+ orgId: {type:'integer',default:1,minimum:1 },
23
+ branchId: {type:'integer',default:1,minimum:1 },
24
+ orgCode: {"type": "string", "minLength":1,},
25
+ orgName: {type: "string",},
26
+ active: {type: "boolean","default":true,},
27
+ description: {type: "string",format:"text",},
28
+ timezone: {"type": "string","examples": ["Asia/Kuala_Lumpur"]
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ import {SchemaType,RESTMethods,IsolationType} from '../type'
2
+
3
+ export const permission:SchemaType ={
4
+ type: "object",
5
+ "x-simpleapp-config":{
6
+ documentType:'perm',
7
+ documentName:'permission',
8
+ isolationType:IsolationType.tenant,
9
+ additionalApis:[{
10
+ action:"listUser",
11
+ entrypoint:"listuser",
12
+ requiredrole:["SuperAdmin"],
13
+ method:RESTMethods.get,
14
+ execute:"listUser",
15
+ description:"Get current permissionlist lookup user info"
16
+ }]
17
+ },
18
+ properties: {
19
+ _id:{type:'string'},
20
+ created:{type:'string'},
21
+ updated:{type:'string'},
22
+ createdby:{type:'string'},
23
+ updatedby:{type:'string'},
24
+ tenantId: {type:'integer',default:1,minimum:1 ,"x-foreignkey":"branch" },
25
+ orgId: {type:'integer',default:1,minimum:1 ,"x-foreignkey":"branch" },
26
+ branchId: {type:'integer',default:1,minimum:1 ,"x-foreignkey":"branch" },
27
+ group: {"type": "string"},
28
+ uid: {"type": "string","x-foreignkey":"user"},
29
+ user_id : {"type":"string"}
30
+ }
31
+ }
@@ -0,0 +1,38 @@
1
+ import {SchemaType,RESTMethods,IsolationType} from '../type'
2
+
3
+ export const tenant:SchemaType ={
4
+ type: "object",
5
+ "x-simpleapp-config":{
6
+ isolationType:IsolationType.none,
7
+ requiredRoles:["SuperAdmin"],
8
+ pageType:'crud',
9
+ uniqueKey:'tenantId',
10
+ documentTitle:'tenantName',
11
+ documentName:'tenant',
12
+ documentType:'tenant',
13
+ },
14
+ required:["tenantId","tenantName","owner"],
15
+ properties: {
16
+ _id:{type:'string'},
17
+ created:{type:'string'},
18
+ updated:{type:'string'},
19
+ createdby:{type:'string'},
20
+ updatedby:{type:'string'},
21
+ tenantId: {type:'integer',default:1,minimum:1 },
22
+ orgId: {type:'integer',default:1,minimum:1 },
23
+ branchId: {type:'integer',default:1,minimum:1 },
24
+ tenantName: {type: "string", minLength:3},
25
+ active: {"type": "boolean","examples": [true],default:true},
26
+ description: {"type": "string"},
27
+ owner: {
28
+ type: "object",
29
+ "x-foreignkey":"user",
30
+ required :["_id","label","uid"],
31
+ properties:{
32
+ _id: {type:'string'},
33
+ label: {type:'string'},
34
+ uid: {type:'string'},
35
+ }
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,28 @@
1
+ import {SchemaType,RESTMethods,IsolationType} from '../type'
2
+
3
+ export const user:SchemaType ={
4
+ type: "object",
5
+ "x-simpleapp-config":{
6
+ documentType:'user',
7
+ documentName:'user',
8
+ isolationType:IsolationType.tenant,
9
+ uniqueKey:'email',
10
+ documentTitle:'fullname',
11
+ requiredRoles:["SuperUser"],
12
+ additionalAutoCompleteFields:['uid']
13
+ },
14
+ properties: {
15
+ _id:{type:'string'},
16
+ created:{type:'string'},
17
+ updated:{type:'string'},
18
+ createdby:{type:'string'},
19
+ updatedby:{type:'string'},
20
+ tenantId: {type:'integer',default:1,minimum:1 },
21
+ orgId: {type:'integer',default:1,minimum:1 },
22
+ branchId: {type:'integer',default:1,minimum:1 },
23
+ uid: {type: "string",},
24
+ fullname: {type: "string",minLength:3},
25
+ email: {type: "string",minLength:10,format: "email"},
26
+ active: {type: "boolean",default:true}
27
+ }
28
+ }
package/src/constant.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export const templatedir=__dirname+'/../templates'
2
- export const srcdir=__dirname
2
+ export const srcdir=__dirname
3
+ export const buildinschemafolder=__dirname+'/buildinschemas'