@simitgroup/simpleapp-generator 2.0.1-l-alpha → 2.0.1-n-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 (50) 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/package.json +1 -1
  7. package/templates/nest/src/simple-app/_core/features/maintenance/maintenance.service.ts.eta +4 -4
  8. package/templates/nest/src/simple-app/_core/features/maintenance/schemas/environment.ts.eta +1 -1
  9. package/templates/nest/src/simple-app/_core/features/user-context/user.context.ts.eta +10 -15
  10. package/templates/nest/src/simple-app/_core/framework/simple-app.middleware.ts.eta +9 -4
  11. package/templates/nuxt/plugins/10.simpleapp-event.ts.eta +28 -3
  12. package/templates/nuxt/plugins/18.simpleapp-custom-field-store.ts.eta +3 -1
  13. package/templates/nuxt/plugins/19.simpleapp-mini-app-store.ts.eta +4 -1
  14. package/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta +2 -1
  15. package/dist/buildinschemas/message.d.ts +0 -3
  16. package/dist/buildinschemas/message.d.ts.map +0 -1
  17. package/dist/buildinschemas/message.js +0 -34
  18. package/dist/buildinschemas/message.js.map +0 -1
  19. package/dist/buildinschemas/webhookhistory.d.ts +0 -3
  20. package/dist/buildinschemas/webhookhistory.d.ts.map +0 -1
  21. package/dist/buildinschemas/webhookhistory.js +0 -44
  22. package/dist/buildinschemas/webhookhistory.js.map +0 -1
  23. package/dist/createproject.js +0 -138
  24. package/dist/createproject.js.map +0 -1
  25. package/dist/generate-allow-changebackend.js +0 -305
  26. package/dist/generate-allow-changebackend.js.map +0 -1
  27. package/dist/index2.js +0 -118
  28. package/dist/index2.js.map +0 -1
  29. package/dist/installdependency.js +0 -20
  30. package/dist/installdependency.js.map +0 -1
  31. package/dist/installnest.js +0 -2
  32. package/dist/installnest.js.map +0 -1
  33. package/dist/installnuxt.js +0 -2
  34. package/dist/installnuxt.js.map +0 -1
  35. package/dist/processors/groupsbuilder.js +0 -2
  36. package/dist/processors/groupsbuilder.js.map +0 -1
  37. package/dist/schematype/baseschema.js +0 -25
  38. package/dist/schematype/baseschema.js.map +0 -1
  39. package/dist/schematype/default.js +0 -2
  40. package/dist/schematype/default.js.map +0 -1
  41. package/dist/schematype/index.js +0 -12
  42. package/dist/schematype/index.js.map +0 -1
  43. package/dist/schematype/primarymasterdata.js +0 -38
  44. package/dist/schematype/primarymasterdata.js.map +0 -1
  45. package/dist/schematype/simple.js +0 -24
  46. package/dist/schematype/simple.js.map +0 -1
  47. package/dist/schematype/simplemasterdata.js +0 -31
  48. package/dist/schematype/simplemasterdata.js.map +0 -1
  49. package/dist/schematype/transaction.js +0 -74
  50. package/dist/schematype/transaction.js.map +0 -1
package/ReleaseNote.md CHANGED
@@ -1,7 +1,19 @@
1
+ [2.0.1n-alpha]
2
+
3
+ 1. Add debug for invalid xorg
4
+
5
+ [2.0.1m-alpha]
6
+
7
+ 1. remove s from environment collection name
8
+ 2. return maintenanceMessage when system under maintenance
9
+ 3. fix maintenanceMode cannot set in api
10
+
1
11
  [2.0.1l-alpha]
12
+
2
13
  1. documentevent collection remove 's'
3
14
 
4
15
  [2.0.1k-alpha]
16
+
5
17
  1. apilog and documentevent collection remove 's'
6
18
 
7
19
  [2.0.1j-alpha]
@@ -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.1l-alpha",
3
+ "version": "2.0.1n-alpha",
4
4
  "description": "frontend nuxtjs and backend nests code generator using jsonschema",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -63,19 +63,19 @@ export class MaintenanceService {
63
63
  }
64
64
  }
65
65
  async runGetEnvironment(appUser: UserContext) {
66
- const res = await this.sysEnvdoc.findOne();
66
+ const res = await this.sysEnvdoc.findOne();
67
67
  return res;
68
68
  }
69
69
  async runUpdateEnvironment(appUser: UserContext, data: Environment) {
70
70
  const finalData: Environment = {
71
- systemEnable: data.systemEnable === undefined ? data.systemEnable : true,
71
+ systemEnable: data.systemEnable !== undefined ? data.systemEnable : true,
72
72
  stopUntil: data.stopUntil ?? '',
73
73
  maintenanceMessage: data.maintenanceMessage ?? '',
74
74
  adminEmails: data.adminEmails.map((item) => item.replace(' ', '')) ?? [],
75
75
  billingEmails: data.billingEmails.map((item) => item.replace(' ', '')) ?? [],
76
76
  supportEmails: data.supportEmails.map((item) => item.replace(' ', '')) ?? [],
77
- taxRate: data.taxRate ?? 0.00,
78
- taxName: data.taxName?? '',
77
+ taxRate: data.taxRate ?? 0.0,
78
+ taxName: data.taxName ?? '',
79
79
  updated: new Date().toISOString(),
80
80
  updatedBy: appUser.getUid(),
81
81
  };
@@ -1,6 +1,6 @@
1
1
  import { ApiProperty } from '@nestjs/swagger';
2
2
  import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
3
- @Schema()
3
+ @Schema({ collection: 'environment' })
4
4
  export class Environment {
5
5
  @Prop()
6
6
  @ApiProperty({ type: Boolean })
@@ -672,7 +672,7 @@ export class UserContext extends UserContextInfo {
672
672
  this.orgId = value2;
673
673
  this.branchId = value3;
674
674
  } else {
675
- throw new BadRequestException('invalidXorg');
675
+ throw new BadRequestException(`Failed to set xorg, invalidXorg: ${xOrg}`);
676
676
  }
677
677
  } catch (err) {
678
678
  throw new BadRequestException(err);
@@ -694,7 +694,7 @@ export class UserContext extends UserContextInfo {
694
694
  branchId,
695
695
  };
696
696
  } else {
697
- throw new BadRequestException('invalidXorg');
697
+ throw new BadRequestException(`Failed to decode xorg, invalidXorg: ${xOrg}`);
698
698
  }
699
699
  } catch (err) {
700
700
  throw new BadRequestException(err);
@@ -986,23 +986,18 @@ export class UserContext extends UserContextInfo {
986
986
  this.ssoACL = {};
987
987
  this.roles = [Role.Everyone, Role.User, Role.SuperUser];
988
988
  this.setXOrg(xorg);
989
- const pipeLine:PipelineStage[] = [
990
- {$match:{ tenantId : -1 }},
991
- {$unionWith: { coll: "organization", pipeline: [ {$match:{orgId: this.orgId}}] } },
992
- {$limit:1}
993
- ]
989
+ const pipeLine: PipelineStage[] = [{ $match: { tenantId: -1 } }, { $unionWith: { coll: 'organization', pipeline: [{ $match: { orgId: this.orgId } }] } }, { $limit: 1 }];
994
990
 
995
991
  // console.log("set as static user", pipeLine)
996
- const result:Organization[] = await this.userModel.aggregate(pipeLine).exec();
992
+ const result: Organization[] = await this.userModel.aggregate(pipeLine).exec();
997
993
  // console.log("result",result)
998
- if(result && result.length>0){
999
- const res = result[0]
1000
- this.currency = res.currency
1001
- this.country = res.country
1002
- this.timeZone = res.timeZone
1003
- this.offsetMinute = res.offsetMinute
994
+ if (result && result.length > 0) {
995
+ const res = result[0];
996
+ this.currency = res.currency;
997
+ this.country = res.country;
998
+ this.timeZone = res.timeZone;
999
+ this.offsetMinute = res.offsetMinute;
1004
1000
  }
1005
-
1006
1001
  };
1007
1002
 
1008
1003
  setGuestToken(tokenStr: string) {
@@ -50,6 +50,11 @@ export class SimpleAppMiddleware implements NestMiddleware {
50
50
  return true;
51
51
  }
52
52
 
53
+ getMaintenanceMessage (env:Environment){
54
+ return {
55
+ message: env.maintenanceMessage
56
+ }
57
+ }
53
58
  async use(req: Request, res: Response, next: NextFunction) {
54
59
  if (req.baseUrl == '/oauth2-redirect.html') {
55
60
  next();
@@ -66,7 +71,7 @@ export class SimpleAppMiddleware implements NestMiddleware {
66
71
  tokenStr = tokenStr.replace('Bearer ', '');
67
72
  const xOrg = req.get('x-org') ?? this.defaultXOrg;
68
73
 
69
- const user = new UserContext(this.userModel, this.permModel, this.miniAppInstallationModel,envs[0]);
74
+ const user = new UserContext(this.userModel, this.permModel, this.miniAppInstallationModel, envs[0]);
70
75
 
71
76
  if (req.baseUrl == '/graphql') {
72
77
  if (tokenStr) {
@@ -74,7 +79,7 @@ export class SimpleAppMiddleware implements NestMiddleware {
74
79
  }
75
80
 
76
81
  if (maintenanceMode && !user.isRealmAdmin()) {
77
- throw new ServiceUnavailableException('System in maintenance mode');
82
+ throw new ServiceUnavailableException(this.getMaintenanceMessage(envs[0]));
78
83
  }
79
84
 
80
85
  req['sessionuser'] = user;
@@ -91,7 +96,7 @@ export class SimpleAppMiddleware implements NestMiddleware {
91
96
 
92
97
  req['sessionuser'] = user;
93
98
  if (maintenanceMode) {
94
- throw new ServiceUnavailableException('System in maintenance mode');
99
+ throw new ServiceUnavailableException(this.getMaintenanceMessage(envs[0]));
95
100
  }
96
101
  next();
97
102
  return;
@@ -131,7 +136,7 @@ export class SimpleAppMiddleware implements NestMiddleware {
131
136
  await user.setCurrentUserInfo(tokenStr, xOrg, this.webhookModel);
132
137
 
133
138
  if (maintenanceMode && !user.isRealmAdmin()) {
134
- throw new ServiceUnavailableException('System in maintenance mode');
139
+ throw new ServiceUnavailableException(this.getMaintenanceMessage(envs[0]));
135
140
  }
136
141
 
137
142
  user.detectMiniAppSdkRequest(req);
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * This file was automatically generated by simpleapp generator. Every
3
3
  * MODIFICATION OVERRIDE BY GENERATEOR
4
- * last change 2024-02-23
4
+ * last change 2025-10-25
5
5
  * Author: Ks Tan
6
6
  */
7
7
  import DialogService from 'primevue/dialogservice';
@@ -34,15 +34,40 @@ export default defineNuxtPlugin( async(nuxtApp) => {
34
34
  // console.log("error catch",error)
35
35
 
36
36
  if(error?.code && error.code == 'ERR_BAD_REQUEST'){
37
- // console.log("error.code",error.response.status, error)
38
37
  if(error.response && error.response.status==403){
39
38
  console.warn("error status 403, redirect to external link /" )
40
39
  navigateTo('/',{external:true})
41
40
  }else{
42
41
  console.error("axios ERR_BAD_REQUEST",error)
42
+ let errorMsg=''
43
+ let errorCode=0
44
+ let moreMsg = ''
45
+ if(error.response?.data?.data?.message){
46
+ errorCode = error.response.data.data.status
47
+ moreMsg = error.response.data.data.message
48
+ errorMsg = error.response.data.data.name
49
+ }else if(error.response?.data){
50
+ errorCode = error.response.data.statusCode
51
+ moreMsg = error.response.data.statusMessage
52
+ errorMsg = error.response.data.message
53
+ }else{
54
+ errorCode = error.status
55
+ moreMsg = error.message
56
+ errorMsg = error.name
57
+ }
58
+
59
+ const errorData = {
60
+ statusCode:errorCode,
61
+ statusMessage:errorMsg,
62
+ message: moreMsg ,
63
+ fatal:true
64
+ }
65
+
66
+ // console.log(error.response)
67
+ throw createError(errorData)
43
68
  }
44
69
  }
45
- else if(error.code){
70
+ else if(error.code){
46
71
  throw createError({
47
72
  statusCode:error.code,
48
73
  statusMessage:error.message,
@@ -1,3 +1,4 @@
1
+ import { AxiosInstance } from "axios";
1
2
  import { ShallowRef } from "vue";
2
3
  import { Customfield, CUSTOMFIELDApi } from "~/simpleapp/generate/openapi";
3
4
 
@@ -18,7 +19,8 @@ export default defineNuxtPlugin(async (nuxtApp) => {
18
19
  actions: {
19
20
  async fetchList() {
20
21
  const config = getAxiosConfig();
21
- const api = new CUSTOMFIELDApi(config);
22
+ const axiosObj:AxiosInstance = useNuxtApp().$axios
23
+ const api = new CUSTOMFIELDApi(config,config.basePath,axiosObj);
22
24
  const resp = await api.runSearch({
23
25
  filter: {},
24
26
  fields: ["_id", "collectionName", "form", "list"],
@@ -1,3 +1,4 @@
1
+ import { AxiosInstance } from 'axios';
1
2
  /**
2
3
  * This file was automatically generated by simpleapp generator. Every
3
4
  * MODIFICATION OVERRIDE BY GENERATEOR
@@ -61,7 +62,9 @@ export default defineNuxtPlugin(async () => {
61
62
  },
62
63
  getMiniAppManager : ()=>{
63
64
  const config = getAxiosConfig();
64
- const miniAppManager = new MINIAPPMANAGERApi(config);
65
+
66
+ const axiosObj:AxiosInstance = useNuxtApp().$axios
67
+ const miniAppManager = new MINIAPPMANAGERApi(config,config.basePath,axiosObj);
65
68
  return miniAppManager
66
69
  },
67
70
  showMiniAppMoreMenuButton: (state) => {
@@ -147,10 +147,11 @@ export default defineNuxtPlugin(async (nuxtApp) => {
147
147
  }
148
148
  }
149
149
  const { $axios } = useNuxtApp();
150
- try {
150
+ try {
151
151
  const pingresult = await new PROFILEApi(
152
152
  undefined,
153
153
  apiurl,
154
+ axios
154
155
  ).getSession();
155
156
  if (pingresult.status < 300) return Promise.resolve("ok");
156
157
  else return Promise.reject("relogin");
@@ -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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"}