@simitgroup/simpleapp-generator 2.0.0-n-alpha → 2.0.0-p-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 (47) hide show
  1. package/ReleaseNote.md +30 -6
  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/package.json +1 -1
  7. package/reset-install.sh +2 -2
  8. package/templates/nest/src/main.ts._eta +1 -1
  9. package/templates/nest/src/simple-app/_core/features/document-no-format/document-no-format.service.ts.eta +29 -0
  10. package/templates/nest/src/simple-app/_core/framework/base/simple-app.service.ts.eta +11 -10
  11. package/templates/nuxt/components/select/SelectTemplate.vue._eta +1 -1
  12. package/dist/buildinschemas/message.d.ts +0 -3
  13. package/dist/buildinschemas/message.d.ts.map +0 -1
  14. package/dist/buildinschemas/message.js +0 -34
  15. package/dist/buildinschemas/message.js.map +0 -1
  16. package/dist/buildinschemas/webhookhistory.d.ts +0 -3
  17. package/dist/buildinschemas/webhookhistory.d.ts.map +0 -1
  18. package/dist/buildinschemas/webhookhistory.js +0 -44
  19. package/dist/buildinschemas/webhookhistory.js.map +0 -1
  20. package/dist/createproject.js +0 -138
  21. package/dist/createproject.js.map +0 -1
  22. package/dist/generate-allow-changebackend.js +0 -305
  23. package/dist/generate-allow-changebackend.js.map +0 -1
  24. package/dist/index2.js +0 -118
  25. package/dist/index2.js.map +0 -1
  26. package/dist/installdependency.js +0 -20
  27. package/dist/installdependency.js.map +0 -1
  28. package/dist/installnest.js +0 -2
  29. package/dist/installnest.js.map +0 -1
  30. package/dist/installnuxt.js +0 -2
  31. package/dist/installnuxt.js.map +0 -1
  32. package/dist/processors/groupsbuilder.js +0 -2
  33. package/dist/processors/groupsbuilder.js.map +0 -1
  34. package/dist/schematype/baseschema.js +0 -25
  35. package/dist/schematype/baseschema.js.map +0 -1
  36. package/dist/schematype/default.js +0 -2
  37. package/dist/schematype/default.js.map +0 -1
  38. package/dist/schematype/index.js +0 -12
  39. package/dist/schematype/index.js.map +0 -1
  40. package/dist/schematype/primarymasterdata.js +0 -38
  41. package/dist/schematype/primarymasterdata.js.map +0 -1
  42. package/dist/schematype/simple.js +0 -24
  43. package/dist/schematype/simple.js.map +0 -1
  44. package/dist/schematype/simplemasterdata.js +0 -31
  45. package/dist/schematype/simplemasterdata.js.map +0 -1
  46. package/dist/schematype/transaction.js +0 -74
  47. package/dist/schematype/transaction.js.map +0 -1
package/ReleaseNote.md CHANGED
@@ -1,70 +1,94 @@
1
+ [2.0.0p-alpha]
2
+
3
+ 1. Test
4
+
5
+ [2.0.0o-alpha]
6
+
7
+ 1. Fix create many bugs
8
+ 2. support request multiple number
9
+
1
10
  [2.0.0n-alpha]
11
+
2
12
  1. fix bugs on declare generator version
3
13
  2. show generator version on swagger ui
4
14
 
5
15
  [2.0.0m-alpha]
16
+
6
17
  1. support before/after patch resource
7
18
  2. fix auto increament bugs cause cannot create branch and tenant
8
19
  3. tiny improvement on variable name
9
20
  4. plenty of misc enhancement and bug fix
10
21
 
11
22
  [2.0.0l-alpha]
23
+
12
24
  1. switch organization/branch no reload mini-app bugs
13
25
 
14
26
  [2.0.0k-alpha]
15
- 1. change .core/.resources become _core/_resources to prevent vscode cant index
27
+
28
+ 1. change .core/.resources become \_core/\_resources to prevent vscode cant index
16
29
 
17
30
  [2.0.0j-alpha]
31
+
18
32
  1. fix webhook no trigger
19
33
 
20
34
  [2.0.0i-alpha]
35
+
21
36
  1. fix some document no print api available
22
37
 
23
38
  [2.0.0h-alpha]
39
+
24
40
  1. add software license config folder
25
41
 
26
42
  [2.0.0g-alpha]
43
+
27
44
  1. fix create many no await cause transaction error
28
45
 
29
46
  [2.0.0f-alpha]
30
- 1. add back document no and webhook
31
47
 
48
+ 1. add back document no and webhook
32
49
 
33
50
  [2.0.0e-alpha]
51
+
34
52
  1. add fix frontend ImageAvatar/ImageOrg template and add suitable refresh event.use bunny as image storage
35
53
  2. profile allow upload images
36
54
  3. prepare a place to access all jsonschemas
37
- 4.
55
+ 4.
38
56
 
39
57
  [2.0.0d-alpha]
58
+
40
59
  1. provide tenantInfo, orgInfo, branchInfo to frontend
41
60
 
42
61
  [2.0.0c-alpha]
62
+
43
63
  1. fix profile session keeping error
44
64
 
45
65
  [2.0.0b-alpha]
46
- 1. fix audit trail
66
+
67
+ 1. fix audit trail
47
68
  2. add patch many api
48
69
  3. fix webhook
49
70
 
50
71
  [2.0.0a-alpha]
51
- 1. big restructure of files and folders
52
72
 
73
+ 1. big restructure of files and folders
53
74
 
54
75
  [1.6.7o-alpha]
76
+
55
77
  1. exclude findIdThenPatch to execute beforeUpdate and afterUpdate
56
78
 
57
79
  [1.6.7m-alpha]
80
+
58
81
  1. insert many bug fix
59
82
 
60
83
  [1.6.7l-alpha]
84
+
61
85
  1. insert many support transaction
62
86
 
63
87
  [1.6.7k-alpha]
88
+
64
89
  1. Add More Setter For User Context
65
90
  2. Fix createManyWithId No Use Session
66
91
 
67
-
68
92
  [1.6.7j-alpha]
69
93
 
70
94
  1. Add Custom Field Constant File For Mini Api
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simitgroup/simpleapp-generator",
3
- "version": "2.0.0n-alpha",
3
+ "version": "2.0.0p-alpha",
4
4
  "description": "frontend nuxtjs and backend nests code generator using jsonschema",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
package/reset-install.sh CHANGED
@@ -1,4 +1,4 @@
1
1
  npm remove -g @simitgroup/simpleapp-generator
2
2
  npm cache clean --force
3
- npm run build && npm i -g
4
- # npm install -g @simitgroup/simpleapp-generator
3
+ # npm run build && npm i -g
4
+ npm install -g @simitgroup/simpleapp-generator
@@ -27,7 +27,7 @@ async function bootstrap() {
27
27
 
28
28
  const config = new DocumentBuilder()
29
29
  .setTitle(process.env.PROJECT_NAME)
30
- .addServer(process.env.BACKEND_URL)
30
+ .addServer(process.env.APP_SWAGGER_SERVER_URL)
31
31
  .setDescription(`${process.env.PROJECT_DESCRIPTION} (generator: ${generatorVersion})`)
32
32
  .setVersion(process.env.PROJECT_VERSION)
33
33
  .addApiKey(
@@ -186,4 +186,33 @@ export class SimpleAppDocumentNoFormatService {
186
186
  Object.assign(filter, isolationFilter);
187
187
  return await this.docformat.find<DocumentNoFormat>(filter, null, { session: appUser.getDBSession() });
188
188
  }
189
+
190
+ async requestMultipleNumbers(appUser: UserContext, doctype: string, quantity:number, id: string = '') {
191
+ doctype = doctype.toUpperCase();
192
+ const documentNumbers: string[] = []
193
+ const filter = { docNoType: doctype, active: true };
194
+ if (id) {
195
+ filter['_id'] = id;
196
+ }
197
+ //
198
+ Object.assign(filter, appUser.getBranchFilter());
199
+ const result = await this.docformat.find(filter).session(appUser.getDBSession());
200
+ if (result && result.length > 0) {
201
+ const d: DocumentNoFormat = result[0];
202
+ const recordId = d._id;
203
+
204
+ for(let i=0;i<quantity;i++){
205
+ d.nextNumber++
206
+ const newdocno = SimpleAppDocumentNoFormatService.previewDocNo(d);
207
+ documentNumbers.push(newdocno)
208
+
209
+ }
210
+ const updatedata = { nextNumber: d.nextNumber+1 } as DocumentNoFormat;
211
+ const updateresult = await this.docformat.findByIdAndUpdate(recordId, updatedata).session(appUser.getDBSession());
212
+
213
+ return documentNumbers
214
+ } else {
215
+ throw new BadRequestException(`No active document number found for ${doctype}. Please update in Settings > Document Numbering Format`);
216
+ }
217
+ }
189
218
  }
@@ -16,15 +16,13 @@ import addFormats from 'ajv-formats';
16
16
  import { FilterQuery, Model, PipelineStage, mongo } from 'mongoose';
17
17
  // import { CloudApiService } from 'src/cloudapi/cloudapi.service';
18
18
  import { foreignkeys } from '../../features/foreign-key/foreignkeys.dict';
19
- import { CustomException } from '../custom-exception';
20
19
 
21
20
  import { camelToKebab } from 'src/simple-app/_core/utils/string-utils';
22
21
  import { SimpleAppDocumentNoFormatService } from '../../features/document-no-format/document-no-format.service';
22
+ import { SimpleAppLogService } from '../../features/log/log.service';
23
23
  import { UserContext } from '../../features/user-context/user.context';
24
24
  import { RunWebhookService } from '../../features/webhook/run-webhook.service';
25
- import { UniqueKeyExistResponse, DeleteResultType, IsolationType, MoreProjectionType, SchemaFields, TextSearchBody, PatchManyRequest } from '../schemas';
26
- import { SimpleAppLogService } from '../../features/log/log.service';
27
- import { ProcessErrorException } from 'src/simple-app/features/exception/process-error.exception';
25
+ import { DeleteResultType, IsolationType, MoreProjectionType, PatchManyRequest, SchemaFields, TextSearchBody, UniqueKeyExistResponse } from '../schemas';
28
26
 
29
27
  @Injectable()
30
28
  export class SimpleAppService<T extends SchemaFields> {
@@ -108,7 +106,7 @@ export class SimpleAppService<T extends SchemaFields> {
108
106
  public isReadOnly(): boolean {
109
107
  return false;
110
108
  }
111
- reCalculateValue(data: T) {}
109
+ reCalculateValue(data: T) { }
112
110
  getIsolationFilter = (appuser: UserContext) => {
113
111
  let isolationFilter = {};
114
112
  switch (this.isolationtype) {
@@ -483,6 +481,10 @@ export class SimpleAppService<T extends SchemaFields> {
483
481
  try {
484
482
  const result = await this.doc.insertMany(datas, { session: dbsession });
485
483
  await this.addManyAuditEvents(appuser, this.documentName, 'createMany', datas);
484
+ for (const data of datas) {
485
+ appuser.addInsertedRecordId(this.documentName, data._id);
486
+ }
487
+
486
488
  return result;
487
489
  } catch (e) {
488
490
  throw e;
@@ -902,7 +904,7 @@ export class SimpleAppService<T extends SchemaFields> {
902
904
 
903
905
  //patch not suitable trigger afterupdate
904
906
  // if (this.hooks.beforeUpdate) await this.hooks.beforeUpdate(appuser, id, existingdata, data);
905
- await this.runEvent(appuser, this.setHookName('beforePatch'), { id: id, patchData: data,prevData:existingdata }, false);
907
+ await this.runEvent(appuser, this.setHookName('beforePatch'), { id: id, patchData: data, prevData: existingdata }, false);
906
908
  const dbsession = appuser.getDBSession();
907
909
  if (dbsession && !dbsession.inTransaction()) {
908
910
  dbsession.startTransaction({ readPreference: 'primary' });
@@ -935,7 +937,7 @@ export class SimpleAppService<T extends SchemaFields> {
935
937
  await this.addAuditEvent(appuser, this.documentName, id, 'patch', data);
936
938
  }
937
939
  appuser.addUpdatedRecordId(this.documentName, data._id);
938
- await this.runEvent(appuser, this.setHookName('afterPatch'), { id: id, patchData: data, prevData:existingdata }, false);
940
+ await this.runEvent(appuser, this.setHookName('afterPatch'), { id: id, patchData: data, prevData: existingdata }, false);
939
941
  return result; //await this.findById(appuser, id);
940
942
  } catch (err) {
941
943
  this.logger.error(err.message, 'findIdThenPath error');
@@ -1090,13 +1092,12 @@ export class SimpleAppService<T extends SchemaFields> {
1090
1092
  * @param {any} data The data
1091
1093
  * @return {Promise} { description_of_the_return_value }
1092
1094
  */
1093
- async runEvent(appuser: UserContext, eventName: string, payloads: any, enforce: boolean = true) {
1095
+ async runEvent(appuser: UserContext, eventName: string, payloads: any, enforce: boolean = true) {
1094
1096
  try {
1095
1097
  if (enforce && !this.eventEmitter.hasListeners(eventName)) {
1096
1098
  throw new InternalServerErrorException(`${eventName} seems no listener`);
1097
1099
  } else if (this.eventEmitter.hasListeners(eventName)) {
1098
-
1099
- console.log("run eventName",eventName)
1100
+ console.log('run eventName', eventName);
1100
1101
  const res = await this.eventEmitter.emitAsync(eventName, appuser, payloads);
1101
1102
 
1102
1103
  if (!res) {
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="w-full">
3
3
  <div class="flex flex-row">
4
- <label v-if="!hideLabel" :for="fieldid">
4
+ <label v-if="!hideLabel" :for="fieldid" class="mr-2 text-xs text-gray-400">
5
5
  {{ t(documentName) }}
6
6
  </label>
7
7
  <div
@@ -1,3 +0,0 @@
1
- import { SchemaType } from '../type';
2
- export declare const docnoformat: SchemaType;
3
- //# sourceMappingURL=message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/buildinschemas/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA2B,MAAM,SAAS,CAAA;AAE5D,eAAO,MAAM,WAAW,EAAC,UA6BtB,CAAA"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.docnoformat = void 0;
4
- const type_1 = require("../type");
5
- exports.docnoformat = {
6
- "type": "object",
7
- "x-simpleapp-config": {
8
- "documentType": "msg",
9
- "documentName": "message",
10
- "isolationType": type_1.IsolationType.tenant,
11
- "documentTitle": "messageTitle"
12
- },
13
- "properties": {
14
- "_id": { "type": "string" },
15
- "created": { "type": "string" },
16
- "updated": { "type": "string" },
17
- "createdBy": { "type": "string" },
18
- "updatedBy": { "type": "string" },
19
- "tenantId": { "type": "integer", "default": 1 },
20
- "orgId": { "type": "integer", "default": 1 },
21
- "branchId": { "type": "integer", "default": 1 },
22
- "messageTitle": {
23
- "type": "string",
24
- "minLength": 3
25
- },
26
- "read": { "type": "boolean", "default": false },
27
- "url": { "type": "string" },
28
- "description": {
29
- "type": "string",
30
- "format": "text"
31
- }
32
- }
33
- };
34
- //# sourceMappingURL=message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/buildinschemas/message.ts"],"names":[],"mappings":";;;AAAA,kCAA4D;AAE/C,QAAA,WAAW,GACxB;IACI,MAAM,EAAE,QAAQ;IAChB,oBAAoB,EAAE;QACpB,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,oBAAa,CAAC,MAAM;QACrC,eAAe,EAAE,cAAc;KAChC;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC/B,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC/B,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QACjC,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QACjC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE;QAC/C,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE;QAC5C,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE;QAC/C,cAAc,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;SACf;QACD,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAC;QAC9C,KAAK,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAC;QACzB,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,MAAM;SACjB;KACF;CACF,CAAA"}
@@ -1,3 +0,0 @@
1
- import { SchemaType } from '../type';
2
- export declare const webhookhistory: SchemaType;
3
- //# sourceMappingURL=webhookhistory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webhookhistory.d.ts","sourceRoot":"","sources":["../../src/buildinschemas/webhookhistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA2B,MAAM,SAAS,CAAA;AAE5D,eAAO,MAAM,cAAc,EAAC,UAsC3B,CAAA"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.webhookhistory = void 0;
4
- const type_1 = require("../type");
5
- exports.webhookhistory = {
6
- type: "object",
7
- "x-simpleapp-config": {
8
- documentType: 'webhookhistory',
9
- documentName: 'webhookhistory',
10
- isolationType: type_1.IsolationType.tenant,
11
- // uniqueKey:'documentName',
12
- // documentTitle:'documentName'
13
- // pageType:"crud",
14
- },
15
- required: ["documentName", "url"],
16
- properties: {
17
- _id: { type: 'string' },
18
- created: { type: 'string' },
19
- updated: { type: 'string' },
20
- createdBy: { type: 'string' },
21
- updatedBy: { type: 'string' },
22
- tenantId: { type: 'integer', default: 1, minimum: 0 },
23
- orgId: { type: 'integer', default: 1, minimum: 0 },
24
- branchId: { type: 'integer', default: 1, minimum: 0 },
25
- webHookId: { type: "string", format: "uuid" },
26
- url: { type: "string", format: 'uri' },
27
- authentication: { type: "string" },
28
- headers: {
29
- type: "array",
30
- items: {
31
- type: "object",
32
- description: "http headers",
33
- properties: {
34
- name: { type: 'string' },
35
- value: { type: 'string' }
36
- }
37
- }
38
- },
39
- description: { type: "string", format: "text" },
40
- setting: { type: "string", format: "text" },
41
- result: { type: "string" }
42
- }
43
- };
44
- //# sourceMappingURL=webhookhistory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webhookhistory.js","sourceRoot":"","sources":["../../src/buildinschemas/webhookhistory.ts"],"names":[],"mappings":";;;AAAA,kCAA4D;AAE/C,QAAA,cAAc,GAAc;IACrC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAC;QACnB,YAAY,EAAC,gBAAgB;QAC7B,YAAY,EAAC,gBAAgB;QAC7B,aAAa,EAAC,oBAAa,CAAC,MAAM;QAClC,4BAA4B;QAC5B,+BAA+B;QAC/B,yBAAyB;KAC1B;IACD,QAAQ,EAAC,CAAC,cAAc,EAAC,KAAK,CAAC;IAC/B,UAAU,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,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC;QACvC,GAAG,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAC,KAAK,EAAC;QACnC,cAAc,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;QAChC,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAC;gBACJ,IAAI,EAAC,QAAQ;gBACb,WAAW,EAAC,cAAc;gBAC1B,UAAU,EAAC;oBACT,IAAI,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;oBACpB,KAAK,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;iBACtB;aACF;SACF;QACD,WAAW,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC;QAC3C,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC;QACrC,MAAM,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;KACvB;CACJ,CAAA"}
@@ -1,138 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.createNest = exports.createNuxt = exports.installDependency = void 0;
27
- const child_process_1 = require("child_process");
28
- const fs_1 = require("fs");
29
- const constants = __importStar(require("./constant"));
30
- const tslog_1 = require("tslog");
31
- const log = new tslog_1.Logger();
32
- const { Eta } = require('eta');
33
- const checkNodeJS = (callback) => {
34
- return (0, child_process_1.exec)(`npx -v`, (error, stdout, stderr) => {
35
- if (error) {
36
- throw ("Nodejs not exists");
37
- }
38
- else {
39
- callback();
40
- }
41
- });
42
- };
43
- const checkNestCli = (callback) => {
44
- log.info("setting up nest backend");
45
- return (0, child_process_1.exec)(`npx -v`, (error, stdout, stderr) => {
46
- if (error) {
47
- return (0, child_process_1.exec)(`npm i -g @nestjs/cli`, (error, stdout, stderr) => {
48
- callback();
49
- });
50
- }
51
- else {
52
- callback();
53
- }
54
- });
55
- };
56
- const installDependency = async () => {
57
- log.info("installDependency 'npm install -g pnpm @nestjs/cli @openapitools/openapi-generator-cli nuxi'");
58
- return await (0, child_process_1.exec)("npm install -g pnpm @nestjs/cli @openapitools/openapi-generator-cli nuxi");
59
- };
60
- exports.installDependency = installDependency;
61
- const createNuxt = (targetfolder, callback) => {
62
- log.info("setting up nuxt frontend ${targetfolder}");
63
- log.info(`frontend nuxt project "${targetfolder}" created, installing module`);
64
- (0, child_process_1.exec)(`cd ${targetfolder};pnpm install;pnpm install -D @types/node @vueuse/nuxt @sidebase/nuxt-auth @vueuse/core nuxt-security prettier @nuxt/ui`, (error, stdout, stderr) => {
65
- //;pnpm install
66
- console.log(error, stdout, stderr);
67
- (0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save ajv dotenv @fullcalendar/core @fullcalendar/vue3 quill uuid ajv-formats primeflex primeicons prettier primevue axios json-schema mitt @simitgroup/simpleapp-vue-component@latest`, (error, stdout, stderr) => {
68
- console.log(error, stdout, stderr);
69
- (0, fs_1.mkdirSync)(`${targetfolder}/assets/css/`, { recursive: true });
70
- (0, fs_1.mkdirSync)(`${targetfolder}/layouts`, { recursive: true });
71
- (0, fs_1.mkdirSync)(`${targetfolder}/components`, { recursive: true });
72
- (0, fs_1.mkdirSync)(`${targetfolder}/server/api`, { recursive: true });
73
- (0, fs_1.mkdirSync)(`${targetfolder}/pages`, { recursive: true });
74
- (0, fs_1.mkdirSync)(`${targetfolder}/plugins`, { recursive: true });
75
- const eta = new Eta({ views: `${constants.templatedir}/nuxt` });
76
- const variables = [];
77
- const writes = {
78
- './app.vue.eta': 'app.vue',
79
- './components.eventmonitor.vue.eta': 'components/EventMonitor.vue',
80
- './components.menus.vue.eta': 'components/Menus.vue',
81
- './components.crudsimple.vue.eta': 'components/CrudSimple.vue',
82
- './components.debugdocdata.vue.eta': 'components/DebugDocumentData.vue',
83
- './layouts.default.vue.eta': 'layouts/default.vue',
84
- './server.api.ts.eta': 'server/api/[...].ts',
85
- './nuxt.config.ts.eta': 'nuxt.config.ts',
86
- './pages.index.vue.eta': 'pages/index.vue',
87
- './plugins.simpleapp.ts.eta': 'plugins/simpleapp.ts',
88
- './tailwind.config.ts.eta': 'tailwind.config.ts',
89
- './tailwind.css.eta': 'assets/css/tailwind.css',
90
- './env.eta': '.env',
91
- };
92
- const templates = Object.getOwnPropertyNames(writes);
93
- for (let i = 0; i < templates.length; i++) {
94
- const template = templates[i];
95
- const filename = writes[template];
96
- const txt = eta.render(template, variables);
97
- const file = `${targetfolder}/${filename}`;
98
- log.info("writing ", file);
99
- (0, fs_1.writeFileSync)(file, txt);
100
- }
101
- log.info("nuxt project completed");
102
- callback();
103
- });
104
- });
105
- };
106
- exports.createNuxt = createNuxt;
107
- const createNest = (targetfolder, callback) => {
108
- // checkNestCli(()=>{
109
- log.info(`creating backend project ${targetfolder}`);
110
- (0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save @nestjs/swagger @nestjs/mongoose mongoose ajv ajv-formats @nestjs/config`, async (error, stdout, stderr) => {
111
- // log.info(`dependency installed`)
112
- if (!error) {
113
- (0, child_process_1.exec)(`pnpm install ajv ajv-formats axios json-schema`, (error, stdout, stderr) => {
114
- const eta = new Eta({ views: constants.templatedir });
115
- const variables = [];
116
- const txtEnv = eta.render('./nest.env.eta', variables);
117
- const txtMain = eta.render('./nest.main.eta', variables);
118
- (0, fs_1.writeFileSync)(`${targetfolder}/.env`, txtEnv);
119
- (0, fs_1.writeFileSync)(`${targetfolder}/src/main.ts`, txtMain);
120
- const tsconfigpath = process.cwd() + '/' + `${targetfolder}/tsconfig.json`;
121
- const tsconfig = require(tsconfigpath);
122
- tsconfig.compilerOptions.esModuleInterop = true;
123
- tsconfig.compilerOptions.resolveJsonModule = true;
124
- (0, fs_1.writeFileSync)(tsconfigpath, JSON.stringify(tsconfig));
125
- log.info("nest project completed");
126
- callback();
127
- });
128
- }
129
- else {
130
- log.error(stderr);
131
- throw error;
132
- }
133
- });
134
- //
135
- // })
136
- };
137
- exports.createNest = createNest;
138
- //# sourceMappingURL=createproject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createproject.js","sourceRoot":"","sources":["../src/createproject.ts"],"names":[],"mappings":"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"}