@simitgroup/simpleapp-generator 1.2.6 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/dist/buildinschemas/organization.js +2 -2
- package/dist/buildinschemas/organization.js.map +1 -1
- package/dist/framework.js +3 -3
- package/dist/framework.js.map +1 -1
- package/package.json +1 -1
- package/src/buildinschemas/organization.ts +2 -2
- package/src/framework.ts +3 -3
- package/templates/basic/nest/controller.ts.eta +25 -21
- package/templates/basic/nest/service.ts.eta +5 -5
- package/templates/basic/nuxt/default.ts.eta +1 -1
- package/templates/basic/nuxt/pages.form.vue.eta +4 -4
- package/templates/basic/nuxt/pages.landing.vue.eta +9 -0
- package/templates/basic/nuxt/pages.viewer.vue.eta +4 -3
- package/templates/basic/nuxt/simpleapp.generate.client.ts.eta +6 -17
- package/templates/nest/src/simpleapp/apischemas/index.ts._eta +10 -0
- package/templates/nest/src/simpleapp/generate/apischemas/index.ts.eta +7 -19
- package/templates/nest/src/simpleapp/generate/apischemas/simpleapp.apischema.ts.eta +20 -0
- package/templates/nest/src/simpleapp/generate/commons/user.context.ts.eta +9 -3
- package/templates/nest/src/simpleapp/generate/types/index.ts.eta +3 -3
- package/templates/nest/src/simpleapp/generate/types/simpleapp.type.ts.eta +1 -4
- package/templates/nest/src/simpleapp/types/index.ts._eta +7 -0
- package/templates/nuxt/app.vue.eta +7 -3
- package/templates/nuxt/assets/css/calendar.css._eta +50 -0
- package/templates/nuxt/assets/css/style.css._eta +1 -5
- package/templates/nuxt/assets/primevue/passthrough.ts._eta +38 -16
- package/templates/nuxt/components/button/ButtonDanger.vue._eta +6 -0
- package/templates/nuxt/components/button/ButtonDefault.vue._eta +6 -0
- package/templates/nuxt/components/button/ButtonPrimary.vue._eta +6 -0
- package/templates/nuxt/components/button/ButtonWarning.vue._eta +6 -0
- package/templates/nuxt/components/calendar/CalendarByResource.vue.eta +188 -0
- package/templates/nuxt/components/calendar/CalendarSmall.vue.eta +74 -0
- package/templates/nuxt/components/docPage/DocPageList.vue.eta +48 -40
- package/templates/nuxt/components/event/EventDocumentViewer.vue._eta +12 -12
- package/templates/nuxt/components/event/EventNotification.vue._eta +23 -2
- package/templates/nuxt/components/header/HeaderBar.vue._eta +32 -19
- package/templates/nuxt/components/header/HeaderBreadcrumb.vue.eta +2 -2
- package/templates/nuxt/components/header/button/HeaderButtonMenuPicker.vue._eta +7 -15
- package/templates/nuxt/components/header/button/HeaderButtonProfile.vue.eta +23 -34
- package/templates/nuxt/components/list/ListView.vue.eta +10 -8
- package/templates/nuxt/components/renderer/RendererBoolean.vue.eta +6 -1
- package/templates/nuxt/components/renderer/RendererDate.vue.eta +6 -0
- package/templates/nuxt/components/renderer/RendererForeignKey.vue.eta +7 -1
- package/templates/nuxt/components/renderer/RendererLink.vue.eta +33 -0
- package/templates/nuxt/components/renderer/RendererMoney.vue.eta +20 -2
- package/templates/nuxt/components/renderer/RendererMultiText.vue.eta +6 -0
- package/templates/nuxt/components/renderer/RendererViewer.vue.eta +32 -0
- package/templates/nuxt/components/renderer/{index.ts.eta → index.ts._eta} +10 -2
- package/templates/nuxt/components/simpleApp/SimpleAppAutocomplete.vue.eta +37 -12
- package/templates/nuxt/components/simpleApp/SimpleAppDocumentNo.vue.eta +8 -2
- package/templates/nuxt/components/simpleApp/SimpleAppFieldContainer.vue.eta +24 -17
- package/templates/nuxt/components/simpleApp/SimpleAppForm.vue.eta +1 -1
- package/templates/nuxt/components/simpleApp/SimpleAppFormToolBar.vue.eta +3 -2
- package/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta +25 -8
- package/templates/nuxt/components/simpleApp/SimpleAppInputTable.vue.eta +4 -3
- package/templates/nuxt/components/simpleApp/pending/SimpleAppValue.vue +1 -1
- package/templates/nuxt/components/user/UserProfileListItem.vue.eta +2 -2
- package/templates/nuxt/composables/date.generate.ts.eta +16 -0
- package/templates/nuxt/composables/goTo.generate.ts.eta +1 -0
- package/templates/nuxt/composables/screensize.generate.ts.eta +1 -0
- package/templates/nuxt/composables/stringHelper.generate.ts.eta +3 -6
- package/templates/nuxt/error.vue._eta +4 -4
- package/templates/nuxt/layouts/default.vue._eta +32 -8
- package/templates/nuxt/layouts/loginlayout.vue._eta +3 -0
- package/templates/nuxt/layouts/mobile.vue._eta +29 -0
- package/templates/nuxt/nuxt.config.ts._eta +27 -13
- package/templates/nuxt/pages/[xorg]/index.vue._eta +11 -9
- package/templates/nuxt/pages/[xorg]/organization.vue.eta +5 -0
- package/templates/nuxt/pages/[xorg]/user/{index.vue._eta → index.vue.eta} +10 -12
- package/templates/nuxt/pages/login.vue._eta +34 -0
- package/templates/nuxt/plugins/10.simpleapp-event.ts.eta +35 -22
- package/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta +6 -0
- package/templates/nuxt/server/api/[xorg]/[...].ts.eta +7 -40
- package/templates/nuxt/server/api/profile/[...].ts.eta +3 -32
- package/templates/nuxt/simpleapp/generate/clients/SimpleAppClient.ts.eta +1 -1
- package/templates/nuxt/types/calendar.ts.eta +61 -0
- package/templates/nuxt/types/documentlist.ts.eta +6 -0
- package/templates/nuxt/types/events.ts.eta +5 -5
- package/templates/nuxt/types/index.ts._eta +4 -3
- package/templates/nuxt/types/listview.ts.eta +6 -0
- package/templates/nuxt/types/notifications.ts.eta +6 -1
- package/templates/nuxt/types/others.ts.eta +10 -2
- package/templates/nuxt/types/schema.ts.eta +8 -0
- package/templates/nuxt/types/simpleappinput.ts.eta +6 -0
- package/templates/nuxt/types/user.ts.eta +8 -0
- package/templates/nuxt/types/workflow.ts.eta +6 -1
- package/templates/project/lang/default._json +4 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/templates/nuxt/pages/login.vue.eta +0 -30
- /package/templates/nuxt/pages/[xorg]/user/{[id].vue._eta → [id].vue.eta} +0 -0
- /package/templates/nuxt/pages/[xorg]/{user.vue._eta → user.vue.eta} +0 -0
package/README.md
CHANGED
|
@@ -34,6 +34,12 @@ SimpleApp generator is a typescript code generator for convert jsonschemas becom
|
|
|
34
34
|
4. [End to End test](./docs/test.md)
|
|
35
35
|
5. [BPMN walk through](./docs/bpmn.md)
|
|
36
36
|
6. [Language](./doc/language.md)
|
|
37
|
+
7. Viewer, with add, update. using event after and properties `paras`
|
|
38
|
+
8. Document Status
|
|
39
|
+
9. Additional Api & define api schema
|
|
40
|
+
10.SimpleAppInputs
|
|
41
|
+
11.Role Base Access Control
|
|
42
|
+
|
|
37
43
|
|
|
38
44
|
# Quick start
|
|
39
45
|
1. Simpleapp implement database transaction, and require mongodb cluster, below setup 3 nodes
|
|
@@ -28,8 +28,8 @@ exports.organization = {
|
|
|
28
28
|
orgName: { type: "string", },
|
|
29
29
|
active: { type: "boolean", "default": true, },
|
|
30
30
|
description: { type: "string", format: "text", },
|
|
31
|
-
timeZone: { "type": "string", "examples": ["Asia/Kuala_Lumpur"]
|
|
32
|
-
}
|
|
31
|
+
timeZone: { "type": "string", "examples": ["Asia/Kuala_Lumpur"] },
|
|
32
|
+
currency: { "type": "string", minimum: 3, maximum: 3 }
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
//# sourceMappingURL=organization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/buildinschemas/organization.ts"],"names":[],"mappings":";;;AAAA,kCAA4D;AAE/C,QAAA,YAAY,GAAa;IAClC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAC;QACjB,aAAa,EAAC,oBAAa,CAAC,MAAM;QAClC,YAAY,EAAC,KAAK;QAClB,YAAY,EAAC,cAAc;QAC3B,QAAQ,EAAC,MAAM;QACf,SAAS,EAAC,SAAS;QACnB,UAAU,EAAC,CAAE,CAAC,OAAO,CAAC,CAAE;QACxB,aAAa,EAAC,SAAS;QACvB,4BAA4B,EAAE,CAAC,OAAO,CAAC;KAC1C;IACD,QAAQ,EAAC,CAAC,OAAO,EAAC,SAAS,EAAC,SAAS,CAAC;IACtC,YAAY,EAAE;QACV,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACnB,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACvB,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACvB,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACzB,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACzB,QAAQ,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC/C,KAAK,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC5C,QAAQ,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC/C,OAAO,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAG,WAAW,EAAC,CAAC,GAAE;QAC5C,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,GAAE;QAC1B,MAAM,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,SAAS,EAAC,IAAI,GAAE;QACzC,WAAW,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,EAAC,MAAM,GAAE;QAC5C,QAAQ,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,UAAU,EAAE,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/buildinschemas/organization.ts"],"names":[],"mappings":";;;AAAA,kCAA4D;AAE/C,QAAA,YAAY,GAAa;IAClC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAC;QACjB,aAAa,EAAC,oBAAa,CAAC,MAAM;QAClC,YAAY,EAAC,KAAK;QAClB,YAAY,EAAC,cAAc;QAC3B,QAAQ,EAAC,MAAM;QACf,SAAS,EAAC,SAAS;QACnB,UAAU,EAAC,CAAE,CAAC,OAAO,CAAC,CAAE;QACxB,aAAa,EAAC,SAAS;QACvB,4BAA4B,EAAE,CAAC,OAAO,CAAC;KAC1C;IACD,QAAQ,EAAC,CAAC,OAAO,EAAC,SAAS,EAAC,SAAS,CAAC;IACtC,YAAY,EAAE;QACV,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACnB,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACvB,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACvB,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACzB,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACzB,QAAQ,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC/C,KAAK,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC5C,QAAQ,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC/C,OAAO,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAG,WAAW,EAAC,CAAC,GAAE;QAC5C,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,GAAE;QAC1B,MAAM,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,SAAS,EAAC,IAAI,GAAE;QACzC,WAAW,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,EAAC,MAAM,GAAE;QAC5C,QAAQ,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,UAAU,EAAE,CAAC,mBAAmB,CAAC,EAAC;QAC9D,QAAQ,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC;KACjD;CACF,CAAA"}
|
package/dist/framework.js
CHANGED
|
@@ -175,7 +175,7 @@ const prepareProject = async (callback) => {
|
|
|
175
175
|
});
|
|
176
176
|
// fs.mkdirSync(`${dir}/groups`,{recursive:true})
|
|
177
177
|
// fs.mkdirSync(`${dir}/schemas`,{recursive:true})
|
|
178
|
-
// fs.mkdirSync(`${dir}/shares`,{recursive:true})
|
|
178
|
+
// fs.mkdirSync(`${dir}/shares`,{recursive:true})
|
|
179
179
|
};
|
|
180
180
|
exports.prepareProject = prepareProject;
|
|
181
181
|
//prepare nuxt project for simpleapp generator
|
|
@@ -183,10 +183,10 @@ const prepareNuxt = (callback) => {
|
|
|
183
183
|
const targetfolder = config.frontendFolder;
|
|
184
184
|
if (!fs_1.default.existsSync(`${targetfolder}/.env`)) {
|
|
185
185
|
//asume no environment. prepare now
|
|
186
|
-
(0, child_process_1.exec)(`cd ${targetfolder};pnpm install;pnpm install -D @nuxtjs/color-mode @types/json-schema @nuxtjs/i18n@next nuxt-primevue @nuxtjs/tailwindcss @types/jsonpath @sidebase/nuxt-auth @types/node @vueuse/nuxt @sidebase/nuxt-auth @vueuse/core prettier `, (error, stdout, stderr) => {
|
|
186
|
+
(0, child_process_1.exec)(`cd ${targetfolder};pnpm install;pnpm install -D @nuxtjs/device @nuxtjs/color-mode @types/json-schema @nuxtjs/i18n@next nuxt-primevue @nuxtjs/tailwindcss @types/jsonpath @sidebase/nuxt-auth @types/node @vueuse/nuxt @sidebase/nuxt-auth @vueuse/core prettier `, (error, stdout, stderr) => {
|
|
187
187
|
//;pnpm install
|
|
188
188
|
console.log(error, stdout, stderr);
|
|
189
|
-
(0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save tailwind-merge @iconify-json/heroicons json-schema @vueuse/core ts-md5 primeicons moment memory-cache jsonpath pinia @pinia/nuxt @nuxt/kit lodash @types/lodash @darkwolf/base64url next-auth@4.21.1 @darkwolf/base64url @nuxt/ui ajv ajv-formats ajv-errors dotenv @fullcalendar/core @fullcalendar/vue3 quill prettier axios json-schema mitt `, (error, stdout, stderr) => {
|
|
189
|
+
(0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save chart.js tailwind-merge @iconify-json/heroicons json-schema @vueuse/core ts-md5 primeicons moment memory-cache jsonpath pinia @pinia/nuxt @nuxt/kit lodash @types/lodash @darkwolf/base64url next-auth@4.21.1 @darkwolf/base64url @nuxt/ui ajv ajv-formats ajv-errors dotenv @fullcalendar/core @fullcalendar/vue3 quill prettier axios json-schema mitt `, (error, stdout, stderr) => {
|
|
190
190
|
console.log(error, stdout, stderr);
|
|
191
191
|
// fs.mkdirSync(`${targetfolder}/assets/css/`,{recursive:true})
|
|
192
192
|
// fs.mkdirSync(`${targetfolder}/layouts`,{recursive:true})
|
package/dist/framework.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA0E;AAC1E,iDAAwC;AACxC,oDAAsB;AACtB,iCAAwC;AACxC,sDAAuC;AACvC,6BAA0B;AAC1B,MAAM,GAAG,GAAoB,IAAI,cAAM,EAAE,CAAC;AAE1C,IAAI,MAAM,GAAG;IACT,kBAAkB,EAAC,eAAe;IAClC,YAAY,EAAC,EAAE;IACf,eAAe,EAAC,WAAW;IAC3B,aAAa,EAAC,UAAU;IACxB,YAAY,EAAC,QAAQ;IACrB,aAAa,EAAC,MAAM;IACpB,iBAAiB,EAAC,qCAAqC;IACvD,aAAa,EAAC,WAAW;IACzB,gBAAgB,EAAC,YAAY;IAC7B,cAAc,EAAC,MAAM;IACrB,cAAc,EAAC;QACX,cAAc,EAAC,8BAA8B;QAC7C,YAAY,EAAC,YAAY;QACzB,eAAe,EAAC,+CAA+C;QAC/D,aAAa,EAAC,WAAW;QACzB,mBAAmB,EAAC,qBAAqB;QACzC,oBAAoB,EAAC,WAAW;QAChC,WAAW,EAAC,YAAY;KAC3B;IACD,aAAa,EAAC;QACV,UAAU,EAAC,WAAW;QACtB,UAAU,EAAC,MAAM;QACjB,YAAY,EAAC,OAAO;KACvB;CACJ,CAAA;AAEM,MAAM,gBAAgB,GAAC,CAAC,UAAU,EAAC,EAAE;IACxC,MAAM,GAAC,UAAU,CAAA;AACrB,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B;AACD,2BAA2B;AACpB,MAAM,aAAa,GAAE,CAAC,QAAiB,EAAE,EAAE;IAC9C,MAAM,aAAa,GAAC,MAAM,CAAC,aAAa,CAAA;IACxC,IAAG,CAAC,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAC;QAC7B,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,KAAK,EAAC,CAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAE,aAAa,EAAE,qCAAqC,EAAE,MAAM,CAAC,EAC/F,EAAG,KAAK,EAAE,SAAS,GAAE,CAAC,CAAA;QACtC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAC,CAAC,QAAQ,EAAC,EAAE;YACzB,MAAM,MAAM,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAC,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAC,EAAG,KAAK,EAAE,SAAS,EAAC,CAAC,CAAA;YACtF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAC,CAAC,QAAQ,EAAC,EAAE;gBAC1B,QAAQ,EAAE,CAAA;YACd,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;KACL;SAAI;QACD,QAAQ,EAAE,CAAA;KACb;AACL,CAAC,CAAA;AAdY,QAAA,aAAa,iBAczB;AACD,2BAA2B;AACpB,MAAM,aAAa,GAAG,CAAC,QAAiB,EAAE,EAAE;IAC/C,MAAM,cAAc,GAAC,MAAM,CAAC,cAAc,CAAA;IAC1C,IAAG,CAAC,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAC;QAC9B,MAAM,MAAM,GAAG,IAAA,qBAAK,EAAC,KAAK,EAAC,CAAC,aAAa,EAAC,MAAM,EAAC,cAAc,CAAC,EAAC,EAAG,KAAK,EAAE,SAAS,GAAE,CAAC,CAAA;QACvF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAC,CAAC,QAAQ,EAAC,EAAE;YAC1B,QAAQ,EAAE,CAAA;QACd,CAAC,CAAC,CAAA;KACL;SAAI;QACD,QAAQ,EAAE,CAAA;KACb;AACL,CAAC,CAAA;AAVY,QAAA,aAAa,iBAUzB;AAEM,MAAM,WAAW,GAAG,CAAC,QAAiB,EAAC,EAAE;IAC5C,MAAM,YAAY,GAAE,MAAM,CAAC,aAAa,CAAA;IACxC,GAAG,CAAC,IAAI,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAA;IACpD,IAAG,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,YAAY,OAAO,CAAC,EAAC;QAItC,IAAA,oBAAI,EAAC,MAAM,YAAY,8WAA8W,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE;YACja,mCAAmC;YACnC,IAAG,CAAC,KAAK,EAAC;gBACN,+DAA+D;gBAC/D,qEAAqE;gBACrE,6BAA6B;gBAC7B,+EAA+E;gBAC/E,oEAAoE;gBACpE,kFAAkF;gBAElF,oDAAoD;gBACpD,wEAAwE;gBACxE,qGAAqG;gBACrG,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,GAAC,GAAG,GAAC,GAAG,YAAY,gBAAgB,CAAA;gBACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;gBACtC,QAAQ,CAAC,eAAe,CAAC,eAAe,GAAC,IAAI,CAAA;gBAC7C,QAAQ,CAAC,eAAe,CAAC,iBAAiB,GAAC,IAAI,CAAA;gBAC/C,YAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEzD,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;gBAClC,QAAQ,EAAE,CAAA;aAEb;iBAAK;gBACN,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACjB,MAAM,KAAK,CAAA;aACV;QACL,CAAC,CAAC,CAAA;KACL;SAAI;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,2CAA2C,CAAC,CAAA;QACpE,QAAQ,EAAE,CAAA;KACb;AACL,CAAC,CAAA;AAtCY,QAAA,WAAW,eAsCvB;AAEM,MAAM,cAAc,GAAI,KAAK,EAAE,QAAQ,EAAC,EAAE;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAE,GAAG,CAAA;IAC9B,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC1B,MAAM,sBAAsB,GAAG,GAAG,SAAS,CAAC,WAAW,WAAW,CAAA;IAClE,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,EAAC,KAAK,EAAC,sBAAsB,EAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG;QACT,MAAM,EAAC,MAAM;KAChB,CAAA;IACD,YAAE,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,WAAW,UAAU,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC,OAAO,CAAE,CAAC,YAAY,EAAC,EAAE;QACzF,MAAM,YAAY,GAAG,GAAG,sBAAsB,IAAI,YAAY,EAAE,CAAA;QAChE,MAAM,QAAQ,GAAU,gBAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QACvD,MAAM,YAAY,GAAG,GAAG,GAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAC,EAAE,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC9C,IAAG,YAAY,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,EAAC;YACzC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,YAAY,CAAC,CAAA;YAC3C,IAAA,cAAS,EAAC,YAAY,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAA;SAC3C;QACD,IAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAC;YACzB,MAAM,UAAU,GAAE,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAC,EAAE,CAAC,CAAA;YAC5D,GAAG,CAAC,IAAI,CAAC,UAAU,EAAC,aAAa,CAAC,CAAA;YAClC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,EAAC,IAAI,CAAC,CAAA;YACzC,6CAA6C;YAC7C,mBAAmB;YACnB,IAAA,kBAAa,EAAC,UAAU,EAAC,GAAG,CAAC,CAAA;SAChC;aAAK,IAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC;YAChC,MAAM,UAAU,GAAE,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAC,EAAE,CAAC,CAAA;YAC7D,GAAG,CAAC,IAAI,CAAC,UAAU,EAAC,aAAa,CAAC,CAAA;YAClC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,EAAC,IAAI,CAAC,CAAA;YACzC,IAAG,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAC;gBACvB,IAAA,kBAAa,EAAC,UAAU,EAAC,GAAG,CAAC,CAAA;aAChC;SAEJ;aAAK,IAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAC;YAC9B,MAAM,UAAU,GAAE,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAC,EAAE,CAAC,CAAA;YACnD,GAAG,CAAC,IAAI,CAAC,UAAU,EAAC,MAAM,CAAC,CAAA;YAC3B,IAAA,iBAAY,EAAC,YAAY,EAAE,UAAU,CAAC,CAAA;SACzC;IACL,CAAC,CAAC,CAAA;IAEF,MAAM,IAAA,oBAAI,EAAC,yBAAyB,EAAC,GAAE,EAAE;QACrC,QAAQ,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAIF,iDAAiD;IACjD,kDAAkD;IAClD,qDAAqD;AAEzD,CAAC,CAAA;AAjDY,QAAA,cAAc,kBAiD1B;AACD,8CAA8C;AACvC,MAAM,WAAW,GAAG,CAAC,QAAiB,EAAC,EAAE;IAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAA;IAC1C,IAAG,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,YAAY,OAAO,CAAC,EAAC;QACtC,mCAAmC;QACnC,IAAA,oBAAI,EAAC,MAAM,YAAY,kPAAkP,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE;YAChS,mBAAmB;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YAC9B,IAAA,oBAAI,EAAC,MAAM,YAAY,iXAAiX,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE;gBACna,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;gBAElC,+DAA+D;gBAC/D,2DAA2D;gBAC3D,8DAA8D;gBAC9D,qEAAqE;gBACrE,mEAAmE;gBACnE,gEAAgE;gBAChE,2DAA2D;gBAC3D,+EAA+E;gBAC/E,yBAAyB;gBACzB,mBAAmB;gBACnB,iEAAiE;gBACjE,yDAAyD;gBACzD,0DAA0D;gBAC1D,qEAAqE;gBACrE,kEAAkE;gBAClE,+CAA+C;gBAC/C,iDAAiD;gBACjD,+DAA+D;gBAC/D,iDAAiD;gBACjD,iEAAiE;gBACjE,uDAAuD;gBACvD,0EAA0E;gBAC1E,0BAA0B;gBAC1B,IAAI;gBAEJ,uDAAuD;gBACvD,wCAAwC;gBACxC,oCAAoC;gBACpC,wCAAwC;gBACxC,mEAAmE;gBACnE,gDAAgD;gBAChD,gCAAgC;gBAChC,uCAAuC;gBACvC,IAAI;gBAGJ,iFAAiF;gBACjF,8BAA8B;gBAC9B,0CAA0C;gBAC1C,2BAA2B;gBAC3B,+BAA+B;gBAC/B,QAAQ;gBACR,0CAA0C;gBAC1C,4EAA4E;gBAC5E,wKAAwK;gBACxK,qDAAqD;gBACrD,QAAQ,EAAE,CAAA;YACV,CAAC,CAAC,CAAA;QAEN,CAAC,CAAC,CAAA;KACT;SAAI;QACD,0BAA0B;QAC1B,QAAQ,EAAE,CAAA;KACb;AACL,CAAC,CAAA;AAhEY,QAAA,WAAW,eAgEvB;AAEM,MAAM,UAAU,GAAG,GAAE,EAAE;IAE1B,IAAA,4BAAoB,GAAE,CAAA;IACtB,IAAA,oBAAI,EAAC,MAAM,MAAM,CAAC,cAAc,kEAAkE,CAAC,CAAA;AAEvG,CAAC,CAAA;AALY,QAAA,UAAU,cAKtB;AACM,MAAM,UAAU,GAAG,GAAE,EAAE;IAC1B,IAAA,oBAAI,EAAC,MAAM,MAAM,CAAC,aAAa,iEAAiE,CAAC,CAAA;AACrG,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAEM,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACrC,MAAM,UAAU,GAAG,sCAAsC,MAAM,CAAC,aAAa,oBAAoB,MAAM,CAAC,cAAc,4DAA4D,CAAA;IAClL,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IACrC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEpB,MAAM,MAAM,GAAG,IAAA,qBAAK,EAAC,uBAAuB,EAAC,CAAC,UAAU,EAAC,IAAI,EAAC,GAAG,MAAM,CAAC,aAAa,eAAe,EAAC,IAAI,EAAC,GAAG,MAAM,CAAC,cAAc,6BAA6B,EAAC,IAAI,EAAC,kBAAkB,EAAC,sBAAsB,CAAC,EAAC,EAAG,KAAK,EAAE,SAAS,GAAE,CAAC,CAAA;IACtO,mBAAmB;AACvB,CAAC,CAAA;AAPY,QAAA,oBAAoB,wBAOhC"}
|
package/package.json
CHANGED
|
@@ -26,7 +26,7 @@ export const organization:SchemaType ={
|
|
|
26
26
|
orgName: {type: "string",},
|
|
27
27
|
active: {type: "boolean","default":true,},
|
|
28
28
|
description: {type: "string",format:"text",},
|
|
29
|
-
timeZone: {"type": "string","examples": ["Asia/Kuala_Lumpur"]
|
|
30
|
-
}
|
|
29
|
+
timeZone: {"type": "string","examples": ["Asia/Kuala_Lumpur"]},
|
|
30
|
+
currency:{"type":"string",minimum:3,maximum:3}
|
|
31
31
|
}
|
|
32
32
|
}
|
package/src/framework.ts
CHANGED
|
@@ -152,7 +152,7 @@ export const prepareProject = async (callback)=>{
|
|
|
152
152
|
|
|
153
153
|
// fs.mkdirSync(`${dir}/groups`,{recursive:true})
|
|
154
154
|
// fs.mkdirSync(`${dir}/schemas`,{recursive:true})
|
|
155
|
-
// fs.mkdirSync(`${dir}/shares`,{recursive:true})
|
|
155
|
+
// fs.mkdirSync(`${dir}/shares`,{recursive:true})
|
|
156
156
|
|
|
157
157
|
}
|
|
158
158
|
//prepare nuxt project for simpleapp generator
|
|
@@ -160,10 +160,10 @@ export const prepareNuxt = (callback:Function)=>{
|
|
|
160
160
|
const targetfolder = config.frontendFolder
|
|
161
161
|
if(!fs.existsSync(`${targetfolder}/.env`)){
|
|
162
162
|
//asume no environment. prepare now
|
|
163
|
-
exec(`cd ${targetfolder};pnpm install;pnpm install -D @nuxtjs/color-mode @types/json-schema @nuxtjs/i18n@next nuxt-primevue @nuxtjs/tailwindcss @types/jsonpath @sidebase/nuxt-auth @types/node @vueuse/nuxt @sidebase/nuxt-auth @vueuse/core prettier `, (error, stdout, stderr)=>{
|
|
163
|
+
exec(`cd ${targetfolder};pnpm install;pnpm install -D @nuxtjs/device @nuxtjs/color-mode @types/json-schema @nuxtjs/i18n@next nuxt-primevue @nuxtjs/tailwindcss @types/jsonpath @sidebase/nuxt-auth @types/node @vueuse/nuxt @sidebase/nuxt-auth @vueuse/core prettier `, (error, stdout, stderr)=>{
|
|
164
164
|
//;pnpm install
|
|
165
165
|
console.log(error, stdout, stderr)
|
|
166
|
-
exec(`cd ${targetfolder};pnpm install --save tailwind-merge @iconify-json/heroicons json-schema @vueuse/core ts-md5 primeicons moment memory-cache jsonpath pinia @pinia/nuxt @nuxt/kit lodash @types/lodash @darkwolf/base64url next-auth@4.21.1 @darkwolf/base64url @nuxt/ui ajv ajv-formats ajv-errors dotenv @fullcalendar/core @fullcalendar/vue3 quill prettier axios json-schema mitt `, (error, stdout, stderr)=>{
|
|
166
|
+
exec(`cd ${targetfolder};pnpm install --save chart.js tailwind-merge @iconify-json/heroicons json-schema @vueuse/core ts-md5 primeicons moment memory-cache jsonpath pinia @pinia/nuxt @nuxt/kit lodash @types/lodash @darkwolf/base64url next-auth@4.21.1 @darkwolf/base64url @nuxt/ui ajv ajv-formats ajv-errors dotenv @fullcalendar/core @fullcalendar/vue3 quill prettier axios json-schema mitt `, (error, stdout, stderr)=>{
|
|
167
167
|
console.log(error, stdout, stderr)
|
|
168
168
|
|
|
169
169
|
// fs.mkdirSync(`${targetfolder}/assets/css/`,{recursive:true})
|
|
@@ -24,10 +24,10 @@ import {
|
|
|
24
24
|
} from '@nestjs/common';
|
|
25
25
|
import { SimpleAppAbstractController } from './simpleapp.controller';
|
|
26
26
|
import { <%= it.typename %>Service } from '../../services/<%= it.doctype %>.service';
|
|
27
|
-
import * as <%= it.doctype %>type from '../types/<%= it.doctype %>.type';
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import * as <%= it.doctype %>apischema from '../apischemas/<%= it.doctype %>.apischema';
|
|
27
|
+
// import * as <%= it.doctype %>type from '../types/<%= it.doctype %>.type';
|
|
28
|
+
import * as types from '../types';
|
|
29
|
+
import * as schemas from '../apischemas';
|
|
30
|
+
//import * as <%= it.doctype %>apischema from '../apischemas/<%= it.doctype %>.apischema';
|
|
31
31
|
import { ApiTags, ApiBody, ApiResponse,ApiOperation,ApiQuery } from '@nestjs/swagger';
|
|
32
32
|
import {Roles} from '../commons/roles/roles.decorator'
|
|
33
33
|
import {Role} from '../commons/roles/roles.enum'
|
|
@@ -40,9 +40,9 @@ const doctype = '<%= it.doctype %>'.toUpperCase();
|
|
|
40
40
|
@ApiTags(doctype)
|
|
41
41
|
@Controller(doctype.toLowerCase())
|
|
42
42
|
export class <%= it.typename %>Controller extends SimpleAppAbstractController<
|
|
43
|
-
<%= it.typename %>Service,
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
<%= it.typename %>Service,
|
|
44
|
+
schemas.<%= it.typename%>,
|
|
45
|
+
types.<%= it.typename %>
|
|
46
46
|
> {
|
|
47
47
|
constructor(service: <%= it.typename %>Service) {
|
|
48
48
|
super(service);
|
|
@@ -57,7 +57,7 @@ export class <%= it.typename %>Controller extends SimpleAppAbstractController<
|
|
|
57
57
|
@ApiResponse({
|
|
58
58
|
status: 200,
|
|
59
59
|
description: 'Found',
|
|
60
|
-
type: String
|
|
60
|
+
type: String
|
|
61
61
|
})
|
|
62
62
|
@ApiResponse({ status: 500, description: 'Internal error' })
|
|
63
63
|
@ApiOperation({ operationId: 'runHello', description:"Say hello only" })
|
|
@@ -93,13 +93,13 @@ export class <%= it.typename %>Controller extends SimpleAppAbstractController<
|
|
|
93
93
|
@ApiResponse({
|
|
94
94
|
status: 201,
|
|
95
95
|
description: 'success',
|
|
96
|
-
type:
|
|
96
|
+
type: schemas.<%= it.typename%>
|
|
97
97
|
})
|
|
98
98
|
@ApiResponse({ status: 400, description: 'bad request' })
|
|
99
99
|
@ApiResponse({ status: 500, description: 'internal error' })
|
|
100
|
-
@ApiBody({ description: 'Data',type
|
|
100
|
+
@ApiBody({ description: 'Data',type:schemas.<%= it.typename%> })
|
|
101
101
|
@ApiOperation({ operationId: 'runCreate' })
|
|
102
|
-
async create(@AppUser() appuser: UserContext,@Body() data:
|
|
102
|
+
async create(@AppUser() appuser: UserContext,@Body() data: schemas.<%= it.typename%>) {
|
|
103
103
|
return await this._create(appuser,data)
|
|
104
104
|
}
|
|
105
105
|
|
|
@@ -113,13 +113,13 @@ export class <%= it.typename %>Controller extends SimpleAppAbstractController<
|
|
|
113
113
|
@ApiResponse({
|
|
114
114
|
status: 200,
|
|
115
115
|
description: 'success',
|
|
116
|
-
type: [
|
|
116
|
+
type: [schemas.<%= it.typename%>]
|
|
117
117
|
})
|
|
118
118
|
@ApiResponse({ status: 400, description: 'bad request' })
|
|
119
119
|
@ApiResponse({ status: 500, description: 'internal error' })
|
|
120
|
-
@ApiBody({ description: 'Data', type: ApiSearchBody })
|
|
120
|
+
@ApiBody({ description: 'Data', type: schemas.ApiSearchBody })
|
|
121
121
|
@ApiOperation({ operationId: 'runSearch' })
|
|
122
|
-
async search(@AppUser() appuser: UserContext,@Body() data: SearchBody) {
|
|
122
|
+
async search(@AppUser() appuser: UserContext,@Body() data: types.SearchBody) {
|
|
123
123
|
return await this._search(appuser,data)
|
|
124
124
|
}
|
|
125
125
|
|
|
@@ -143,9 +143,12 @@ export class <%= it.typename %>Controller extends SimpleAppAbstractController<
|
|
|
143
143
|
)
|
|
144
144
|
<%}%>
|
|
145
145
|
<% if(['post','put','patch'].includes(api.method)){ %>
|
|
146
|
-
@ApiBody({ description: '
|
|
146
|
+
@ApiBody({ description: 'Request Body', type: <%= api.schema? 'schemas.'+api.schema : 'Object'%> })
|
|
147
147
|
<%}%>
|
|
148
|
-
@ApiResponse({status: 200,description: '<%=api.description%>'
|
|
148
|
+
@ApiResponse({status: 200,description: '<%=api.description%>'
|
|
149
|
+
,type: <%= api.responseType
|
|
150
|
+
? (api.responseType.includes('[') ? '[schemas.'+api.responseType.replace('[','').replace(']','') + ']' : 'schemas.'+api.responseType )
|
|
151
|
+
: 'Object'%> })
|
|
149
152
|
@ApiOperation({ operationId: 'run<%=capitalizeFirstLetter(api.action)%>' })
|
|
150
153
|
<% if(api.queryPara && api.queryPara.length>0) {%>
|
|
151
154
|
<%for(let q=0;q<api.queryPara.length; q++){%>
|
|
@@ -155,7 +158,8 @@ export class <%= it.typename %>Controller extends SimpleAppAbstractController<
|
|
|
155
158
|
async <%=capitalizeFirstLetter(api.action) %>(
|
|
156
159
|
@AppUser() appuser: UserContext,
|
|
157
160
|
<%if(['post','put','patch'].includes(api.method.toLowerCase())){%>
|
|
158
|
-
@Body() data:
|
|
161
|
+
@Body() data:<%= api.schema? 'types.'+api.schema : 'Object'%>,
|
|
162
|
+
//@Body() data:any,
|
|
159
163
|
<%}%>
|
|
160
164
|
<% if(api.entryPoint && api.entryPoint.includes(':')) {%>
|
|
161
165
|
<%let subpath = api.entryPoint.split('/')%>
|
|
@@ -222,7 +226,7 @@ export class <%= it.typename %>Controller extends SimpleAppAbstractController<
|
|
|
222
226
|
@ApiResponse({
|
|
223
227
|
status: 200,
|
|
224
228
|
description: 'Founds',
|
|
225
|
-
type:
|
|
229
|
+
type: schemas.<%= it.typename%>
|
|
226
230
|
})
|
|
227
231
|
@ApiResponse({ status: 404, description: 'Document not found' })
|
|
228
232
|
@ApiResponse({ status: 500, description: 'Internal error' })
|
|
@@ -249,9 +253,9 @@ export class <%= it.typename %>Controller extends SimpleAppAbstractController<
|
|
|
249
253
|
<%}%>
|
|
250
254
|
@ApiResponse({ status: 404, description: 'Document not found' })
|
|
251
255
|
@ApiResponse({ status: 500, description: 'Internal error' })
|
|
252
|
-
@ApiBody({ description: 'Data',type:
|
|
256
|
+
@ApiBody({ description: 'Data',type: schemas.<%= it.typename%> })
|
|
253
257
|
@ApiOperation({ operationId: 'runUpdate' })
|
|
254
|
-
async update(@AppUser() appuser: UserContext,@Param('id') id: string, @Body() data:
|
|
258
|
+
async update(@AppUser() appuser: UserContext,@Param('id') id: string, @Body() data: schemas.<%= it.typename%>) {
|
|
255
259
|
return await this._update(appuser,id, data) ;
|
|
256
260
|
}
|
|
257
261
|
|
|
@@ -264,7 +268,7 @@ export class <%= it.typename %>Controller extends SimpleAppAbstractController<
|
|
|
264
268
|
@ApiResponse({
|
|
265
269
|
status: 200,
|
|
266
270
|
description: 'success',
|
|
267
|
-
type:
|
|
271
|
+
type: schemas.<%= it.typename%>
|
|
268
272
|
})
|
|
269
273
|
@ApiResponse({ status: 404, description: 'Document not found' })
|
|
270
274
|
@ApiResponse({ status: 500, description: 'Internal error' })
|
|
@@ -9,8 +9,8 @@ import { Model } from 'mongoose';
|
|
|
9
9
|
import { Injectable } from '@nestjs/common';
|
|
10
10
|
import { UserContext } from '../generate/commons/user.context';
|
|
11
11
|
import { <%= it.typename %>Processor } from '../generate/processors/<%= it.doctype %>.processor';
|
|
12
|
-
import { <%= it.typename %>,<%= it.typename %>Hooks} from '../generate/types';
|
|
13
|
-
|
|
12
|
+
//import { <%= it.typename %>,<%= it.typename %>Hooks} from '../generate/types';
|
|
13
|
+
import * as types from '../generate/types';
|
|
14
14
|
export { <%= it.typename %>} from '../generate/types';
|
|
15
15
|
|
|
16
16
|
|
|
@@ -19,9 +19,9 @@ export class <%= it.typename %>Service extends <%= it.typename %>Processor {
|
|
|
19
19
|
<% const config = it.jsonschema['x-simpleapp-config']%>
|
|
20
20
|
<%if(config['loseDataIsolation']){%>protected strictIsolation = false;<%}%>
|
|
21
21
|
|
|
22
|
-
public hooks:
|
|
22
|
+
public hooks: types.<%= it.typename %>Hooks = {}
|
|
23
23
|
constructor(
|
|
24
|
-
@InjectModel('<%= it.typename %>') mydoc: Model
|
|
24
|
+
@InjectModel('<%= it.typename %>') mydoc: Model<types.<%= it.typename %>>
|
|
25
25
|
){
|
|
26
26
|
super(mydoc)
|
|
27
27
|
}
|
|
@@ -48,7 +48,7 @@ export class <%= it.typename %>Service extends <%= it.typename %>Processor {
|
|
|
48
48
|
<%}%>
|
|
49
49
|
<%}%>
|
|
50
50
|
<%if(['post','put','patch'].includes(api.method.toLowerCase())){%>
|
|
51
|
-
data:any
|
|
51
|
+
data:<%= api.schema? 'types.'+api.schema: 'any'%>,
|
|
52
52
|
<%}%>
|
|
53
53
|
){
|
|
54
54
|
<%if (api.workflowSetting && api.workflowSetting.bpmn){ %>
|
|
@@ -32,7 +32,7 @@ export const Default<%=modelname%> = (uuid:string)=>{
|
|
|
32
32
|
<%} else if(Array.isArray(field) && ['string','integer','number','boolean'].includes(field[0])) {%>
|
|
33
33
|
<%=key%> : <<%=field[0]%>[]>[], //typeof field == array <%~JSON.stringify(field)%>
|
|
34
34
|
<%} else if(Array.isArray(field)) {%>
|
|
35
|
-
<%=key%> : [Default<%=field[0]%>(
|
|
35
|
+
<%=key%> : [Default<%=field[0]%>(randomUUID())], //typeof field == array <%~JSON.stringify(field)%>
|
|
36
36
|
<%} else {%>
|
|
37
37
|
<%=key%> : <%=field.default%>, //else <%= typeof field %>
|
|
38
38
|
<%}%>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<%}%>
|
|
16
16
|
|
|
17
17
|
<SimpleAppFormToolBar :document="doc" @on="actionListener"></SimpleAppFormToolBar>
|
|
18
|
-
<div class="grid grid-cols-4 gap-4">
|
|
18
|
+
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4">
|
|
19
19
|
<% let isautofocus='' %>
|
|
20
20
|
<%Object.keys(it.jsonschema.properties).forEach(function(key) { %>
|
|
21
21
|
|
|
@@ -147,8 +147,8 @@
|
|
|
147
147
|
* author: Ks Tan
|
|
148
148
|
*/
|
|
149
149
|
import { SimpleAppInputType } from "~/types";
|
|
150
|
-
|
|
151
|
-
const props = defineProps<{ _id?: string}>();
|
|
150
|
+
import { <%= it.typename %> } from "~/simpleapp/generate/types";
|
|
151
|
+
const props = defineProps<{ _id?: string,paras?:<%= it.typename %>}>();
|
|
152
152
|
const doc = useNuxtApp().$<%= it.typename %>Doc()
|
|
153
153
|
const data = doc.getReactiveData();
|
|
154
154
|
const emits = defineEmits(["after"]);
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
const newData = () => doc.setNew()
|
|
160
160
|
const createData = async () => await doc.create()
|
|
161
161
|
const updateData = async () => await doc.update()
|
|
162
|
-
const deleteData = async () => await doc.delete(
|
|
162
|
+
const deleteData = async () => await doc.delete()
|
|
163
163
|
|
|
164
164
|
const getRecord = async () => {
|
|
165
165
|
if(id.value && id.value != 'new'){
|
|
@@ -30,7 +30,16 @@
|
|
|
30
30
|
|
|
31
31
|
const columns:CellSetting[] = [<%Object.keys(it.jsonschema.properties).forEach(function(key) { %>
|
|
32
32
|
<%let obj=it.jsonschema.properties[key] %>
|
|
33
|
+
<%let config=it.jsonschema['x-simpleapp-config'] %>
|
|
33
34
|
<%if(skipcolumns.indexOf(key)>=0){%>/* skip system columns <%=key%>*/
|
|
35
|
+
<%} else if(config['uniqueKey'] && (config['uniqueKey']==key || config['documentTitle']==key) ){%>
|
|
36
|
+
{
|
|
37
|
+
title: '<%=key%>',
|
|
38
|
+
field: '*',
|
|
39
|
+
moreFields:['<%=key%>'],
|
|
40
|
+
rendererName: "RendererLink",
|
|
41
|
+
rendererSetting: { path: "<%=config['documentName']%>" },
|
|
42
|
+
},
|
|
34
43
|
<%} else if(['string','number','integer'].indexOf(obj.type)>=0){%>'<%=key%>',
|
|
35
44
|
<%} else if(obj.type =='object' && obj['x-foreignkey'] ){%>
|
|
36
45
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<Crud :_id="_id" @after="after"/>
|
|
2
|
+
<Crud :_id="_id" @after="after" :paras="paras"/>
|
|
3
3
|
</template>
|
|
4
4
|
<script setup lang="ts">
|
|
5
5
|
/**
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import Crud from './form.vue'
|
|
13
13
|
import {<%= it.typename %>} from '~/simpleapp/generate/types'
|
|
14
|
-
const props = defineProps<{_id:string}>();
|
|
15
|
-
const emits = defineEmits(["afterCreate"]);
|
|
14
|
+
const props = defineProps<{_id:string,paras?:<%= it.typename %>}>();
|
|
15
|
+
const emits = defineEmits(["afterCreate","after"]);
|
|
16
16
|
|
|
17
17
|
const after = (actionName: string, data: <%= it.typename %>, result: any) => {
|
|
18
18
|
switch (actionName) {
|
|
@@ -26,5 +26,6 @@ const after = (actionName: string, data: <%= it.typename %>, result: any) => {
|
|
|
26
26
|
case "delete":
|
|
27
27
|
break;
|
|
28
28
|
}
|
|
29
|
+
emits("after",actionName,data,result)
|
|
29
30
|
};
|
|
30
31
|
</script>
|
|
@@ -21,18 +21,7 @@ import {AxiosResponse} from 'axios'
|
|
|
21
21
|
<%}%>
|
|
22
22
|
<%}%>
|
|
23
23
|
// import { JSONSchema7 } from 'json-schema';
|
|
24
|
-
import
|
|
25
|
-
<%= it.doctype.toUpperCase()%>Api,
|
|
26
|
-
<%= it.typename%> ,
|
|
27
|
-
<%Object.keys(it.schema).forEach(function(key){%>
|
|
28
|
-
<% if(typeof it.schema[key]=='string' || (Array.isArray(it.schema[key]) && typeof it.schema[key][0]=='string' && it.schema[key][0]!='string')){%>
|
|
29
|
-
<%= it.schema[key] %>,
|
|
30
|
-
<%} else {%>
|
|
31
|
-
/*<%~ key + JSON.stringify(it.schema[key]) %>,*/
|
|
32
|
-
<%} %>
|
|
33
|
-
<%})%>
|
|
34
|
-
|
|
35
|
-
} from '../openapi';
|
|
24
|
+
import * as openapi from '../openapi';
|
|
36
25
|
|
|
37
26
|
export type {
|
|
38
27
|
<%= it.typename%> ,
|
|
@@ -46,7 +35,7 @@ export type {
|
|
|
46
35
|
|
|
47
36
|
} from '../openapi'
|
|
48
37
|
|
|
49
|
-
export class <%= it.typename%>Client extends SimpleAppClient
|
|
38
|
+
export class <%= it.typename%>Client extends SimpleAppClient<openapi.<%= it.typename%>,openapi.<%= it.doctype.toUpperCase()%>Api>{
|
|
50
39
|
public readonly schema= <%~ JSON.stringify(it.jsonschema) %> as SchemaType;
|
|
51
40
|
protected documentIdentityCode='<%~ it.autocompletecode %>'
|
|
52
41
|
protected documentIdentityName='<%~ it.autocompletename %>'
|
|
@@ -82,7 +71,7 @@ export class <%= it.typename%>Client extends SimpleAppClient<<%= it.typename%>,<
|
|
|
82
71
|
|
|
83
72
|
}
|
|
84
73
|
setNew = ()=>{
|
|
85
|
-
const newdata = Default<%= it.typename%>(
|
|
74
|
+
const newdata = Default<%= it.typename%>(randomUUID())
|
|
86
75
|
this.setData(newdata)
|
|
87
76
|
return true
|
|
88
77
|
}
|
|
@@ -107,7 +96,7 @@ export class <%= it.typename%>Client extends SimpleAppClient<<%= it.typename%>,<
|
|
|
107
96
|
<%let tablefields = Object.keys(obj.items.properties) %>
|
|
108
97
|
public add<%=key%> = () => {
|
|
109
98
|
|
|
110
|
-
this.getReactiveData().value.<%= key %>.push(Default<%= it.typename%><%=capitalizeFirstLetter(key)%>(
|
|
99
|
+
this.getReactiveData().value.<%= key %>.push(Default<%= it.typename%><%=capitalizeFirstLetter(key)%>(randomUUID()))
|
|
111
100
|
return this.getReactiveData().value.<%= key %>.length -1
|
|
112
101
|
}
|
|
113
102
|
|
|
@@ -156,7 +145,7 @@ export class <%= it.typename%>Client extends SimpleAppClient<<%= it.typename%>,<
|
|
|
156
145
|
<%}%>
|
|
157
146
|
|
|
158
147
|
|
|
159
|
-
<% if(['post','put','patch'].includes(api.method)){ %>data:any
|
|
148
|
+
<% if(['post','put','patch'].includes(api.method)){ %>data:<%=api.schema ? 'openapi.'+api.schema :'any'%><%}%>
|
|
160
149
|
){
|
|
161
150
|
//const recordid: string = this.data.value._id ?? '';
|
|
162
151
|
return await this.docapi.run<%=capitalizeFirstLetter(api.action)%>(
|
|
@@ -276,7 +265,7 @@ export class <%= it.typename%>Client extends SimpleAppClient<<%= it.typename%>,<
|
|
|
276
265
|
/***************************** begin document status code*****************************************/
|
|
277
266
|
<%for(let i=0;i<it.docStatusSettings.length;i++){%>
|
|
278
267
|
<% let setting = it.docStatusSettings[i] %>
|
|
279
|
-
async setStatus<%=capitalizeFirstLetter(setting.status)%>(id
|
|
268
|
+
async setStatus<%=capitalizeFirstLetter(setting.status)%>(id:string='',data:<%= it.typename%>,runValidate:boolean=false) {
|
|
280
269
|
const {$event} =useNuxtApp()
|
|
281
270
|
if(runValidate){
|
|
282
271
|
const errors = this.validateFailed();
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//put customize schemas in this folder
|
|
2
|
+
import { ApiProperty } from '@nestjs/swagger';
|
|
3
|
+
export class ForeignKey {
|
|
4
|
+
@ApiProperty({ type: 'string', required: false, format: 'uuid', default: '' })
|
|
5
|
+
_id: string;
|
|
6
|
+
@ApiProperty({ type: 'string', required: false, default: '' })
|
|
7
|
+
code: string;
|
|
8
|
+
@ApiProperty({ type: 'string', required: false, default: '' })
|
|
9
|
+
label: string;
|
|
10
|
+
}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
|
|
5
|
-
* Author: Ks Tan
|
|
6
|
-
*/
|
|
1
|
+
<%for(let i=0; i<it.modules.length;i++){ %>
|
|
2
|
+
<% const d = it.modules[i] %>
|
|
3
|
+
export * from './<%= d['doctype']%>.apischema'
|
|
4
|
+
<%}%>
|
|
7
5
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
field1: any
|
|
12
|
-
}
|
|
13
|
-
export class ApiSearchBody{
|
|
14
|
-
@ApiProperty({ "type":Object, "required":false, "examples":['{"field1":"1"}'] ,"default":{"field1":"ok","field2":true,}} )
|
|
15
|
-
filter: Object;
|
|
16
|
-
@ApiProperty({"type":[Object],"required":true,"examples":['["field1","field2"]'],"default":["field1","field2"]} )
|
|
17
|
-
fields: [Object];
|
|
18
|
-
@ApiProperty({"type":()=>[Object],"required":true,"examples":['[[ "field1", "asc" ]]'],"default":[[ 'field1', 'asc' ]]} )
|
|
19
|
-
sorts: [Object];
|
|
20
|
-
}
|
|
6
|
+
export * from './simpleapp.apischema'
|
|
7
|
+
|
|
8
|
+
export * from '../../apischemas'
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by simpleapp generator. Every
|
|
3
|
+
* MODIFICATION OVERRIDE BY GENERATEOR
|
|
4
|
+
* last change 2024-02-01
|
|
5
|
+
* Author: Ks Tan
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { ApiProperty } from '@nestjs/swagger';
|
|
9
|
+
export class ApiKeyValuePair {
|
|
10
|
+
@ApiProperty({"type":Object,"required":false,"examples":['{"field1":"1"}'],"default":""} )
|
|
11
|
+
field1: any
|
|
12
|
+
}
|
|
13
|
+
export class ApiSearchBody{
|
|
14
|
+
@ApiProperty({ "type":Object, "required":false, "examples":['{"field1":"1"}'] ,"default":{"field1":"ok","field2":true,}} )
|
|
15
|
+
filter: Object;
|
|
16
|
+
@ApiProperty({"type":[Object],"required":true,"examples":['["field1","field2"]'],"default":["field1","field2"]} )
|
|
17
|
+
fields: [Object];
|
|
18
|
+
@ApiProperty({"type":()=>[Object],"required":true,"examples":['[[ "field1", "asc" ]]'],"default":[[ 'field1', 'asc' ]]} )
|
|
19
|
+
sorts: [Object];
|
|
20
|
+
}
|
|
@@ -55,7 +55,8 @@ export class UserContext {
|
|
|
55
55
|
protected branchName: string = '';
|
|
56
56
|
protected orgCode: string = '';
|
|
57
57
|
protected orgName: string = '';
|
|
58
|
-
protected timeZone:string=''
|
|
58
|
+
protected timeZone: string = '';
|
|
59
|
+
protected currency: string = '';
|
|
59
60
|
protected branches: any[] = [];
|
|
60
61
|
protected lastActivity: string = new Date().toISOString();
|
|
61
62
|
protected invites: any[] = []; //User + field tenant:Tenant[]
|
|
@@ -88,6 +89,7 @@ export class UserContext {
|
|
|
88
89
|
getEmail = () => this.email;
|
|
89
90
|
getTimeZone = () => this.timeZone;
|
|
90
91
|
getGroup = () => this.group;
|
|
92
|
+
getCurrency = () => this.currency;
|
|
91
93
|
getMoreProps = () => this.moreProps;
|
|
92
94
|
getRoles = () => this.roles;
|
|
93
95
|
getModifieds = () => this.modifiedRecords;
|
|
@@ -209,6 +211,7 @@ export class UserContext {
|
|
|
209
211
|
userinfo.orgCode = myperm.currentorg[0].orgCode;
|
|
210
212
|
userinfo.orgName = myperm.currentorg[0].orgName;
|
|
211
213
|
userinfo.timeZone = myperm.currentorg[0].timeZone;
|
|
214
|
+
userinfo.currency = myperm.currentorg[0].currency;
|
|
212
215
|
}
|
|
213
216
|
} else {
|
|
214
217
|
userinfo.group = '';
|
|
@@ -258,7 +261,8 @@ export class UserContext {
|
|
|
258
261
|
this.branchName = userinfo['branchName'] ?? '';
|
|
259
262
|
this.orgCode = userinfo['orgCode'] ?? '';
|
|
260
263
|
this.orgName = userinfo['orgName'] ?? '';
|
|
261
|
-
this.timeZone = userinfo['timeZone']?? '';
|
|
264
|
+
this.timeZone = userinfo['timeZone'] ?? '';
|
|
265
|
+
this.currency= userinfo['currency'] ?? '';
|
|
262
266
|
this.orgRecordId = userinfo['orgRecordId'] ?? '';
|
|
263
267
|
this.branchRecordId = userinfo['branchRecordId'] ?? '';
|
|
264
268
|
this.group = userinfo['group'] ?? '';
|
|
@@ -379,6 +383,7 @@ export class UserContext {
|
|
|
379
383
|
orgCode: this.orgCode,
|
|
380
384
|
orgName: this.orgName,
|
|
381
385
|
timeZone: this.getTimeZone(),
|
|
386
|
+
currency: this.getCurrency(),
|
|
382
387
|
email: this.getEmail(),
|
|
383
388
|
uid: this.getUid(),
|
|
384
389
|
fullName: this.getFullname(),
|
|
@@ -675,8 +680,9 @@ export class UserContext {
|
|
|
675
680
|
'orgId',
|
|
676
681
|
'orgName',
|
|
677
682
|
'timeZone',
|
|
683
|
+
'currency',
|
|
678
684
|
'tenantId',
|
|
679
|
-
'lastActivity',
|
|
685
|
+
'lastActivity',
|
|
680
686
|
'group',
|
|
681
687
|
'__v',
|
|
682
688
|
'uid',
|
|
@@ -8,15 +8,19 @@
|
|
|
8
8
|
watch(()=>useRoute().params['xorg'],(newval,oldvalue)=>{
|
|
9
9
|
reloadUserStore()
|
|
10
10
|
})
|
|
11
|
+
|
|
12
|
+
const getLayout = ()=>{
|
|
13
|
+
const { status } = useAuth();
|
|
14
|
+
if(status.value=='unauthenticated') return 'loginlayout'
|
|
15
|
+
else return useDevice().isMobile ? 'mobile' : 'default'
|
|
16
|
+
}
|
|
11
17
|
</script>
|
|
12
18
|
<template>
|
|
13
|
-
|
|
14
|
-
<NuxtLayout>
|
|
19
|
+
<NuxtLayout :name="getLayout()">
|
|
15
20
|
<SessionBlock/>
|
|
16
21
|
<EventDocumentViewer></EventDocumentViewer>
|
|
17
22
|
<EventDecision/>
|
|
18
23
|
<EventNotification/>
|
|
19
24
|
<NuxtPage />
|
|
20
25
|
</NuxtLayout>
|
|
21
|
-
</div>
|
|
22
26
|
</template>
|