@ruiapp/rapid-core 0.11.5 → 0.11.7

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 (204) hide show
  1. package/CHANGELOG.md +11 -11
  2. package/dist/core/pluginManager.d.ts +2 -0
  3. package/dist/core/server.d.ts +3 -0
  4. package/dist/dataAccess/entityManager.d.ts +3 -3
  5. package/dist/index.js +118 -41
  6. package/dist/server.d.ts +1 -0
  7. package/dist/types.d.ts +2 -0
  8. package/package.json +1 -1
  9. package/rollup.config.js +16 -16
  10. package/src/bootstrapApplicationConfig.ts +904 -904
  11. package/src/core/ExpressionInterpreter.ts +45 -45
  12. package/src/core/actionHandler.ts +24 -24
  13. package/src/core/actionHandlers/ifActionHandler.ts +27 -27
  14. package/src/core/eventManager.ts +20 -20
  15. package/src/core/facility.ts +7 -7
  16. package/src/core/http/formDataParser.ts +87 -87
  17. package/src/core/http-types.ts +4 -4
  18. package/src/core/pluginManager.ts +202 -193
  19. package/src/core/providers/runtimeProvider.ts +5 -5
  20. package/src/core/request.ts +96 -96
  21. package/src/core/response.ts +84 -84
  22. package/src/core/routeContext.ts +127 -127
  23. package/src/core/routes/healthz.ts +20 -20
  24. package/src/core/routes/index.ts +3 -3
  25. package/src/core/routesBuilder.ts +129 -122
  26. package/src/core/server.ts +161 -158
  27. package/src/dataAccess/columnTypeMapper.ts +22 -22
  28. package/src/dataAccess/dataAccessTypes.ts +165 -165
  29. package/src/dataAccess/dataAccessor.ts +135 -135
  30. package/src/dataAccess/entityManager.ts +2031 -1986
  31. package/src/dataAccess/entityMapper.ts +111 -111
  32. package/src/dataAccess/entityValidator.ts +33 -33
  33. package/src/dataAccess/propertyMapper.ts +28 -28
  34. package/src/deno-std/assert/assert.ts +9 -9
  35. package/src/deno-std/assert/assertion_error.ts +7 -7
  36. package/src/deno-std/datetime/to_imf.ts +32 -32
  37. package/src/deno-std/encoding/base64.ts +141 -141
  38. package/src/deno-std/http/cookie.ts +372 -372
  39. package/src/facilities/cache/CacheFacilityTypes.ts +29 -29
  40. package/src/facilities/cache/CacheFactory.ts +31 -31
  41. package/src/facilities/cache/MemoryCache.ts +58 -58
  42. package/src/facilities/cache/MemoryCacheProvider.ts +15 -15
  43. package/src/facilities/log/LogFacility.ts +35 -35
  44. package/src/helpers/dbTransactionHelper.ts +42 -42
  45. package/src/helpers/entityHelper.ts +89 -89
  46. package/src/helpers/filterHelper.ts +148 -148
  47. package/src/helpers/inputHelper.ts +11 -11
  48. package/src/helpers/licenseHelper.ts +29 -29
  49. package/src/helpers/metaHelper.ts +111 -111
  50. package/src/helpers/runCollectionEntityActionHandler.ts +58 -58
  51. package/src/index.ts +85 -85
  52. package/src/plugins/auth/AuthPlugin.ts +107 -107
  53. package/src/plugins/auth/AuthPluginTypes.ts +11 -11
  54. package/src/plugins/auth/actionHandlers/changePassword.ts +61 -61
  55. package/src/plugins/auth/actionHandlers/createSession.ts +68 -68
  56. package/src/plugins/auth/actionHandlers/deleteSession.ts +18 -18
  57. package/src/plugins/auth/actionHandlers/getMyProfile.ts +28 -28
  58. package/src/plugins/auth/actionHandlers/index.ts +8 -8
  59. package/src/plugins/auth/actionHandlers/resetPassword.ts +45 -45
  60. package/src/plugins/auth/models/AccessToken.ts +56 -56
  61. package/src/plugins/auth/models/index.ts +3 -3
  62. package/src/plugins/auth/routes/changePassword.ts +15 -15
  63. package/src/plugins/auth/routes/getMyProfile.ts +15 -15
  64. package/src/plugins/auth/routes/index.ts +7 -7
  65. package/src/plugins/auth/routes/resetPassword.ts +15 -15
  66. package/src/plugins/auth/routes/signin.ts +15 -15
  67. package/src/plugins/auth/routes/signout.ts +15 -15
  68. package/src/plugins/auth/services/AuthService.ts +66 -66
  69. package/src/plugins/cronJob/CronJobPlugin.ts +104 -104
  70. package/src/plugins/cronJob/CronJobPluginTypes.ts +44 -44
  71. package/src/plugins/cronJob/actionHandlers/index.ts +4 -4
  72. package/src/plugins/cronJob/actionHandlers/runCronJob.ts +32 -32
  73. package/src/plugins/cronJob/entityWatchers/cronJobEntityWatchers.ts +24 -24
  74. package/src/plugins/cronJob/entityWatchers/index.ts +4 -4
  75. package/src/plugins/cronJob/models/CronJob.ts +129 -129
  76. package/src/plugins/cronJob/models/index.ts +3 -3
  77. package/src/plugins/cronJob/routes/index.ts +3 -3
  78. package/src/plugins/cronJob/routes/runCronJob.ts +15 -15
  79. package/src/plugins/cronJob/services/CronJobService.ts +255 -255
  80. package/src/plugins/dataManage/DataManagePlugin.ts +165 -165
  81. package/src/plugins/dataManage/actionHandlers/addEntityRelations.ts +15 -15
  82. package/src/plugins/dataManage/actionHandlers/countCollectionEntities.ts +17 -17
  83. package/src/plugins/dataManage/actionHandlers/createCollectionEntitiesBatch.ts +81 -81
  84. package/src/plugins/dataManage/actionHandlers/createCollectionEntity.ts +20 -20
  85. package/src/plugins/dataManage/actionHandlers/deleteCollectionEntities.ts +47 -45
  86. package/src/plugins/dataManage/actionHandlers/deleteCollectionEntityById.ts +20 -20
  87. package/src/plugins/dataManage/actionHandlers/findCollectionEntities.ts +27 -27
  88. package/src/plugins/dataManage/actionHandlers/findCollectionEntityById.ts +30 -30
  89. package/src/plugins/dataManage/actionHandlers/queryDatabase.ts +22 -22
  90. package/src/plugins/dataManage/actionHandlers/removeEntityRelations.ts +15 -15
  91. package/src/plugins/dataManage/actionHandlers/saveEntity.ts +46 -46
  92. package/src/plugins/dataManage/actionHandlers/updateCollectionEntityById.ts +38 -38
  93. package/src/plugins/entityAccessControl/EntityAccessControlPlugin.ts +146 -146
  94. package/src/plugins/fileManage/FileManagePlugin.ts +52 -52
  95. package/src/plugins/fileManage/actionHandlers/downloadDocument.ts +65 -65
  96. package/src/plugins/fileManage/actionHandlers/downloadFile.ts +44 -44
  97. package/src/plugins/fileManage/actionHandlers/uploadFile.ts +33 -33
  98. package/src/plugins/fileManage/routes/downloadDocument.ts +15 -15
  99. package/src/plugins/fileManage/routes/downloadFile.ts +15 -15
  100. package/src/plugins/fileManage/routes/index.ts +5 -5
  101. package/src/plugins/fileManage/routes/uploadFile.ts +15 -15
  102. package/src/plugins/license/LicensePlugin.ts +79 -79
  103. package/src/plugins/license/LicensePluginTypes.ts +95 -95
  104. package/src/plugins/license/LicenseService.ts +141 -141
  105. package/src/plugins/license/actionHandlers/getLicense.ts +18 -18
  106. package/src/plugins/license/actionHandlers/index.ts +5 -5
  107. package/src/plugins/license/actionHandlers/updateLicense.ts +24 -24
  108. package/src/plugins/license/helpers/certHelper.ts +21 -21
  109. package/src/plugins/license/helpers/cryptoHelper.ts +47 -47
  110. package/src/plugins/license/models/index.ts +1 -1
  111. package/src/plugins/license/routes/getLicense.ts +15 -15
  112. package/src/plugins/license/routes/index.ts +4 -4
  113. package/src/plugins/license/routes/updateLicense.ts +15 -15
  114. package/src/plugins/mail/MailPlugin.ts +74 -74
  115. package/src/plugins/mail/MailPluginTypes.ts +27 -27
  116. package/src/plugins/mail/MailService.ts +38 -38
  117. package/src/plugins/mail/actionHandlers/index.ts +3 -3
  118. package/src/plugins/mail/models/index.ts +1 -1
  119. package/src/plugins/mail/routes/index.ts +1 -1
  120. package/src/plugins/metaManage/MetaManagePlugin.ts +198 -198
  121. package/src/plugins/metaManage/actionHandlers/getMetaModelDetail.ts +10 -10
  122. package/src/plugins/metaManage/actionHandlers/listMetaModels.ts +10 -10
  123. package/src/plugins/metaManage/actionHandlers/listMetaRoutes.ts +10 -10
  124. package/src/plugins/metaManage/services/MetaService.ts +376 -376
  125. package/src/plugins/notification/NotificationPlugin.ts +68 -68
  126. package/src/plugins/notification/NotificationPluginTypes.ts +13 -13
  127. package/src/plugins/notification/NotificationService.ts +25 -25
  128. package/src/plugins/notification/actionHandlers/index.ts +3 -3
  129. package/src/plugins/notification/models/Notification.ts +60 -60
  130. package/src/plugins/notification/models/index.ts +3 -3
  131. package/src/plugins/notification/routes/index.ts +1 -1
  132. package/src/plugins/routeManage/RouteManagePlugin.ts +64 -64
  133. package/src/plugins/routeManage/actionHandlers/httpProxy.ts +13 -13
  134. package/src/plugins/routeManage/actionHandlers/mock.ts +28 -28
  135. package/src/plugins/sequence/SequencePlugin.ts +146 -146
  136. package/src/plugins/sequence/SequencePluginTypes.ts +69 -69
  137. package/src/plugins/sequence/SequenceService.ts +92 -92
  138. package/src/plugins/sequence/actionHandlers/generateSn.ts +32 -32
  139. package/src/plugins/sequence/actionHandlers/index.ts +4 -4
  140. package/src/plugins/sequence/models/SequenceAutoIncrementRecord.ts +49 -49
  141. package/src/plugins/sequence/models/SequenceRule.ts +42 -42
  142. package/src/plugins/sequence/models/index.ts +4 -4
  143. package/src/plugins/sequence/routes/generateSn.ts +15 -15
  144. package/src/plugins/sequence/routes/index.ts +3 -3
  145. package/src/plugins/sequence/segment-utility.ts +11 -11
  146. package/src/plugins/sequence/segments/autoIncrement.ts +90 -90
  147. package/src/plugins/sequence/segments/dayOfMonth.ts +19 -19
  148. package/src/plugins/sequence/segments/index.ts +9 -9
  149. package/src/plugins/sequence/segments/literal.ts +16 -16
  150. package/src/plugins/sequence/segments/month.ts +19 -19
  151. package/src/plugins/sequence/segments/parameter.ts +20 -20
  152. package/src/plugins/sequence/segments/year.ts +19 -19
  153. package/src/plugins/serverOperation/ServerOperationPlugin.ts +93 -93
  154. package/src/plugins/serverOperation/ServerOperationPluginTypes.ts +25 -25
  155. package/src/plugins/serverOperation/actionHandlers/index.ts +4 -4
  156. package/src/plugins/serverOperation/actionHandlers/runServerOperation.ts +20 -20
  157. package/src/plugins/setting/SettingPlugin.ts +68 -68
  158. package/src/plugins/setting/SettingPluginTypes.ts +37 -37
  159. package/src/plugins/setting/SettingService.ts +222 -222
  160. package/src/plugins/setting/actionHandlers/getSystemSettingValues.ts +30 -30
  161. package/src/plugins/setting/actionHandlers/getUserSettingValues.ts +38 -38
  162. package/src/plugins/setting/actionHandlers/index.ts +6 -6
  163. package/src/plugins/setting/actionHandlers/setSystemSettingValues.ts +30 -30
  164. package/src/plugins/setting/models/SystemSettingGroupSetting.ts +57 -57
  165. package/src/plugins/setting/models/SystemSettingItem.ts +48 -48
  166. package/src/plugins/setting/models/SystemSettingItemSetting.ts +73 -73
  167. package/src/plugins/setting/models/UserSettingGroupSetting.ts +57 -57
  168. package/src/plugins/setting/models/UserSettingItem.ts +55 -55
  169. package/src/plugins/setting/models/UserSettingItemSetting.ts +73 -73
  170. package/src/plugins/setting/models/index.ts +8 -8
  171. package/src/plugins/setting/routes/getSystemSettingValues.ts +15 -15
  172. package/src/plugins/setting/routes/getUserSettingValues.ts +15 -15
  173. package/src/plugins/setting/routes/index.ts +5 -5
  174. package/src/plugins/setting/routes/setSystemSettingValues.ts +15 -15
  175. package/src/plugins/stateMachine/StateMachinePlugin.ts +196 -196
  176. package/src/plugins/stateMachine/StateMachinePluginTypes.ts +48 -48
  177. package/src/plugins/stateMachine/actionHandlers/index.ts +4 -4
  178. package/src/plugins/stateMachine/actionHandlers/sendStateMachineEvent.ts +54 -54
  179. package/src/plugins/stateMachine/models/StateMachine.ts +42 -42
  180. package/src/plugins/stateMachine/models/index.ts +3 -3
  181. package/src/plugins/stateMachine/routes/index.ts +3 -3
  182. package/src/plugins/stateMachine/routes/sendStateMachineEvent.ts +15 -15
  183. package/src/plugins/stateMachine/stateMachineHelper.ts +36 -36
  184. package/src/plugins/webhooks/WebhooksPlugin.ts +148 -148
  185. package/src/plugins/webhooks/pluginConfig.ts +75 -75
  186. package/src/polyfill.ts +5 -5
  187. package/src/proxy/mod.ts +38 -38
  188. package/src/proxy/types.ts +21 -21
  189. package/src/queryBuilder/index.ts +1 -1
  190. package/src/queryBuilder/queryBuilder.ts +755 -755
  191. package/src/server.ts +567 -556
  192. package/src/types/cron-job-types.ts +71 -71
  193. package/src/types.ts +884 -882
  194. package/src/utilities/accessControlUtility.ts +33 -33
  195. package/src/utilities/entityUtility.ts +18 -18
  196. package/src/utilities/errorUtility.ts +15 -15
  197. package/src/utilities/fsUtility.ts +137 -137
  198. package/src/utilities/httpUtility.ts +19 -19
  199. package/src/utilities/jwtUtility.ts +26 -26
  200. package/src/utilities/passwordUtility.ts +26 -26
  201. package/src/utilities/pathUtility.ts +14 -14
  202. package/src/utilities/timeUtility.ts +17 -17
  203. package/src/utilities/typeUtility.ts +15 -15
  204. package/tsconfig.json +19 -19
@@ -1,33 +1,33 @@
1
- import { v1 as uuidv1 } from "uuid";
2
- import { writeFile } from "~/utilities/fsUtility";
3
- import { ActionHandlerContext } from "~/core/actionHandler";
4
- import path from "path";
5
- import { isArray } from "lodash";
6
- import { RapidPlugin } from "~/core/server";
7
-
8
- export const code = "uploadFile";
9
-
10
- export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: any) {
11
- const { server, routerContext, input } = ctx;
12
- const { request, response } = routerContext;
13
-
14
- let file: File | File[] | null = input.file || input.files;
15
- if (isArray(file)) {
16
- file = file[0];
17
- }
18
-
19
- if (!file) {
20
- ctx.status = 400;
21
- ctx.output = { error: "File not found in request body." };
22
- return;
23
- }
24
-
25
- const extName = path.extname(file.name);
26
- const fileKey = `${uuidv1()}${extName}`;
27
- const filePathName = path.join(server.config.localFileStoragePath, fileKey);
28
-
29
- const fileBuffer = await file.arrayBuffer();
30
- await writeFile(filePathName, fileBuffer);
31
-
32
- ctx.output = { ok: true, fileKey };
33
- }
1
+ import { v1 as uuidv1 } from "uuid";
2
+ import { writeFile } from "~/utilities/fsUtility";
3
+ import { ActionHandlerContext } from "~/core/actionHandler";
4
+ import path from "path";
5
+ import { isArray } from "lodash";
6
+ import { RapidPlugin } from "~/core/server";
7
+
8
+ export const code = "uploadFile";
9
+
10
+ export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: any) {
11
+ const { server, routerContext, input } = ctx;
12
+ const { request, response } = routerContext;
13
+
14
+ let file: File | File[] | null = input.file || input.files;
15
+ if (isArray(file)) {
16
+ file = file[0];
17
+ }
18
+
19
+ if (!file) {
20
+ ctx.status = 400;
21
+ ctx.output = { error: "File not found in request body." };
22
+ return;
23
+ }
24
+
25
+ const extName = path.extname(file.name);
26
+ const fileKey = `${uuidv1()}${extName}`;
27
+ const filePathName = path.join(server.config.localFileStoragePath, fileKey);
28
+
29
+ const fileBuffer = await file.arrayBuffer();
30
+ await writeFile(filePathName, fileBuffer);
31
+
32
+ ctx.output = { ok: true, fileKey };
33
+ }
@@ -1,15 +1,15 @@
1
- import { RpdRoute } from "~/types";
2
-
3
- export default {
4
- namespace: "ecm",
5
- name: "ecm.downloadDocument",
6
- code: "ecm.downloadDocument",
7
- type: "RESTful",
8
- method: "GET",
9
- endpoint: "/download/document",
10
- actions: [
11
- {
12
- code: "downloadDocument",
13
- },
14
- ],
15
- } satisfies RpdRoute;
1
+ import { RpdRoute } from "~/types";
2
+
3
+ export default {
4
+ namespace: "ecm",
5
+ name: "ecm.downloadDocument",
6
+ code: "ecm.downloadDocument",
7
+ type: "RESTful",
8
+ method: "GET",
9
+ endpoint: "/download/document",
10
+ actions: [
11
+ {
12
+ code: "downloadDocument",
13
+ },
14
+ ],
15
+ } satisfies RpdRoute;
@@ -1,15 +1,15 @@
1
- import { RpdRoute } from "~/types";
2
-
3
- export default {
4
- namespace: "ecm",
5
- name: "ecm.downloadFile",
6
- code: "ecm.downloadFile",
7
- type: "RESTful",
8
- method: "GET",
9
- endpoint: "/download/file",
10
- actions: [
11
- {
12
- code: "downloadFile",
13
- },
14
- ],
15
- } satisfies RpdRoute;
1
+ import { RpdRoute } from "~/types";
2
+
3
+ export default {
4
+ namespace: "ecm",
5
+ name: "ecm.downloadFile",
6
+ code: "ecm.downloadFile",
7
+ type: "RESTful",
8
+ method: "GET",
9
+ endpoint: "/download/file",
10
+ actions: [
11
+ {
12
+ code: "downloadFile",
13
+ },
14
+ ],
15
+ } satisfies RpdRoute;
@@ -1,5 +1,5 @@
1
- import getMyProfile from "./uploadFile";
2
- import signin from "./downloadFile";
3
- import signout from "./downloadDocument";
4
-
5
- export default [getMyProfile, signin, signout];
1
+ import getMyProfile from "./uploadFile";
2
+ import signin from "./downloadFile";
3
+ import signout from "./downloadDocument";
4
+
5
+ export default [getMyProfile, signin, signout];
@@ -1,15 +1,15 @@
1
- import { RpdRoute } from "~/types";
2
-
3
- export default {
4
- namespace: "ecm",
5
- name: "ecm.uploadFile",
6
- code: "ecm.uploadFile",
7
- type: "RESTful",
8
- method: "POST",
9
- endpoint: "/upload",
10
- actions: [
11
- {
12
- code: "uploadFile",
13
- },
14
- ],
15
- } satisfies RpdRoute;
1
+ import { RpdRoute } from "~/types";
2
+
3
+ export default {
4
+ namespace: "ecm",
5
+ name: "ecm.uploadFile",
6
+ code: "ecm.uploadFile",
7
+ type: "RESTful",
8
+ method: "POST",
9
+ endpoint: "/upload",
10
+ actions: [
11
+ {
12
+ code: "uploadFile",
13
+ },
14
+ ],
15
+ } satisfies RpdRoute;
@@ -1,79 +1,79 @@
1
- /**
2
- * License plugin
3
- */
4
-
5
- import { RpdApplicationConfig } from "~/types";
6
- import {
7
- IRpdServer,
8
- RapidPlugin,
9
- RpdConfigurationItemOptions,
10
- RpdServerPluginConfigurableTargetOptions,
11
- RpdServerPluginExtendingAbilities,
12
- } from "~/core/server";
13
-
14
- import pluginActionHandlers from "./actionHandlers";
15
- import pluginModels from "./models";
16
- import pluginRoutes from "./routes";
17
- import LicenseService from "./LicenseService";
18
- import { LicensePluginInitOptions } from "./LicensePluginTypes";
19
-
20
- class LicensePlugin implements RapidPlugin {
21
- #licenseService!: LicenseService;
22
- #encryptionKey: string;
23
-
24
- constructor(options: LicensePluginInitOptions) {
25
- if (!options.encryptionKey) {
26
- throw new Error(`"encryptionKey" must be provided.`);
27
- }
28
- this.#encryptionKey = options.encryptionKey;
29
- }
30
-
31
- get licenseService() {
32
- return this.#licenseService;
33
- }
34
-
35
- get code(): string {
36
- return "license";
37
- }
38
-
39
- get description(): string {
40
- return null;
41
- }
42
-
43
- get extendingAbilities(): RpdServerPluginExtendingAbilities[] {
44
- return [];
45
- }
46
-
47
- get configurableTargets(): RpdServerPluginConfigurableTargetOptions[] {
48
- return [];
49
- }
50
-
51
- get configurations(): RpdConfigurationItemOptions[] {
52
- return [];
53
- }
54
-
55
- async registerActionHandlers(server: IRpdServer): Promise<any> {
56
- for (const actionHandler of pluginActionHandlers) {
57
- server.registerActionHandler(this, actionHandler);
58
- }
59
- }
60
-
61
- async configureModels(server: IRpdServer, applicationConfig: RpdApplicationConfig): Promise<any> {
62
- server.appendApplicationConfig({ models: pluginModels });
63
- }
64
-
65
- async configureServices(server: IRpdServer, applicationConfig: RpdApplicationConfig): Promise<any> {
66
- this.#licenseService = new LicenseService(server, this.#encryptionKey);
67
- server.registerService("licenseService", this.#licenseService);
68
- }
69
-
70
- async configureRoutes(server: IRpdServer, applicationConfig: RpdApplicationConfig): Promise<any> {
71
- server.appendApplicationConfig({ routes: pluginRoutes });
72
- }
73
-
74
- async onApplicationLoaded(server: IRpdServer, applicationConfig: RpdApplicationConfig) {
75
- await this.#licenseService.loadLicense();
76
- }
77
- }
78
-
79
- export default LicensePlugin;
1
+ /**
2
+ * License plugin
3
+ */
4
+
5
+ import { RpdApplicationConfig } from "~/types";
6
+ import {
7
+ IRpdServer,
8
+ RapidPlugin,
9
+ RpdConfigurationItemOptions,
10
+ RpdServerPluginConfigurableTargetOptions,
11
+ RpdServerPluginExtendingAbilities,
12
+ } from "~/core/server";
13
+
14
+ import pluginActionHandlers from "./actionHandlers";
15
+ import pluginModels from "./models";
16
+ import pluginRoutes from "./routes";
17
+ import LicenseService from "./LicenseService";
18
+ import { LicensePluginInitOptions } from "./LicensePluginTypes";
19
+
20
+ class LicensePlugin implements RapidPlugin {
21
+ #licenseService!: LicenseService;
22
+ #encryptionKey: string;
23
+
24
+ constructor(options: LicensePluginInitOptions) {
25
+ if (!options.encryptionKey) {
26
+ throw new Error(`"encryptionKey" must be provided.`);
27
+ }
28
+ this.#encryptionKey = options.encryptionKey;
29
+ }
30
+
31
+ get licenseService() {
32
+ return this.#licenseService;
33
+ }
34
+
35
+ get code(): string {
36
+ return "license";
37
+ }
38
+
39
+ get description(): string {
40
+ return null;
41
+ }
42
+
43
+ get extendingAbilities(): RpdServerPluginExtendingAbilities[] {
44
+ return [];
45
+ }
46
+
47
+ get configurableTargets(): RpdServerPluginConfigurableTargetOptions[] {
48
+ return [];
49
+ }
50
+
51
+ get configurations(): RpdConfigurationItemOptions[] {
52
+ return [];
53
+ }
54
+
55
+ async registerActionHandlers(server: IRpdServer): Promise<any> {
56
+ for (const actionHandler of pluginActionHandlers) {
57
+ server.registerActionHandler(this, actionHandler);
58
+ }
59
+ }
60
+
61
+ async configureModels(server: IRpdServer, applicationConfig: RpdApplicationConfig): Promise<any> {
62
+ server.appendApplicationConfig({ models: pluginModels });
63
+ }
64
+
65
+ async configureServices(server: IRpdServer, applicationConfig: RpdApplicationConfig): Promise<any> {
66
+ this.#licenseService = new LicenseService(server, this.#encryptionKey);
67
+ server.registerService("licenseService", this.#licenseService);
68
+ }
69
+
70
+ async configureRoutes(server: IRpdServer, applicationConfig: RpdApplicationConfig): Promise<any> {
71
+ server.appendApplicationConfig({ routes: pluginRoutes });
72
+ }
73
+
74
+ async onApplicationLoaded(server: IRpdServer, applicationConfig: RpdApplicationConfig) {
75
+ await this.#licenseService.loadLicense();
76
+ }
77
+ }
78
+
79
+ export default LicensePlugin;
@@ -1,95 +1,95 @@
1
- export type LicensePluginInitOptions = {
2
- encryptionKey: string;
3
- };
4
-
5
- export type RpdCert = {
6
- /**
7
- * 许可证id
8
- */
9
- id: string;
10
-
11
- /**
12
- * 公钥
13
- */
14
- pub: string;
15
-
16
- /**
17
- * 加密后的授权信息
18
- */
19
- lic: string;
20
-
21
- /**
22
- * authtag
23
- */
24
- tag: string;
25
-
26
- /**
27
- * 证书签名
28
- */
29
- sig: string;
30
- };
31
-
32
- export type RpdLicense = {
33
- /**
34
- * 颁发日期
35
- */
36
- issueDate: string;
37
-
38
- /**
39
- * 产品信息
40
- */
41
- product: RpdLicenseProduct;
42
-
43
- /**
44
- * 被授权人,客户信息
45
- */
46
- grantTo: RpdLicenseOwner;
47
-
48
- /**
49
- * 权限信息
50
- */
51
- authority: RpdLicenseAuthority;
52
- };
53
-
54
- export type RpdLicenseProduct = {
55
- name: string;
56
- version: string;
57
- };
58
-
59
- export type RpdLicenseOwner = {
60
- name: string;
61
- };
62
-
63
- export type RpdLicenseAuthority = {
64
- neverExpire: boolean;
65
- expireDate: string;
66
- quota?: Record<string, number | string | boolean>;
67
- functions?: string[];
68
- };
69
-
70
- export type RpdLicenseApplication = {
71
- /**
72
- * 部署识别码
73
- */
74
- deployId: string;
75
-
76
- /**
77
- * 产品信息
78
- */
79
- product: RpdLicenseProduct;
80
-
81
- /**
82
- * 申请人,客户信息
83
- */
84
- applicant: RpdLicenseOwner;
85
-
86
- /**
87
- * 权限信息
88
- */
89
- authority: RpdLicenseAuthority;
90
- };
91
-
92
- export type LicenseSettings = {
93
- deployId: string;
94
- cert: string;
95
- };
1
+ export type LicensePluginInitOptions = {
2
+ encryptionKey: string;
3
+ };
4
+
5
+ export type RpdCert = {
6
+ /**
7
+ * 许可证id
8
+ */
9
+ id: string;
10
+
11
+ /**
12
+ * 公钥
13
+ */
14
+ pub: string;
15
+
16
+ /**
17
+ * 加密后的授权信息
18
+ */
19
+ lic: string;
20
+
21
+ /**
22
+ * authtag
23
+ */
24
+ tag: string;
25
+
26
+ /**
27
+ * 证书签名
28
+ */
29
+ sig: string;
30
+ };
31
+
32
+ export type RpdLicense = {
33
+ /**
34
+ * 颁发日期
35
+ */
36
+ issueDate: string;
37
+
38
+ /**
39
+ * 产品信息
40
+ */
41
+ product: RpdLicenseProduct;
42
+
43
+ /**
44
+ * 被授权人,客户信息
45
+ */
46
+ grantTo: RpdLicenseOwner;
47
+
48
+ /**
49
+ * 权限信息
50
+ */
51
+ authority: RpdLicenseAuthority;
52
+ };
53
+
54
+ export type RpdLicenseProduct = {
55
+ name: string;
56
+ version: string;
57
+ };
58
+
59
+ export type RpdLicenseOwner = {
60
+ name: string;
61
+ };
62
+
63
+ export type RpdLicenseAuthority = {
64
+ neverExpire: boolean;
65
+ expireDate: string;
66
+ quota?: Record<string, number | string | boolean>;
67
+ functions?: string[];
68
+ };
69
+
70
+ export type RpdLicenseApplication = {
71
+ /**
72
+ * 部署识别码
73
+ */
74
+ deployId: string;
75
+
76
+ /**
77
+ * 产品信息
78
+ */
79
+ product: RpdLicenseProduct;
80
+
81
+ /**
82
+ * 申请人,客户信息
83
+ */
84
+ applicant: RpdLicenseOwner;
85
+
86
+ /**
87
+ * 权限信息
88
+ */
89
+ authority: RpdLicenseAuthority;
90
+ };
91
+
92
+ export type LicenseSettings = {
93
+ deployId: string;
94
+ cert: string;
95
+ };