@simitgroup/simpleapp-generator 2.0.1-q-alpha → 2.0.1-r-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 (43) hide show
  1. package/ReleaseNote.md +4 -5
  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/templates/nest/src/simple-app/_core/framework/base/simple-app.service.ts.eta +60 -6
  8. package/dist/buildinschemas/message.d.ts +0 -3
  9. package/dist/buildinschemas/message.d.ts.map +0 -1
  10. package/dist/buildinschemas/message.js +0 -34
  11. package/dist/buildinschemas/message.js.map +0 -1
  12. package/dist/buildinschemas/webhookhistory.d.ts +0 -3
  13. package/dist/buildinschemas/webhookhistory.d.ts.map +0 -1
  14. package/dist/buildinschemas/webhookhistory.js +0 -44
  15. package/dist/buildinschemas/webhookhistory.js.map +0 -1
  16. package/dist/createproject.js +0 -138
  17. package/dist/createproject.js.map +0 -1
  18. package/dist/generate-allow-changebackend.js +0 -305
  19. package/dist/generate-allow-changebackend.js.map +0 -1
  20. package/dist/index2.js +0 -118
  21. package/dist/index2.js.map +0 -1
  22. package/dist/installdependency.js +0 -20
  23. package/dist/installdependency.js.map +0 -1
  24. package/dist/installnest.js +0 -2
  25. package/dist/installnest.js.map +0 -1
  26. package/dist/installnuxt.js +0 -2
  27. package/dist/installnuxt.js.map +0 -1
  28. package/dist/processors/groupsbuilder.js +0 -2
  29. package/dist/processors/groupsbuilder.js.map +0 -1
  30. package/dist/schematype/baseschema.js +0 -25
  31. package/dist/schematype/baseschema.js.map +0 -1
  32. package/dist/schematype/default.js +0 -2
  33. package/dist/schematype/default.js.map +0 -1
  34. package/dist/schematype/index.js +0 -12
  35. package/dist/schematype/index.js.map +0 -1
  36. package/dist/schematype/primarymasterdata.js +0 -38
  37. package/dist/schematype/primarymasterdata.js.map +0 -1
  38. package/dist/schematype/simple.js +0 -24
  39. package/dist/schematype/simple.js.map +0 -1
  40. package/dist/schematype/simplemasterdata.js +0 -31
  41. package/dist/schematype/simplemasterdata.js.map +0 -1
  42. package/dist/schematype/transaction.js +0 -74
  43. package/dist/schematype/transaction.js.map +0 -1
package/ReleaseNote.md CHANGED
@@ -1,20 +1,19 @@
1
- [2.0.1q-alpha]
1
+ [2.0.1r-alpha]
2
2
 
3
- 1. fixagain delete record cant work in transactions, sharded env
3
+ 1. Add findIdThenUnsetField
4
4
 
5
+ [2.0.1q-alpha]
5
6
 
7
+ 1. fixagain delete record cant work in transactions, sharded env
6
8
 
7
9
  [2.0.1p-alpha]
8
10
 
9
11
  1. fix delete record cant work in transactions, sharded env
10
12
 
11
-
12
-
13
13
  [2.0.1o-alpha]
14
14
 
15
15
  1. fetch branch image url, and fix maintenance mode data
16
16
 
17
-
18
17
  [2.0.1n-alpha]
19
18
 
20
19
  1. Add debug for invalid xorg
@@ -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.1q-alpha",
3
+ "version": "2.0.1r-alpha",
4
4
  "description": "frontend nuxtjs and backend nests code generator using jsonschema",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -13,7 +13,7 @@ import { EventEmitter2 } from '@nestjs/event-emitter';
13
13
  import Ajv from 'ajv';
14
14
  import addErrors from 'ajv-errors';
15
15
  import addFormats from 'ajv-formats';
16
- import { FilterQuery, Model, PipelineStage, mongo } from 'mongoose';
16
+ import { AnyKeys, AnyObject, 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
19
 
@@ -601,6 +601,61 @@ export class SimpleAppService<T extends SchemaFields> {
601
601
  // this.doc.updateOne(data);
602
602
  // };
603
603
 
604
+ findIdThenUnsetField = async (appuser: UserContext, id: string, data: AnyKeys<T> & AnyObject, noStartTransaction: boolean = false) => {
605
+ try {
606
+ // Check is record exist
607
+ const existingdata = await this.findById(appuser, id);
608
+ if (!existingdata) throw new NotFoundException(`${this.documentName} findIdThenUpdate: _id:${id} not found`, 'not found');
609
+
610
+ this.logger.debug('update id: ' + id, this.documentName + ' findIdThenRemoveField');
611
+ if (typeof data.__v == 'number' && data.__v != existingdata.__v) {
612
+ throw new BadRequestException(`You submit older version data "v${data.__v}"" but latest version = "v${existingdata.__v}"`);
613
+ }
614
+
615
+ // Prepare update audit data
616
+ const auditData = {
617
+ ...appuser.getUpdateFilter(),
618
+ __v: existingdata.__v + 1,
619
+ };
620
+
621
+ // Start transaction
622
+ const dbsession = appuser.getDBSession();
623
+ if (dbsession && !dbsession.inTransaction() && !noStartTransaction) {
624
+ dbsession.startTransaction({ readConcern: { level: 'snapshot' }, writeConcern: { w: 'majority' }, readPreference: 'primary' });
625
+ }
626
+
627
+ // Isolation filter
628
+ const isolationFilter = { ...this.getIsolationFilter(appuser) };
629
+ this.polishIsolationFilter(isolationFilter);
630
+ isolationFilter['_id'] = id;
631
+
632
+ // Prevent unset _id
633
+ delete data['_id'];
634
+
635
+ const result = await this.doc.findOneAndUpdate(
636
+ isolationFilter,
637
+ {
638
+ $unset: data,
639
+ $set: auditData,
640
+ },
641
+ {
642
+ session: dbsession,
643
+ new: true,
644
+ },
645
+ );
646
+
647
+ // Add audit event
648
+ await this.addAuditEvent(appuser, this.documentName, id, 'update', data);
649
+
650
+ appuser.addUpdatedRecordId(this.documentName, data._id);
651
+
652
+ return result;
653
+ } catch (err) {
654
+ this.logger.error(err);
655
+ throw new InternalServerErrorException(err.message);
656
+ }
657
+ };
658
+
604
659
  findIdThenUpdate = async (appuser: UserContext, id: string, data: T, noStartTransaction: boolean = false) => {
605
660
  try {
606
661
  //version exists, need ensure different only 1
@@ -787,8 +842,8 @@ export class SimpleAppService<T extends SchemaFields> {
787
842
  }
788
843
  const searchResult = await this.search(appUser, filter, []);
789
844
  const ids = searchResult.map((row) => row._id);
790
- const result = await this.doc.deleteMany({ _id: { $in: ids } });
791
- console.log(`Delete ${this.documentName} ids`, ids, result);
845
+ const result = await this.doc.deleteMany({ _id: { $in: ids } }, { session: dbsession });
846
+ // console.log(`Delete ${this.documentName} ids`, ids, result);
792
847
  for (const id of ids) {
793
848
  appUser.addDeletedRecordId(this.documentName, id);
794
849
  }
@@ -848,13 +903,12 @@ export class SimpleAppService<T extends SchemaFields> {
848
903
  //not deleted in current session, check from database
849
904
  const filter = {};
850
905
  filter[fkey] = id;
851
- const result:any = await collection.findOne(filter, {
906
+ const result: any = await collection.findOne(filter, {
852
907
  session: appuser.getDBSession(),
853
908
  });
854
909
  if (result) {
855
910
  //record deleted but not yet commit, safely ignore
856
- if(appuser.searchDeletedRecordId(collectionname, result._id))continue;
857
-
911
+ if (appuser.searchDeletedRecordId(collectionname, result._id)) continue;
858
912
 
859
913
  this.logger.error(result, `related result found in ${collectionname} ${fkey} = ${id}`);
860
914
  return result;
@@ -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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"}
@@ -1,305 +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.initialize = void 0;
27
- // import { readFormBuilder } from './processors/formbuilder.tsa';
28
- // import { readJsonSchemaBuilder } from './processors/jsonschemabuilder';
29
- const constants = __importStar(require("./constant"));
30
- const jsonschemabuilder_1 = require("./processors/jsonschemabuilder");
31
- const storage_1 = require("./storage");
32
- const tslog_1 = require("tslog");
33
- const log = new tslog_1.Logger();
34
- const clc = require("cli-color");
35
- const path = require('path');
36
- const fs_1 = require("fs");
37
- const { Eta } = require('eta');
38
- const { capitalizeFirstLetter } = require('./libs');
39
- const X_DOCUMENT_TYPE = 'x-document-type';
40
- const X_DOCUMENT_NAME = 'x-document-name';
41
- const X_COLLECTION_NAME = 'x-collection-name';
42
- const extFb = '.xfb.json';
43
- const extHfb = '.xhfb.json';
44
- const extjsonschema = '.jsonschema.json';
45
- let jsonschemas = {};
46
- const docs = [];
47
- const initialize = async (defFolder, bpmnFolder, backendfolder, frontendfolder, callback) => {
48
- prepareEnvironments(backendfolder, frontendfolder);
49
- let activatemodules = [];
50
- //
51
- /*
52
- load available bpmn into array
53
- */
54
- const files = (0, fs_1.readdirSync)(defFolder);
55
- // log.warn("all schemas:",files)
56
- // readdir(defFolder, (err, files) => {
57
- // files.forEach((file) => {
58
- for (let j = 0; j < files.length; j++) {
59
- const file = files[j];
60
- log.info(`Load ` + clc.green(file));
61
- const filearr = file.split('.');
62
- let rendertype = 'basic';
63
- let docname = filearr[0].toLowerCase();
64
- let doctype = filearr[1].toLowerCase();
65
- const jsonstring = (0, fs_1.readFileSync)(defFolder + path.sep + file, 'utf-8');
66
- let allmodels = {};
67
- if (file.endsWith(extjsonschema)) {
68
- const jsondata = JSON.parse(jsonstring);
69
- rendertype = 'basic';
70
- jsonschemas[docname] = jsondata;
71
- // foreignkeys:
72
- // tmpforeignkeys:TypeForeignKey
73
- allmodels = await (0, jsonschemabuilder_1.readJsonSchemaBuilder)(doctype, docname, jsondata, storage_1.foreignkeys);
74
- //foreignkeycatalogues
75
- // foreignkeys
76
- generate(docname, doctype, rendertype, allmodels, backendfolder, frontendfolder);
77
- activatemodules.push({ doctype: doctype, docname: capitalizeFirstLetter(docname), api: jsondata['x-document-api'] });
78
- }
79
- else {
80
- log.warn(`Load ` + clc.yellow(file) + ` but it is not supported`);
81
- }
82
- }
83
- // log.warn("foreignkeys---",foreignkeys)
84
- log.info("Activated backend modules: ", JSON.stringify(activatemodules));
85
- // log.info(activatemodules)
86
- finalize(activatemodules, backendfolder, frontendfolder);
87
- callback();
88
- };
89
- exports.initialize = initialize;
90
- const generate = (docname, doctype, rendertype, allmodels, backendfolder, frontendfolder) => {
91
- const targetfolder = `${backendfolder}/src/docs/${doctype}`;
92
- const frontendpagefolder = `${frontendfolder}/pages/[xorg]`;
93
- try {
94
- (0, fs_1.mkdirSync)(targetfolder, { recursive: true });
95
- (0, fs_1.mkdirSync)(`${frontendfolder}/generate/docs/`, { recursive: true });
96
- (0, fs_1.mkdirSync)(`${frontendfolder}/simpleapp`, { recursive: true });
97
- (0, fs_1.mkdirSync)(frontendpagefolder, { recursive: true });
98
- }
99
- catch (err) {
100
- //do nothing if folder exists
101
- }
102
- finally {
103
- const templatefolder = `${constants.templatedir}/${rendertype}`;
104
- log.info(`- Generate ${docname}, ${doctype}, ${templatefolder}`);
105
- const eta = new Eta({
106
- views: templatefolder,
107
- functionHeader: 'const capitalizeFirstLetter = (str) => str.slice(0, 1).toUpperCase() + str.slice(1);' +
108
- 'const initType=(str)=>{return ["string","number","boolean","array","object"].includes(str) ? capitalizeFirstLetter(str) : str;}',
109
- });
110
- const variables = {
111
- name: docname,
112
- doctype: doctype,
113
- models: allmodels,
114
- autocompletecode: allmodels[capitalizeFirstLetter(docname)].codeField,
115
- autocompletename: allmodels[capitalizeFirstLetter(docname)].nameField,
116
- moreAutoComplete: allmodels[capitalizeFirstLetter(docname)].moreAutoComplete,
117
- schema: allmodels[capitalizeFirstLetter(docname)].model,
118
- apiSchemaName: capitalizeFirstLetter(docname),
119
- typename: capitalizeFirstLetter(docname),
120
- fullApiSchemaName: doctype + 'apischema.' + capitalizeFirstLetter(docname),
121
- fullTypeName: doctype + 'type.' + capitalizeFirstLetter(docname),
122
- jsonschema: jsonschemas[docname],
123
- bothEndCode: '',
124
- frontEndCode: '',
125
- backEndCode: '',
126
- controllerCode: '',
127
- apiSchemaCode: '',
128
- docStatusSettings: allmodels[capitalizeFirstLetter(docname)].docStatusSettings,
129
- apiSettings: allmodels[capitalizeFirstLetter(docname)].apiSettings,
130
- requireautocomplete: allmodels[capitalizeFirstLetter(docname)].requireautocomplete,
131
- isolationtype: allmodels[capitalizeFirstLetter(docname)].isolationtype
132
- };
133
- // console.log('generate 2', JSON.stringify(variables));
134
- // // const txtUISchema = eta.render('./uischema', variables);
135
- // console.log('generate 4');
136
- // console.log('generate 2', variables);
137
- const txtType = eta.render('./type', variables);
138
- (0, fs_1.writeFileSync)(`${targetfolder}/${doctype}.type.ts`, txtType);
139
- // compile(jsonschemas[docname], docname).then((txtType: string) => {
140
- // writeFileSync(`${targetfolder}/${doctype}.type.ts`, txtType);
141
- // });
142
- // generate jsonschema object, use for data validation
143
- const txtJsonSchema = eta.render('./jsonschema', variables);
144
- (0, fs_1.writeFileSync)(`${targetfolder}/${doctype}.jsonschema.ts`, txtJsonSchema);
145
- // generate before save source code, wont override after regenerate
146
- // const customizefilename = `${targetfolder}/${doctype}.beforesave.ts`;
147
- // if (!existsSync(customizefilename)) {
148
- // const txtBeforeSave = eta.render('./beforesave', variables);
149
- // writeFileSync(
150
- // `${targetfolder}/${doctype}.beforesave.ts`,
151
- // txtBeforeSave,
152
- // );
153
- // }
154
- // write mongoose model file
155
- const txtModel = eta.render('./model', variables);
156
- (0, fs_1.writeFileSync)(`${targetfolder}/${doctype}.model.ts`, txtModel);
157
- // prepare openapi schema
158
- const apischemafile = `${targetfolder}/${doctype}.apischema.ts`;
159
- if ((0, fs_1.existsSync)(apischemafile)) {
160
- const apischemaCode = (0, fs_1.readFileSync)(apischemafile).toString();
161
- const regexapischema = /\/\/<begin-apischema-code>([\s\S]*?)\/\/<end-apischema-code>/g;
162
- const apischemaresult = apischemaCode.match(regexapischema);
163
- if (apischemaresult) {
164
- variables.apiSchemaCode = apischemaresult[0];
165
- }
166
- else {
167
- variables.apiSchemaCode = "//<begin-apischema-code>\n//<end-apischema-code>";
168
- }
169
- }
170
- const txtApiSchema = eta.render('./apischema', variables);
171
- (0, fs_1.writeFileSync)(apischemafile, txtApiSchema);
172
- // prepare backend classes
173
- // prepare frontend api client
174
- const servicefile = `${targetfolder}/${doctype}.service.ts`;
175
- let bothEndCode = '';
176
- let backEndCode = '';
177
- if ((0, fs_1.existsSync)(servicefile)) {
178
- const servicecodes = (0, fs_1.readFileSync)(servicefile).toString();
179
- /* extract string bothend and backend, put in back */
180
- const regex1 = /\/\/<begin-bothend-code>([\s\S]*?)\/\/<end-bothend-code>/g;
181
- const regex2 = /\/\/<begin-backend-code>([\s\S]*?)\/\/<end-backend-code>/g;
182
- const bothendresult = servicecodes.match(regex1);
183
- const backendresult = servicecodes.match(regex2);
184
- console.log("bothendresult", bothendresult);
185
- console.log("backendresult", backendresult);
186
- if (bothendresult) {
187
- variables.bothEndCode = bothendresult[0];
188
- }
189
- else {
190
- variables.bothEndCode = "//<begin-bothend-code>\n//<end-bothend-code>";
191
- }
192
- if (backendresult) {
193
- variables.backEndCode = backendresult[0];
194
- }
195
- else {
196
- variables.backEndCode = "//<begin-backend-code>\n//<end-backend-code>";
197
- }
198
- }
199
- const txtService = eta.render('./service', variables);
200
- (0, fs_1.writeFileSync)(`${targetfolder}/${doctype}.service.ts`, txtService);
201
- // prepare api router, allow add more api and wont override after regenerate
202
- const controllerfile = `${targetfolder}/${doctype}.controller.ts`;
203
- let controllerCode = '';
204
- if ((0, fs_1.existsSync)(controllerfile)) {
205
- /* extract customized controller, put in back */
206
- const controllersourcecodes = (0, fs_1.readFileSync)(controllerfile).toString();
207
- const controllerregex = /\/\/<begin-controller-code>([\s\S]*?)\/\/<end-controller-code>/g;
208
- const controllerresult = controllersourcecodes.match(controllerregex);
209
- if (controllerresult) {
210
- controllerCode = controllerresult[0];
211
- }
212
- }
213
- variables.controllerCode = controllerCode != '' ? controllerCode : "\n//<begin-controller-code>\n//<end-controller-code>";
214
- const txtController = eta.render('./controller', variables);
215
- (0, fs_1.writeFileSync)(controllerfile, txtController);
216
- // prepare module
217
- const txtModule = eta.render('./module', variables);
218
- (0, fs_1.writeFileSync)(`${targetfolder}/${doctype}.module.ts`, txtModule);
219
- // prepare readme
220
- // const txtReadme = eta.render('./readme', variables);
221
- // writeFileSync(`${targetfolder}/README.md`, txtReadme);
222
- const frontendclient = `${frontendfolder}/generate/docs/${variables.typename}Client.ts`;
223
- // let frontEndCode = '';
224
- // if (existsSync(frontendfile)) {
225
- // const clientcodes = readFileSync(frontendfile).toString();
226
- /* extract string frontend code, put in back */
227
- // const regex3 =
228
- // /\/\/<begin-frontend-code>([\s\S]*?)\/\/<end-frontend-code>/g;
229
- // const frontendresult = clientcodes.match(regex3);
230
- // if (frontendresult) {
231
- // frontEndCode = frontendresult[0];
232
- // }
233
- // }
234
- // variables.frontEndCode = frontEndCode ?? '';
235
- const txtClient = eta.render('./simpleappclient.eta', variables);
236
- (0, fs_1.writeFileSync)(frontendclient, txtClient);
237
- const frontenddoc = `${frontendfolder}/simpleapp/${variables.typename}Doc.ts`;
238
- const txtDoc = eta.render('./simpleappdoc.eta', variables);
239
- (0, fs_1.writeFileSync)(frontenddoc, txtDoc);
240
- generateClientPage(variables, eta, frontendpagefolder);
241
- log.info(`- write completed: ${doctype}`);
242
- }
243
- };
244
- const generateClientPage = (variables, eta, frontendpagefolder) => {
245
- const docname = variables.name;
246
- const targetfolder = `${frontendpagefolder}/${docname}`;
247
- const overridefilename = `${targetfolder}/delete-me-for-avoid-override`;
248
- if (!(0, fs_1.existsSync)(targetfolder)) {
249
- (0, fs_1.mkdirSync)(targetfolder);
250
- (0, fs_1.writeFileSync)(overridefilename, 'delete this file to prevent override by generator');
251
- }
252
- if ((0, fs_1.existsSync)(overridefilename)) {
253
- const txtIndex = eta.render('./pageindex.vue.eta', variables);
254
- const txtIndexwithid = eta.render('./pageindexwithid.vue.eta', variables);
255
- (0, fs_1.writeFileSync)(`${targetfolder}/index.vue`, txtIndex);
256
- (0, fs_1.writeFileSync)(`${targetfolder}/[id].vue`, txtIndexwithid);
257
- }
258
- };
259
- const prepareEnvironments = (backendfolder, frontendfolder) => {
260
- const targetfolder = `${backendfolder}/src/class`;
261
- const targetfrontendfolder = `${frontendfolder}/server/api`;
262
- try {
263
- (0, fs_1.mkdirSync)(targetfolder, { recursive: true });
264
- (0, fs_1.mkdirSync)(targetfrontendfolder, { recursive: true });
265
- }
266
- catch (error) {
267
- //do nothing
268
- }
269
- (0, fs_1.copyFileSync)(`${constants.templatedir}/nest/SimpleAppService.eta`, `${targetfolder}/SimpleAppService.ts`);
270
- (0, fs_1.copyFileSync)(`${constants.templatedir}/nest/SimpleAppController.eta`, `${targetfolder}/SimpleAppController.ts`);
271
- (0, fs_1.copyFileSync)(`${constants.templatedir}/nest/Workflow.eta`, `${targetfolder}/Workflow.ts`);
272
- (0, fs_1.copyFileSync)(`${constants.templatedir}/nest/TenantMiddleware.eta`, `${targetfolder}/TenantMiddleware.ts`);
273
- (0, fs_1.copyFileSync)(`${constants.templatedir}/nest/UserProvider.eta`, `${targetfolder}/UserProvider.ts`);
274
- //copy over frontend apiabstract class
275
- // copyFileSync(`${constants.templatedir}/nuxt.apigateway.eta`,`${targetfrontendfolder}/[...].ts`)
276
- //prepare backend config.ts
277
- //copy over frontend config.ts
278
- };
279
- const finalize = (modules, backendfolder, frontendfolder) => {
280
- log.info("Finalizing");
281
- (0, fs_1.mkdirSync)(`${backendfolder}/src/dicts/`, { recursive: true });
282
- (0, fs_1.mkdirSync)(`${frontendfolder}/composables/`, { recursive: true });
283
- const writefiles = {
284
- './nest/app.module.eta': `${backendfolder}/src/app.module.ts`,
285
- './nest/app.service.eta': `${backendfolder}/src/app.service.ts`,
286
- './nest/app.controller.eta': `${backendfolder}/src/app.controller.ts`,
287
- './nuxt/composables.getautocomplete.ts.eta': `${frontendfolder}/composables/getAutocomplete.ts`,
288
- './nuxt/composables.getmenus.ts.eta': `${frontendfolder}/composables/getMenus.ts`,
289
- './nuxt/composables.stringHelper.ts.eta': `${frontendfolder}/composables/stringHelper.ts`,
290
- './nuxt/composables.gettenant.ts.eta': `${frontendfolder}/composables/getTenant.ts`,
291
- './nuxt/plugins.50.simpleapp-client.ts.eta': `${frontendfolder}/plugins/50.simpleapp-client.ts`
292
- };
293
- const eta = new Eta({ views: constants.templatedir });
294
- const sources = Object.getOwnPropertyNames(writefiles);
295
- for (let i = 0; i < sources.length; i++) {
296
- const templatename = sources[i];
297
- const targetfile = writefiles[templatename];
298
- log.info("write:", targetfile);
299
- (0, fs_1.writeFileSync)(targetfile, eta.render(templatename, modules));
300
- }
301
- const foreignkeyfile = `${backendfolder}/src/dicts/foreignkeys.json`;
302
- (0, fs_1.writeFileSync)(foreignkeyfile, JSON.stringify(storage_1.foreignkeys));
303
- log.info("write to foreignkey file ", foreignkeyfile);
304
- };
305
- //# sourceMappingURL=generate-allow-changebackend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-allow-changebackend.js","sourceRoot":"","sources":["../src/generate-allow-changebackend.ts"],"names":[],"mappings":"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"}
package/dist/index2.js DELETED
@@ -1,118 +0,0 @@
1
- #! /usr/bin/env node
2
- "use strict";
3
- var _a, _b, _c, _d;
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- const console_1 = require("console");
6
- const program = require("commander"); // add this line
7
- const Fieldtypes = require('./type');
8
- const generator = require('./generate');
9
- const fs = require('fs');
10
- const createproject = require('./createproject');
11
- const { exec } = require("child_process");
12
- const capitalizeFirstLetter = require('./libs');
13
- const { Logger, ILogObj } = require("tslog");
14
- const log = new Logger();
15
- const figlet = require("figlet");
16
- // const program = new Command();
17
- const pj = require('../package.json');
18
- let version = pj.version;
19
- program
20
- .version(version)
21
- .description("An simpleapp CLI tool for generate frontend (vuejs) and backend(nestjs) codes")
22
- .option("-c, --config-file <value>", 'configuration file content such as:{"definationsFolder":"./definations", "backendFolder":"./nestproject/src/docs", "frontendFolder":"./nuxt/server"}')
23
- // .option("-s, --definations-folder <value>", "load defination files from which folder")
24
- // .option("-b, --backend-folder <value>", "Create backend code at which folder")
25
- // .option("-f, --frontend-folder <value>", "Create frontend code at which folder")
26
- // .option("-i, --openapi3-yaml <value>", 'openapi3.yaml generated by backend server')
27
- .parse(process.argv);
28
- const options = program.opts();
29
- console.log(figlet.textSync(`SimpleApp Generator ${version}`));
30
- // console.log(options)
31
- let path = '';
32
- if (!options.configFile) {
33
- log.error("Config file parameter is required. Example: simpleapp-generator -c ./config.json");
34
- throw "Undefine configuration file";
35
- }
36
- else if (options.configFile && options.configFile[0] == '/') {
37
- path = options.configFile;
38
- }
39
- else if (options.configFile) {
40
- path = process.cwd() + '/' + options.configFile;
41
- }
42
- else {
43
- log.error("undefine configuration file, use command simpleapp-generator -c <configfilename.json>");
44
- throw console_1.error;
45
- }
46
- const configs = require(path);
47
- console.log("configurations: ", configs);
48
- const definationsFolder = (_a = configs.definationsFolder) !== null && _a !== void 0 ? _a : options.definationsFolder;
49
- const backendFolder = (_b = configs.backendFolder) !== null && _b !== void 0 ? _b : options.backendFolder;
50
- const frontendFolder = (_c = configs.frontendFolder) !== null && _c !== void 0 ? _c : options.frontendFolder;
51
- const openapi3Yaml = (_d = configs.openapi3Yaml) !== null && _d !== void 0 ? _d : options.openapi3Yaml;
52
- const runGenNext = async (callback) => {
53
- let isnestready = false;
54
- if (!fs.existsSync(backendFolder)) {
55
- console.log("Nest does not exists, begin install nodejs environment tools: [pnpm, @nestjs/cli, @openapitools/openapi-generator-cli, nuxi]");
56
- isnestready = await exec("npm install -g pnpm @nestjs/cli @openapitools/openapi-generator-cli nuxi", async (a, b, c) => {
57
- console.log("result of environment tools:", a, b, c);
58
- console.log(`Install new nest backend: 'nest new -p pnpm ${backendFolder}'`);
59
- return await exec(`nest new -p pnpm ${backendFolder}`, (a, b, c) => {
60
- console.log("new nest result", a, b, c);
61
- return true;
62
- });
63
- });
64
- }
65
- else {
66
- isnestready = true;
67
- }
68
- if (isnestready) {
69
- if (!fs.existsSync(`${backendFolder}/.env`)) {
70
- log.info(`initial nest configuratoin for simpleapp generator`);
71
- await createNest(backendFolder, callback);
72
- }
73
- else {
74
- log.warn(`.env file exists, skip nest initialization`);
75
- callback();
76
- }
77
- }
78
- else {
79
- log.error('nest not ready, which shouldnot continue');
80
- throw console_1.error;
81
- }
82
- };
83
- const runGenNuxt = async (callback) => {
84
- if (!fs.existsSync(frontendFolder)) {
85
- log.error(`${frontendFolder} does not exists, please run "npx nuxi@latest init ${frontendFolder}"`);
86
- }
87
- else if (!fs.existsSync(`${frontendFolder}/.env`)) {
88
- log.info(`initial nuxt configuratoin for simpleapp generator`);
89
- createNuxt(frontendFolder, callback);
90
- }
91
- else {
92
- log.warn(`.env file exists, skip nuxt initialization`);
93
- callback();
94
- }
95
- };
96
- const generateCode = async () => {
97
- await runGenNext(async () => {
98
- log.info("runGenNext (backen) done");
99
- await runGenNuxt(async () => {
100
- log.info("runGenNuxt (frontend) done");
101
- generator.initialize(definationsFolder, backendFolder, frontendFolder);
102
- exec(`cd ${frontendFolder};npx prettier --write "./pages/**/*.vue" "./simpleapp/**/*" `);
103
- exec(`cd ${backendFolder};npx run format `);
104
- if (openapi3Yaml != '') {
105
- exec(`openapi-generator-cli generate -i ${openapi3Yaml} -o ${frontendFolder}/simpleapp/openapi -g typescript-axios --skip-validate-spec`, (error, stdout, stderr) => {
106
- if (error) {
107
- log.error(stderr);
108
- }
109
- });
110
- }
111
- });
112
- });
113
- };
114
- log.info("generate code: ");
115
- generateCode();
116
- // pnpm exec prettier ./src/docs --write
117
- // pnpm exec prettier ./apiclients --write
118
- //# sourceMappingURL=index2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index2.js","sourceRoot":"","sources":["../src/index2.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- #!/bin/bash
2
- "use strict";
3
- npm;
4
- install - g;
5
- pnpm;
6
- /cli @openapitools/openapi - generator - cli;
7
- nuxi;
8
- nest;
9
- new - p;
10
- pnpm;
11
- $backendFolder;
12
- npx;
13
- nuxi;
14
- init;
15
- $;
16
- {
17
- frontendFolder;
18
- }
19
- ";
20
- //# sourceMappingURL=installdependency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installdependency.js","sourceRoot":"","sources":["../src/installdependency.ts"],"names":[],"mappings":";;AACA,GAAG,CAAA;AAAC,OAAO,GAAE,CAAC,CAAA;AAAC,IAAI,CAAA;AAAQ,0BAA0B,GAAC,SAAS,GAAC,GAAG,CAAA;AAAC,IAAI,CAAA;AACxE,IAAI,CAAA;AAAC,IAAI,AAAD,GAAE,CAAC,CAAA;AAAC,IAAI,CAAA;AAAC,cAAc,CAAA;AAC/B,GAAG,CAAA;AAAC,IAAI,CAAA;AAAQ,IAAI,CAAA;AAAC,CAAC,CAAA;AAAA;IAAC,cAAc,CAAA;CAAC;AAAA,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=installnest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installnest.js","sourceRoot":"","sources":["../src/installnest.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=installnuxt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installnuxt.js","sourceRoot":"","sources":["../src/installnuxt.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=groupsbuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"groupsbuilder.js","sourceRoot":"","sources":["../../src/processors/groupsbuilder.ts"],"names":[],"mappings":""}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.baseschema = void 0;
4
- const type_1 = require("../type");
5
- exports.baseschema = {
6
- 'type': 'object',
7
- 'x-simpleapp-config': {
8
- isolationType: type_1.IsolationType.org,
9
- schemaType: type_1.SupportedSchemaType.baseschema,
10
- documentType: '',
11
- documentName: ''
12
- },
13
- properties: {
14
- _id: { type: 'string', description: "system field" },
15
- tenantId: { type: 'integer', default: 1, description: "system field" },
16
- orgId: { type: 'integer', default: 1, description: "system field" },
17
- branchId: { type: 'integer', default: 1, description: "system field" },
18
- created: { type: 'string', description: "system field" },
19
- updated: { type: 'string', description: "system field" },
20
- createdby: { type: 'string', description: "system field" },
21
- updatedby: { type: 'string', description: "system field" },
22
- },
23
- definitions: {}
24
- };
25
- //# sourceMappingURL=baseschema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseschema.js","sourceRoot":"","sources":["../../src/schematype/baseschema.ts"],"names":[],"mappings":";;;AAAA,kCAAoE;AACvD,QAAA,UAAU,GAAc;IACjC,MAAM,EAAC,QAAQ;IACf,oBAAoB,EAAC;QACnB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,UAAU,EAAE,0BAAmB,CAAC,UAAU;QAC1C,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;KACjB;IACD,UAAU,EAAC;QACP,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9C,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,KAAK,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC3D,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QACpD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;KACvD;IACD,WAAW,EAAC,EAAE;CACf,CAAA"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=default.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/schematype/default.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transaction = exports.baseschema = exports.primarymasterdata = exports.simplemasterdata = void 0;
4
- var simplemasterdata_1 = require("./simplemasterdata");
5
- Object.defineProperty(exports, "simplemasterdata", { enumerable: true, get: function () { return simplemasterdata_1.simplemasterdata; } });
6
- var primarymasterdata_1 = require("./primarymasterdata");
7
- Object.defineProperty(exports, "primarymasterdata", { enumerable: true, get: function () { return primarymasterdata_1.primarymasterdata; } });
8
- var baseschema_1 = require("./baseschema");
9
- Object.defineProperty(exports, "baseschema", { enumerable: true, get: function () { return baseschema_1.baseschema; } });
10
- var transaction_1 = require("./transaction");
11
- Object.defineProperty(exports, "transaction", { enumerable: true, get: function () { return transaction_1.transaction; } });
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schematype/index.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AAA3C,oHAAA,gBAAgB,OAAA;AACxB,yDAAqD;AAA7C,sHAAA,iBAAiB,OAAA;AACzB,2CAAuC;AAA/B,wGAAA,UAAU,OAAA;AAClB,6CAAyC;AAAjC,0GAAA,WAAW,OAAA"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.primarymasterdata = void 0;
4
- const type_1 = require("../type");
5
- exports.primarymasterdata = {
6
- type: "object",
7
- "x-simpleapp-config": {
8
- isolationType: type_1.IsolationType.org,
9
- pageType: "crud",
10
- generateDocumentNumber: true,
11
- schemaType: type_1.SupportedSchemaType.primarymasterdata,
12
- documentType: '',
13
- documentName: '',
14
- },
15
- properties: {
16
- _id: { type: 'string', description: "system field" },
17
- tenantId: { type: 'integer', default: 1, description: "system field" },
18
- orgId: { type: 'integer', default: 1, description: "system field" },
19
- branchId: { type: 'integer', default: 1, description: "system field" },
20
- created: { type: 'string', description: "system field" },
21
- updated: { type: 'string', description: "system field" },
22
- createdby: { type: 'string', description: "system field" },
23
- updatedby: { type: 'string', description: "system field" },
24
- docNoFormat: {
25
- type: "object",
26
- "x-foreignkey": "docnoformat",
27
- properties: { _id: { "type": "string" }, label: { "type": "string" } },
28
- description: "system field"
29
- },
30
- },
31
- definitions: {
32
- foreignkey: {
33
- type: "object",
34
- properties: { _id: { "type": "string" }, label: { "type": "string" }, code: { "type": "string" } }
35
- }
36
- },
37
- };
38
- //# sourceMappingURL=primarymasterdata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primarymasterdata.js","sourceRoot":"","sources":["../../src/schematype/primarymasterdata.ts"],"names":[],"mappings":";;;AAAA,kCAAoE;AACvD,QAAA,iBAAiB,GAAc;IACxC,IAAI,EAAC,QAAQ;IACb,oBAAoB,EAAC;QACnB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,QAAQ,EAAC,MAAM;QACf,sBAAsB,EAAC,IAAI;QAC3B,UAAU,EAAE,0BAAmB,CAAC,iBAAiB;QACjD,YAAY,EAAC,EAAE;QACf,YAAY,EAAC,EAAE;KAChB;IACD,UAAU,EAAC;QACP,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9C,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,KAAK,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC3D,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QACpD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QACpD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,cAAc,EAAC,aAAa;YAC5B,UAAU,EAAE,EAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;YAC/D,WAAW,EAAC,cAAc;SAC3B;KACH;IACD,WAAW,EAAC;QACX,UAAU,EAAE;YACV,IAAI,EAAC,QAAQ;YACb,UAAU,EAAE,EAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;SACzF;KACF;CACF,CAAA"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.simpleschema = void 0;
4
- exports.simpleschema = {
5
- 'type': 'object',
6
- 'x-simpleapp-config': {
7
- isolationType: 'org',
8
- schemaType: 'simple',
9
- documentType: '',
10
- documentName: '',
11
- foreignKeys: {}
12
- },
13
- "properties": {
14
- _id: { type: 'string' },
15
- tenantId: { type: 'integer', default: 1 },
16
- orgId: { type: 'integer', default: 1 },
17
- branchId: { type: 'integer', default: 1 },
18
- created: { type: 'string' },
19
- updated: { type: 'string' },
20
- createdby: { type: 'string' },
21
- updatedby: { type: 'string' },
22
- }
23
- };
24
- //# sourceMappingURL=simple.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/schematype/simple.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IACxB,MAAM,EAAC,QAAQ;IACf,oBAAoB,EAAC;QACnB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAC,EAAE;KACf;IACD,YAAY,EAAC;QACT,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACnB,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC;QACnC,KAAK,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC;QAChC,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC;QACnC,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;KAC5B;CACF,CAAA"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.simplemasterdata = void 0;
4
- const type_1 = require("../type");
5
- exports.simplemasterdata = {
6
- type: "object",
7
- "x-simpleapp-config": {
8
- isolationType: type_1.IsolationType.org,
9
- pageType: "crud",
10
- schemaType: type_1.SupportedSchemaType.simplemasterdata,
11
- documentType: '',
12
- documentName: '',
13
- },
14
- properties: {
15
- _id: { type: 'string' },
16
- tenantId: { type: 'integer', default: 1, description: "system field" },
17
- orgId: { type: 'integer', default: 1, description: "system field" },
18
- branchId: { type: 'integer', default: 1, description: "system field" },
19
- created: { type: 'string', description: "system field" },
20
- updated: { type: 'string', description: "system field" },
21
- createdby: { type: 'string', description: "system field" },
22
- updatedby: { type: 'string', description: "system field" },
23
- },
24
- definitions: {
25
- foreignkey: {
26
- type: "object",
27
- properties: { _id: { "type": "string" }, label: { "type": "string" }, code: { "type": "string" } }
28
- }
29
- },
30
- };
31
- //# sourceMappingURL=simplemasterdata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simplemasterdata.js","sourceRoot":"","sources":["../../src/schematype/simplemasterdata.ts"],"names":[],"mappings":";;;AAAA,kCAAoE;AACvD,QAAA,gBAAgB,GAAc;IACvC,IAAI,EAAC,QAAQ;IACb,oBAAoB,EAAC;QACnB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,QAAQ,EAAC,MAAM;QACf,UAAU,EAAE,0BAAmB,CAAC,gBAAgB;QAChD,YAAY,EAAC,EAAE;QACf,YAAY,EAAC,EAAE;KAChB;IACD,UAAU,EAAC;QACP,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACnB,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,KAAK,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC3D,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QACpD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;KACtD;IACD,WAAW,EAAC;QACX,UAAU,EAAE;YACV,IAAI,EAAC,QAAQ;YACb,UAAU,EAAE,EAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;SACzF;KACF;CACF,CAAA"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transaction = void 0;
4
- const type_1 = require("../type");
5
- exports.transaction = {
6
- type: "object",
7
- "x-simpleapp-config": {
8
- isolationType: type_1.IsolationType.org,
9
- requiredRoles: [],
10
- documentType: '',
11
- documentName: '',
12
- pageType: "crud",
13
- uniqueKey: "documentNo",
14
- documentTitle: "documentTitle",
15
- generateDocumentNumber: true,
16
- documentDate: "documentDate",
17
- allStatus: [
18
- { "status": "D", statusName: "Draft", "readOnly": true, "actions": ["confirm", "void"] },
19
- { "status": "CO", statusName: "Confirmed", "readOnly": true, "actions": ["revert", "void"] },
20
- { "status": "V", statusName: "Void", "readOnly": true, "actions": ["revert"] },
21
- ],
22
- additionalApis: [{
23
- action: "confirm",
24
- entrypoint: ":id/confirm",
25
- requiredrole: [],
26
- method: type_1.RESTMethods.post,
27
- execute: "setDocumentStatus",
28
- description: "confirm document and change status to CO"
29
- }, {
30
- action: "void",
31
- entrypoint: ":id/void",
32
- querypara: ["reason"],
33
- requiredrole: [],
34
- method: type_1.RESTMethods.post,
35
- execute: "setDocumentStatus",
36
- description: "confirm document and change status to V"
37
- }, {
38
- action: "revert",
39
- entrypoint: ":id/revert",
40
- requiredrole: [],
41
- method: type_1.RESTMethods.post,
42
- execute: "setDocumentStatus",
43
- description: "revert document and change status to D"
44
- }],
45
- // simple => pure model and service(no page,api),
46
- // default => force masterdata property,
47
- // transaction => force masterdata property
48
- schemaType: type_1.SupportedSchemaType.transaction,
49
- },
50
- properties: {
51
- _id: { type: 'string', description: "system field" },
52
- tenantId: { type: 'integer', default: 1, description: "system field" },
53
- orgId: { type: 'integer', default: 1, description: "system field" },
54
- branchId: { type: 'integer', default: 1, description: "system field" },
55
- created: { type: 'string', description: "system field" },
56
- updated: { type: 'string', description: "system field" },
57
- createdby: { type: 'string', description: "system field" },
58
- updatedby: { type: 'string', description: "system field" },
59
- docNoFormat: {
60
- type: "object",
61
- "x-foreignkey": "docnoformat",
62
- properties: { _id: { "type": "string" }, label: { "type": "string" } },
63
- description: "system field"
64
- },
65
- docStatus: { type: "string", description: "system field" }
66
- },
67
- definitions: {
68
- foreignkey: {
69
- type: "object",
70
- properties: { _id: { "type": "string" }, label: { "type": "string" }, code: { "type": "string" } }
71
- }
72
- },
73
- };
74
- //# sourceMappingURL=transaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/schematype/transaction.ts"],"names":[],"mappings":"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"}