@ruiapp/rapid-core 0.10.9 → 0.10.10
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.
- package/dist/index.js +36 -25
- package/dist/plugins/serverOperation/ServerOperationPluginTypes.d.ts +4 -0
- package/dist/plugins/setting/SettingService.d.ts +11 -10
- package/package.json +1 -1
- package/src/plugins/license/LicenseService.ts +7 -3
- package/src/plugins/serverOperation/ServerOperationPlugin.ts +2 -1
- package/src/plugins/serverOperation/ServerOperationPluginTypes.ts +5 -0
- package/src/plugins/setting/SettingService.ts +23 -14
- package/src/plugins/setting/actionHandlers/getSystemSettingValues.ts +3 -3
- package/src/plugins/setting/actionHandlers/getUserSettingValues.ts +3 -3
- package/src/plugins/setting/actionHandlers/setSystemSettingValues.ts +3 -3
package/dist/index.js
CHANGED
|
@@ -8084,8 +8084,9 @@ class LicenseService {
|
|
|
8084
8084
|
this.#systemSettingItemManager = server.getEntityManager("system_setting_item");
|
|
8085
8085
|
}
|
|
8086
8086
|
async loadLicense() {
|
|
8087
|
+
const routeContext = new RouteContext(this.#server, null);
|
|
8087
8088
|
const settingService = this.#server.getService("settingService");
|
|
8088
|
-
const licenseSettings = await settingService.getSystemSettingValues("license");
|
|
8089
|
+
const licenseSettings = await settingService.getSystemSettingValues(routeContext, "license");
|
|
8089
8090
|
const { deployId, cert: certText } = licenseSettings;
|
|
8090
8091
|
if (!deployId || !certText) {
|
|
8091
8092
|
this.#server.getLogger().warn("License was not loaded properly.");
|
|
@@ -8109,8 +8110,9 @@ class LicenseService {
|
|
|
8109
8110
|
return extractCertLicense(this.#encryptionKey, deployId, cert);
|
|
8110
8111
|
}
|
|
8111
8112
|
async updateLicense(certText) {
|
|
8113
|
+
const routeContext = new RouteContext(this.#server, null);
|
|
8112
8114
|
const settingService = this.#server.getService("settingService");
|
|
8113
|
-
const deployId = await settingService.getSystemSettingValue("license", "deployId");
|
|
8115
|
+
const deployId = await settingService.getSystemSettingValue(routeContext, "license", "deployId");
|
|
8114
8116
|
let license;
|
|
8115
8117
|
try {
|
|
8116
8118
|
license = this.parseLicense(deployId, certText);
|
|
@@ -8119,7 +8121,7 @@ class LicenseService {
|
|
|
8119
8121
|
this.#server.getLogger().error("Parse license failed.", error);
|
|
8120
8122
|
throw new Error("Parse license failed.");
|
|
8121
8123
|
}
|
|
8122
|
-
await settingService.setSystemSettingValue("license", "cert", certText);
|
|
8124
|
+
await settingService.setSystemSettingValue(routeContext, "license", "cert", certText);
|
|
8123
8125
|
this.#license = license;
|
|
8124
8126
|
return license;
|
|
8125
8127
|
}
|
|
@@ -8473,13 +8475,14 @@ class ServerOperationPlugin {
|
|
|
8473
8475
|
async configureRoutes(server, applicationConfig) {
|
|
8474
8476
|
const routes = [];
|
|
8475
8477
|
for (const operation of this.#operations) {
|
|
8478
|
+
const path = operation.path || `/app/${operation.code}`;
|
|
8476
8479
|
routes.push({
|
|
8477
8480
|
namespace: "app",
|
|
8478
8481
|
name: `app.operations.${operation.code}`,
|
|
8479
8482
|
code: `app.operations.${operation.code}`,
|
|
8480
8483
|
type: "RESTful",
|
|
8481
8484
|
method: operation.method,
|
|
8482
|
-
endpoint:
|
|
8485
|
+
endpoint: path,
|
|
8483
8486
|
actions: [
|
|
8484
8487
|
{
|
|
8485
8488
|
code: "runServerOperation",
|
|
@@ -8500,8 +8503,8 @@ class ServerOperationPlugin {
|
|
|
8500
8503
|
|
|
8501
8504
|
const code$4 = "getUserSettingValues";
|
|
8502
8505
|
async function handler$4(plugin, ctx, options) {
|
|
8503
|
-
const { server, routerContext } = ctx;
|
|
8504
|
-
const userId =
|
|
8506
|
+
const { server, routerContext: routeContext } = ctx;
|
|
8507
|
+
const userId = routeContext.state.userId;
|
|
8505
8508
|
if (!userId) {
|
|
8506
8509
|
ctx.status = 401;
|
|
8507
8510
|
ctx.output = {
|
|
@@ -8519,7 +8522,7 @@ async function handler$4(plugin, ctx, options) {
|
|
|
8519
8522
|
throw new Error(`Group code is required when getting system setting values.`);
|
|
8520
8523
|
}
|
|
8521
8524
|
const settingService = server.getService("settingService");
|
|
8522
|
-
const settingValues = await settingService.getUserSettingValues(userId, input.groupCode);
|
|
8525
|
+
const settingValues = await settingService.getUserSettingValues(routeContext, userId, input.groupCode);
|
|
8523
8526
|
ctx.output = settingValues;
|
|
8524
8527
|
}
|
|
8525
8528
|
|
|
@@ -8531,7 +8534,7 @@ var getUserSettingValues$1 = /*#__PURE__*/Object.freeze({
|
|
|
8531
8534
|
|
|
8532
8535
|
const code$3 = "getSystemSettingValues";
|
|
8533
8536
|
async function handler$3(plugin, ctx, options) {
|
|
8534
|
-
const { server, routerContext } = ctx;
|
|
8537
|
+
const { server, routerContext: routeContext } = ctx;
|
|
8535
8538
|
const input = ctx.input;
|
|
8536
8539
|
if (options?.groupCode) {
|
|
8537
8540
|
input.groupCode = options.groupCode;
|
|
@@ -8540,7 +8543,7 @@ async function handler$3(plugin, ctx, options) {
|
|
|
8540
8543
|
throw new Error(`Group code is required when getting system setting values.`);
|
|
8541
8544
|
}
|
|
8542
8545
|
const settingService = server.getService("settingService");
|
|
8543
|
-
const settingValues = await settingService.getSystemSettingValues(input.groupCode);
|
|
8546
|
+
const settingValues = await settingService.getSystemSettingValues(routeContext, input.groupCode);
|
|
8544
8547
|
ctx.output = settingValues;
|
|
8545
8548
|
}
|
|
8546
8549
|
|
|
@@ -8552,7 +8555,7 @@ var getSystemSettingValues$1 = /*#__PURE__*/Object.freeze({
|
|
|
8552
8555
|
|
|
8553
8556
|
const code$2 = "setSystemSettingValues";
|
|
8554
8557
|
async function handler$2(plugin, ctx, options) {
|
|
8555
|
-
const { server, routerContext } = ctx;
|
|
8558
|
+
const { server, routerContext: routeContext } = ctx;
|
|
8556
8559
|
const input = ctx.input;
|
|
8557
8560
|
if (options?.groupCode) {
|
|
8558
8561
|
input.groupCode = options.groupCode;
|
|
@@ -8561,7 +8564,7 @@ async function handler$2(plugin, ctx, options) {
|
|
|
8561
8564
|
throw new Error(`Group code is required when setting system setting values.`);
|
|
8562
8565
|
}
|
|
8563
8566
|
const settingService = server.getService("settingService");
|
|
8564
|
-
await settingService.setSystemSettingValues(input.groupCode, input.values);
|
|
8567
|
+
await settingService.setSystemSettingValues(routeContext, input.groupCode, input.values);
|
|
8565
8568
|
ctx.output = {};
|
|
8566
8569
|
}
|
|
8567
8570
|
|
|
@@ -8986,8 +8989,9 @@ class SettingService {
|
|
|
8986
8989
|
this.#userSettingItemManager = server.getEntityManager("user_setting_item");
|
|
8987
8990
|
}
|
|
8988
8991
|
//#region System Setting
|
|
8989
|
-
async getSystemSettingItems(groupCode) {
|
|
8992
|
+
async getSystemSettingItems(routeContext, groupCode) {
|
|
8990
8993
|
return await this.#systemSettingItemManager.findEntities({
|
|
8994
|
+
routeContext,
|
|
8991
8995
|
filters: [
|
|
8992
8996
|
{
|
|
8993
8997
|
operator: "eq",
|
|
@@ -8997,15 +9001,16 @@ class SettingService {
|
|
|
8997
9001
|
],
|
|
8998
9002
|
});
|
|
8999
9003
|
}
|
|
9000
|
-
async getSystemSettingValues(groupCode) {
|
|
9001
|
-
const settingItems = await this.getSystemSettingItems(groupCode);
|
|
9004
|
+
async getSystemSettingValues(routeContext, groupCode) {
|
|
9005
|
+
const settingItems = await this.getSystemSettingItems(routeContext, groupCode);
|
|
9002
9006
|
return settingItems.reduce((settingValues, settingItem) => {
|
|
9003
9007
|
settingValues[settingItem.itemCode] = settingItem.value;
|
|
9004
9008
|
return settingValues;
|
|
9005
9009
|
}, {});
|
|
9006
9010
|
}
|
|
9007
|
-
async getSystemSettingValue(groupCode, itemCode) {
|
|
9011
|
+
async getSystemSettingValue(routeContext, groupCode, itemCode) {
|
|
9008
9012
|
const settingItem = await this.#systemSettingItemManager.findEntity({
|
|
9013
|
+
routeContext,
|
|
9009
9014
|
filters: [
|
|
9010
9015
|
{
|
|
9011
9016
|
operator: "eq",
|
|
@@ -9021,8 +9026,9 @@ class SettingService {
|
|
|
9021
9026
|
});
|
|
9022
9027
|
return settingItem ? settingItem.value : null;
|
|
9023
9028
|
}
|
|
9024
|
-
async setSystemSettingValue(groupCode, itemCode, value) {
|
|
9029
|
+
async setSystemSettingValue(routeContext, groupCode, itemCode, value) {
|
|
9025
9030
|
const settingItem = await this.#systemSettingItemManager.findEntity({
|
|
9031
|
+
routeContext,
|
|
9026
9032
|
filters: [
|
|
9027
9033
|
{
|
|
9028
9034
|
operator: "eq",
|
|
@@ -9039,6 +9045,7 @@ class SettingService {
|
|
|
9039
9045
|
if (settingItem) {
|
|
9040
9046
|
if (settingItem.value !== value) {
|
|
9041
9047
|
await this.#systemSettingItemManager.updateEntityById({
|
|
9048
|
+
routeContext,
|
|
9042
9049
|
id: settingItem.id,
|
|
9043
9050
|
entityToSave: {
|
|
9044
9051
|
value,
|
|
@@ -9048,6 +9055,7 @@ class SettingService {
|
|
|
9048
9055
|
}
|
|
9049
9056
|
else {
|
|
9050
9057
|
await this.#systemSettingItemManager.createEntity({
|
|
9058
|
+
routeContext,
|
|
9051
9059
|
entity: {
|
|
9052
9060
|
groupCode,
|
|
9053
9061
|
itemCode,
|
|
@@ -9056,16 +9064,17 @@ class SettingService {
|
|
|
9056
9064
|
});
|
|
9057
9065
|
}
|
|
9058
9066
|
}
|
|
9059
|
-
async setSystemSettingValues(groupCode, settingValues) {
|
|
9067
|
+
async setSystemSettingValues(routeContext, groupCode, settingValues) {
|
|
9060
9068
|
for (const itemCode in settingValues) {
|
|
9061
9069
|
const value = settingValues[itemCode];
|
|
9062
|
-
await this.setSystemSettingValue(groupCode, itemCode, value);
|
|
9070
|
+
await this.setSystemSettingValue(routeContext, groupCode, itemCode, value);
|
|
9063
9071
|
}
|
|
9064
9072
|
}
|
|
9065
9073
|
//#endregion
|
|
9066
9074
|
//#region User Setting
|
|
9067
|
-
async getUserSettingItems(ownerId, groupCode) {
|
|
9075
|
+
async getUserSettingItems(routeContext, ownerId, groupCode) {
|
|
9068
9076
|
return await this.#userSettingItemManager.findEntities({
|
|
9077
|
+
routeContext,
|
|
9069
9078
|
filters: [
|
|
9070
9079
|
{
|
|
9071
9080
|
operator: "eq",
|
|
@@ -9080,15 +9089,16 @@ class SettingService {
|
|
|
9080
9089
|
],
|
|
9081
9090
|
});
|
|
9082
9091
|
}
|
|
9083
|
-
async getUserSettingValues(ownerId, groupCode) {
|
|
9084
|
-
const settingItems = await this.getUserSettingItems(ownerId, groupCode);
|
|
9092
|
+
async getUserSettingValues(routeContext, ownerId, groupCode) {
|
|
9093
|
+
const settingItems = await this.getUserSettingItems(routeContext, ownerId, groupCode);
|
|
9085
9094
|
return settingItems.reduce((settingValues, settingItem) => {
|
|
9086
9095
|
settingValues[settingItem.itemCode] = settingItem.value;
|
|
9087
9096
|
return settingValues;
|
|
9088
9097
|
}, {});
|
|
9089
9098
|
}
|
|
9090
|
-
async getUserSettingValue(ownerId, groupCode, itemCode) {
|
|
9099
|
+
async getUserSettingValue(routeContext, ownerId, groupCode, itemCode) {
|
|
9091
9100
|
const settingItem = await this.#systemSettingItemManager.findEntity({
|
|
9101
|
+
routeContext,
|
|
9092
9102
|
filters: [
|
|
9093
9103
|
{
|
|
9094
9104
|
operator: "eq",
|
|
@@ -9109,8 +9119,9 @@ class SettingService {
|
|
|
9109
9119
|
});
|
|
9110
9120
|
return settingItem ? settingItem.value : null;
|
|
9111
9121
|
}
|
|
9112
|
-
async setUserSettingValue(ownerId, groupCode, itemCode, value) {
|
|
9122
|
+
async setUserSettingValue(routeContext, ownerId, groupCode, itemCode, value) {
|
|
9113
9123
|
const settingItem = await this.#userSettingItemManager.findEntity({
|
|
9124
|
+
routeContext,
|
|
9114
9125
|
filters: [
|
|
9115
9126
|
{
|
|
9116
9127
|
operator: "eq",
|
|
@@ -9148,10 +9159,10 @@ class SettingService {
|
|
|
9148
9159
|
});
|
|
9149
9160
|
}
|
|
9150
9161
|
}
|
|
9151
|
-
async setUserSettingValues(ownerId, groupCode, settingValues) {
|
|
9162
|
+
async setUserSettingValues(routeContext, ownerId, groupCode, settingValues) {
|
|
9152
9163
|
for (const itemCode in settingValues) {
|
|
9153
9164
|
const value = settingValues[itemCode];
|
|
9154
|
-
await this.setUserSettingValue(ownerId, groupCode, itemCode, value);
|
|
9165
|
+
await this.setUserSettingValue(routeContext, ownerId, groupCode, itemCode, value);
|
|
9155
9166
|
}
|
|
9156
9167
|
}
|
|
9157
9168
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IRpdServer } from "../../core/server";
|
|
2
2
|
import { SystemSettingItem, UserSettingItem } from "./SettingPluginTypes";
|
|
3
|
+
import { RouteContext } from "../../core/routeContext";
|
|
3
4
|
export interface GetSystemSettingValuesInput {
|
|
4
5
|
groupCode: string;
|
|
5
6
|
}
|
|
@@ -13,14 +14,14 @@ export interface GetUserSettingValuesInput {
|
|
|
13
14
|
export default class SettingService {
|
|
14
15
|
#private;
|
|
15
16
|
constructor(server: IRpdServer);
|
|
16
|
-
getSystemSettingItems(groupCode: string): Promise<SystemSettingItem[]>;
|
|
17
|
-
getSystemSettingValues(groupCode: string): Promise<Record<string, any>>;
|
|
18
|
-
getSystemSettingValue(groupCode: string, itemCode: string): Promise<any>;
|
|
19
|
-
setSystemSettingValue(groupCode: string, itemCode: string, value: any): Promise<void>;
|
|
20
|
-
setSystemSettingValues(groupCode: string, settingValues: Record<string, any>): Promise<void>;
|
|
21
|
-
getUserSettingItems(ownerId: number, groupCode: string): Promise<UserSettingItem[]>;
|
|
22
|
-
getUserSettingValues(ownerId: number, groupCode: string): Promise<Record<string, any>>;
|
|
23
|
-
getUserSettingValue(ownerId: number, groupCode: string, itemCode: string): Promise<any>;
|
|
24
|
-
setUserSettingValue(ownerId: number, groupCode: string, itemCode: string, value: any): Promise<void>;
|
|
25
|
-
setUserSettingValues(ownerId: number, groupCode: string, settingValues: Record<string, any>): Promise<void>;
|
|
17
|
+
getSystemSettingItems(routeContext: RouteContext, groupCode: string): Promise<SystemSettingItem[]>;
|
|
18
|
+
getSystemSettingValues(routeContext: RouteContext, groupCode: string): Promise<Record<string, any>>;
|
|
19
|
+
getSystemSettingValue(routeContext: RouteContext, groupCode: string, itemCode: string): Promise<any>;
|
|
20
|
+
setSystemSettingValue(routeContext: RouteContext, groupCode: string, itemCode: string, value: any): Promise<void>;
|
|
21
|
+
setSystemSettingValues(routeContext: RouteContext, groupCode: string, settingValues: Record<string, any>): Promise<void>;
|
|
22
|
+
getUserSettingItems(routeContext: RouteContext, ownerId: number, groupCode: string): Promise<UserSettingItem[]>;
|
|
23
|
+
getUserSettingValues(routeContext: RouteContext, ownerId: number, groupCode: string): Promise<Record<string, any>>;
|
|
24
|
+
getUserSettingValue(routeContext: RouteContext, ownerId: number, groupCode: string, itemCode: string): Promise<any>;
|
|
25
|
+
setUserSettingValue(routeContext: RouteContext, ownerId: number, groupCode: string, itemCode: string, value: any): Promise<void>;
|
|
26
|
+
setUserSettingValues(routeContext: RouteContext, ownerId: number, groupCode: string, settingValues: Record<string, any>): Promise<void>;
|
|
26
27
|
}
|
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ import { extractCertLicense } from "./helpers/certHelper";
|
|
|
7
7
|
import dayjs from "dayjs";
|
|
8
8
|
import { get, isString } from "lodash";
|
|
9
9
|
import { isNullOrUndefinedOrEmpty } from "~/utilities/typeUtility";
|
|
10
|
+
import { RouteContext } from "~/core/routeContext";
|
|
10
11
|
|
|
11
12
|
export interface GetSystemSettingValuesInput {
|
|
12
13
|
groupCode: string;
|
|
@@ -35,8 +36,10 @@ export default class LicenseService {
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
async loadLicense(): Promise<void> {
|
|
39
|
+
const routeContext = new RouteContext(this.#server, null);
|
|
40
|
+
|
|
38
41
|
const settingService = this.#server.getService<SettingService>("settingService");
|
|
39
|
-
const licenseSettings = await settingService.getSystemSettingValues("license");
|
|
42
|
+
const licenseSettings = await settingService.getSystemSettingValues(routeContext, "license");
|
|
40
43
|
const { deployId, cert: certText } = licenseSettings as LicenseSettings;
|
|
41
44
|
|
|
42
45
|
if (!deployId || !certText) {
|
|
@@ -64,8 +67,9 @@ export default class LicenseService {
|
|
|
64
67
|
}
|
|
65
68
|
|
|
66
69
|
async updateLicense(certText: string) {
|
|
70
|
+
const routeContext = new RouteContext(this.#server, null);
|
|
67
71
|
const settingService = this.#server.getService<SettingService>("settingService");
|
|
68
|
-
const deployId: string = await settingService.getSystemSettingValue("license", "deployId");
|
|
72
|
+
const deployId: string = await settingService.getSystemSettingValue(routeContext, "license", "deployId");
|
|
69
73
|
|
|
70
74
|
let license: RpdLicense;
|
|
71
75
|
try {
|
|
@@ -75,7 +79,7 @@ export default class LicenseService {
|
|
|
75
79
|
throw new Error("Parse license failed.");
|
|
76
80
|
}
|
|
77
81
|
|
|
78
|
-
await settingService.setSystemSettingValue("license", "cert", certText);
|
|
82
|
+
await settingService.setSystemSettingValue(routeContext, "license", "cert", certText);
|
|
79
83
|
this.#license = license;
|
|
80
84
|
return license;
|
|
81
85
|
}
|
|
@@ -62,13 +62,14 @@ class ServerOperationPlugin implements RapidPlugin {
|
|
|
62
62
|
async configureRoutes(server: IRpdServer, applicationConfig: RpdApplicationConfig): Promise<any> {
|
|
63
63
|
const routes: RpdRoute[] = [];
|
|
64
64
|
for (const operation of this.#operations) {
|
|
65
|
+
const path = operation.path || `/app/${operation.code}`;
|
|
65
66
|
routes.push({
|
|
66
67
|
namespace: "app",
|
|
67
68
|
name: `app.operations.${operation.code}`,
|
|
68
69
|
code: `app.operations.${operation.code}`,
|
|
69
70
|
type: "RESTful",
|
|
70
71
|
method: operation.method,
|
|
71
|
-
endpoint:
|
|
72
|
+
endpoint: path,
|
|
72
73
|
actions: [
|
|
73
74
|
{
|
|
74
75
|
code: "runServerOperation",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IRpdServer } from "~/core/server";
|
|
2
2
|
import EntityManager from "~/dataAccess/entityManager";
|
|
3
3
|
import { SystemSettingItem, UserSettingItem } from "./SettingPluginTypes";
|
|
4
|
+
import { RouteContext } from "~/core/routeContext";
|
|
4
5
|
|
|
5
6
|
export interface GetSystemSettingValuesInput {
|
|
6
7
|
groupCode: string;
|
|
@@ -28,8 +29,9 @@ export default class SettingService {
|
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
//#region System Setting
|
|
31
|
-
async getSystemSettingItems(groupCode: string): Promise<SystemSettingItem[]> {
|
|
32
|
+
async getSystemSettingItems(routeContext: RouteContext, groupCode: string): Promise<SystemSettingItem[]> {
|
|
32
33
|
return await this.#systemSettingItemManager.findEntities({
|
|
34
|
+
routeContext,
|
|
33
35
|
filters: [
|
|
34
36
|
{
|
|
35
37
|
operator: "eq",
|
|
@@ -40,8 +42,8 @@ export default class SettingService {
|
|
|
40
42
|
});
|
|
41
43
|
}
|
|
42
44
|
|
|
43
|
-
async getSystemSettingValues(groupCode: string): Promise<Record<string, any>> {
|
|
44
|
-
const settingItems = await this.getSystemSettingItems(groupCode);
|
|
45
|
+
async getSystemSettingValues(routeContext: RouteContext, groupCode: string): Promise<Record<string, any>> {
|
|
46
|
+
const settingItems = await this.getSystemSettingItems(routeContext, groupCode);
|
|
45
47
|
|
|
46
48
|
return settingItems.reduce<Record<string, any>>((settingValues, settingItem) => {
|
|
47
49
|
settingValues[settingItem.itemCode] = settingItem.value;
|
|
@@ -49,8 +51,9 @@ export default class SettingService {
|
|
|
49
51
|
}, {});
|
|
50
52
|
}
|
|
51
53
|
|
|
52
|
-
async getSystemSettingValue(groupCode: string, itemCode: string): Promise<any> {
|
|
54
|
+
async getSystemSettingValue(routeContext: RouteContext, groupCode: string, itemCode: string): Promise<any> {
|
|
53
55
|
const settingItem = await this.#systemSettingItemManager.findEntity({
|
|
56
|
+
routeContext,
|
|
54
57
|
filters: [
|
|
55
58
|
{
|
|
56
59
|
operator: "eq",
|
|
@@ -68,8 +71,9 @@ export default class SettingService {
|
|
|
68
71
|
return settingItem ? settingItem.value : null;
|
|
69
72
|
}
|
|
70
73
|
|
|
71
|
-
async setSystemSettingValue(groupCode: string, itemCode: string, value: any) {
|
|
74
|
+
async setSystemSettingValue(routeContext: RouteContext, groupCode: string, itemCode: string, value: any) {
|
|
72
75
|
const settingItem = await this.#systemSettingItemManager.findEntity({
|
|
76
|
+
routeContext,
|
|
73
77
|
filters: [
|
|
74
78
|
{
|
|
75
79
|
operator: "eq",
|
|
@@ -87,6 +91,7 @@ export default class SettingService {
|
|
|
87
91
|
if (settingItem) {
|
|
88
92
|
if (settingItem.value !== value) {
|
|
89
93
|
await this.#systemSettingItemManager.updateEntityById({
|
|
94
|
+
routeContext,
|
|
90
95
|
id: settingItem.id,
|
|
91
96
|
entityToSave: {
|
|
92
97
|
value,
|
|
@@ -95,6 +100,7 @@ export default class SettingService {
|
|
|
95
100
|
}
|
|
96
101
|
} else {
|
|
97
102
|
await this.#systemSettingItemManager.createEntity({
|
|
103
|
+
routeContext,
|
|
98
104
|
entity: {
|
|
99
105
|
groupCode,
|
|
100
106
|
itemCode,
|
|
@@ -104,17 +110,18 @@ export default class SettingService {
|
|
|
104
110
|
}
|
|
105
111
|
}
|
|
106
112
|
|
|
107
|
-
async setSystemSettingValues(groupCode: string, settingValues: Record<string, any>) {
|
|
113
|
+
async setSystemSettingValues(routeContext: RouteContext, groupCode: string, settingValues: Record<string, any>) {
|
|
108
114
|
for (const itemCode in settingValues) {
|
|
109
115
|
const value = settingValues[itemCode];
|
|
110
|
-
await this.setSystemSettingValue(groupCode, itemCode, value);
|
|
116
|
+
await this.setSystemSettingValue(routeContext, groupCode, itemCode, value);
|
|
111
117
|
}
|
|
112
118
|
}
|
|
113
119
|
//#endregion
|
|
114
120
|
|
|
115
121
|
//#region User Setting
|
|
116
|
-
async getUserSettingItems(ownerId: number, groupCode: string): Promise<UserSettingItem[]> {
|
|
122
|
+
async getUserSettingItems(routeContext: RouteContext, ownerId: number, groupCode: string): Promise<UserSettingItem[]> {
|
|
117
123
|
return await this.#userSettingItemManager.findEntities({
|
|
124
|
+
routeContext,
|
|
118
125
|
filters: [
|
|
119
126
|
{
|
|
120
127
|
operator: "eq",
|
|
@@ -130,8 +137,8 @@ export default class SettingService {
|
|
|
130
137
|
});
|
|
131
138
|
}
|
|
132
139
|
|
|
133
|
-
async getUserSettingValues(ownerId: number, groupCode: string): Promise<Record<string, any>> {
|
|
134
|
-
const settingItems = await this.getUserSettingItems(ownerId, groupCode);
|
|
140
|
+
async getUserSettingValues(routeContext: RouteContext, ownerId: number, groupCode: string): Promise<Record<string, any>> {
|
|
141
|
+
const settingItems = await this.getUserSettingItems(routeContext, ownerId, groupCode);
|
|
135
142
|
|
|
136
143
|
return settingItems.reduce<Record<string, any>>((settingValues, settingItem) => {
|
|
137
144
|
settingValues[settingItem.itemCode] = settingItem.value;
|
|
@@ -139,8 +146,9 @@ export default class SettingService {
|
|
|
139
146
|
}, {});
|
|
140
147
|
}
|
|
141
148
|
|
|
142
|
-
async getUserSettingValue(ownerId: number, groupCode: string, itemCode: string): Promise<any> {
|
|
149
|
+
async getUserSettingValue(routeContext: RouteContext, ownerId: number, groupCode: string, itemCode: string): Promise<any> {
|
|
143
150
|
const settingItem = await this.#systemSettingItemManager.findEntity({
|
|
151
|
+
routeContext,
|
|
144
152
|
filters: [
|
|
145
153
|
{
|
|
146
154
|
operator: "eq",
|
|
@@ -163,8 +171,9 @@ export default class SettingService {
|
|
|
163
171
|
return settingItem ? settingItem.value : null;
|
|
164
172
|
}
|
|
165
173
|
|
|
166
|
-
async setUserSettingValue(ownerId: number, groupCode: string, itemCode: string, value: any) {
|
|
174
|
+
async setUserSettingValue(routeContext: RouteContext, ownerId: number, groupCode: string, itemCode: string, value: any) {
|
|
167
175
|
const settingItem = await this.#userSettingItemManager.findEntity({
|
|
176
|
+
routeContext,
|
|
168
177
|
filters: [
|
|
169
178
|
{
|
|
170
179
|
operator: "eq",
|
|
@@ -203,10 +212,10 @@ export default class SettingService {
|
|
|
203
212
|
}
|
|
204
213
|
}
|
|
205
214
|
|
|
206
|
-
async setUserSettingValues(ownerId: number, groupCode: string, settingValues: Record<string, any>) {
|
|
215
|
+
async setUserSettingValues(routeContext: RouteContext, ownerId: number, groupCode: string, settingValues: Record<string, any>) {
|
|
207
216
|
for (const itemCode in settingValues) {
|
|
208
217
|
const value = settingValues[itemCode];
|
|
209
|
-
await this.setUserSettingValue(ownerId, groupCode, itemCode, value);
|
|
218
|
+
await this.setUserSettingValue(routeContext, ownerId, groupCode, itemCode, value);
|
|
210
219
|
}
|
|
211
220
|
}
|
|
212
221
|
//#endregion
|
|
@@ -9,8 +9,8 @@ export interface GetSystemSettingValuesOptions {
|
|
|
9
9
|
export const code = "getSystemSettingValues";
|
|
10
10
|
|
|
11
11
|
export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: GetSystemSettingValuesOptions) {
|
|
12
|
-
const { server, routerContext } = ctx;
|
|
13
|
-
const { response } =
|
|
12
|
+
const { server, routerContext: routeContext } = ctx;
|
|
13
|
+
const { response } = routeContext;
|
|
14
14
|
|
|
15
15
|
const input: GetSystemSettingValuesInput = ctx.input;
|
|
16
16
|
|
|
@@ -24,7 +24,7 @@ export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, op
|
|
|
24
24
|
|
|
25
25
|
const settingService = server.getService<SettingService>("settingService");
|
|
26
26
|
|
|
27
|
-
const settingValues = await settingService.getSystemSettingValues(input.groupCode);
|
|
27
|
+
const settingValues = await settingService.getSystemSettingValues(routeContext, input.groupCode);
|
|
28
28
|
|
|
29
29
|
ctx.output = settingValues;
|
|
30
30
|
}
|
|
@@ -9,8 +9,8 @@ export interface GetUserSettingValuesOptions {
|
|
|
9
9
|
export const code = "getUserSettingValues";
|
|
10
10
|
|
|
11
11
|
export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: GetUserSettingValuesOptions) {
|
|
12
|
-
const { server, routerContext } = ctx;
|
|
13
|
-
const userId =
|
|
12
|
+
const { server, routerContext: routeContext } = ctx;
|
|
13
|
+
const userId = routeContext.state.userId;
|
|
14
14
|
if (!userId) {
|
|
15
15
|
ctx.status = 401;
|
|
16
16
|
ctx.output = {
|
|
@@ -32,7 +32,7 @@ export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, op
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
const settingService = server.getService<SettingService>("settingService");
|
|
35
|
-
const settingValues = await settingService.getUserSettingValues(userId, input.groupCode);
|
|
35
|
+
const settingValues = await settingService.getUserSettingValues(routeContext, userId, input.groupCode);
|
|
36
36
|
|
|
37
37
|
ctx.output = settingValues;
|
|
38
38
|
}
|
|
@@ -9,8 +9,8 @@ export interface SetSystemSettingValuesOptions {
|
|
|
9
9
|
export const code = "setSystemSettingValues";
|
|
10
10
|
|
|
11
11
|
export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, options: SetSystemSettingValuesOptions) {
|
|
12
|
-
const { server, routerContext } = ctx;
|
|
13
|
-
const { response } =
|
|
12
|
+
const { server, routerContext: routeContext } = ctx;
|
|
13
|
+
const { response } = routeContext;
|
|
14
14
|
|
|
15
15
|
const input: SetSystemSettingValuesInput = ctx.input;
|
|
16
16
|
|
|
@@ -24,7 +24,7 @@ export async function handler(plugin: RapidPlugin, ctx: ActionHandlerContext, op
|
|
|
24
24
|
|
|
25
25
|
const settingService = server.getService<SettingService>("settingService");
|
|
26
26
|
|
|
27
|
-
await settingService.setSystemSettingValues(input.groupCode, input.values);
|
|
27
|
+
await settingService.setSystemSettingValues(routeContext, input.groupCode, input.values);
|
|
28
28
|
|
|
29
29
|
ctx.output = {};
|
|
30
30
|
}
|