@simitgroup/simpleapp-generator 2.0.0-i-alpha → 2.0.0-k-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 (160) hide show
  1. package/ReleaseNote.md +6 -0
  2. package/dist/generate.js +2 -2
  3. package/package.json +1 -1
  4. package/src/generate.ts +2 -2
  5. package/templates/basic/nest/api.controller.ts.eta +5 -5
  6. package/templates/basic/nest/api.module.ts.eta +2 -2
  7. package/templates/basic/nest/api.resolver.ts.eta +4 -4
  8. package/templates/basic/nest/api.schema.ts.eta +2 -2
  9. package/templates/basic/nest/api.service.ts.eta +5 -5
  10. package/templates/basic/nest/controller.ts.eta +6 -6
  11. package/templates/basic/nest/enum.ts.eta +1 -1
  12. package/templates/basic/nest/module.ts.eta +3 -3
  13. package/templates/basic/nest/resolver.ts.eta +4 -4
  14. package/templates/basic/nest/schema.ts.eta +1 -1
  15. package/templates/basic/nest/service.ts.eta +8 -8
  16. package/templates/basic/nest/service.ts.eta-backup +1 -1
  17. package/templates/basic/nuxt/simpleapp.doc.ts.eta +2 -2
  18. package/templates/nest/src/app.module.ts._eta +5 -5
  19. package/templates/nest/src/main.ts._eta +1 -1
  20. package/templates/nest/src/simple-app/{.core → _core}/features/auto-increament/auto-increament.schema.ts.eta +1 -1
  21. package/templates/nest/src/simple-app/{.core → _core}/features/auto-increament/auto-increament.service.ts.eta +1 -1
  22. package/templates/nest/src/simple-app/{.core → _core}/features/cron/cron-system/cron-system.module.ts.eta +9 -5
  23. package/templates/nest/src/simple-app/{.core → _core}/features/cron/cron-system/cron-system.service.ts.eta +1 -1
  24. package/templates/nest/src/simple-app/_core/features/cron/cron-system/schemas/index.ts.eta +2 -0
  25. package/templates/nest/src/simple-app/{.core → _core}/features/document-no-format/document-no-format.controller.ts.eta +2 -2
  26. package/templates/nest/src/simple-app/{.core → _core}/features/document-no-format/document-no-format.schema.ts.eta +1 -1
  27. package/templates/nest/src/simple-app/{.core → _core}/features/maintenance/maintenance.controller.ts.eta +4 -4
  28. package/templates/nest/src/simple-app/{.core → _core}/features/maintenance/maintenance.service.ts.eta +2 -2
  29. package/templates/nest/src/simple-app/{.core/features/mini-app/developer-portal/developer-portal-bridge.service.ts.eta.eta → _core/features/mini-app/developer-portal/developer-portal-bridge.service.ts.eta} +5 -5
  30. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/developer-portal/developer-portal-env-development.service.ts.eta +11 -10
  31. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/developer-portal/developer-portal-env-production.service.ts.eta +7 -7
  32. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/developer-portal/developer-portal.controller.ts.eta +11 -11
  33. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/developer-portal/developer-portal.service.ts.eta +9 -7
  34. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/developer-portal/dto/developer-portal-create-app.dto.ts.eta +3 -3
  35. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-manager/mini-app-manager-bridge.service.ts.eta +1 -1
  36. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-manager/mini-app-manager-env-development.service.ts.eta +4 -4
  37. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-manager/mini-app-manager-env-production.service.ts.eta +4 -4
  38. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-manager/mini-app-manager-policy.service.ts.eta +4 -4
  39. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-manager/mini-app-manager.controller.ts.eta +4 -4
  40. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-manager/mini-app-manager.processor.ts.eta +4 -4
  41. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-manager/mini-app-manager.service.ts.eta +4 -4
  42. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-scope/mini-app-scope.guard.ts.eta +2 -2
  43. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-scope/mini-app-scope.service.ts.eta +4 -4
  44. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/types/miniApp.ts.eta +4 -3
  45. package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/utils/mini-app.util.ts.eta +1 -1
  46. package/templates/nest/src/simple-app/{.core → _core}/features/policy/policy.service.ts.eta +2 -2
  47. package/templates/nest/src/simple-app/{.core → _core}/features/profile/profile.schema.ts.eta +2 -2
  48. package/templates/nest/src/simple-app/{.core → _core}/features/queue/queue-base/queue-base.consumer.ts.eta +1 -1
  49. package/templates/nest/src/simple-app/{.core → _core}/features/queue/queue-base/queue-base.producer.ts.eta +2 -2
  50. package/templates/nest/src/simple-app/{.core → _core}/features/queue/queue-user-context/queue-user-context.service.ts.eta +3 -3
  51. package/templates/nest/src/simple-app/{.core → _core}/features/queue/queue.module.ts.eta +1 -1
  52. package/templates/nest/src/simple-app/{.core → _core}/features/user-context/user.context.ts.eta +37 -39
  53. package/templates/nest/src/simple-app/{.core → _core}/features/webhook/run-webhook.service.ts.eta +38 -33
  54. package/templates/nest/src/simple-app/{.core → _core}/framework/base/simple-app.service.ts.eta +1 -1
  55. package/templates/nest/src/simple-app/{.core → _core}/framework/json-schemas.dict.ts.eta +2 -2
  56. package/templates/nest/src/simple-app/{.core → _core}/framework/schemas/simple-app.schema.ts.eta +4 -4
  57. package/templates/nest/src/simple-app/{.core → _core}/framework/simple-app.middleware.ts.eta +1 -1
  58. package/templates/nest/src/simple-app/events/branch-event/branch-event.module.ts._eta +3 -3
  59. package/templates/nest/src/simple-app/events/branch-event/branch-event.service.ts._eta +6 -6
  60. package/templates/nest/src/simple-app/events/branch-event/branch-event.type.ts._eta +1 -1
  61. package/templates/nest/src/simple-app/events/organization-event/organization-event.module.ts._eta +2 -2
  62. package/templates/nest/src/simple-app/events/organization-event/organization-event.service.ts._eta +6 -6
  63. package/templates/nest/src/simple-app/events/organization-event/organization-event.type.ts._eta +1 -1
  64. package/templates/nest/src/simple-app/events/permission-event/permission-event.module.ts.eta +1 -1
  65. package/templates/nest/src/simple-app/events/permission-event/permission-event.service.ts.eta +4 -4
  66. package/templates/nest/src/simple-app/events/permission-event/permission-event.type.ts.eta +1 -1
  67. package/templates/nest/src/simple-app/events/readme.md.eta +4 -4
  68. package/templates/nest/src/simple-app/events/tenant-event/tenant-event.module.ts_eta +2 -2
  69. package/templates/nest/src/simple-app/events/tenant-event/tenant-event.service.ts_eta +5 -5
  70. package/templates/nest/src/simple-app/events/tenant-event/tenant-event.type.ts_eta +1 -1
  71. package/templates/nest/src/simple-app/features/print/print.service.ts.eta +1 -1
  72. package/templates/nest/src/simple-app/simple-app.module.ts.eta +2 -2
  73. package/templates/nuxt/plugins/19.simpleapp-mini-app-store.ts.eta +1 -1
  74. package/templates/nuxt/simpleapp/generate/features/miniApp/app/components/MiniAppPageIframe.vue.eta +29 -5
  75. package/templates/nuxt/types/others.ts.eta +2 -2
  76. package/templates/nest/src/simple-app/.core/features/cron/cron-system/schemas/index.ts.eta +0 -2
  77. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/api-key/api-key.service.ts.eta +0 -0
  78. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/api-key/api-key.type.ts.eta +0 -0
  79. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/api-key/validators/interface.ts.eta +0 -0
  80. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/api-key/validators/mini-api-key.validator.ts.eta +0 -0
  81. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/api-key/validators/static-api-key.validator.ts.eta +0 -0
  82. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/auth.module.ts.eta +0 -0
  83. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/keycloak/keycloak.guard.ts.eta +0 -0
  84. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/role-guard/roles.decorator.ts.eta +0 -0
  85. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/role-guard/roles.enum.ts.eta +0 -0
  86. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/role-guard/roles.group.ts.eta +0 -0
  87. /package/templates/nest/src/simple-app/{.core → _core}/features/auth/role-guard/roles.guard.ts.eta +0 -0
  88. /package/templates/nest/src/simple-app/{.core → _core}/features/auto-increament/auto-increament.model.ts.eta +0 -0
  89. /package/templates/nest/src/simple-app/{.core → _core}/features/auto-increament/auto-increament.module.ts.eta +0 -0
  90. /package/templates/nest/src/simple-app/{.core → _core}/features/cron/base/cron.base.ts.eta +0 -0
  91. /package/templates/nest/src/simple-app/{.core → _core}/features/cron/cron.module.ts.eta +0 -0
  92. /package/templates/nest/src/simple-app/{.core → _core}/features/document-no-format/document-no-format.model.ts.eta +0 -0
  93. /package/templates/nest/src/simple-app/{.core → _core}/features/document-no-format/document-no-format.module.ts.eta +0 -0
  94. /package/templates/nest/src/simple-app/{.core → _core}/features/document-no-format/document-no-format.service.ts.eta +0 -0
  95. /package/templates/nest/src/simple-app/{.core → _core}/features/document-no-format/document.dict.ts.eta +0 -0
  96. /package/templates/nest/src/simple-app/{.core → _core}/features/event/event.module.ts.eta +0 -0
  97. /package/templates/nest/src/simple-app/{.core → _core}/features/event/event.type.ts.eta +0 -0
  98. /package/templates/nest/src/simple-app/{.core → _core}/features/event/interface/event-after-create.interface.ts.eta +0 -0
  99. /package/templates/nest/src/simple-app/{.core → _core}/features/event/interface/event-after-delete.interface.ts.eta +0 -0
  100. /package/templates/nest/src/simple-app/{.core → _core}/features/event/interface/event-after-set-status.interface.ts.eta +0 -0
  101. /package/templates/nest/src/simple-app/{.core → _core}/features/event/interface/event-after-update.interface.ts.eta +0 -0
  102. /package/templates/nest/src/simple-app/{.core → _core}/features/event/interface/event-before-create.interface.ts.eta +0 -0
  103. /package/templates/nest/src/simple-app/{.core → _core}/features/event/interface/event-before-delete.interface.ts.eta +0 -0
  104. /package/templates/nest/src/simple-app/{.core → _core}/features/event/interface/event-before-set-status.interface.ts.eta +0 -0
  105. /package/templates/nest/src/simple-app/{.core → _core}/features/event/interface/event-before-update.interface.ts.eta +0 -0
  106. /package/templates/nest/src/simple-app/{.core → _core}/features/event/interface/index.ts.eta +0 -0
  107. /package/templates/nest/src/simple-app/{.core → _core}/features/foreign-key/foreign-key.module.ts.eta +0 -0
  108. /package/templates/nest/src/simple-app/{.core → _core}/features/foreign-key/foreignkeys.dict.ts.eta +0 -0
  109. /package/templates/nest/src/simple-app/{.core → _core}/features/log/log.controller.ts.eta +0 -0
  110. /package/templates/nest/src/simple-app/{.core → _core}/features/log/log.module.ts.eta +0 -0
  111. /package/templates/nest/src/simple-app/{.core → _core}/features/log/log.service.ts.eta +0 -0
  112. /package/templates/nest/src/simple-app/{.core → _core}/features/log/schemas/api-event.schema.ts.eta +0 -0
  113. /package/templates/nest/src/simple-app/{.core → _core}/features/log/schemas/document-event.schema.ts.eta +0 -0
  114. /package/templates/nest/src/simple-app/{.core → _core}/features/log/schemas/index.ts.eta +0 -0
  115. /package/templates/nest/src/simple-app/{.core → _core}/features/maintenance/maintenance.module.ts.eta +0 -0
  116. /package/templates/nest/src/simple-app/{.core → _core}/features/maintenance/schemas/db-update.ts.eta +0 -0
  117. /package/templates/nest/src/simple-app/{.core → _core}/features/maintenance/schemas/environment.ts.eta +0 -0
  118. /package/templates/nest/src/simple-app/{.core → _core}/features/maintenance/schemas/index.ts.eta +0 -0
  119. /package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/developer-portal/developer-portal.schema.ts.eta +0 -0
  120. /package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/developer-portal/dto/developer-portal-publish-app.dto.ts.eta +0 -0
  121. /package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/dto/imports.ts.eta +0 -0
  122. /package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/dto/index.ts.eta +0 -0
  123. /package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/dto/mini-app.ts.eta +0 -0
  124. /package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-manager/mini-app-manager.enum.ts.eta +0 -0
  125. /package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-manager/mini-app-manager.error.ts.eta +0 -0
  126. /package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app-scope/mini-app-scope.decorator.ts.eta +0 -0
  127. /package/templates/nest/src/simple-app/{.core → _core}/features/mini-app/mini-app.module.ts.eta +0 -0
  128. /package/templates/nest/src/simple-app/{.core → _core}/features/policy/policy.module.ts.eta +0 -0
  129. /package/templates/nest/src/simple-app/{.core → _core}/features/profile/profile.controller.ts.eta +0 -0
  130. /package/templates/nest/src/simple-app/{.core → _core}/features/profile/profile.module.ts.eta +0 -0
  131. /package/templates/nest/src/simple-app/{.core → _core}/features/profile/profile.service.ts.eta +0 -0
  132. /package/templates/nest/src/simple-app/{.core → _core}/features/profile/profile.types.ts.eta-backup +0 -0
  133. /package/templates/nest/src/simple-app/{.core → _core}/features/queue/queue.type.ts.eta +0 -0
  134. /package/templates/nest/src/simple-app/{.core → _core}/features/simple-app-core-features.module.ts.eta +0 -0
  135. /package/templates/nest/src/simple-app/{.core → _core}/features/user-context/appuser.decorator.ts.eta +0 -0
  136. /package/templates/nest/src/simple-app/{.core → _core}/features/user-context/robot-user.service.ts.eta +0 -0
  137. /package/templates/nest/src/simple-app/{.core → _core}/features/user-context/user-context.module.ts.eta +0 -0
  138. /package/templates/nest/src/simple-app/{.core → _core}/features/user-context/user-context.type.ts.eta +0 -0
  139. /package/templates/nest/src/simple-app/{.core → _core}/features/webhook/schemas/index.ts.eta +0 -0
  140. /package/templates/nest/src/simple-app/{.core → _core}/features/webhook/schemas/webhook-log.schema.ts.eta +0 -0
  141. /package/templates/nest/src/simple-app/{.core → _core}/features/webhook/schemas/webhook.schema.ts.eta +0 -0
  142. /package/templates/nest/src/simple-app/{.core → _core}/features/webhook/webhook.module.ts.eta +0 -0
  143. /package/templates/nest/src/simple-app/{.core → _core}/framework/base/simple-app.controller.ts.eta +0 -0
  144. /package/templates/nest/src/simple-app/{.core → _core}/framework/custom-exception.ts.eta +0 -0
  145. /package/templates/nest/src/simple-app/{.core → _core}/framework/exception-filter.ts.eta +0 -0
  146. /package/templates/nest/src/simple-app/{.core → _core}/framework/framework.module.ts.eta +0 -0
  147. /package/templates/nest/src/simple-app/{.core → _core}/framework/schemas/index.ts.eta +0 -0
  148. /package/templates/nest/src/simple-app/{.core → _core}/framework/schemas/others.schema.ts.eta +0 -0
  149. /package/templates/nest/src/simple-app/{.core → _core}/framework/simple-app.interceptor.ts.eta +0 -0
  150. /package/templates/nest/src/simple-app/{.core → _core}/readme.md.eta +0 -0
  151. /package/templates/nest/src/simple-app/{.core → _core}/resources/core-resources.module.ts.eta +0 -0
  152. /package/templates/nest/src/simple-app/{.core → _core}/simple-app-core.module.ts.eta +0 -0
  153. /package/templates/nest/src/simple-app/{.core → _core}/utils/dayjs.ts.eta +0 -0
  154. /package/templates/nest/src/simple-app/{.core → _core}/utils/encryption.static.ts.eta +0 -0
  155. /package/templates/nest/src/simple-app/{.core → _core}/utils/locale-tool.ts.eta +0 -0
  156. /package/templates/nest/src/simple-app/{.core → _core}/utils/string-utils.ts.eta +0 -0
  157. /package/templates/nest/src/simple-app/{.resources → _resources}/readme.md.eta +0 -0
  158. /package/templates/nest/src/simple-app/{.resources → _resources}/resources.module.ts.eta +0 -0
  159. /package/templates/nest/src/simple-app/{.core/features/maintenance → config}/db-update/1.00.00/index.ts._eta +0 -0
  160. /package/templates/nest/src/simple-app/{.core/features/maintenance → config}/db-update/index.ts._eta +0 -0
@@ -1,5 +1,8 @@
1
1
  import { BadRequestException, Injectable, Inject, InternalServerErrorException, Logger, NotFoundException } from '@nestjs/common';
2
2
  import { EventEmitter2, OnEvent } from '@nestjs/event-emitter';
3
+ import { Model } from 'mongoose';
4
+ import { InjectModel } from '@nestjs/mongoose';
5
+
3
6
  import { UserContext } from '../user-context/user.context';
4
7
  import { Webhook, WebhookLog } from './schemas';
5
8
  import { alldocuments } from '../document-no-format/document.dict';
@@ -8,38 +11,39 @@ import { alldocuments } from '../document-no-format/document.dict';
8
11
  export class RunWebhookService {
9
12
  @Inject(EventEmitter2)
10
13
  protected eventEmitter: EventEmitter2;
11
- protected systemWebhooks : Webhook[] = []
14
+ protected systemWebhooks: Webhook[] = [];
12
15
  protected logger = new Logger();
13
16
  protected maxRetries = 5;
14
- public constructor() {}
15
- public addWebhook = (wh:Webhook)=> this.systemWebhooks.push(wh)
17
+ public constructor(
18
+ @InjectModel('WebhookLog') private webHookLogModel: Model<WebhookLog>
19
+ ) {}
20
+ public addWebhook = (wh: Webhook) => this.systemWebhooks.push(wh);
16
21
 
17
22
  /**
18
23
  * trigger
19
24
  */
20
- async run(appuser: UserContext, documentName: string, actionName: string, data: any) {
21
- if (process.env.WEBHOOK_ONOFF && process.env.WEBHOOK_ONOFF.toLowerCase() == 'on') {
22
- return await this.runRealtimeWebhook(appuser, documentName, actionName, data);
23
- }
24
- else {
25
+ async run(appUser: UserContext, documentName: string, actionName: string, data: any) {
26
+ if (process.env.WEBHOOK_ONOFF && process.env.WEBHOOK_ONOFF.toLowerCase() == 'on') {
27
+ return await this.runRealtimeWebhook(appUser, documentName, actionName, data);
28
+ } else {
25
29
  this.logger.warn(`Webhook off, not run for ${documentName}:${actionName}`);
26
30
  }
27
31
  }
28
32
 
29
- async runRealtimeWebhook(appuser: UserContext, documentName: string, actionName: string, data: any) {
33
+ async runRealtimeWebhook(appUser: UserContext, documentName: string, actionName: string, data: any) {
30
34
  this.logger.debug(`Run webhook ${documentName}, ${actionName}`);
31
-
32
- const userWebhooks = appuser.getWebHooks().filter((wh) => wh.resourceName == documentName && wh.eventType == actionName && wh.active);
33
- const systemWebhooks = this.systemWebhooks.filter((wh) => wh.resourceName == documentName && wh.eventType == actionName && wh.active);
34
- const webhooks = []
35
- webhooks.concat(userWebhooks).concat(systemWebhooks)
36
-
35
+
36
+ const userWebhooks = appUser.getWebHooks().filter((wh) => wh.resourceName === documentName && wh.eventType === actionName && wh.active);
37
+ const systemWebhooks = this.systemWebhooks.filter((wh) => wh.resourceName === documentName && wh.eventType === actionName && wh.active);
38
+ let webhooks = [];
39
+ webhooks = webhooks.concat(userWebhooks)
40
+ webhooks = webhooks.concat(systemWebhooks);
37
41
  const systemVars = {
38
- $xOrg: appuser.getXOrg(),
39
- $accessToken: appuser.getUserToken(),
40
- $fullName: appuser.getFullname(),
41
- $email: appuser.getEmail(),
42
- $uid: appuser.getUid(),
42
+ $xOrg: appUser.getXOrg(),
43
+ $accessToken: appUser.getUserToken(),
44
+ $fullName: appUser.getFullname(),
45
+ $email: appUser.getEmail(),
46
+ $uid: appUser.getUid(),
43
47
  $resourceName: documentName,
44
48
  $actionName: actionName,
45
49
  $url: process.env.APP_URL ?? 'http://localhost:8080',
@@ -90,7 +94,7 @@ export class RunWebhookService {
90
94
  // console.log("options",options)
91
95
 
92
96
  if (['POST', 'PUT', 'PATCH'].includes(options.method)) {
93
- options.body = this.prepareBody(appuser, webhook, data, systemVars);
97
+ options.body = this.prepareBody(appUser, webhook, data, systemVars);
94
98
  }
95
99
 
96
100
  while (tries > 0) {
@@ -107,16 +111,16 @@ export class RunWebhookService {
107
111
  msg = `Try: ${tryno}/${maxtries} ${documentName}:${actionName}, ${reqMethod} ${webhookUrl}, ${statusCode},${req.statusText}`;
108
112
  if (statusCode >= 200 && statusCode <= 300) {
109
113
  //success, continue next webhook
110
- this.addLog(appuser, documentName, webhook, actionName, data, options, 'success', statusCode, msg);
114
+ await this.addLog(appUser, documentName, webhook, actionName, data, options, 'success', statusCode, msg);
111
115
  break;
112
116
  } else {
113
117
  //common error like 404
114
- this.addLog(appuser, documentName, webhook, actionName, data, options, 'failed', statusCode, msg);
118
+ await this.addLog(appUser, documentName, webhook, actionName, data, options, 'failed', statusCode, msg);
115
119
  }
116
120
  } catch (e) {
117
121
  // exception, usually server not accessible. use error 500
118
122
  msg = `Try: ${tryno}/${maxtries}, error ${documentName}:${actionName} (${webhook._id}) ${e} at ${webhookUrl}`;
119
- this.addLog(appuser, documentName, webhook, actionName, data, options, 'failed', 500, msg);
123
+ await this.addLog(appUser, documentName, webhook, actionName, data, options, 'failed', 500, msg);
120
124
  }
121
125
 
122
126
  //finish tries, throw error
@@ -129,7 +133,7 @@ export class RunWebhookService {
129
133
  return true;
130
134
  }
131
135
 
132
- addLog(appuser: UserContext, documentName: string, webhook: Webhook, actionName: string, data: any, options, status: string, statusCode: number, msg: string) {
136
+ async addLog(appUser: UserContext, documentName: string, webhook: Webhook, actionName: string, data: any, options, status: string, statusCode: number, msg: string) {
133
137
  if (status == 'success') {
134
138
  this.logger.debug(msg);
135
139
  } else {
@@ -140,14 +144,14 @@ export class RunWebhookService {
140
144
 
141
145
  const whlog: WebhookLog = {
142
146
  _id: crypto.randomUUID(),
143
- tenantId: appuser.getTenantId(),
144
- orgId: appuser.getOrgId(),
145
- branchId: appuser.getBranchId(),
147
+ tenantId: appUser.getTenantId(),
148
+ orgId: appUser.getOrgId(),
149
+ branchId: appUser.getBranchId(),
146
150
  webHookId: webhook._id,
147
151
  created: new Date().toISOString(),
148
- createdBy: appuser.getUid(),
152
+ createdBy: appUser.getUid(),
149
153
  updated: new Date().toISOString(),
150
- updatedBy: appuser.getUid(),
154
+ updatedBy: appUser.getUid(),
151
155
  title: `${webhook.requestMethod} ${webhook.url}`,
152
156
  dataId: data._id,
153
157
  resource: documentName,
@@ -157,10 +161,11 @@ export class RunWebhookService {
157
161
  body: body,
158
162
  msg: msg,
159
163
  };
160
-
161
- this.eventEmitter.emit('webhooklog.add', appuser, whlog);
164
+
165
+ const doc = new this.webHookLogModel(whlog)
166
+ await doc.save({ session:appUser.getDBSession() })
162
167
  }
163
- prepareBody(appuser: UserContext, webhook: Webhook, data: any, systemVars: any) {
168
+ prepareBody(appUser: UserContext, webhook: Webhook, data: any, systemVars: any) {
164
169
  const cleandata = JSON.parse(JSON.stringify(data));
165
170
 
166
171
  if (webhook.body?.trim() == '*') {
@@ -18,7 +18,7 @@ import { FilterQuery, Model, PipelineStage, mongo } from 'mongoose';
18
18
  import { foreignkeys } from '../../features/foreign-key/foreignkeys.dict';
19
19
  import { CustomException } from '../custom-exception';
20
20
 
21
- import { camelToKebab } from 'src/simple-app/.core/utils/string-utils';
21
+ import { camelToKebab } from 'src/simple-app/_core/utils/string-utils';
22
22
  import { SimpleAppDocumentNoFormatService } from '../../features/document-no-format/document-no-format.service';
23
23
  import { UserContext } from '../../features/user-context/user.context';
24
24
  import { RunWebhookService } from '../../features/webhook/run-webhook.service';
@@ -3,9 +3,9 @@ for(let i=0; i<it.modules.length;i++){
3
3
  const m= it.modules[i]
4
4
  if(getSystemResources().includes(m.docname.toLowerCase())){
5
5
  %>
6
- export * from 'src/simple-app/.core/resources/<%=camelToKebab(m.typename)%>/<%=camelToKebab(m.typename)%>.jsonschema'
6
+ export * from 'src/simple-app/_core/resources/<%=camelToKebab(m.typename)%>/<%=camelToKebab(m.typename)%>.jsonschema'
7
7
  <%}else{%>
8
- export * from 'src/simple-app/.resources/<%=camelToKebab(m.typename)%>/<%=camelToKebab(m.typename)%>.jsonschema'
8
+ export * from 'src/simple-app/_resources/<%=camelToKebab(m.typename)%>/<%=camelToKebab(m.typename)%>.jsonschema'
9
9
  <%}%>
10
10
  <%}%>
11
11
 
@@ -1,7 +1,7 @@
1
1
  import { ApiProperty } from '@nestjs/swagger';
2
2
  import { Field, ObjectType, ID } from '@nestjs/graphql';
3
3
  import { JSONSchema7, JSONSchema7Type, JSONSchema7Version, JSONSchema7TypeName, JSONSchema7Definition } from 'json-schema';
4
- import { Permission } from 'src/simple-app/.core/resources/permission/permission.schema';
4
+ import { Permission } from 'src/simple-app/_core/resources/permission/permission.schema';
5
5
 
6
6
  export class ModifiedCollection {
7
7
  [key: string]: string[];
@@ -121,13 +121,13 @@ export class SchemaConfig {
121
121
  export class ForeignKey {
122
122
  @Field()
123
123
  @ApiProperty({ type: () => String })
124
- _id?: String;
124
+ _id?: string;
125
125
  @Field()
126
126
  @ApiProperty({ type: () => String })
127
- code?: String;
127
+ code?: string;
128
128
  @Field()
129
129
  @ApiProperty({ type: () => String })
130
- label?: String;
130
+ label?: string;
131
131
  [key: string]: any;
132
132
  }
133
133
  export class MyForeignKey {
@@ -15,7 +15,7 @@ import { User } from '../resources/user/user.schema';
15
15
  // import { Miniappinstallation } from '../../resources/';
16
16
  import { Webhook } from '../features/webhook/schemas';
17
17
  // import { Appintegration } from '../../types/appintegration.type';
18
- import { MiniAppInstallation } from 'src/simple-app/.core/resources/mini-app-installation/mini-app-installation.schema';
18
+ import { MiniAppInstallation } from 'src/simple-app/_core/resources/mini-app-installation/mini-app-installation.schema';
19
19
  import { UserContext } from '../features/user-context/user.context';
20
20
  import { ApiKeyService } from '../features/auth/api-key/api-key.service';
21
21
  import { HEADER_X_API_KEY, HEADER_X_API_SECRET } from '../features/auth/api-key/api-key.type';
@@ -6,10 +6,10 @@
6
6
  */
7
7
  import { Module } from '@nestjs/common';
8
8
 
9
- import { BranchModule } from 'src/simple-app/.core/resources/branch/branch.module';
10
- import { AutoIncreamentModule } from 'src/simple-app/.core/features/auto-increament/auto-increament.module';
9
+ import { BranchModule } from 'src/simple-app/_core/resources/branch/branch.module';
10
+ import { AutoIncreamentModule } from 'src/simple-app/_core/features/auto-increament/auto-increament.module';
11
11
  import { BranchEventService } from './branch-event.service';
12
- import { DocumentNoFormatModule } from 'src/simple-app/.core/features/document-no-format/document-no-format.module';
12
+ import { DocumentNoFormatModule } from 'src/simple-app/_core/features/document-no-format/document-no-format.module';
13
13
 
14
14
  @Module({
15
15
  imports: [DocumentNoFormatModule,BranchModule,AutoIncreamentModule],
@@ -1,12 +1,12 @@
1
1
  import { BadRequestException, InternalServerErrorException, HttpException, Injectable, Inject } from '@nestjs/common';
2
- import { UserContext } from 'src/simple-app/.core/features/user-context/user.context';
2
+ import { UserContext } from 'src/simple-app/_core/features/user-context/user.context';
3
3
  import { Branch } from './branch-event.type';
4
4
  import { EventEmitter2, OnEvent } from '@nestjs/event-emitter';
5
- import { EventBeforeCreate, EventAfterCreate } from 'src/simple-app/.core/features/event/interface';
6
- import { BranchService } from 'src/simple-app/.core/resources/branch/branch.service';
7
- import { CreatePayload } from 'src/simple-app/.core/features/event/event.type';
8
- import { AutoIncreamentService } from 'src/simple-app/.core/features/auto-increament/auto-increament.service';
9
- import { DocumentNoFormatService } from 'src/simple-app/.core/features/document-no-format/document-no-format.service';
5
+ import { EventBeforeCreate, EventAfterCreate } from 'src/simple-app/_core/features/event/interface';
6
+ import { BranchService } from 'src/simple-app/_core/resources/branch/branch.service';
7
+ import { CreatePayload } from 'src/simple-app/_core/features/event/event.type';
8
+ import { AutoIncreamentService } from 'src/simple-app/_core/features/auto-increament/auto-increament.service';
9
+ import { DocumentNoFormatService } from 'src/simple-app/_core/features/document-no-format/document-no-format.service';
10
10
  import { GenerateLogoService } from 'src/simple-app/features/generate-image/generate-logo/generate-logo-service';
11
11
 
12
12
  @Injectable()
@@ -4,4 +4,4 @@
4
4
  * last change 2024-04-02
5
5
  * Author: Ks Tan
6
6
  */
7
- export * from '../../.core/resources/branch/branch.schema';
7
+ export * from '../../_core/resources/branch/branch.schema';
@@ -1,7 +1,7 @@
1
1
  import { Module } from '@nestjs/common';
2
2
 
3
- import { OrganizationModule } from 'src/simple-app/.core/resources/organization/organization.module';
4
- import { AutoIncreamentModule } from 'src/simple-app/.core/features/auto-increament/auto-increament.module';
3
+ import { OrganizationModule } from 'src/simple-app/_core/resources/organization/organization.module';
4
+ import { AutoIncreamentModule } from 'src/simple-app/_core/features/auto-increament/auto-increament.module';
5
5
  import { OrganizationEventService } from './organization-event.service';
6
6
  import { GenerateLogoModule } from 'src/simple-app/features/generate-image/generate-logo/generate-log-module';
7
7
  @Module({
@@ -1,13 +1,13 @@
1
1
  import { BadRequestException, InternalServerErrorException, HttpException, Injectable, Inject } from '@nestjs/common';
2
- import { UserContext } from 'src/simple-app/.core/features/user-context/user.context';
2
+ import { UserContext } from 'src/simple-app/_core/features/user-context/user.context';
3
3
  import { Organization } from './organization-event.type';
4
4
  import { EventEmitter2, OnEvent } from '@nestjs/event-emitter';
5
- import { EventBeforeCreate, EventAfterCreate, EventBeforeUpdate } from 'src/simple-app/.core/features/event/interface';
6
- import { OrganizationService } from 'src/simple-app/.core/resources/organization/organization.service';
7
- import { CreatePayload, UpdatePayload } from 'src/simple-app/.core/features/event/event.type';
8
- import { AutoIncreamentService } from 'src/simple-app/.core/features/auto-increament/auto-increament.service';
5
+ import { EventBeforeCreate, EventAfterCreate, EventBeforeUpdate } from 'src/simple-app/_core/features/event/interface';
6
+ import { OrganizationService } from 'src/simple-app/_core/resources/organization/organization.service';
7
+ import { CreatePayload, UpdatePayload } from 'src/simple-app/_core/features/event/event.type';
8
+ import { AutoIncreamentService } from 'src/simple-app/_core/features/auto-increament/auto-increament.service';
9
9
  import { GenerateLogoService } from 'src/simple-app/features/generate-image/generate-logo/generate-logo-service';
10
- import { getCountriesForTimezone, getCurrencyCode } from 'src/simple-app/.core/utils/locale-tool';
10
+ import { getCountriesForTimezone, getCurrencyCode } from 'src/simple-app/_core/utils/locale-tool';
11
11
 
12
12
 
13
13
  @Injectable()
@@ -1 +1 @@
1
- export * from '../../.core/resources/organization/organization.schema';
1
+ export * from '../../_core/resources/organization/organization.schema';
@@ -1,7 +1,7 @@
1
1
  import { Module } from '@nestjs/common';
2
2
 
3
3
  import { PermissionEventService } from './permission-event.service';
4
- import { PermissionModule } from 'src/simple-app/.core/resources/permission/permission.module';
4
+ import { PermissionModule } from 'src/simple-app/_core/resources/permission/permission.module';
5
5
  @Module({
6
6
  imports: [PermissionModule],
7
7
  controllers: [],
@@ -1,10 +1,10 @@
1
1
  import { BadRequestException, InternalServerErrorException, HttpException, Injectable, Inject } from '@nestjs/common';
2
- import { UserContext } from 'src/simple-app/.core/features/user-context/user.context';
2
+ import { UserContext } from 'src/simple-app/_core/features/user-context/user.context';
3
3
  import { Permission } from './permission-event.type';
4
4
  import { OnEvent } from '@nestjs/event-emitter';
5
- import { EventBeforeCreate, EventAfterCreate } from 'src/simple-app/.core/features/event/interface';
6
- import { PermissionService } from 'src/simple-app/.core/resources/permission/permission.service';
7
- import { CreatePayload } from 'src/simple-app/.core/features/event/event.type';
5
+ import { EventBeforeCreate, EventAfterCreate } from 'src/simple-app/_core/features/event/interface';
6
+ import { PermissionService } from 'src/simple-app/_core/resources/permission/permission.service';
7
+ import { CreatePayload } from 'src/simple-app/_core/features/event/event.type';
8
8
 
9
9
  @Injectable()
10
10
  export class PermissionEventService implements EventBeforeCreate<Permission>, EventAfterCreate<Permission> {
@@ -1 +1 @@
1
- export * from '../../.core/resources/permission/permission.schema';
1
+ export * from '../../_core/resources/permission/permission.schema';
@@ -19,12 +19,12 @@
19
19
  ```ts
20
20
  //student.event.ts
21
21
  import { BadRequestException, InternalServerErrorException, HttpException, Injectable, Inject } from '@nestjs/common';
22
- import { UserContext } from 'src/simple-app/.core/features/user-context/user.context';
23
- import * as schema from 'src/simple-app/.resources/student/student.schema'
22
+ import { UserContext } from 'src/simple-app/_core/features/user-context/user.context';
23
+ import * as schema from 'src/simple-app/_resources/student/student.schema'
24
24
  import { EventEmitter2, OnEvent } from '@nestjs/event-emitter';
25
25
 
26
- import { EventBeforeCreate } from 'src/simple-app/.core/features/event/interface';
27
- import { CreatePayLoad } from 'src/simple-app/.core/features/event/event.type';
26
+ import { EventBeforeCreate } from 'src/simple-app/_core/features/event/interface';
27
+ import { CreatePayLoad } from 'src/simple-app/_core/features/event/event.type';
28
28
  @Injectable()
29
29
  export class StudentEvent implements EventBeforeUpdate<Student>{
30
30
  constructor() {}
@@ -1,7 +1,7 @@
1
1
  import { Module } from '@nestjs/common';
2
2
 
3
- import { TenantModule } from 'src/simple-app/.core/resources/tenant/tenant.module';
4
- import { AutoIncreamentModule } from 'src/simple-app/.core/features/auto-increament/auto-increament.module';
3
+ import { TenantModule } from 'src/simple-app/_core/resources/tenant/tenant.module';
4
+ import { AutoIncreamentModule } from 'src/simple-app/_core/features/auto-increament/auto-increament.module';
5
5
  import { TenantEventService } from './tenant-event.service';
6
6
  @Module({
7
7
  imports: [TenantModule, AutoIncreamentModule],
@@ -1,11 +1,11 @@
1
1
  import { BadRequestException, InternalServerErrorException, HttpException, Injectable, Inject } from '@nestjs/common';
2
- import { UserContext } from 'src/simple-app/.core/features/user-context/user.context';
2
+ import { UserContext } from 'src/simple-app/_core/features/user-context/user.context';
3
3
  import { Tenant } from './tenant-event.type';
4
4
  import { EventEmitter2, OnEvent } from '@nestjs/event-emitter';
5
- import { EventBeforeCreate, EventAfterCreate } from 'src/simple-app/.core/features/event/interface';
6
- import { TenantService } from 'src/simple-app/.core/resources/tenant/tenant.service';
7
- import { CreatePayLoad } from 'src/simple-app/.core/features/event/event.type';
8
- import { AutoIncreamentService } from 'src/simple-app/.core/features/auto-increament/auto-increament.service';
5
+ import { EventBeforeCreate, EventAfterCreate } from 'src/simple-app/_core/features/event/interface';
6
+ import { TenantService } from 'src/simple-app/_core/resources/tenant/tenant.service';
7
+ import { CreatePayLoad } from 'src/simple-app/_core/features/event/event.type';
8
+ import { AutoIncreamentService } from 'src/simple-app/_core/features/auto-increament/auto-increament.service';
9
9
 
10
10
  @Injectable()
11
11
  export class TenantEventService implements EventBeforeCreate<Tenant>, EventAfterCreate<Tenant> {
@@ -1 +1 @@
1
- export * from '../../.core/resources/tenant/tenant.schema';
1
+ export * from '../../_core/resources/tenant/tenant.schema';
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import { Injectable, InternalServerErrorException } from '@nestjs/common';
9
- import { UserContext } from 'src/simple-app/.core/features/user-context/user.context';
9
+ import { UserContext } from 'src/simple-app/_core/features/user-context/user.context';
10
10
  import * as api from './api';
11
11
 
12
12
  @Injectable()
@@ -5,8 +5,8 @@
5
5
  * Author: Ks Tan
6
6
  */
7
7
  import { Module } from '@nestjs/common';
8
- import {SimpleAppCoreModule} from './.core/simple-app-core.module'
9
- import {SimpleAppResourcesModule} from './.resources/resources.module'
8
+ import {SimpleAppCoreModule} from './_core/simple-app-core.module'
9
+ import {SimpleAppResourcesModule} from './_resources/resources.module'
10
10
  import {SimpleAppEventsModule} from './events/events.module'
11
11
  import {SimpleAppFeaturesModule} from './features/features.module'
12
12
 
@@ -273,7 +273,7 @@ export default defineNuxtPlugin(async () => {
273
273
  };
274
274
  },
275
275
 
276
- shouldShowPageOnMenu(page: MiniappIntegrationCustomPagePages) {
276
+ shouldShowPageOnMenu(page: MiniAppIntegrationCustomPagePages) {
277
277
  return page.isHideOnMenu === true ? false : true;
278
278
  },
279
279
 
@@ -4,9 +4,11 @@
4
4
  v-if="iframeSource !== ''"
5
5
  :ref="(el) => (iframeRef = el as HTMLIFrameElement)"
6
6
  :src="
7
- generateIframeSource(iframeSource, {
8
- miniAppInstallationId: miniAppInstallationId,
9
- })
7
+ copyQueryToIframeSource(
8
+ generateIframeSource(iframeSource, {
9
+ miniAppInstallationId: miniAppInstallationId,
10
+ }),
11
+ )
10
12
  "
11
13
  :title="pageInfo.title || t('miniAppLang.content')"
12
14
  sandbox="allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-presentation allow-modals"
@@ -25,17 +27,19 @@
25
27
  <script setup lang="ts">
26
28
  import {
27
29
  MiniAppDetail,
28
- MiniappIntegrationCustomPagePages,
30
+ MiniAppIntegrationCustomPagePages,
29
31
  } from "~/simpleapp/generate/openapi";
30
32
 
31
33
  const props = defineProps<{
32
34
  miniApp: MiniAppDetail;
33
- pageInfo: MiniappIntegrationCustomPagePages;
35
+ pageInfo: MiniAppIntegrationCustomPagePages;
34
36
  miniAppCode: string;
35
37
  miniAppInstallationId: string;
36
38
  developerPortalAppId: string;
37
39
  }>();
38
40
 
41
+ const route = useRoute();
42
+
39
43
  const _xOrg = getPathPara("xorg", "");
40
44
  const hasError = ref(false);
41
45
 
@@ -53,6 +57,26 @@ function generateIframeSource(template: string, options: Option = {}) {
53
57
  });
54
58
  }
55
59
 
60
+ function copyQueryToIframeSource(url: string): string {
61
+ const query = route.query;
62
+ const searchParams = new URLSearchParams();
63
+
64
+ Object.entries(query).forEach(([key, value]) => {
65
+ if (Array.isArray(value)) {
66
+ value.forEach((v) => {
67
+ if (v != null) searchParams.append(key, v);
68
+ });
69
+ } else if (value != null) {
70
+ searchParams.append(key, value);
71
+ }
72
+ });
73
+
74
+ const hasQuery = url.includes("?");
75
+ const queryString = searchParams.toString();
76
+
77
+ return queryString ? url + (hasQuery ? "&" : "?") + queryString : url;
78
+ }
79
+
56
80
  const { iframeRef, onIframeLoad } = useMiniAppBridge(
57
81
  props.miniAppInstallationId,
58
82
  props.pageInfo,
@@ -18,8 +18,8 @@ export type NameValue = {
18
18
  };
19
19
 
20
20
  export type ForeignKey = {
21
- _id: string;
22
- label: string;
21
+ _id?: string;
22
+ label?: string;
23
23
  code?: string;
24
24
  [key: string]: any;
25
25
  };
@@ -1,2 +0,0 @@
1
- export {ApiEvent} from 'src/simple-app/.core/features/log/schemas';
2
- export {QueueJob} from 'src/simple-app/.resources/queue-job/queue-job.schema';