@ruiapp/rapid-core 0.1.81 → 0.1.83

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 (100) hide show
  1. package/dist/index.js +69 -27
  2. package/package.json +1 -1
  3. package/rollup.config.js +16 -16
  4. package/src/core/actionHandler.ts +22 -22
  5. package/src/core/eventManager.ts +20 -20
  6. package/src/core/facility.ts +7 -7
  7. package/src/core/http/formDataParser.ts +89 -89
  8. package/src/core/pluginManager.ts +175 -175
  9. package/src/core/providers/runtimeProvider.ts +5 -5
  10. package/src/core/request.ts +86 -86
  11. package/src/core/response.ts +76 -76
  12. package/src/core/routeContext.ts +43 -43
  13. package/src/core/routesBuilder.ts +88 -88
  14. package/src/dataAccess/dataAccessor.ts +137 -137
  15. package/src/dataAccess/entityManager.ts +74 -26
  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/actionHandlers/addEntityRelations.ts +20 -20
  40. package/src/plugins/dataManage/actionHandlers/countCollectionEntities.ts +15 -15
  41. package/src/plugins/dataManage/actionHandlers/createCollectionEntitiesBatch.ts +42 -42
  42. package/src/plugins/dataManage/actionHandlers/createCollectionEntity.ts +24 -24
  43. package/src/plugins/dataManage/actionHandlers/findCollectionEntities.ts +26 -26
  44. package/src/plugins/dataManage/actionHandlers/findCollectionEntityById.ts +21 -21
  45. package/src/plugins/dataManage/actionHandlers/queryDatabase.ts +22 -22
  46. package/src/plugins/dataManage/actionHandlers/removeEntityRelations.ts +20 -20
  47. package/src/plugins/dataManage/actionHandlers/updateCollectionEntityById.ts +35 -35
  48. package/src/plugins/fileManage/actionHandlers/downloadDocument.ts +36 -36
  49. package/src/plugins/fileManage/actionHandlers/uploadFile.ts +33 -33
  50. package/src/plugins/fileManage/routes/downloadDocument.ts +15 -15
  51. package/src/plugins/fileManage/routes/downloadFile.ts +15 -15
  52. package/src/plugins/fileManage/routes/index.ts +5 -5
  53. package/src/plugins/fileManage/routes/uploadFile.ts +15 -15
  54. package/src/plugins/metaManage/actionHandlers/getMetaModelDetail.ts +10 -10
  55. package/src/plugins/metaManage/actionHandlers/listMetaModels.ts +9 -9
  56. package/src/plugins/metaManage/actionHandlers/listMetaRoutes.ts +9 -9
  57. package/src/plugins/routeManage/actionHandlers/httpProxy.ts +13 -13
  58. package/src/plugins/sequence/SequenceService.ts +81 -81
  59. package/src/plugins/sequence/actionHandlers/generateSn.ts +32 -32
  60. package/src/plugins/sequence/actionHandlers/index.ts +4 -4
  61. package/src/plugins/sequence/models/SequenceAutoIncrementRecord.ts +49 -49
  62. package/src/plugins/sequence/models/SequenceRule.ts +42 -42
  63. package/src/plugins/sequence/models/index.ts +4 -4
  64. package/src/plugins/sequence/routes/generateSn.ts +15 -15
  65. package/src/plugins/sequence/routes/index.ts +3 -3
  66. package/src/plugins/sequence/segment-utility.ts +11 -11
  67. package/src/plugins/sequence/segments/index.ts +9 -9
  68. package/src/plugins/serverOperation/ServerOperationPlugin.ts +91 -91
  69. package/src/plugins/serverOperation/ServerOperationPluginTypes.ts +15 -15
  70. package/src/plugins/serverOperation/actionHandlers/index.ts +4 -4
  71. package/src/plugins/setting/SettingService.ts +213 -213
  72. package/src/plugins/setting/actionHandlers/getSystemSettingValues.ts +30 -30
  73. package/src/plugins/setting/actionHandlers/getUserSettingValues.ts +38 -38
  74. package/src/plugins/setting/actionHandlers/index.ts +6 -6
  75. package/src/plugins/setting/actionHandlers/setSystemSettingValues.ts +30 -30
  76. package/src/plugins/setting/models/SystemSettingGroupSetting.ts +57 -57
  77. package/src/plugins/setting/models/SystemSettingItem.ts +42 -42
  78. package/src/plugins/setting/models/SystemSettingItemSetting.ts +73 -73
  79. package/src/plugins/setting/models/UserSettingGroupSetting.ts +57 -57
  80. package/src/plugins/setting/models/UserSettingItem.ts +49 -49
  81. package/src/plugins/setting/models/UserSettingItemSetting.ts +73 -73
  82. package/src/plugins/setting/models/index.ts +8 -8
  83. package/src/plugins/setting/routes/getSystemSettingValues.ts +15 -15
  84. package/src/plugins/setting/routes/getUserSettingValues.ts +15 -15
  85. package/src/plugins/setting/routes/index.ts +5 -5
  86. package/src/plugins/setting/routes/setSystemSettingValues.ts +15 -15
  87. package/src/plugins/stateMachine/actionHandlers/index.ts +4 -4
  88. package/src/plugins/stateMachine/actionHandlers/sendStateMachineEvent.ts +51 -51
  89. package/src/plugins/stateMachine/models/StateMachine.ts +42 -42
  90. package/src/plugins/stateMachine/models/index.ts +3 -3
  91. package/src/plugins/stateMachine/routes/index.ts +3 -3
  92. package/src/plugins/stateMachine/routes/sendStateMachineEvent.ts +15 -15
  93. package/src/polyfill.ts +5 -5
  94. package/src/proxy/mod.ts +38 -38
  95. package/src/utilities/accessControlUtility.ts +33 -33
  96. package/src/utilities/fsUtility.ts +61 -61
  97. package/src/utilities/httpUtility.ts +19 -19
  98. package/src/utilities/jwtUtility.ts +26 -26
  99. package/src/utilities/timeUtility.ts +9 -9
  100. package/tsconfig.json +19 -19
@@ -1,33 +1,33 @@
1
- import { find } from "lodash";
2
-
3
- export type PermissionCheckPolicy = {
4
- any?: string[];
5
- all?: string[];
6
- };
7
-
8
- export function isAccessAllowed(policy: PermissionCheckPolicy, allowedActions: string[]): boolean {
9
- let isAnyCheckPassed = true;
10
- let isAllCheckPassed = true;
11
-
12
- if (policy.any) {
13
- isAnyCheckPassed = false;
14
- for (const action of policy.any) {
15
- if (find(allowedActions, (item) => item === action) != null) {
16
- isAnyCheckPassed = true;
17
- break;
18
- }
19
- }
20
- }
21
-
22
- if (policy.all) {
23
- isAllCheckPassed = true;
24
- for (const action of policy.all) {
25
- if (find(allowedActions, (item) => item === action) == null) {
26
- isAnyCheckPassed = false;
27
- break;
28
- }
29
- }
30
- }
31
-
32
- return isAnyCheckPassed && isAllCheckPassed;
33
- }
1
+ import { find } from "lodash";
2
+
3
+ export type PermissionCheckPolicy = {
4
+ any?: string[];
5
+ all?: string[];
6
+ };
7
+
8
+ export function isAccessAllowed(policy: PermissionCheckPolicy, allowedActions: string[]): boolean {
9
+ let isAnyCheckPassed = true;
10
+ let isAllCheckPassed = true;
11
+
12
+ if (policy.any) {
13
+ isAnyCheckPassed = false;
14
+ for (const action of policy.any) {
15
+ if (find(allowedActions, (item) => item === action) != null) {
16
+ isAnyCheckPassed = true;
17
+ break;
18
+ }
19
+ }
20
+ }
21
+
22
+ if (policy.all) {
23
+ isAllCheckPassed = true;
24
+ for (const action of policy.all) {
25
+ if (find(allowedActions, (item) => item === action) == null) {
26
+ isAnyCheckPassed = false;
27
+ break;
28
+ }
29
+ }
30
+ }
31
+
32
+ return isAnyCheckPassed && isAllCheckPassed;
33
+ }
@@ -1,61 +1,61 @@
1
- import fs from "fs";
2
-
3
- export async function readFile(path: string): Promise<Buffer> {
4
- return new Promise((resolve, reject) => {
5
- fs.readFile(path, null, (err, data) => {
6
- if (err) {
7
- reject(err);
8
- } else {
9
- resolve(data);
10
- }
11
- });
12
- });
13
- }
14
-
15
- export async function copyFile(fromPath: string, toPath: string): Promise<void> {
16
- return new Promise((resolve, reject) => {
17
- fs.copyFile(fromPath, toPath, (err) => {
18
- if (err) {
19
- reject(err);
20
- } else {
21
- resolve();
22
- }
23
- });
24
- });
25
- }
26
-
27
- export async function removeFile(path: string): Promise<void> {
28
- return new Promise((resolve, reject) => {
29
- fs.rm(path, (err) => {
30
- if (err) {
31
- reject(err);
32
- } else {
33
- resolve();
34
- }
35
- });
36
- });
37
- }
38
-
39
- export async function moveFile(fromPath: string, toPath: string): Promise<void> {
40
- return new Promise((resolve, reject) => {
41
- fs.rename(fromPath, toPath, (err) => {
42
- if (err) {
43
- reject(err);
44
- } else {
45
- resolve();
46
- }
47
- });
48
- });
49
- }
50
-
51
- export async function appendFile(path: string, data: ArrayBuffer): Promise<void> {
52
- return new Promise((resolve, reject) => {
53
- fs.appendFile(path, Buffer.from(data), (err) => {
54
- if (err) {
55
- reject(err);
56
- } else {
57
- resolve();
58
- }
59
- });
60
- });
61
- }
1
+ import fs from "fs";
2
+
3
+ export async function readFile(path: string): Promise<Buffer> {
4
+ return new Promise((resolve, reject) => {
5
+ fs.readFile(path, null, (err, data) => {
6
+ if (err) {
7
+ reject(err);
8
+ } else {
9
+ resolve(data);
10
+ }
11
+ });
12
+ });
13
+ }
14
+
15
+ export async function copyFile(fromPath: string, toPath: string): Promise<void> {
16
+ return new Promise((resolve, reject) => {
17
+ fs.copyFile(fromPath, toPath, (err) => {
18
+ if (err) {
19
+ reject(err);
20
+ } else {
21
+ resolve();
22
+ }
23
+ });
24
+ });
25
+ }
26
+
27
+ export async function removeFile(path: string): Promise<void> {
28
+ return new Promise((resolve, reject) => {
29
+ fs.rm(path, (err) => {
30
+ if (err) {
31
+ reject(err);
32
+ } else {
33
+ resolve();
34
+ }
35
+ });
36
+ });
37
+ }
38
+
39
+ export async function moveFile(fromPath: string, toPath: string): Promise<void> {
40
+ return new Promise((resolve, reject) => {
41
+ fs.rename(fromPath, toPath, (err) => {
42
+ if (err) {
43
+ reject(err);
44
+ } else {
45
+ resolve();
46
+ }
47
+ });
48
+ });
49
+ }
50
+
51
+ export async function appendFile(path: string, data: ArrayBuffer): Promise<void> {
52
+ return new Promise((resolve, reject) => {
53
+ fs.appendFile(path, Buffer.from(data), (err) => {
54
+ if (err) {
55
+ reject(err);
56
+ } else {
57
+ resolve();
58
+ }
59
+ });
60
+ });
61
+ }
@@ -1,19 +1,19 @@
1
- export async function fetchWithTimeout(url: string, reqInit: RequestInit, timeout?: number): Promise<Response> {
2
- if (!timeout) {
3
- return await fetch(url, reqInit);
4
- }
5
-
6
- let timer: any;
7
- const [res] = await Promise.all([
8
- fetch(url, reqInit).then((res) => {
9
- clearTimeout(timer);
10
- return res;
11
- }),
12
- new Promise((_, reject) => {
13
- timer = setTimeout(() => {
14
- reject(new Error(`Request to "${url}" was timeout.`));
15
- }, timeout);
16
- }),
17
- ]);
18
- return res;
19
- }
1
+ export async function fetchWithTimeout(url: string, reqInit: RequestInit, timeout?: number): Promise<Response> {
2
+ if (!timeout) {
3
+ return await fetch(url, reqInit);
4
+ }
5
+
6
+ let timer: any;
7
+ const [res] = await Promise.all([
8
+ fetch(url, reqInit).then((res) => {
9
+ clearTimeout(timer);
10
+ return res;
11
+ }),
12
+ new Promise((_, reject) => {
13
+ timer = setTimeout(() => {
14
+ reject(new Error(`Request to "${url}" was timeout.`));
15
+ }, timeout);
16
+ }),
17
+ ]);
18
+ return res;
19
+ }
@@ -1,26 +1,26 @@
1
- import { sign, verify, decode, Secret, JwtPayload } from "jsonwebtoken";
2
- import { encode as base64Encode } from "~/deno-std/encoding/base64";
3
- import crypto from "crypto";
4
-
5
- export function createJwt(payload: Record<string, any>, secret: Secret) {
6
- return sign(payload, secret, {
7
- algorithm: "HS512",
8
- });
9
- }
10
-
11
- export function verifyJwt(token: string, secret: Secret): JwtPayload {
12
- return verify(token, secret, {
13
- algorithms: ["HS512"],
14
- }) as JwtPayload;
15
- }
16
-
17
- export function decodeJwt(token: string) {
18
- return decode(token, { complete: true });
19
- }
20
-
21
- export async function generateJwtSecretKey() {
22
- const key = await crypto.subtle.generateKey({ name: "HMAC", hash: "SHA-512" }, true, ["sign", "verify"]);
23
-
24
- const exportedKey = await crypto.subtle.exportKey("raw", key);
25
- return base64Encode(exportedKey);
26
- }
1
+ import { sign, verify, decode, Secret, JwtPayload } from "jsonwebtoken";
2
+ import { encode as base64Encode } from "~/deno-std/encoding/base64";
3
+ import crypto from "crypto";
4
+
5
+ export function createJwt(payload: Record<string, any>, secret: Secret) {
6
+ return sign(payload, secret, {
7
+ algorithm: "HS512",
8
+ });
9
+ }
10
+
11
+ export function verifyJwt(token: string, secret: Secret): JwtPayload {
12
+ return verify(token, secret, {
13
+ algorithms: ["HS512"],
14
+ }) as JwtPayload;
15
+ }
16
+
17
+ export function decodeJwt(token: string) {
18
+ return decode(token, { complete: true });
19
+ }
20
+
21
+ export async function generateJwtSecretKey() {
22
+ const key = await crypto.subtle.generateKey({ name: "HMAC", hash: "SHA-512" }, true, ["sign", "verify"]);
23
+
24
+ const exportedKey = await crypto.subtle.exportKey("raw", key);
25
+ return base64Encode(exportedKey);
26
+ }
@@ -1,9 +1,9 @@
1
- import dayjs from "dayjs";
2
-
3
- export function getNowString() {
4
- return dayjs().format("YYYY-MM-DD HH:mm:ss.SSS");
5
- }
6
-
7
- export function getNowStringWithTimezone() {
8
- return dayjs().format("YYYY-MM-DD HH:mm:ss.SSSZ");
9
- }
1
+ import dayjs from "dayjs";
2
+
3
+ export function getNowString() {
4
+ return dayjs().format("YYYY-MM-DD HH:mm:ss.SSS");
5
+ }
6
+
7
+ export function getNowStringWithTimezone() {
8
+ return dayjs().format("YYYY-MM-DD HH:mm:ss.SSSZ");
9
+ }
package/tsconfig.json CHANGED
@@ -1,19 +1,19 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "lib": ["DOM", "DOM.Iterable", "ESNext"],
5
- "esModuleInterop": true,
6
- "jsx": "react-jsx",
7
- "module": "ESNext",
8
- "moduleResolution": "Node",
9
- "allowJs": true,
10
- "sourceMap": true,
11
- "declaration": true,
12
- "outDir": "./dist",
13
- "paths": {
14
- "~/*": ["./src/*"]
15
- }
16
- },
17
- "exclude": ["src/**/*.spec.ts", "src/**/*.spec.tsx", "node_modules"],
18
- "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"]
19
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
5
+ "esModuleInterop": true,
6
+ "jsx": "react-jsx",
7
+ "module": "ESNext",
8
+ "moduleResolution": "Node",
9
+ "allowJs": true,
10
+ "sourceMap": true,
11
+ "declaration": true,
12
+ "outDir": "./dist",
13
+ "paths": {
14
+ "~/*": ["./src/*"]
15
+ }
16
+ },
17
+ "exclude": ["src/**/*.spec.ts", "src/**/*.spec.tsx", "node_modules"],
18
+ "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"]
19
+ }