@simitgroup/simpleapp-generator 2.0.0-v-alpha → 2.0.0-x-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 (55) hide show
  1. package/ReleaseNote.md +12 -0
  2. package/dist/buildinschemas/autoincreament.js +1 -1
  3. package/dist/buildinschemas/docnoformat.js +1 -1
  4. package/dist/buildinschemas/docnoformat.js.map +1 -1
  5. package/dist/buildinschemas/documentevent.js +1 -1
  6. package/dist/generate.js +4 -18
  7. package/dist/generate.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/generate.ts +8 -22
  10. package/templates/basic/miniApi/resource.controller.ts.eta +1 -1
  11. package/templates/basic/miniAppJsSdk/resource-bridge.service.ts.eta +38 -11
  12. package/templates/basic/nest/controller.ts.eta +12 -12
  13. package/templates/basic/nuxt/resource-bridge.service.ts.eta +12 -2
  14. package/templates/miniApi/src/constants/api-scopes.ts.eta +18 -0
  15. package/templates/miniAppJsSdk/src/index.ts.eta +15 -5
  16. package/templates/miniAppJsSdk/src/services/bridge.service.ts.eta +14 -14
  17. package/templates/nest/src/simple-app/_core/framework/base/simple-app.controller.ts.eta +3 -3
  18. package/templates/nest/src/simple-app/_core/framework/base/simple-app.service.ts.eta +3 -4
  19. package/templates/nest/src/simple-app/_core/framework/simple-app.interceptor.ts.eta +1 -1
  20. package/dist/buildinschemas/message.d.ts +0 -3
  21. package/dist/buildinschemas/message.d.ts.map +0 -1
  22. package/dist/buildinschemas/message.js +0 -34
  23. package/dist/buildinschemas/message.js.map +0 -1
  24. package/dist/buildinschemas/webhookhistory.d.ts +0 -3
  25. package/dist/buildinschemas/webhookhistory.d.ts.map +0 -1
  26. package/dist/buildinschemas/webhookhistory.js +0 -44
  27. package/dist/buildinschemas/webhookhistory.js.map +0 -1
  28. package/dist/createproject.js +0 -138
  29. package/dist/createproject.js.map +0 -1
  30. package/dist/generate-allow-changebackend.js +0 -305
  31. package/dist/generate-allow-changebackend.js.map +0 -1
  32. package/dist/index2.js +0 -118
  33. package/dist/index2.js.map +0 -1
  34. package/dist/installdependency.js +0 -20
  35. package/dist/installdependency.js.map +0 -1
  36. package/dist/installnest.js +0 -2
  37. package/dist/installnest.js.map +0 -1
  38. package/dist/installnuxt.js +0 -2
  39. package/dist/installnuxt.js.map +0 -1
  40. package/dist/processors/groupsbuilder.js +0 -2
  41. package/dist/processors/groupsbuilder.js.map +0 -1
  42. package/dist/schematype/baseschema.js +0 -25
  43. package/dist/schematype/baseschema.js.map +0 -1
  44. package/dist/schematype/default.js +0 -2
  45. package/dist/schematype/default.js.map +0 -1
  46. package/dist/schematype/index.js +0 -12
  47. package/dist/schematype/index.js.map +0 -1
  48. package/dist/schematype/primarymasterdata.js +0 -38
  49. package/dist/schematype/primarymasterdata.js.map +0 -1
  50. package/dist/schematype/simple.js +0 -24
  51. package/dist/schematype/simple.js.map +0 -1
  52. package/dist/schematype/simplemasterdata.js +0 -31
  53. package/dist/schematype/simplemasterdata.js.map +0 -1
  54. package/dist/schematype/transaction.js +0 -74
  55. package/dist/schematype/transaction.js.map +0 -1
package/ReleaseNote.md CHANGED
@@ -1,4 +1,16 @@
1
+ [2.0.0x-alpha]
2
+
3
+ 1. Fix patch many
4
+ 2. Fix undefined status error
5
+ 3. Update JS SDK add type
6
+
7
+ [2.0.0w-alpha]
8
+
9
+ 1. Update api scope
10
+ 2. Update search with relation
11
+
1
12
  [2.0.0v-alpha]
13
+
2
14
  1. frontend print toolbar control print button permission
3
15
  2. fix generate form use wrong file name
4
16
 
@@ -15,7 +15,7 @@ exports.autoincreament = {
15
15
  entryPoint: 'gennextno/:collection/:field',
16
16
  requiredRole: ['User'],
17
17
  method: type_1.RESTMethods.get,
18
- responseType: 'AutoIncreament',
18
+ responseType: 'Autoincreament',
19
19
  description: 'Get next no and trigger increase nextno'
20
20
  }
21
21
  ],
@@ -17,7 +17,7 @@ exports.docnoformat = {
17
17
  action: 'listDocFormats',
18
18
  entryPoint: '/listdocformats/:doctype',
19
19
  requiredRole: ['User'],
20
- responseType: '[DocumentNoFormat]',
20
+ responseType: '[Docnoformat]',
21
21
  method: type_1.RESTMethods.get,
22
22
  description: 'get list of document format for 1 doctype'
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"docnoformat.js","sourceRoot":"","sources":["../../src/buildinschemas/docnoformat.ts"],"names":[],"mappings":";;;AAAA,kCAAiE;AAEpD,QAAA,WAAW,GAAe;IACrC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE;QACpB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,iBAAiB;QAChC,4BAA4B,EAAE,CAAC,SAAS,CAAC;QACzC,cAAc,EAAE;YACd;gBACE,MAAM,EAAE,gBAAgB;gBACxB,UAAU,EAAE,0BAA0B;gBACtC,YAAY,EAAE,CAAC,MAAM,CAAC;gBACtB,YAAY,EAAE,oBAAoB;gBAClC,MAAM,EAAE,kBAAW,CAAC,GAAG;gBACvB,WAAW,EAAE,2CAA2C;aACzD;SACF;QACD,YAAY,EAAE,kBAAkB;KACjC;IACD,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACrD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACrD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;SACF;QACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;QACpD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,wBAAwB,CAAC,EAAE;QACzE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QACrD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;YAC9C,WAAW,EAAE,iCAAiC;SAC/C;QACD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;KAC5C;CACF,CAAC"}
1
+ {"version":3,"file":"docnoformat.js","sourceRoot":"","sources":["../../src/buildinschemas/docnoformat.ts"],"names":[],"mappings":";;;AAAA,kCAAiE;AAEpD,QAAA,WAAW,GAAe;IACrC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE;QACpB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,iBAAiB;QAChC,4BAA4B,EAAE,CAAC,SAAS,CAAC;QACzC,cAAc,EAAE;YACd;gBACE,MAAM,EAAE,gBAAgB;gBACxB,UAAU,EAAE,0BAA0B;gBACtC,YAAY,EAAE,CAAC,MAAM,CAAC;gBACtB,YAAY,EAAE,eAAe;gBAC7B,MAAM,EAAE,kBAAW,CAAC,GAAG;gBACvB,WAAW,EAAE,2CAA2C;aACzD;SACF;QACD,YAAY,EAAE,kBAAkB;KACjC;IACD,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACrD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACrD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;SACF;QACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;QACpD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,wBAAwB,CAAC,EAAE;QACzE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QACrD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;YAC9C,WAAW,EAAE,iCAAiC;SAC/C;QACD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;KAC5C;CACF,CAAC"}
@@ -42,7 +42,7 @@ exports.documentevent = {
42
42
  ],
43
43
  examples: ['create', 'delete']
44
44
  },
45
- eventData: {}
45
+ eventdata: {}
46
46
  }
47
47
  };
48
48
  //# sourceMappingURL=documentevent.js.map
package/dist/generate.js CHANGED
@@ -573,29 +573,15 @@ const generateSchema = (docname, doctype, rendertype, allmodels) => {
573
573
  // console.log("complete, go to next file")
574
574
  }
575
575
  else if (foldertype === 'miniAppJsSdk') {
576
- const validateWritePage = (targetfile, isexists) => {
577
- if (!jsonschemas[docname][X_SIMPLEAPP_CONFIG]['pageType'] &&
578
- !targetfile.includes('Viewer') &&
579
- !targetfile.includes('Form')) {
580
- return false;
581
- }
582
- else if (!isexists) {
583
- return true;
584
- }
585
- else if (!(0, fs_1.existsSync)(targetfile) ||
586
- (0, fs_1.readFileSync)(targetfile, 'utf-8').includes('--remove-this-line-to-prevent-override--') ||
587
- (0, fs_1.readFileSync)(targetfile, 'utf-8').includes('delete-me')) {
588
- return true;
589
- }
590
- else {
591
- return false;
592
- }
593
- };
594
576
  const mapfiles = {
595
577
  'resource-bridge.service.ts.eta': {
596
578
  to: 'src/services/resources',
597
579
  as: `${lodash_1.default.kebabCase(resourceName)}-bridge.service.ts`,
598
580
  validate: (targetfile, isexists) => {
581
+ const { miniApp: { hasMiniAppWhitelistedApi } } = variables;
582
+ if (!hasMiniAppWhitelistedApi) {
583
+ return false;
584
+ }
599
585
  return true;
600
586
  }
601
587
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.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": "2.0.0v-alpha",
3
+ "version": "2.0.0x-alpha",
4
4
  "description": "frontend nuxtjs and backend nests code generator using jsonschema",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
package/src/generate.ts CHANGED
@@ -626,33 +626,19 @@ const generateSchema = (
626
626
  }
627
627
  // console.log("complete, go to next file")
628
628
  } else if (foldertype === 'miniAppJsSdk') {
629
- const validateWritePage = (targetfile: string, isexists: boolean) => {
630
- if (
631
- !jsonschemas[docname][X_SIMPLEAPP_CONFIG]['pageType'] &&
632
- !targetfile.includes('Viewer') &&
633
- !targetfile.includes('Form')
634
- ) {
635
- return false;
636
- } else if (!isexists) {
637
- return true;
638
- } else if (
639
- !existsSync(targetfile) ||
640
- readFileSync(targetfile, 'utf-8').includes(
641
- '--remove-this-line-to-prevent-override--'
642
- ) ||
643
- readFileSync(targetfile, 'utf-8').includes('delete-me')
644
- ) {
645
- return true;
646
- } else {
647
- return false;
648
- }
649
- };
650
-
651
629
  const mapfiles = {
652
630
  'resource-bridge.service.ts.eta': {
653
631
  to: 'src/services/resources',
654
632
  as: `${_.kebabCase(resourceName)}-bridge.service.ts`,
655
633
  validate: (targetfile: string, isexists: boolean) => {
634
+ const {
635
+ miniApp: { hasMiniAppWhitelistedApi }
636
+ } = variables;
637
+
638
+ if (!hasMiniAppWhitelistedApi) {
639
+ return false;
640
+ }
641
+
656
642
  return true;
657
643
  }
658
644
  }
@@ -130,7 +130,7 @@ export class <%= pascalName %>Controller {
130
130
  @ApiResponse({ status: 500, description: 'Internal Error' })
131
131
  async patchMany(
132
132
  @Headers() headers: ApiHeader,
133
- @Body() resourceDto: any,
133
+ @Body() resourceDto: SimtrainSchema.UpdateManyResponseDto,
134
134
  ) {
135
135
  return await this.<%= serviceVariable %>.patchMany(headers, resourceDto);
136
136
  }
@@ -12,10 +12,33 @@
12
12
 
13
13
  const miniAppWhitelistApis = it.jsonschema['x-simpleapp-config']?.miniApp?.whitelist || {};
14
14
  const hasMiniAppWhitelistedApi = Object.keys(miniAppWhitelistApis).length > 0;
15
+
16
+ const getTypeName = (typeName) => {
17
+ const systemTypes = ['boolean', 'string', 'number', 'object', 'integer'];
18
+ let tmpTypeName = typeName.replace('[','').replace(']','');
19
+
20
+ if(systemTypes.includes(tmpTypeName.toLowerCase())){
21
+ tmpTypeName = tmpTypeName.toLowerCase();
22
+ if(typeName.includes('[')){
23
+ return `${tmpTypeName}[]`;
24
+ }
25
+
26
+ return tmpTypeName;
27
+ } else {
28
+ tmpTypeName = `Schema.${tmpTypeName}`;
29
+ if(typeName.includes('[')){
30
+ return `${tmpTypeName}[]`;
31
+ }
32
+
33
+ return `${tmpTypeName}`;
34
+ }
35
+ }
15
36
  %>
16
37
 
17
38
  import { MiniAppApiListParam } from "../../types/bridge.type";
18
39
  import { MiniAppBridgeService } from "../bridge.service";
40
+ import * as Schema from "../../openapi/backend-api";
41
+ import { CreateResource, PatchResource, UpdateResource } from "../../types/common";
19
42
 
20
43
  export class MiniApp<%= pascalName %>BridgeService {
21
44
  private bridge: MiniAppBridgeService;
@@ -31,23 +54,27 @@ export class MiniApp<%= pascalName %>BridgeService {
31
54
 
32
55
  <% if(action === 'list') { %>
33
56
  async list(params?: MiniAppApiListParam | undefined) {
34
- return this.bridge.callApi(this.resourceName, "list", { body: params });
57
+ return this.bridge.callApi<Schema.<%= pascalName %>[]>(this.resourceName, "list", { body: params });
35
58
  }
36
59
  <% } else if(action === 'detail') { %>
37
60
  async detail(id: string) {
38
- return this.bridge.callApi(this.resourceName, "detail", { id });
61
+ return this.bridge.callApi<Schema.<%= pascalName %>>(this.resourceName, "detail", { id });
39
62
  }
40
63
  <% } else if(action === 'create') { %>
41
- async create(data: any) {
42
- return this.bridge.callApi(this.resourceName, "create", { body: data });
64
+ async create(data: CreateResource<Schema.<%= pascalName %>>) {
65
+ return this.bridge.callApi<Schema.<%= pascalName %>>(this.resourceName, "create", { body: data });
43
66
  }
44
67
  <% } else if(action === 'update') { %>
45
- async update(id: string, data: any) {
46
- return this.bridge.callApi(this.resourceName, "update", { id, body: data });
68
+ async update(id: string, data: UpdateResource<Schema.<%= pascalName %>>) {
69
+ return this.bridge.callApi<Schema.<%= pascalName %>>(this.resourceName, "update", { id, body: data });
47
70
  }
48
71
  <% } else if(action === 'patch') { %>
49
- async patch(id: string, data: any) {
50
- return this.bridge.callApi(this.resourceName, "patch", { id, body: data });
72
+ async patch(id: string, data: PatchResource<Schema.<%= pascalName %>>) {
73
+ return this.bridge.callApi<Schema.<%= pascalName %>>(this.resourceName, "patch", { id, body: data });
74
+ }
75
+ <% } else if(action === 'patchMany') { %>
76
+ async patchMany(data: Schema.PatchManyRequest) {
77
+ return this.bridge.callApi<Schema.UpdateManyResponse>(this.resourceName, "patchMany", { body: data });
51
78
  }
52
79
  <% } else if(action === 'delete') { %>
53
80
  async delete(id: string) {
@@ -55,7 +82,7 @@ export class MiniApp<%= pascalName %>BridgeService {
55
82
  }
56
83
  <% } else if(action === 'autoComplete') { %>
57
84
  async autoComplete(query: string, data: any) {
58
- return this.bridge.callApi(this.resourceName, "autoComplete", {
85
+ return this.bridge.callApi<Schema.<%= pascalName %>AutoComplete[]>(this.resourceName, "autoComplete", {
59
86
  query,
60
87
  body: data,
61
88
  });
@@ -94,13 +121,13 @@ export class MiniApp<%= pascalName %>BridgeService {
94
121
  }
95
122
 
96
123
  if (hasBody) {
97
- args.push('data: any');
124
+ args.push(`data: ${getTypeName(apiSetting.schema)}`);
98
125
  output.push('body: data');
99
126
  }
100
127
  %>
101
128
 
102
129
  async <%= action %>(<%= args.join(', ') %>) {
103
- return this.bridge.callApi(this.resourceName, "<%= action %>", {
130
+ return this.bridge.callApi<<%= getTypeName(apiSetting.responseType) %>>(this.resourceName, "<%= action %>", {
104
131
  <%= output.join(',\n ') %>
105
132
  });
106
133
  }
@@ -212,6 +212,18 @@ export class <%= it.typename %>Controller extends SimpleAppController<
212
212
  return await this._update(appuser,id, data) ;
213
213
  }
214
214
 
215
+ @Patch('bulk-patch')
216
+ @ApiResponse({ status: 200, description: 'success', type: schemas.UpdateManyResponse})
217
+ @Roles(Role.SuperAdmin, Role.SuperUser, Role.<%= it.typename%>_update)
218
+ @ApiResponse({ status: 404, description: 'Document not found' })
219
+ @ApiResponse({ status: 500, description: 'Internal error' })
220
+ @ApiBody({ description: 'Data', type: schemas.PatchManyRequest<schemas.<%= it.typename%>> })
221
+ @ApiOperation({ operationId: 'runPatchMany' })
222
+ <%~ drawMiniAppScope('patchMany') %>
223
+ async patchMany(@AppUser() appuser: UserContext, @Body() patchManyData: schemas.PatchManyRequest<schemas.<%= it.typename%>>) {
224
+ return await this._patchMany(appuser, patchManyData);
225
+ }
226
+
215
227
  @Patch(':id')
216
228
  @ApiResponse({
217
229
  status: 200,
@@ -231,18 +243,6 @@ export class <%= it.typename %>Controller extends SimpleAppController<
231
243
  return await this._patch(appuser,id, data) ;
232
244
  }
233
245
 
234
- @Patch('bulk-patch')
235
- @ApiResponse({ status: 200, description: 'success', type: schemas.UpdateManyResponse})
236
- @Roles(Role.SuperAdmin, Role.SuperUser, Role.<%= it.typename%>_update)
237
- @ApiResponse({ status: 404, description: 'Document not found' })
238
- @ApiResponse({ status: 500, description: 'Internal error' })
239
- @ApiBody({ description: 'Data', type: schemas.PatchManyRequest<schemas.<%= it.typename%>> })
240
- @ApiOperation({ operationId: 'runPatchMany' })
241
- <%~ drawMiniAppScope('patch-many') %>
242
- async patchMany(@AppUser() appuser: UserContext, @Body() patchManyData: schemas.PatchManyRequest<schemas.<%= it.typename%>>) {
243
- return await this._patchMany(appuser, patchManyData);
244
- }
245
-
246
246
  @Delete(':id')
247
247
  <%if(superadmindoctype.includes(it.doctype)){%>
248
248
  @Roles(Role.SuperAdmin,Role.<%= `${it.typename}_delete`%>)
@@ -14,7 +14,7 @@
14
14
  const hasMiniAppWhitelistedApi = Object.keys(miniAppWhitelistApis).length > 0;
15
15
  %>
16
16
 
17
- import { <%= apiName %> } from "~/simpleapp/generate/openapi";
17
+ import { PatchManyRequest, <%= apiName %> } from "~/simpleapp/generate/openapi";
18
18
  import { MiniAppBridgeMessageApi } from "../../types/bridge.type";
19
19
 
20
20
  const actions = <%~ JSON.stringify(Object.keys(miniAppWhitelistApis), null, 2) %> as const;
@@ -122,6 +122,16 @@ export class MiniApp<%= pascalName %>BridgeService {
122
122
  )
123
123
  ).data;
124
124
  }
125
+ <% } else if(action === 'patchMany') { %>
126
+ protected async handlePatchMany(message: MiniAppBridgeMessageApi<<%= typeActionName %>>) {
127
+ if (!message.params.body) throw new Error("ERR_MISSING_BODY");
128
+
129
+ return (
130
+ await this.api!.runPatchMany(
131
+ message.params.body as PatchManyRequest,
132
+ )
133
+ ).data;
134
+ }
125
135
  <% } else if(action === 'delete') { %>
126
136
  protected async handleDelete(message: MiniAppBridgeMessageApi<<%= typeActionName %>>) {
127
137
  if (!message.params.resource.id) throw new Error("ERR_MISSING_ID");
@@ -164,7 +174,7 @@ export class MiniApp<%= pascalName %>BridgeService {
164
174
  ? 'message.params.resource.id'
165
175
  : `queryParams?.${name}`
166
176
  ));
167
- if (hasBody) args.push('message.params.body');
177
+ if (hasBody) args.push('message.params.body as any');
168
178
  %>
169
179
 
170
180
  return (await this.api!.run<%= upperFirstCase(action) %>(<%= args.join(', ') %>)).data;
@@ -46,6 +46,11 @@
46
46
  description = `Update specific fields of an existing ${resourceTitleName} record.`;
47
47
  break;
48
48
 
49
+ case 'patchMany':
50
+ method = 'patch';
51
+ description = `Update specific fields of existing ${resourceTitleName} records.`;
52
+ break;
53
+
49
54
  case 'delete':
50
55
  method = 'delete';
51
56
  description = `Delete an existing ${resourceTitleName} record.`;
@@ -89,6 +94,19 @@ const scopes = {
89
94
  <%= resourceName %>: <%~ JSON.stringify(availableApis) %>,
90
95
  <% } %>
91
96
  <% }); %>
97
+
98
+ // --- Custom ---
99
+
100
+ onlinePayment: {
101
+ requestOnlinePayment: {
102
+ method: "post",
103
+ description: "Make online payment request",
104
+ },
105
+ checkStatus: {
106
+ method: "get",
107
+ description: "Check online payment status",
108
+ },
109
+ },
92
110
  };
93
111
 
94
112
  export default scopes;
@@ -11,13 +11,19 @@ import {
11
11
  MiniAppBridgeMessageNavigate,
12
12
  MiniAppBridgeMessageNavigateCurrentMiniApp,
13
13
  } from "./types/bridge.type";
14
+ import { NavigateToOptions } from "./types/navigate.type";
14
15
 
15
16
  export class SimtrainEcoMiniAppJsSdk extends MiniAppBridgeResourceAccessor {
16
17
  public ui = {
17
- navigateTo: (target: string, id?: string, query?: string) => {
18
+ navigateTo: (
19
+ target: string,
20
+ id?: string,
21
+ query?: string,
22
+ options?: NavigateToOptions
23
+ ) => {
18
24
  const message: MiniAppBridgeMessageNavigate = {
19
25
  type: MINI_APP_BRIDGE_MESSAGES.NAVIGATE,
20
- params: { target, id, query },
26
+ params: { target, id, query, options },
21
27
  };
22
28
 
23
29
  window.parent.postMessage(message, "*");
@@ -25,10 +31,14 @@ export class SimtrainEcoMiniAppJsSdk extends MiniAppBridgeResourceAccessor {
25
31
  };
26
32
 
27
33
  public current = {
28
- navigateTo: (target: string, query?: string) => {
34
+ navigateTo: (
35
+ target: string,
36
+ query?: string,
37
+ options?: NavigateToOptions
38
+ ) => {
29
39
  const message: MiniAppBridgeMessageNavigateCurrentMiniApp = {
30
40
  type: MINI_APP_BRIDGE_MESSAGES.NAVIGATE_CURRENT_MINI_APP,
31
- params: { target, query },
41
+ params: { target, query, options },
32
42
  };
33
43
 
34
44
  window.parent.postMessage(message, "*");
@@ -37,6 +47,6 @@ export class SimtrainEcoMiniAppJsSdk extends MiniAppBridgeResourceAccessor {
37
47
 
38
48
  constructor() {
39
49
  super();
40
- console.log("Hello from SimtrainEcoMiniAppJsSdk !!!");
50
+ // console.log("Hello from SimtrainEcoMiniAppJsSdk !!!");
41
51
  }
42
52
  }
@@ -5,16 +5,16 @@
5
5
  * Author: --
6
6
  */
7
7
 
8
- import { MINI_APP_BRIDGE_MESSAGES } from '../constants/common.constant';
8
+ import { MINI_APP_BRIDGE_MESSAGES } from "../constants/common.constant";
9
9
  import {
10
10
  MiniAppBridgeMessageApi,
11
11
  MiniAppBridgeMessageApiResponse,
12
- MiniAppBridgeMessageOpenOnScreenResourceForm
13
- } from '../types/bridge.type';
12
+ MiniAppBridgeMessageOpenOnScreenResourceForm,
13
+ } from "../types/bridge.type";
14
14
  import {
15
15
  MiniAppResourceServiceApiParam,
16
- MiniAppResourceServiceOpenOnScreenResourceFormParam
17
- } from '../types/service.type';
16
+ MiniAppResourceServiceOpenOnScreenResourceFormParam,
17
+ } from "../types/service.type";
18
18
 
19
19
  export class MiniAppBridgeService {
20
20
  private pendingRequests: Record<
@@ -23,8 +23,8 @@ export class MiniAppBridgeService {
23
23
  > = {};
24
24
 
25
25
  constructor() {
26
- if (typeof window !== 'undefined') {
27
- window.addEventListener('message', (event) => {
26
+ if (typeof window !== "undefined") {
27
+ window.addEventListener("message", event => {
28
28
  const message: MiniAppBridgeMessageApiResponse<any> = event.data;
29
29
 
30
30
  if (
@@ -46,7 +46,7 @@ export class MiniAppBridgeService {
46
46
  }
47
47
  }
48
48
 
49
- async callApi(
49
+ async callApi<TResponse>(
50
50
  resource: string,
51
51
  action: string,
52
52
  params: MiniAppResourceServiceApiParam = {}
@@ -63,14 +63,14 @@ export class MiniAppBridgeService {
63
63
  query: params.query,
64
64
  body: params.body,
65
65
  queryParams: params.queryParams,
66
- }
66
+ },
67
67
  };
68
68
 
69
- const promise = new Promise<any>((resolve, reject) => {
69
+ const promise = new Promise<TResponse>((resolve, reject) => {
70
70
  this.pendingRequests[requestId] = { resolve, reject };
71
71
  });
72
72
 
73
- window.parent.postMessage(requestMessage, '*');
73
+ window.parent.postMessage(requestMessage, "*");
74
74
  return promise;
75
75
  }
76
76
 
@@ -82,10 +82,10 @@ export class MiniAppBridgeService {
82
82
  type: MINI_APP_BRIDGE_MESSAGES.OPEN_ON_SCREEN_RESOURCE_FORM,
83
83
  params: {
84
84
  resource: { name: resource, id: params.id },
85
- data: params.data
86
- }
85
+ data: params.data,
86
+ },
87
87
  };
88
88
 
89
- window.parent.postMessage(message, '*');
89
+ window.parent.postMessage(message, "*");
90
90
  }
91
91
  }
@@ -7,7 +7,7 @@
7
7
  import { Controller, Get, Put, Post, Delete, Body, Param, Type } from '@nestjs/common';
8
8
  // import { ApiTags, ApiBody, ApiResponse, ApiOperation } from '@nestjs/swagger';
9
9
  import { UserContext } from '../../features/user-context/user.context';
10
- import { SearchBody, TextSearchBody,PatchManyRequest } from '../schemas';
10
+ import { SearchBody, TextSearchBody, PatchManyRequest } from '../schemas';
11
11
  import { UpdateWriteOpResult } from 'mongoose';
12
12
 
13
13
  const doctype = 'person'.toUpperCase();
@@ -84,8 +84,8 @@ export class SimpleAppController<TService extends ServiceType, TApiSchema> {
84
84
  return this.service.findIdThenDelete(appuser, id);
85
85
  }
86
86
 
87
- async _patchMany(appuser: UserContext, patchManyData: PatchManyRequest<TApiSchema>) {
88
- return this.service.findIdThenPatch(appuser, patchManyData);
87
+ async _patchMany(appuser: UserContext, patchManyData: PatchManyRequest<TApiSchema>) {
88
+ return this.service.patchMany(appuser, patchManyData);
89
89
  }
90
90
 
91
91
  async _deleteMany(appuser: UserContext, data: SearchBody) {
@@ -1324,11 +1324,10 @@ export class SimpleAppService<T extends SchemaFields> {
1324
1324
  }
1325
1325
 
1326
1326
  const subPipeline: PipelineStage.Lookup['$lookup']['pipeline'] = [];
1327
- const foreignField = `${this.documentName}._id`;
1328
1327
 
1329
1328
  subPipeline.push({
1330
1329
  $match: {
1331
- $expr: { $eq: [`$${foreignField}`, '$$resourceId'] },
1330
+ $expr: { $eq: [`$${relationOption.foreignField}`, '$$localValue'] },
1332
1331
  },
1333
1332
  ...relationOption.filter,
1334
1333
  });
@@ -1351,9 +1350,9 @@ export class SimpleAppService<T extends SchemaFields> {
1351
1350
 
1352
1351
  pipeline.push({
1353
1352
  $lookup: {
1354
- from: relationName,
1353
+ from: relationName.toLowerCase(),
1355
1354
  as: `_${relationName}`,
1356
- let: { resourceId: '$_id' },
1355
+ let: { localValue: `$${relationOption.localField}` },
1357
1356
  pipeline: subPipeline,
1358
1357
  },
1359
1358
  });