@simitgroup/simpleapp-generator 1.6.2-alpha → 1.6.4-alpha

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 (161) hide show
  1. package/README.md +6 -5
  2. package/dist/buildinschemas/branch.d.ts.map +1 -1
  3. package/dist/buildinschemas/branch.js +1 -2
  4. package/dist/buildinschemas/branch.js.map +1 -1
  5. package/dist/buildinschemas/changehistories.d.ts +3 -0
  6. package/dist/buildinschemas/changehistories.d.ts.map +1 -0
  7. package/dist/buildinschemas/changehistories.js +36 -0
  8. package/dist/buildinschemas/changehistories.js.map +1 -0
  9. package/dist/buildinschemas/index.d.ts +1 -0
  10. package/dist/buildinschemas/index.d.ts.map +1 -1
  11. package/dist/buildinschemas/index.js +3 -1
  12. package/dist/buildinschemas/index.js.map +1 -1
  13. package/dist/buildinschemas/organization.js +2 -2
  14. package/dist/buildinschemas/organization.js.map +1 -1
  15. package/dist/buildinschemas/user.d.ts.map +1 -1
  16. package/dist/buildinschemas/user.js +5 -1
  17. package/dist/buildinschemas/user.js.map +1 -1
  18. package/dist/buildinschemas/webhook.d.ts +3 -0
  19. package/dist/buildinschemas/webhook.d.ts.map +1 -0
  20. package/dist/buildinschemas/webhook.js +33 -0
  21. package/dist/buildinschemas/webhook.js.map +1 -0
  22. package/dist/framework.d.ts.map +1 -1
  23. package/dist/framework.js +3 -2
  24. package/dist/framework.js.map +1 -1
  25. package/dist/generate.js +30 -11
  26. package/dist/generate.js.map +1 -1
  27. package/dist/index.js +4 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/processors/jsonschemabuilder.d.ts.map +1 -1
  30. package/dist/processors/jsonschemabuilder.js +10 -2
  31. package/dist/processors/jsonschemabuilder.js.map +1 -1
  32. package/dist/type.d.ts +2 -0
  33. package/dist/type.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/src/buildinschemas/branch.ts +1 -2
  36. package/src/buildinschemas/changehistories.ts +33 -0
  37. package/src/buildinschemas/index.ts +2 -1
  38. package/src/buildinschemas/organization.ts +2 -2
  39. package/src/buildinschemas/user.ts +5 -1
  40. package/src/buildinschemas/webhook.ts +31 -0
  41. package/src/framework.ts +3 -2
  42. package/src/generate.ts +35 -15
  43. package/src/index.ts +8 -3
  44. package/src/processors/jsonschemabuilder.ts +10 -2
  45. package/src/type.ts +2 -0
  46. package/templates/basic/nest/controller.ts.eta +23 -2
  47. package/templates/basic/nest/model.ts.eta +9 -1
  48. package/templates/basic/nest/resolver.ts.eta +2 -2
  49. package/templates/basic/nuxt/pages.[id].vue.eta +7 -7
  50. package/templates/basic/nuxt/pages.form.vue.eta +3 -6
  51. package/templates/basic/nuxt/pages.landing.vue.eta +2 -21
  52. package/templates/basic/nuxt/simpleapp.generate.client.ts.eta +8 -1
  53. package/templates/nest/src/simpleapp/generate/apischemas/simpleapp.apischema.ts.eta +2 -0
  54. package/templates/nest/src/simpleapp/generate/commons/dicts/documents.ts.eta +9 -2
  55. package/templates/nest/src/simpleapp/generate/commons/docnogenerator.service.ts.eta +36 -30
  56. package/templates/nest/src/simpleapp/generate/commons/roles/roles.enum.ts.eta +5 -10
  57. package/templates/nest/src/simpleapp/generate/commons/roles/roles.group.ts.eta +1 -0
  58. package/templates/nest/src/simpleapp/generate/commons/runwebhook.service.ts.eta +50 -0
  59. package/templates/nest/src/simpleapp/generate/commons/user.context.ts.eta +13 -3
  60. package/templates/nest/src/simpleapp/generate/controllers/simpleapp.controller.ts.eta +9 -1
  61. package/templates/nest/src/simpleapp/generate/processors/branch.processor.ts.eta +12 -6
  62. package/templates/nest/src/simpleapp/generate/processors/simpleapp.processor.ts.eta +128 -14
  63. package/templates/nest/src/simpleapp/generate/types/schema.type.ts.eta +3 -1
  64. package/templates/nest/src/simpleapp/generate/types/simpleapp.type.ts.eta +1 -0
  65. package/templates/nest/src/simpleapp/profile/profile.controller.ts.eta +19 -0
  66. package/templates/nest/src/simpleapp/profile/profile.service.ts.eta +30 -8
  67. package/templates/nest/src/simpleapp/simpleapp.module.ts.eta +2 -1
  68. package/templates/nuxt/{app.vue._eta → app.vue.eta} +3 -1
  69. package/templates/nuxt/assets/css/calendar.css._eta +3 -0
  70. package/templates/nuxt/assets/css/style.css._eta +1 -1
  71. package/templates/nuxt/assets/images/unknown.png.eta +0 -0
  72. package/templates/nuxt/assets/primevue/passthrough.ts._eta +6 -1
  73. package/templates/nuxt/components/button/ButtonAction.vue._eta +49 -7
  74. package/templates/nuxt/components/button/ButtonDanger.vue._eta +11 -3
  75. package/templates/nuxt/components/button/ButtonDefault.vue._eta +11 -3
  76. package/templates/nuxt/components/button/ButtonPrimary.vue._eta +9 -3
  77. package/templates/nuxt/components/button/ButtonSecondary.vue._eta +33 -0
  78. package/templates/nuxt/components/button/ButtonText.vue._eta +9 -5
  79. package/templates/nuxt/components/button/ButtonWarning.vue._eta +11 -3
  80. package/templates/nuxt/components/calendar/CalendarInput.vue.eta +17 -14
  81. package/templates/nuxt/components/calendar/CalendarSmall.vue.eta +33 -16
  82. package/templates/nuxt/components/chart/card.vue._eta +1 -1
  83. package/templates/nuxt/components/debug/DebugDocumentData.vue.eta +36 -26
  84. package/templates/nuxt/components/event/EventDocumentViewer.vue._eta +62 -22
  85. package/templates/nuxt/components/form/FormBranch.vue._eta +52 -5
  86. package/templates/nuxt/components/form/FormDocnoformat.vue.eta +14 -10
  87. package/templates/nuxt/components/form/FormUser.vue._eta +1 -1
  88. package/templates/nuxt/components/form/user/FormUserPermission.vue.eta +77 -59
  89. package/templates/nuxt/components/header/HeaderSelectBranch.vue.eta +42 -35
  90. package/templates/nuxt/components/image/ImageAvatar.vue.eta._vue +30 -0
  91. package/templates/nuxt/components/image/ImageOrganization.vue.eta.vue +7 -5
  92. package/templates/nuxt/components/image/ImageToBase64Uploader.vue.eta.vue +67 -50
  93. package/templates/nuxt/components/list/ListDocument.vue.eta +10 -5
  94. package/templates/nuxt/components/list/ListDocumentTable.vue.eta +21 -13
  95. package/templates/nuxt/components/list/ListMessages.vue.eta +1 -1
  96. package/templates/nuxt/components/list/ListView.vue.eta +94 -56
  97. package/templates/nuxt/components/overlay/OverlayPanelWithToolBar.vue.eta +11 -4
  98. package/templates/nuxt/components/overlay/OverlaySideBarCrud.vue.eta +17 -6
  99. package/templates/nuxt/components/overlay/OverlayViewer.vue.eta +16 -6
  100. package/templates/nuxt/components/page/PageDocList.vue.eta +108 -31
  101. package/templates/nuxt/components/renderer/RendererDate.vue.eta +8 -2
  102. package/templates/nuxt/components/renderer/RendererDateTime.vue.eta +7 -1
  103. package/templates/nuxt/components/renderer/RendererDocHistories.vue.eta +56 -0
  104. package/templates/nuxt/components/renderer/RendererForeignKey.vue.eta +9 -8
  105. package/templates/nuxt/components/renderer/RendererLink.vue.eta +7 -4
  106. package/templates/nuxt/components/renderer/RendererMoney.vue.eta +25 -17
  107. package/templates/nuxt/components/renderer/RendererTime.vue.eta +7 -1
  108. package/templates/nuxt/components/renderer/RendererViewer.vue.eta +19 -9
  109. package/templates/nuxt/components/select/SelectTemplate.vue.eta +76 -38
  110. package/templates/nuxt/components/session/SessionBlock.vue.eta +44 -46
  111. package/templates/nuxt/components/simpleApp/SimpleAppAutocomplete.vue.eta +61 -24
  112. package/templates/nuxt/components/simpleApp/SimpleAppCalendarInput.vue.eta +64 -0
  113. package/templates/nuxt/components/simpleApp/SimpleAppChildrenList.vue.eta +26 -14
  114. package/templates/nuxt/components/simpleApp/SimpleAppDocumentNo.vue.eta +8 -8
  115. package/templates/nuxt/components/simpleApp/SimpleAppFieldContainer.vue.eta +1 -1
  116. package/templates/nuxt/components/simpleApp/SimpleAppFormToolBar.vue._eta +128 -33
  117. package/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta +89 -168
  118. package/templates/nuxt/components/simpleApp/SimpleAppInputTable.vue.eta +43 -40
  119. package/templates/nuxt/components/simpleApp/SimpleAppUserPicker.vue.eta +387 -0
  120. package/templates/nuxt/components/text/TextDocStatus.vue._eta +22 -0
  121. package/templates/nuxt/components/user/UserButtonCreateTenant.vue._eta +13 -15
  122. package/templates/nuxt/components/user/UserButtonPermissionInfo.vue.eta +127 -93
  123. package/templates/nuxt/components/user/UserTenantPicker.vue.eta +1 -1
  124. package/templates/nuxt/composables/confirm.generate.ts.eta +19 -0
  125. package/templates/nuxt/composables/date.generate.ts.eta +106 -8
  126. package/templates/nuxt/composables/getDocument.generate.ts.eta +8 -6
  127. package/templates/nuxt/composables/getOpenApi.generate.ts.eta +58 -10
  128. package/templates/nuxt/composables/getUserStore.generate.ts.eta +37 -5
  129. package/templates/nuxt/composables/goTo.generate.ts.eta +14 -1
  130. package/templates/nuxt/composables/graphquery.generate.ts.eta +20 -2
  131. package/templates/nuxt/composables/recently.generate.ts.eta +16 -0
  132. package/templates/nuxt/composables/roles.generate.ts.eta +8 -13
  133. package/templates/nuxt/composables/stringHelper.generate.ts.eta +54 -1
  134. package/templates/nuxt/composables/sysmessage.generate.ts.eta +1 -1
  135. package/templates/nuxt/pages/[xorg]/docnoformat.vue.eta +1 -1
  136. package/templates/nuxt/pages/[xorg]/mobile/docnoformat/{index.vue.eta → index.vue.etaxxx} +1 -1
  137. package/templates/nuxt/pages/[xorg]/mobile/user/{index.vue.eta → index.vue.etaxxx} +1 -1
  138. package/templates/nuxt/pages/[xorg]/{organization.vue.eta → organization.vue._eta} +39 -10
  139. package/templates/nuxt/pages/[xorg]/profile.vue.eta +1 -1
  140. package/templates/nuxt/pages/[xorg]/user.vue.eta +13 -10
  141. package/templates/nuxt/pages/login.vue._eta +4 -1
  142. package/templates/nuxt/plugins/10.simpleapp-event.ts.eta +4 -0
  143. package/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta +45 -26
  144. package/templates/nuxt/plugins/70.recently.ts.eta +55 -0
  145. package/templates/nuxt/providers/my-provider.ts.eta +22 -0
  146. package/templates/nuxt/server/api/[xorg]/{[...].ts.eta → [...].ts._eta} +47 -21
  147. package/templates/nuxt/simpleapp/generate/clients/SimpleAppClient.ts.eta +44 -3
  148. package/templates/nuxt/types/events.ts.eta +3 -2
  149. package/templates/nuxt/types/others.ts.eta +11 -1
  150. package/templates/nuxt/types/schema.ts.eta +3 -1
  151. package/templates/nuxt/types/simpleappinput.ts.eta +1 -1
  152. package/templates/nuxt/types/user.ts.eta +8 -7
  153. package/templates/project/jsonschemas/branch.json._eta +1 -0
  154. package/templates/project/jsonschemas/invoice.json._eta +4 -3
  155. package/templates/project/jsonschemas/organization.json._eta +2 -2
  156. package/templates/project/lang/default._json +5 -1
  157. package/tsconfig.tsbuildinfo +1 -1
  158. package/templates/nuxt/components/image/ImageAvatar.vue.eta.vue +0 -38
  159. /package/templates/nuxt/pages/[xorg]/mobile/{index.vue._eta → index.vue._etaxxx} +0 -0
  160. /package/templates/nuxt/pages/[xorg]/mobile/organization/{[id].vue._eta → [id].vue._etaxxx} +0 -0
  161. /package/templates/nuxt/pages/[xorg]/mobile/{pickgroup.vue._eta → pickgroup.vue._etaxxx} +0 -0
package/dist/type.d.ts CHANGED
@@ -119,10 +119,12 @@ export type SchemaConfig = {
119
119
  documentTitle?: string;
120
120
  loseDataIsolation?: boolean;
121
121
  generateDocumentNumber?: boolean;
122
+ docNoPattern?: string;
122
123
  documentDate?: string;
123
124
  allStatus?: DocumentStatus[];
124
125
  additionalApis?: DocumentApi[];
125
126
  additionalAutoCompleteFields?: string[];
127
+ search?: string[];
126
128
  formulas?: Formula[];
127
129
  documentType: string;
128
130
  documentName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simitgroup/simpleapp-generator",
3
- "version": "1.6.2-alpha",
3
+ "version": "1.6.4-alpha",
4
4
  "description": "frontend nuxtjs and backend nests code generator using jsonschema",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -12,6 +12,7 @@ export const branch:SchemaType ={
12
12
  documentTitle:'branchName',
13
13
  additionalAutoCompleteFields: ['branchId']
14
14
  },
15
+ "required":["branchCode","branchName","organization"],
15
16
  "properties": {
16
17
  _id:{type:'string'},
17
18
  created:{type:'string'},
@@ -35,8 +36,6 @@ export const branch:SchemaType ={
35
36
  branchName: {type: "string",minLength:1},
36
37
  street1: {type: "string"},
37
38
  street2: {type: "string"},
38
- street3: {type: "string"},
39
- street4: {type: "string"},
40
39
  city: {type: "string"},
41
40
  region: {type: "string"},
42
41
  postcode: {type: "string"},
@@ -0,0 +1,33 @@
1
+ import {SchemaType,RESTMethods,IsolationType} from '../type'
2
+
3
+ export const permission:SchemaType ={
4
+ type: "object",
5
+ "x-simpleapp-config":{
6
+ documentType:'hist',
7
+ documentName:'histories',
8
+ isolationType:IsolationType.tenant
9
+ },
10
+ required:["document"],
11
+ properties: {
12
+ _id:{type:'string'},
13
+ created:{type:'string'},
14
+ updated:{type:'string'},
15
+ createdBy:{type:'string'},
16
+ updatedBy:{type:'string'},
17
+ tenantId: {type:'integer',default:1,minimum:0},
18
+ orgId: {type:'integer',default:1,minimum:0 },
19
+ branchId: {type:'integer',default:1,minimum:0 },
20
+ document:{type:'string',minLength:3},
21
+ histories:{
22
+ type:"array",
23
+ items:{
24
+ type:"object",
25
+ properties:{
26
+ datetime:{type:"string",format:"datetime"},
27
+ uid:{type:"string",format:"uuid"},
28
+ action:{type:"string",minLength:3},
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
@@ -6,4 +6,5 @@ export {permission} from './permission'
6
6
  export {autoincreament} from './autoincreament'
7
7
  export {docnoformat} from './docnoformat'
8
8
  export {systemmessage} from './systemmessage'
9
- export {keyvaluepair} from './keyvaluepair'
9
+ export {keyvaluepair} from './keyvaluepair'
10
+ export {webhook} from './webhook'
@@ -14,14 +14,14 @@ export const organization:SchemaType ={
14
14
  additionalApis:[{
15
15
  "action":"getlogo",
16
16
  "entryPoint":"logo",
17
- "requiredRole":[],
17
+ "requiredRole":["User"],
18
18
  "method":RESTMethods.get,
19
19
  "responseType":"String",
20
20
  "description":"obtain avatar base64 jpg image"
21
21
  },{
22
22
  "action":"uploadlogo",
23
23
  "entryPoint":"logo",
24
- "requiredRole":[],
24
+ "requiredRole":["Admin"],
25
25
  "method":RESTMethods.post,
26
26
  "schema":"KeyValue",
27
27
  "responseType":"String",
@@ -47,6 +47,10 @@ export const user:SchemaType ={
47
47
  email: {type: "string",minLength:10,format: "email"},
48
48
  active: {type: "boolean",default:true},
49
49
  description: {type:"string"},
50
- lastActivity: {type: "string",description:"capture ISO8601 last api call"}
50
+ lastActivity: {type: "string",description:"capture ISO8601 last api call"},
51
+ completedTours: {
52
+ type: "array",
53
+ items: { "type": "string", "examples": ["mainpage"] }
54
+ }
51
55
  }
52
56
  }
@@ -0,0 +1,31 @@
1
+ import {SchemaType,RESTMethods,IsolationType} from '../type'
2
+
3
+ export const webhook:SchemaType = {
4
+ type: "object",
5
+ "x-simpleapp-config":{
6
+ documentType:'webhook',
7
+ documentName:'webhook',
8
+ isolationType:IsolationType.tenant,
9
+ uniqueKey:'documentName',
10
+ documentTitle:'documentName',
11
+ pageType:"crud",
12
+ },
13
+ required:["documentName","url"],
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:0 },
21
+ orgId: {type:'integer',default:1,minimum:0 },
22
+ branchId: {type:'integer',default:1,minimum:0 },
23
+ documentName:{type:"string",minLength:3,},
24
+ url: {type: "string", format:'uri'},
25
+ secret: {type: "string"},
26
+ description: {type: "string",format:"text"},
27
+ active: {type: "boolean", default:true},
28
+ setting:{type:"string",format:"text"}
29
+ }
30
+ }
31
+
package/src/framework.ts CHANGED
@@ -16,6 +16,7 @@ let config = {
16
16
  "mongoConnectStr":'mongodb://127.0.0.1:27017/simpleapp',
17
17
  "mongoDbName":'simpleapp',
18
18
  "frontendFolder":"./frontend",
19
+ "splitMobilePage":false,
19
20
  "frontendPort":"8080",
20
21
  "printFormatDir":"./printformats",
21
22
  "additionalNestModules":["cloudapi","printapi"],
@@ -163,10 +164,10 @@ export const prepareNuxt = (callback:Function)=>{
163
164
  const targetfolder = config.frontendFolder
164
165
  if(!fs.existsSync(`${targetfolder}/.env`)){
165
166
  //asume no environment. prepare now
166
- exec(`cd ${targetfolder};pnpm install;pnpm install -D @nuxtjs/apollo@next dayjs-nuxt @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)=>{
167
+ exec(`cd ${targetfolder};pnpm install;pnpm install -D @nuxtjs/apollo@next dayjs-nuxt @nuxtjs/device @nuxtjs/color-mode @types/json-schema @nuxtjs/i18n@next nuxt-primevue@latest @nuxtjs/tailwindcss @types/jsonpath @sidebase/nuxt-auth @types/node @vueuse/nuxt @sidebase/nuxt-auth @vueuse/core prettier `, (error, stdout, stderr)=>{
167
168
  //;pnpm install
168
169
  console.log(error, stdout, stderr)
169
- exec(`cd ${targetfolder};pnpm install --save vue-pdf-embed dayjs pusher-js country-code-dateformat chart.js tailwind-merge @iconify-json/heroicons json-schema @vueuse/core ts-md5 primeicons 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)=>{
170
+ exec(`cd ${targetfolder};pnpm install --save vue-camera-lib vue-pdf-embed dayjs pusher-js country-code-dateformat chart.js tailwind-merge @iconify-json/heroicons json-schema @vueuse/core ts-md5 primeicons 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)=>{
170
171
  console.log(error, stdout, stderr)
171
172
 
172
173
  // fs.mkdirSync(`${targetfolder}/assets/css/`,{recursive:true})
package/src/generate.ts CHANGED
@@ -237,6 +237,9 @@ const generateSchema = ( docname: string,
237
237
  // log.warn("skip file: ",filename)
238
238
  continue;
239
239
  }
240
+
241
+ // no turn on split mobile url, skip create mobile page
242
+ if(!configs?.splitMobilePage && filename.includes('mobile.')) continue
240
243
  if(foldertype=='nest'){
241
244
  const arrfilename:string[] = filename.split('.')
242
245
  const filecategory = arrfilename[0]
@@ -315,7 +318,16 @@ const generateSchema = ( docname: string,
315
318
  as: `Form${_.upperFirst(docname)}.vue`,
316
319
  validate: validateWritePage
317
320
  },
318
-
321
+ 'pages.mobile.[id].vue.eta': {
322
+ to:`pages/[xorg]/mobile/${docname}`,
323
+ as:'[id].vue',
324
+ validate: validateWritePage
325
+ },
326
+ 'pages.mobile.landing.vue.eta':{
327
+ to:`pages/[xorg]/mobile/${docname}`,
328
+ as:`index.vue`,
329
+ validate: validateWritePage
330
+ },
319
331
  'component.select.vue.eta': {
320
332
  to:'components/select',
321
333
  as: `Select${_.upperFirst(docname)}.vue`,
@@ -336,16 +348,7 @@ const generateSchema = ( docname: string,
336
348
  as:`../${docname}.vue`,
337
349
  validate: validateWritePage
338
350
  },
339
- 'pages.mobile.[id].vue.eta': {
340
- to:`pages/[xorg]/mobile/${docname}`,
341
- as:'[id].vue',
342
- validate: validateWritePage
343
- },
344
- 'pages.mobile.landing.vue.eta': {
345
- to:`pages/[xorg]/mobile/${docname}`,
346
- as:`index.vue`,
347
- validate: validateWritePage
348
- },
351
+
349
352
  'simpleapp.doc.ts.eta': {
350
353
  to:`simpleapp/docs`,
351
354
  as:`${capname}Doc.ts`,
@@ -367,25 +370,42 @@ const generateSchema = ( docname: string,
367
370
  }
368
371
  },
369
372
  }
373
+
374
+
375
+ // if(configs?.splitMobilePage){
376
+ // mapfiles['pages.mobile.[id].vue.eta'] = {
377
+ // to:`pages/[xorg]/mobile/${docname}`,
378
+ // as:'[id].vue',
379
+ // validate: validateWritePage
380
+ // }
381
+ // mapfiles['pages.mobile.landing.vue.eta'] = {
382
+ // to:`pages/[xorg]/mobile/${docname}`,
383
+ // as:`index.vue`,
384
+ // validate: validateWritePage
385
+ // }
386
+ // }
370
387
 
371
- const target = mapfiles[filename]
388
+ const target = mapfiles[filename]
389
+ console.log(target);
372
390
  const targetfolder = `${generateTypes[foldertype]}/${target.to}`
373
391
  const targetfile = `${targetfolder}/${target.as}`
374
-
392
+
393
+ console.log("targetfile",targetfile);
375
394
  if(jsonschemas[docname][X_SIMPLEAPP_CONFIG]['pageType'] && !existsSync(targetfolder)){
395
+ console.log("Mkdir",targetfolder)
376
396
  mkdirSync(targetfolder,{recursive:true})
377
397
  }
378
398
 
379
399
 
380
400
  const isexists = existsSync(targetfile)
381
401
  const iswrite:boolean = target.validate(targetfile,isexists)
382
- log.info("process: ",targetfile)
402
+ log.info("iswrite: ",iswrite)
383
403
 
384
404
  if(iswrite){
385
405
  const filecontent = eta.render(templatepath, variables)
386
406
  writeFileSync(targetfile,filecontent);
387
407
  }
388
-
408
+ console.log("complete, go to next file")
389
409
 
390
410
 
391
411
 
package/src/index.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  import { error } from "console"
3
3
  import * as fw from './framework'
4
4
  import * as generate from './generate'
5
+ import { chmod } from "fs"
5
6
  const program = require("commander") // add this line
6
7
  const Fieldtypes= require( './type')
7
8
  // const generate= require( './generate')
@@ -33,9 +34,13 @@ console.log(figlet.textSync(`${version}`));
33
34
  let continueexecute = true
34
35
  if(options.generateType && options.generateType=='init'){
35
36
  continueexecute=false
36
- fw.prepareProject(()=>{
37
- process.exit(1)
38
- })
37
+
38
+ fw.prepareProject(()=>{
39
+ chmod(process.cwd()+'/build.sh',0o755,()=>{
40
+ process.exit(1)
41
+ })
42
+ })
43
+
39
44
 
40
45
  }
41
46
  else if(!options.configFile){
@@ -42,6 +42,10 @@ export const readJsonSchemaBuilder = async (docname: string,orijsondata:JSONSche
42
42
  }
43
43
 
44
44
  if(schemaconfigs.generateDocumentNumber){
45
+ if(!schemaconfigs.docNoPattern){
46
+ log.error(docname+" generateDocumentNumber=true but undefine docNoPattern")
47
+ throw new Error(docname+" generateDocumentNumber=true but undefine docNoPattern")
48
+ }
45
49
  const tmp = {
46
50
  type: "object",
47
51
  "x-foreignkey":"docnoformat",
@@ -58,8 +62,12 @@ export const readJsonSchemaBuilder = async (docname: string,orijsondata:JSONSche
58
62
  const apis = schemaconfigs.additionalApis
59
63
  for(let i =0 ; i< apis.length; i++ ){
60
64
  if(!apis[i].responseType){
61
- log.error("Undefine responseType in api "+ apis[i].action)
62
- throw new Error("Undefine responseType in api "+ apis[i].action)
65
+ log.error(docname +" undefine responseType in api "+ apis[i].action)
66
+ throw new Error(docname+ " undefine responseType in api "+ apis[i].action)
67
+ }
68
+ if(!Array.isArray(apis[i].requiredRole) || apis[i].requiredRole.length==0 ){
69
+ log.error(docname+ " undefine requiredRole in api "+ apis[i].action)
70
+ throw new Error(docname +" undefine requiredRole in api "+ apis[i].action)
63
71
  }
64
72
  }
65
73
  }
package/src/type.ts CHANGED
@@ -140,10 +140,12 @@ export type SchemaConfig = {
140
140
  documentTitle?:string
141
141
  loseDataIsolation?:boolean
142
142
  generateDocumentNumber?:boolean
143
+ docNoPattern?:string
143
144
  documentDate?:string
144
145
  allStatus?:DocumentStatus[]
145
146
  additionalApis?:DocumentApi[]
146
147
  additionalAutoCompleteFields ?: string[]
148
+ search?:string[]
147
149
  // libs?:ImportLibs[] // both process class and frontend client class will import same lib
148
150
  formulas?: Formula[]
149
151
  documentType: string
@@ -149,19 +149,40 @@ export class <%= it.typename %>Controller extends SimpleAppAbstractController<
149
149
  }
150
150
 
151
151
 
152
+ <% if(simpleappconfig.search !==undefined){%>
153
+ @Get('/fulltextsearch/:keyword')
154
+ @HttpCode(200)
155
+ @Roles(Role.SuperAdmin, Role.SuperUser, Role.<%= `${it.typename}_search`%>)
156
+ @ApiResponse({
157
+ status: 200,
158
+ description: 'success',
159
+ type: [schemas.<%= it.typename%>]
160
+ })
161
+ @ApiResponse({ status: 400, description: 'bad request' })
162
+ @ApiResponse({ status: 500, description: 'internal error' })
163
+ @ApiOperation({ operationId: 'runFullTextSearch' })
164
+ async fulltextsearch(
165
+ @AppUser() appuser: UserContext,
166
+ @Param('keyword') keyword:string
167
+ ) {
168
+ return await this._fulltextsearch(appuser, keyword);
169
+ }
170
+ <%}%>
171
+
172
+
152
173
  /***************************** begin additionalAPI definations *****************************************/
153
174
 
154
175
  <% for(let i=0;i<it.apiSettings.length;i++){%>
155
176
  <% let api = it.apiSettings[i] %>
156
177
  <%~ `@${capitalizeFirstLetter(api.method)}('${api.entryPoint}')`%>
157
178
  <%if(superadmindoctype.includes(it.doctype)){%>
158
- @Roles(Role.SuperAdmin,Role.<%= `${it.typename}_${api.action}`%>,
179
+ @Roles(Role.SuperAdmin,
159
180
  <%if(api.requiredRole && api.requiredRole.length>0) { %>
160
181
  <% for(let r=0;r<api.requiredRole.length;r++){%>Role.<%=api.requiredRole[r]%>,<%}%>
161
182
  <%}%>
162
183
  )
163
184
  <%}else{%>
164
- @Roles(Role.SuperAdmin,Role.SuperUser,Role.<%= `${it.typename}_${api.action}`%>,
185
+ @Roles(Role.SuperAdmin,Role.SuperUser,
165
186
  <%if(api.requiredRole && api.requiredRole.length>0) { %>
166
187
  <% for(let r=0;r<api.requiredRole.length;r++){%>Role.<%=api.requiredRole[r]%>,<%}%>
167
188
  <%}%>
@@ -46,7 +46,7 @@ export const <%= capitalizeFirstLetter(it.name) %>MongoSchema = new Schema(schem
46
46
  <%}%>
47
47
  <%}%>
48
48
 
49
- <% if(config['uniqueKeys']) {%>
49
+ <% if(config['uniqueKeys']!==undefined) {%>
50
50
  <% for(let i=0; i< config['uniqueKeys'].length; i++ ){ %>
51
51
  <% const keys = config['uniqueKeys'][i] %>
52
52
  .index({
@@ -59,6 +59,14 @@ export const <%= capitalizeFirstLetter(it.name) %>MongoSchema = new Schema(schem
59
59
  <% } %>
60
60
  <%}%>
61
61
 
62
+ <% if(config['search']) {%>
63
+ .index({
64
+ <% for(let i=0; i< config['search'].length; i++ ){ %>
65
+ <% const key = config['search'][i] %>
66
+ '<%= key %>' : 'text',
67
+ <% } %>
68
+ },{name:"<%= it.typename %>TextIndex"})
69
+ <%}%>
62
70
 
63
71
 
64
72
  <% if(it.foreignkeys){%>
@@ -77,13 +77,13 @@ export class <%= it.typename %>Resolver {
77
77
  <% let api = it.apiSettings[i] %>
78
78
  <% if(api.method!='get') continue %>
79
79
  <%if(superadmindoctype.includes(it.doctype)){%>
80
- @Roles(Role.SuperAdmin,Role.<%= `${it.typename}_${api.action}`%>,
80
+ @Roles(Role.SuperAdmin,
81
81
  <%if(api.requiredRole && api.requiredRole.length>0) { %>
82
82
  <% for(let r=0;r<api.requiredRole.length;r++){%>Role.<%=api.requiredRole[r]%>,<%}%>
83
83
  <%}%>
84
84
  )
85
85
  <%}else{%>
86
- @Roles(Role.SuperAdmin,Role.SuperUser,Role.<%= `${it.typename}_${api.action}`%>,
86
+ @Roles(Role.SuperAdmin,Role.SuperUser,
87
87
  <%if(api.requiredRole && api.requiredRole.length>0) { %>
88
88
  <% for(let r=0;r<api.requiredRole.length;r++){%>Role.<%=api.requiredRole[r]%>,<%}%>
89
89
  <%}%>
@@ -11,25 +11,25 @@
11
11
  */
12
12
 
13
13
  import {<%= it.typename %>} from '~/simpleapp/generate/types'
14
+ import {FormCrudEvent} from "~/types"
14
15
  const doc = useNuxtApp().$<%= it.typename %>Doc()
15
16
  const _id = getPathPara('id','')
16
17
 
17
- const after = (actionName: string, data: <%= it.typename %>) => {
18
- console.log("<%= it.typename %> capture after emits ", actionName)
18
+ const after = (actionName: FormCrudEvent, data: <%= it.typename %>) => {
19
19
  switch (actionName) {
20
- case "exit":
20
+ case FormCrudEvent.exit:
21
21
  goTo(doc.getDocName());
22
22
  break;
23
- case "create":
23
+ case FormCrudEvent.create:
24
24
  goTo(doc.getDocName(), data._id);
25
25
  refreshDocumentList(doc.getDocName())
26
26
  useNuxtApp().$event('CloseDialog',doc.getDocName().toLowerCase())
27
27
  break;
28
- case "update":
28
+ case FormCrudEvent.update:
29
29
  refreshDocumentList(doc.getDocName());
30
- useNuxtApp().$event('CloseDialog',doc.getDocName().toLowerCase())
30
+ //useNuxtApp().$event('CloseDialog',doc.getDocName().toLowerCase())
31
31
  break;
32
- case "delete":
32
+ case FormCrudEvent.delete:
33
33
  goTo(doc.getDocName(), "new");
34
34
  refreshDocumentList(doc.getDocName())
35
35
  useNuxtApp().$event('CloseDialog',doc.getDocName().toLowerCase())
@@ -13,8 +13,8 @@
13
13
  <%}%>
14
14
  <SimpleAppForm #default="o" :document="doc">
15
15
  <SimpleAppFormToolBar :document="doc" @on="actionListener"></SimpleAppFormToolBar>
16
- <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 p-2">
17
- <% let isautofocus='' %>
16
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-4 p-2">
17
+ <% let isautofocus='' %>
18
18
  <%Object.keys(it.jsonschema.properties).forEach(function(key) { %>
19
19
 
20
20
  <% let obj=it.jsonschema.properties[key] %>
@@ -131,7 +131,6 @@
131
131
  <%})%>
132
132
  </div>
133
133
  </SimpleAppForm>
134
- <DebugDocumentData v-model="data" :label="doc.getDocName()"/>
135
134
  </div>
136
135
  </template>
137
136
 
@@ -161,9 +160,7 @@ const newData = () => doc.setNew()
161
160
  const getRecord = async () => {
162
161
  if(id.value && id.value != 'new'){
163
162
  await doc.getById(id.value)
164
- }else{
165
- newData()
166
- }
163
+ }
167
164
  }
168
165
 
169
166
  getRecord()
@@ -4,26 +4,7 @@
4
4
  <PageDocList :document="doc" :columns="columns" :data="docdata" :sorts="sorts">
5
5
  <template #mobileList="{index,item}">
6
6
  </template>
7
- <template #dataTableColumns>
8
- <%Object.keys(it.jsonschema.properties).forEach(function(key) { %>
9
- <%let obj=it.jsonschema.properties[key] %>
10
- <%let config=it.jsonschema['x-simpleapp-config'] %>
11
- <%if(skipcolumns.indexOf(key)>=0){%>
12
- <%} else if(config['uniqueKey'] && (config['uniqueKey']==key || config['documentTitle']==key) ){%>
13
- <Column #body="{index,data}" :header="t('<%=key%>')">
14
- <RendererLink :value="data" :setting="{path:'<%=it.name%>'}" :fields="['<%=key%>']">{{ data.<%=key%> }}</RendererLink>
15
- </Column>
16
-
17
- <%} else if(['string','number','integer','boolean'].indexOf(obj.type)>=0){%>
18
- <Column #body="{index,data}" :header="t('<%=key%>')">
19
- {{data.<%=key%>}}
20
- </Column>
21
- <%} else if(obj.type =='object' && obj['x-foreignkey'] ){%>
22
- <Column #body="{index,data}" :header="t('<%=key%>')">
23
- <RendererViewer :value="data.<%=key%>" :setting="{documentName:'<%=obj["x-foreignkey"]%>'}" :fields="['<%=key%>']">{{ data.label }}</RendererViewer>
24
- </Column>
25
- <%}%>
26
- <%})%>
7
+ <template #dataTableColumns>
27
8
  </template>
28
9
  <template #default><div><NuxtPage :_id="id ?? 'new'"/></div></template>
29
10
  </PageDocList>
@@ -44,7 +25,7 @@ import { <%= it.typename %> } from '~/simpleapp/generate/openapi';
44
25
  type <%= it.typename %>Key = keyof <%= it.typename %>
45
26
 
46
27
  definePageMeta({
47
- menuPath:'nocategory/<%= it.name %>'
28
+ menuPath:'general/nocategory/<%= it.name %>'
48
29
  });
49
30
 
50
31
  const columns:<%= it.typename %>Key[] = [<%Object.keys(it.jsonschema.properties).forEach(function(key) { %>
@@ -121,7 +121,7 @@ export class <%= it.typename%>Client extends SimpleAppClient<openapi.<%= it.type
121
121
 
122
122
 
123
123
  /*****************************begin x-document-api code*****************************************/
124
-
124
+
125
125
  <%for(let i=0;i<it.apiSettings.length;i++){%>
126
126
  <% let api = it.apiSettings[i] %>
127
127
  async run<%=capitalizeFirstLetter(api.action)%>(
@@ -299,4 +299,11 @@ export class <%= it.typename%>Client extends SimpleAppClient<openapi.<%= it.type
299
299
  }
300
300
  <%}%>
301
301
  /***************************** end document status code*****************************************/
302
+
303
+ <%if(it.jsonschema['x-simpleapp-config']['search']!==undefined){%>
304
+ async runFullTextSearh(keyword:string) {
305
+ const response = await this.docapi.runFullTextSearch(keyword)
306
+ return response.data
307
+ }
308
+ <%}%>
302
309
  }
@@ -17,4 +17,6 @@ export class ApiSearchBody{
17
17
  fields: [Object];
18
18
  @ApiProperty({"type":()=>[Object],"required":true,"examples":['[[ "field1", "asc" ]]'],"default":[[ 'field1', 'asc' ]]} )
19
19
  sorts: [Object];
20
+ @ApiProperty({type: () => Object,required: false,})
21
+ lookup: Object
20
22
  }
@@ -8,7 +8,14 @@ export const alldocuments:any[] = [
8
8
  <%for(let i=0; i<it.modules.length;i++){ %>
9
9
  <% const d = it.modules[i] %>
10
10
  <% const conf = d.schema["x-simpleapp-config"] %>
11
- {docName:'<%= d['docname'] %>',docType:'<%= d['doctype'].toUpperCase()%>',page: '<%=d['pagetype']%>', isolationType:'<%=conf['isolationType']%>',
12
- documentDate:'<%=conf['documentDate']??""%>', docNumber:<%=conf['generateDocumentNumber']??false%>},
11
+ {
12
+ docName:'<%= d['docname'] %>',
13
+ docType:'<%= d['doctype'].toUpperCase()%>',
14
+ page: '<%=d['pagetype']%>',
15
+ isolationType:'<%=conf['isolationType']%>',
16
+ documentDate:'<%=conf['documentDate']??""%>',
17
+ docNumber:<%=conf['generateDocumentNumber']??false%>,
18
+ docNoPattern: '<%=conf['docNoPattern']%>'
19
+ },
13
20
  <%}%>
14
21
  ]