@ruiapp/rapid-core 0.1.79 → 0.1.80

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 (103) hide show
  1. package/dist/index.js +77 -41
  2. package/dist/plugins/dataManage/actionHandlers/deleteCollectionEntities.d.ts +8 -0
  3. package/package.json +1 -1
  4. package/rollup.config.js +16 -16
  5. package/src/core/actionHandler.ts +22 -22
  6. package/src/core/eventManager.ts +20 -20
  7. package/src/core/facility.ts +7 -7
  8. package/src/core/http/formDataParser.ts +89 -89
  9. package/src/core/pluginManager.ts +175 -175
  10. package/src/core/providers/runtimeProvider.ts +5 -5
  11. package/src/core/request.ts +86 -86
  12. package/src/core/response.ts +76 -76
  13. package/src/core/routeContext.ts +43 -43
  14. package/src/core/routesBuilder.ts +88 -88
  15. package/src/dataAccess/dataAccessor.ts +137 -137
  16. package/src/deno-std/datetime/to_imf.ts +32 -32
  17. package/src/deno-std/encoding/base64.ts +141 -141
  18. package/src/facilities/log/LogFacility.ts +35 -35
  19. package/src/helpers/entityHelpers.ts +76 -76
  20. package/src/plugins/auth/actionHandlers/changePassword.ts +54 -54
  21. package/src/plugins/auth/actionHandlers/createSession.ts +63 -63
  22. package/src/plugins/auth/actionHandlers/deleteSession.ts +18 -18
  23. package/src/plugins/auth/actionHandlers/getMyProfile.ts +35 -35
  24. package/src/plugins/auth/actionHandlers/index.ts +8 -8
  25. package/src/plugins/auth/actionHandlers/resetPassword.ts +38 -38
  26. package/src/plugins/auth/models/AccessToken.ts +56 -56
  27. package/src/plugins/auth/models/index.ts +3 -3
  28. package/src/plugins/auth/routes/changePassword.ts +15 -15
  29. package/src/plugins/auth/routes/getMyProfile.ts +15 -15
  30. package/src/plugins/auth/routes/index.ts +7 -7
  31. package/src/plugins/auth/routes/resetPassword.ts +15 -15
  32. package/src/plugins/auth/routes/signin.ts +15 -15
  33. package/src/plugins/auth/routes/signout.ts +15 -15
  34. package/src/plugins/cronJob/CronJobPluginTypes.ts +49 -49
  35. package/src/plugins/cronJob/actionHandlers/index.ts +4 -4
  36. package/src/plugins/cronJob/actionHandlers/runCronJob.ts +29 -29
  37. package/src/plugins/cronJob/routes/index.ts +3 -3
  38. package/src/plugins/cronJob/routes/runCronJob.ts +15 -15
  39. package/src/plugins/dataManage/DataManagePlugin.ts +8 -0
  40. package/src/plugins/dataManage/actionHandlers/addEntityRelations.ts +20 -20
  41. package/src/plugins/dataManage/actionHandlers/countCollectionEntities.ts +15 -15
  42. package/src/plugins/dataManage/actionHandlers/createCollectionEntitiesBatch.ts +42 -42
  43. package/src/plugins/dataManage/actionHandlers/createCollectionEntity.ts +24 -24
  44. package/src/plugins/dataManage/actionHandlers/deleteCollectionEntities.ts +38 -0
  45. package/src/plugins/dataManage/actionHandlers/findCollectionEntities.ts +26 -26
  46. package/src/plugins/dataManage/actionHandlers/findCollectionEntityById.ts +21 -21
  47. package/src/plugins/dataManage/actionHandlers/queryDatabase.ts +22 -22
  48. package/src/plugins/dataManage/actionHandlers/removeEntityRelations.ts +20 -20
  49. package/src/plugins/dataManage/actionHandlers/updateCollectionEntityById.ts +35 -35
  50. package/src/plugins/entityAccessControl/EntityAccessControlPlugin.ts +1 -1
  51. package/src/plugins/fileManage/actionHandlers/downloadDocument.ts +36 -36
  52. package/src/plugins/fileManage/actionHandlers/uploadFile.ts +33 -33
  53. package/src/plugins/fileManage/routes/downloadDocument.ts +15 -15
  54. package/src/plugins/fileManage/routes/downloadFile.ts +15 -15
  55. package/src/plugins/fileManage/routes/index.ts +5 -5
  56. package/src/plugins/fileManage/routes/uploadFile.ts +15 -15
  57. package/src/plugins/metaManage/actionHandlers/getMetaModelDetail.ts +10 -10
  58. package/src/plugins/metaManage/actionHandlers/listMetaModels.ts +9 -9
  59. package/src/plugins/metaManage/actionHandlers/listMetaRoutes.ts +9 -9
  60. package/src/plugins/routeManage/actionHandlers/httpProxy.ts +13 -13
  61. package/src/plugins/sequence/SequenceService.ts +81 -81
  62. package/src/plugins/sequence/actionHandlers/generateSn.ts +32 -32
  63. package/src/plugins/sequence/actionHandlers/index.ts +4 -4
  64. package/src/plugins/sequence/models/SequenceAutoIncrementRecord.ts +49 -49
  65. package/src/plugins/sequence/models/SequenceRule.ts +42 -42
  66. package/src/plugins/sequence/models/index.ts +4 -4
  67. package/src/plugins/sequence/routes/generateSn.ts +15 -15
  68. package/src/plugins/sequence/routes/index.ts +3 -3
  69. package/src/plugins/sequence/segment-utility.ts +11 -11
  70. package/src/plugins/sequence/segments/index.ts +9 -9
  71. package/src/plugins/serverOperation/ServerOperationPlugin.ts +91 -91
  72. package/src/plugins/serverOperation/ServerOperationPluginTypes.ts +15 -15
  73. package/src/plugins/serverOperation/actionHandlers/index.ts +4 -4
  74. package/src/plugins/setting/SettingService.ts +213 -213
  75. package/src/plugins/setting/actionHandlers/getSystemSettingValues.ts +30 -30
  76. package/src/plugins/setting/actionHandlers/getUserSettingValues.ts +38 -38
  77. package/src/plugins/setting/actionHandlers/index.ts +6 -6
  78. package/src/plugins/setting/actionHandlers/setSystemSettingValues.ts +30 -30
  79. package/src/plugins/setting/models/SystemSettingGroupSetting.ts +57 -57
  80. package/src/plugins/setting/models/SystemSettingItem.ts +42 -42
  81. package/src/plugins/setting/models/SystemSettingItemSetting.ts +73 -73
  82. package/src/plugins/setting/models/UserSettingGroupSetting.ts +57 -57
  83. package/src/plugins/setting/models/UserSettingItem.ts +49 -49
  84. package/src/plugins/setting/models/UserSettingItemSetting.ts +73 -73
  85. package/src/plugins/setting/models/index.ts +8 -8
  86. package/src/plugins/setting/routes/getSystemSettingValues.ts +15 -15
  87. package/src/plugins/setting/routes/getUserSettingValues.ts +15 -15
  88. package/src/plugins/setting/routes/index.ts +5 -5
  89. package/src/plugins/setting/routes/setSystemSettingValues.ts +15 -15
  90. package/src/plugins/stateMachine/actionHandlers/index.ts +4 -4
  91. package/src/plugins/stateMachine/actionHandlers/sendStateMachineEvent.ts +51 -51
  92. package/src/plugins/stateMachine/models/StateMachine.ts +42 -42
  93. package/src/plugins/stateMachine/models/index.ts +3 -3
  94. package/src/plugins/stateMachine/routes/index.ts +3 -3
  95. package/src/plugins/stateMachine/routes/sendStateMachineEvent.ts +15 -15
  96. package/src/polyfill.ts +5 -5
  97. package/src/proxy/mod.ts +38 -38
  98. package/src/utilities/accessControlUtility.ts +33 -33
  99. package/src/utilities/fsUtility.ts +61 -61
  100. package/src/utilities/httpUtility.ts +19 -19
  101. package/src/utilities/jwtUtility.ts +26 -26
  102. package/src/utilities/timeUtility.ts +9 -9
  103. package/tsconfig.json +19 -19
@@ -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,10 +1,10 @@
1
- import { ActionHandlerContext } from "~/core/actionHandler";
2
- import { RapidPlugin } from "~/core/server";
3
-
4
- export const code = "getMetaModelDetail";
5
-
6
- export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: any) {
7
- const { server, input } = ctx;
8
- const model = server.getModel(input);
9
- ctx.output = model;
10
- }
1
+ import { ActionHandlerContext } from "~/core/actionHandler";
2
+ import { RapidPlugin } from "~/core/server";
3
+
4
+ export const code = "getMetaModelDetail";
5
+
6
+ export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: any) {
7
+ const { server, input } = ctx;
8
+ const model = server.getModel(input);
9
+ ctx.output = model;
10
+ }
@@ -1,9 +1,9 @@
1
- import { ActionHandlerContext } from "~/core/actionHandler";
2
- import { RapidPlugin } from "~/core/server";
3
-
4
- export const code = "listMetaModels";
5
-
6
- export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: any) {
7
- const { applicationConfig } = ctx;
8
- ctx.output = { list: applicationConfig.models };
9
- }
1
+ import { ActionHandlerContext } from "~/core/actionHandler";
2
+ import { RapidPlugin } from "~/core/server";
3
+
4
+ export const code = "listMetaModels";
5
+
6
+ export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: any) {
7
+ const { applicationConfig } = ctx;
8
+ ctx.output = { list: applicationConfig.models };
9
+ }
@@ -1,9 +1,9 @@
1
- import { ActionHandlerContext } from "~/core/actionHandler";
2
- import { RapidPlugin } from "~/core/server";
3
-
4
- export const code = "listMetaRoutes";
5
-
6
- export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: any) {
7
- const { applicationConfig } = ctx;
8
- ctx.output = { list: applicationConfig.routes };
9
- }
1
+ import { ActionHandlerContext } from "~/core/actionHandler";
2
+ import { RapidPlugin } from "~/core/server";
3
+
4
+ export const code = "listMetaRoutes";
5
+
6
+ export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: any) {
7
+ const { applicationConfig } = ctx;
8
+ ctx.output = { list: applicationConfig.routes };
9
+ }
@@ -1,13 +1,13 @@
1
- import { RunProxyHandlerOptions } from "~/types";
2
- import { doProxy } from "~/proxy/mod";
3
- import { ActionHandlerContext } from "~/core/actionHandler";
4
- import { RapidPlugin } from "~/core/server";
5
-
6
- export const code = "httpProxy";
7
-
8
- export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: RunProxyHandlerOptions) {
9
- const { logger } = ctx;
10
- logger.debug(`Running ${code} handler...`);
11
-
12
- await doProxy(ctx.routerContext, options);
13
- }
1
+ import { RunProxyHandlerOptions } from "~/types";
2
+ import { doProxy } from "~/proxy/mod";
3
+ import { ActionHandlerContext } from "~/core/actionHandler";
4
+ import { RapidPlugin } from "~/core/server";
5
+
6
+ export const code = "httpProxy";
7
+
8
+ export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: RunProxyHandlerOptions) {
9
+ const { logger } = ctx;
10
+ logger.debug(`Running ${code} handler...`);
11
+
12
+ await doProxy(ctx.routerContext, options);
13
+ }
@@ -1,81 +1,81 @@
1
- import { IRpdServer } from "~/core/server";
2
- import segmentResolvers from "./segments";
3
- import { find } from "lodash";
4
- import { SequenceRuleConfig, SequenceSegmentConfig } from "./SequencePluginTypes";
5
-
6
- export interface GenerateSequenceNumbersInput {
7
- ruleCode: string;
8
- parameters: Record<string, string>;
9
- amount: number;
10
- }
11
-
12
- export interface GenerateSequenceNumbersOutput {
13
- sequences: string[];
14
- }
15
-
16
- export interface SegmentResolver {
17
- segmentType: string;
18
- resolveSegmentValue(server: IRpdServer, ruleCode: string, config: SequenceSegmentConfig, input: GenerateSequenceNumbersInput): Promise<string>;
19
- }
20
-
21
- export default class SequenceService {
22
- #server: IRpdServer;
23
-
24
- constructor(server: IRpdServer) {
25
- this.#server = server;
26
- }
27
-
28
- async generateSn(server: IRpdServer, input: GenerateSequenceNumbersInput): Promise<string[]> {
29
- const sequenceNumbers = [];
30
- const { ruleCode, parameters } = input;
31
- let { amount } = input;
32
-
33
- if (!amount) {
34
- amount = 1;
35
- }
36
-
37
- const sequenceRuleDataAccessor = server.getDataAccessor({
38
- singularCode: "sequence_rule",
39
- });
40
-
41
- const sequenceRule = await sequenceRuleDataAccessor.findOne({
42
- filters: [
43
- {
44
- operator: "eq",
45
- field: {
46
- name: "code",
47
- },
48
- value: ruleCode,
49
- },
50
- ],
51
- });
52
-
53
- if (!sequenceRule) {
54
- throw new Error(`Failed to generate sequence number. Sequence with code '${sequenceRule.code}' not found.`);
55
- }
56
-
57
- const sequenceConfig: SequenceRuleConfig = sequenceRule.config;
58
- if (!sequenceConfig || !sequenceConfig.segments) {
59
- throw new Error("Failed to generate sequence number. Sequence not configured.");
60
- }
61
-
62
- for (let i = 0; i < amount; i++) {
63
- let sequenceNumber: string = "";
64
-
65
- for (const segmentConfig of sequenceConfig.segments) {
66
- const segmentResolver: SegmentResolver = find(segmentResolvers, (item) => item.segmentType === segmentConfig.type);
67
- if (!segmentResolver) {
68
- // TODO: deal with unkown segment type
69
- continue;
70
- }
71
-
72
- const segment = await segmentResolver.resolveSegmentValue(server, ruleCode, segmentConfig, input);
73
- sequenceNumber += segment;
74
- }
75
-
76
- sequenceNumbers.push(sequenceNumber);
77
- }
78
-
79
- return sequenceNumbers;
80
- }
81
- }
1
+ import { IRpdServer } from "~/core/server";
2
+ import segmentResolvers from "./segments";
3
+ import { find } from "lodash";
4
+ import { SequenceRuleConfig, SequenceSegmentConfig } from "./SequencePluginTypes";
5
+
6
+ export interface GenerateSequenceNumbersInput {
7
+ ruleCode: string;
8
+ parameters: Record<string, string>;
9
+ amount: number;
10
+ }
11
+
12
+ export interface GenerateSequenceNumbersOutput {
13
+ sequences: string[];
14
+ }
15
+
16
+ export interface SegmentResolver {
17
+ segmentType: string;
18
+ resolveSegmentValue(server: IRpdServer, ruleCode: string, config: SequenceSegmentConfig, input: GenerateSequenceNumbersInput): Promise<string>;
19
+ }
20
+
21
+ export default class SequenceService {
22
+ #server: IRpdServer;
23
+
24
+ constructor(server: IRpdServer) {
25
+ this.#server = server;
26
+ }
27
+
28
+ async generateSn(server: IRpdServer, input: GenerateSequenceNumbersInput): Promise<string[]> {
29
+ const sequenceNumbers = [];
30
+ const { ruleCode, parameters } = input;
31
+ let { amount } = input;
32
+
33
+ if (!amount) {
34
+ amount = 1;
35
+ }
36
+
37
+ const sequenceRuleDataAccessor = server.getDataAccessor({
38
+ singularCode: "sequence_rule",
39
+ });
40
+
41
+ const sequenceRule = await sequenceRuleDataAccessor.findOne({
42
+ filters: [
43
+ {
44
+ operator: "eq",
45
+ field: {
46
+ name: "code",
47
+ },
48
+ value: ruleCode,
49
+ },
50
+ ],
51
+ });
52
+
53
+ if (!sequenceRule) {
54
+ throw new Error(`Failed to generate sequence number. Sequence with code '${sequenceRule.code}' not found.`);
55
+ }
56
+
57
+ const sequenceConfig: SequenceRuleConfig = sequenceRule.config;
58
+ if (!sequenceConfig || !sequenceConfig.segments) {
59
+ throw new Error("Failed to generate sequence number. Sequence not configured.");
60
+ }
61
+
62
+ for (let i = 0; i < amount; i++) {
63
+ let sequenceNumber: string = "";
64
+
65
+ for (const segmentConfig of sequenceConfig.segments) {
66
+ const segmentResolver: SegmentResolver = find(segmentResolvers, (item) => item.segmentType === segmentConfig.type);
67
+ if (!segmentResolver) {
68
+ // TODO: deal with unkown segment type
69
+ continue;
70
+ }
71
+
72
+ const segment = await segmentResolver.resolveSegmentValue(server, ruleCode, segmentConfig, input);
73
+ sequenceNumber += segment;
74
+ }
75
+
76
+ sequenceNumbers.push(sequenceNumber);
77
+ }
78
+
79
+ return sequenceNumbers;
80
+ }
81
+ }
@@ -1,32 +1,32 @@
1
- import { ActionHandlerContext } from "~/core/actionHandler";
2
- import { RapidPlugin } from "~/core/server";
3
- import SequenceService, { GenerateSequenceNumbersInput, GenerateSequenceNumbersOutput } from "../SequenceService";
4
-
5
- export interface GenerateSequenceNumbersOptions {
6
- ruleCode: string;
7
- }
8
-
9
- export const code = "generateSn";
10
-
11
- export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: GenerateSequenceNumbersOptions) {
12
- const { server, routerContext } = ctx;
13
- const { response } = routerContext;
14
-
15
- const input: GenerateSequenceNumbersInput = ctx.input;
16
-
17
- if (options?.ruleCode) {
18
- input.ruleCode = options.ruleCode;
19
- }
20
-
21
- if (!input.ruleCode) {
22
- throw new Error(`Rule code is required when generating sequence numbers.`);
23
- }
24
-
25
- const sequenceService = server.getService<SequenceService>("sequenceService");
26
-
27
- const sequences = await sequenceService.generateSn(server, input);
28
-
29
- ctx.output = {
30
- sequences,
31
- } satisfies GenerateSequenceNumbersOutput;
32
- }
1
+ import { ActionHandlerContext } from "~/core/actionHandler";
2
+ import { RapidPlugin } from "~/core/server";
3
+ import SequenceService, { GenerateSequenceNumbersInput, GenerateSequenceNumbersOutput } from "../SequenceService";
4
+
5
+ export interface GenerateSequenceNumbersOptions {
6
+ ruleCode: string;
7
+ }
8
+
9
+ export const code = "generateSn";
10
+
11
+ export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: GenerateSequenceNumbersOptions) {
12
+ const { server, routerContext } = ctx;
13
+ const { response } = routerContext;
14
+
15
+ const input: GenerateSequenceNumbersInput = ctx.input;
16
+
17
+ if (options?.ruleCode) {
18
+ input.ruleCode = options.ruleCode;
19
+ }
20
+
21
+ if (!input.ruleCode) {
22
+ throw new Error(`Rule code is required when generating sequence numbers.`);
23
+ }
24
+
25
+ const sequenceService = server.getService<SequenceService>("sequenceService");
26
+
27
+ const sequences = await sequenceService.generateSn(server, input);
28
+
29
+ ctx.output = {
30
+ sequences,
31
+ } satisfies GenerateSequenceNumbersOutput;
32
+ }
@@ -1,4 +1,4 @@
1
- import { IPluginActionHandler } from "~/core/actionHandler";
2
- import * as generateSn from "./generateSn";
3
-
4
- export default [generateSn] satisfies IPluginActionHandler[];
1
+ import { IPluginActionHandler } from "~/core/actionHandler";
2
+ import * as generateSn from "./generateSn";
3
+
4
+ export default [generateSn] satisfies IPluginActionHandler[];
@@ -1,49 +1,49 @@
1
- import { RpdDataModel } from "~/types";
2
-
3
- export default {
4
- maintainedBy: "sequencePlugin",
5
- namespace: "svc",
6
- name: "sequence_auto_increment_record",
7
- singularCode: "sequence_auto_increment_record",
8
- pluralCode: "sequence_auto_increment_records",
9
- schema: "public",
10
- tableName: "sequence_auto_increment_records",
11
- properties: [
12
- {
13
- name: "id",
14
- code: "id",
15
- columnName: "id",
16
- type: "integer",
17
- required: true,
18
- autoIncrement: true,
19
- },
20
- {
21
- name: "ruleCode",
22
- code: "ruleCode",
23
- columnName: "rule_code",
24
- type: "text",
25
- required: true,
26
- },
27
- {
28
- name: "scope",
29
- code: "scope",
30
- columnName: "scope",
31
- type: "text",
32
- required: false,
33
- },
34
- {
35
- name: "currentValue",
36
- code: "currentValue",
37
- columnName: "current_value",
38
- type: "integer",
39
- required: true,
40
- },
41
- {
42
- name: "updatedAt",
43
- code: "updatedAt",
44
- columnName: "updated_at",
45
- type: "datetime",
46
- required: true,
47
- },
48
- ],
49
- } as RpdDataModel;
1
+ import { RpdDataModel } from "~/types";
2
+
3
+ export default {
4
+ maintainedBy: "sequencePlugin",
5
+ namespace: "svc",
6
+ name: "sequence_auto_increment_record",
7
+ singularCode: "sequence_auto_increment_record",
8
+ pluralCode: "sequence_auto_increment_records",
9
+ schema: "public",
10
+ tableName: "sequence_auto_increment_records",
11
+ properties: [
12
+ {
13
+ name: "id",
14
+ code: "id",
15
+ columnName: "id",
16
+ type: "integer",
17
+ required: true,
18
+ autoIncrement: true,
19
+ },
20
+ {
21
+ name: "ruleCode",
22
+ code: "ruleCode",
23
+ columnName: "rule_code",
24
+ type: "text",
25
+ required: true,
26
+ },
27
+ {
28
+ name: "scope",
29
+ code: "scope",
30
+ columnName: "scope",
31
+ type: "text",
32
+ required: false,
33
+ },
34
+ {
35
+ name: "currentValue",
36
+ code: "currentValue",
37
+ columnName: "current_value",
38
+ type: "integer",
39
+ required: true,
40
+ },
41
+ {
42
+ name: "updatedAt",
43
+ code: "updatedAt",
44
+ columnName: "updated_at",
45
+ type: "datetime",
46
+ required: true,
47
+ },
48
+ ],
49
+ } as RpdDataModel;
@@ -1,42 +1,42 @@
1
- import { RpdDataModel } from "~/types";
2
-
3
- export default {
4
- maintainedBy: "sequencePlugin",
5
- namespace: "svc",
6
- name: "sequence_rule",
7
- singularCode: "sequence_rule",
8
- pluralCode: "sequence_rules",
9
- schema: "public",
10
- tableName: "sequence_rules",
11
- properties: [
12
- {
13
- name: "id",
14
- code: "id",
15
- columnName: "id",
16
- type: "integer",
17
- required: true,
18
- autoIncrement: true,
19
- },
20
- {
21
- name: "code",
22
- code: "code",
23
- columnName: "code",
24
- type: "text",
25
- required: true,
26
- },
27
- {
28
- name: "description",
29
- code: "description",
30
- columnName: "description",
31
- type: "text",
32
- required: false,
33
- },
34
- {
35
- name: "config",
36
- code: "config",
37
- columnName: "config",
38
- type: "json",
39
- required: false,
40
- },
41
- ],
42
- } as RpdDataModel;
1
+ import { RpdDataModel } from "~/types";
2
+
3
+ export default {
4
+ maintainedBy: "sequencePlugin",
5
+ namespace: "svc",
6
+ name: "sequence_rule",
7
+ singularCode: "sequence_rule",
8
+ pluralCode: "sequence_rules",
9
+ schema: "public",
10
+ tableName: "sequence_rules",
11
+ properties: [
12
+ {
13
+ name: "id",
14
+ code: "id",
15
+ columnName: "id",
16
+ type: "integer",
17
+ required: true,
18
+ autoIncrement: true,
19
+ },
20
+ {
21
+ name: "code",
22
+ code: "code",
23
+ columnName: "code",
24
+ type: "text",
25
+ required: true,
26
+ },
27
+ {
28
+ name: "description",
29
+ code: "description",
30
+ columnName: "description",
31
+ type: "text",
32
+ required: false,
33
+ },
34
+ {
35
+ name: "config",
36
+ code: "config",
37
+ columnName: "config",
38
+ type: "json",
39
+ required: false,
40
+ },
41
+ ],
42
+ } as RpdDataModel;
@@ -1,4 +1,4 @@
1
- import SequenceRule from "./SequenceRule";
2
- import SequenceAutoIncrementRecord from "./SequenceAutoIncrementRecord";
3
-
4
- export default [SequenceRule, SequenceAutoIncrementRecord];
1
+ import SequenceRule from "./SequenceRule";
2
+ import SequenceAutoIncrementRecord from "./SequenceAutoIncrementRecord";
3
+
4
+ export default [SequenceRule, SequenceAutoIncrementRecord];
@@ -1,15 +1,15 @@
1
- import { RpdRoute } from "~/types";
2
-
3
- export default {
4
- namespace: "svc",
5
- name: "svc.generateSn",
6
- code: "svc.generateSn",
7
- type: "RESTful",
8
- method: "POST",
9
- endpoint: "/svc/generateSn",
10
- actions: [
11
- {
12
- code: "generateSn",
13
- },
14
- ],
15
- } satisfies RpdRoute;
1
+ import { RpdRoute } from "~/types";
2
+
3
+ export default {
4
+ namespace: "svc",
5
+ name: "svc.generateSn",
6
+ code: "svc.generateSn",
7
+ type: "RESTful",
8
+ method: "POST",
9
+ endpoint: "/svc/generateSn",
10
+ actions: [
11
+ {
12
+ code: "generateSn",
13
+ },
14
+ ],
15
+ } satisfies RpdRoute;
@@ -1,3 +1,3 @@
1
- import generateSn from "./generateSn";
2
-
3
- export default [generateSn];
1
+ import generateSn from "./generateSn";
2
+
3
+ export default [generateSn];
@@ -1,11 +1,11 @@
1
- export function padSegment(segment: string, length?: number, fillString?: string) {
2
- if (!length) {
3
- return segment;
4
- }
5
-
6
- if (segment.length > length) {
7
- return segment.substring(segment.length - length);
8
- } else {
9
- return segment.padStart(length, fillString || " ");
10
- }
11
- }
1
+ export function padSegment(segment: string, length?: number, fillString?: string) {
2
+ if (!length) {
3
+ return segment;
4
+ }
5
+
6
+ if (segment.length > length) {
7
+ return segment.substring(segment.length - length);
8
+ } else {
9
+ return segment.padStart(length, fillString || " ");
10
+ }
11
+ }
@@ -1,9 +1,9 @@
1
- import { SegmentResolver } from "../SequenceService";
2
- import * as literal from "./literal";
3
- import * as year from "./year";
4
- import * as month from "./month";
5
- import * as dayOfMonth from "./dayOfMonth";
6
- import * as parameter from "./parameter";
7
- import * as autoIncrement from "./autoIncrement";
8
-
9
- export default [literal, year, month, dayOfMonth, parameter, autoIncrement] satisfies SegmentResolver[];
1
+ import { SegmentResolver } from "../SequenceService";
2
+ import * as literal from "./literal";
3
+ import * as year from "./year";
4
+ import * as month from "./month";
5
+ import * as dayOfMonth from "./dayOfMonth";
6
+ import * as parameter from "./parameter";
7
+ import * as autoIncrement from "./autoIncrement";
8
+
9
+ export default [literal, year, month, dayOfMonth, parameter, autoIncrement] satisfies SegmentResolver[];