@etsoo/appscript 1.6.38 → 1.6.40
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/__tests__/app/CoreApp.ts +3 -1
- package/lib/cjs/app/CoreApp.d.ts +13 -3
- package/lib/cjs/app/CoreApp.js +30 -5
- package/lib/cjs/app/IApp.d.ts +13 -3
- package/lib/cjs/app/UserRole.d.ts +13 -13
- package/lib/cjs/app/UserRole.js +13 -13
- package/lib/cjs/business/BusinessUtils.d.ts +1 -2
- package/lib/mjs/app/CoreApp.d.ts +13 -3
- package/lib/mjs/app/CoreApp.js +30 -5
- package/lib/mjs/app/IApp.d.ts +13 -3
- package/lib/mjs/app/UserRole.d.ts +13 -13
- package/lib/mjs/app/UserRole.js +13 -13
- package/lib/mjs/business/BusinessUtils.d.ts +1 -2
- package/package.json +6 -6
- package/src/app/CoreApp.ts +35 -5
- package/src/app/IApp.ts +15 -3
- package/src/app/UserRole.ts +14 -14
- package/src/business/BusinessUtils.ts +0 -1
package/__tests__/app/CoreApp.ts
CHANGED
|
@@ -25,6 +25,8 @@ await ExtendUtils.sleep(50);
|
|
|
25
25
|
// Then change the culture to the first one (here is 'zh-CN')
|
|
26
26
|
await app.changeCulture(app.settings.cultures[0]);
|
|
27
27
|
|
|
28
|
+
await ExtendUtils.sleep(50);
|
|
29
|
+
|
|
28
30
|
test("Test for domain substitution", () => {
|
|
29
31
|
expect(app.settings.endpoint).toBe("http://admin.etsoo.com:9000/api/");
|
|
30
32
|
|
|
@@ -157,7 +159,7 @@ test("Tests for getRoleLabel", () => {
|
|
|
157
159
|
test("Tests for getRoles", () => {
|
|
158
160
|
const roles = app.getRoles(UserRole.User | UserRole.Manager | UserRole.Admin);
|
|
159
161
|
expect(roles.length).toBe(3);
|
|
160
|
-
expect(roles.map((r) => r.id)).toEqual([16,
|
|
162
|
+
expect(roles.map((r) => r.id)).toEqual([16, 64, 8192]);
|
|
161
163
|
});
|
|
162
164
|
|
|
163
165
|
test("Tests for getStatusList", () => {
|
package/lib/cjs/app/CoreApp.d.ts
CHANGED
|
@@ -596,20 +596,30 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
|
|
|
596
596
|
*/
|
|
597
597
|
hasPermission(roles: number | UserRole | number[] | UserRole[]): boolean;
|
|
598
598
|
/**
|
|
599
|
-
* Is admin
|
|
599
|
+
* Is admin roles
|
|
600
600
|
* @returns Result
|
|
601
601
|
*/
|
|
602
602
|
isAdminUser(): boolean;
|
|
603
603
|
/**
|
|
604
|
-
* Is Finance
|
|
604
|
+
* Is Finance roles
|
|
605
605
|
* @returns Result
|
|
606
606
|
*/
|
|
607
607
|
isFinanceUser(): boolean;
|
|
608
608
|
/**
|
|
609
|
-
* Is
|
|
609
|
+
* Is HR manager roles
|
|
610
|
+
* @returns Result
|
|
611
|
+
*/
|
|
612
|
+
isHRUser(): boolean;
|
|
613
|
+
/**
|
|
614
|
+
* Is Manager roles, exclude API user from frontend
|
|
610
615
|
* @returns Result
|
|
611
616
|
*/
|
|
612
617
|
isManagerUser(): boolean;
|
|
618
|
+
/**
|
|
619
|
+
* Is user roles
|
|
620
|
+
* @returns Result
|
|
621
|
+
*/
|
|
622
|
+
isUser(): boolean;
|
|
613
623
|
/**
|
|
614
624
|
* Load URL
|
|
615
625
|
* @param url URL
|
package/lib/cjs/app/CoreApp.js
CHANGED
|
@@ -1236,6 +1236,8 @@ class CoreApp {
|
|
|
1236
1236
|
if (typeof id !== "number")
|
|
1237
1237
|
return;
|
|
1238
1238
|
const key = shared_1.DataTypes.getEnumKey(em, id);
|
|
1239
|
+
if (key == null)
|
|
1240
|
+
return;
|
|
1239
1241
|
const label = this.get(getKey(key)) ?? key;
|
|
1240
1242
|
list.push({ id, label });
|
|
1241
1243
|
});
|
|
@@ -1416,25 +1418,48 @@ class CoreApp {
|
|
|
1416
1418
|
return false;
|
|
1417
1419
|
}
|
|
1418
1420
|
/**
|
|
1419
|
-
* Is admin
|
|
1421
|
+
* Is admin roles
|
|
1420
1422
|
* @returns Result
|
|
1421
1423
|
*/
|
|
1422
1424
|
isAdminUser() {
|
|
1423
|
-
return this.
|
|
1425
|
+
return this.hasPermission([
|
|
1426
|
+
UserRole_1.UserRole.Executive,
|
|
1427
|
+
UserRole_1.UserRole.Admin,
|
|
1428
|
+
UserRole_1.UserRole.Founder
|
|
1429
|
+
]);
|
|
1424
1430
|
}
|
|
1425
1431
|
/**
|
|
1426
|
-
* Is Finance
|
|
1432
|
+
* Is Finance roles
|
|
1427
1433
|
* @returns Result
|
|
1428
1434
|
*/
|
|
1429
1435
|
isFinanceUser() {
|
|
1430
1436
|
return this.hasPermission(UserRole_1.UserRole.Finance) || this.isAdminUser();
|
|
1431
1437
|
}
|
|
1432
1438
|
/**
|
|
1433
|
-
* Is
|
|
1439
|
+
* Is HR manager roles
|
|
1440
|
+
* @returns Result
|
|
1441
|
+
*/
|
|
1442
|
+
isHRUser() {
|
|
1443
|
+
return this.hasPermission(UserRole_1.UserRole.HRManager) || this.isAdminUser();
|
|
1444
|
+
}
|
|
1445
|
+
/**
|
|
1446
|
+
* Is Manager roles, exclude API user from frontend
|
|
1434
1447
|
* @returns Result
|
|
1435
1448
|
*/
|
|
1436
1449
|
isManagerUser() {
|
|
1437
|
-
return this.
|
|
1450
|
+
return (this.hasPermission([
|
|
1451
|
+
UserRole_1.UserRole.Manager,
|
|
1452
|
+
UserRole_1.UserRole.HRManager,
|
|
1453
|
+
UserRole_1.UserRole.Director
|
|
1454
|
+
]) || this.isFinanceUser());
|
|
1455
|
+
}
|
|
1456
|
+
/**
|
|
1457
|
+
* Is user roles
|
|
1458
|
+
* @returns Result
|
|
1459
|
+
*/
|
|
1460
|
+
isUser() {
|
|
1461
|
+
return (this.hasPermission([UserRole_1.UserRole.User, UserRole_1.UserRole.Leader]) ||
|
|
1462
|
+
this.isManagerUser());
|
|
1438
1463
|
}
|
|
1439
1464
|
/**
|
|
1440
1465
|
* Load URL
|
package/lib/cjs/app/IApp.d.ts
CHANGED
|
@@ -532,20 +532,30 @@ export interface IApp {
|
|
|
532
532
|
*/
|
|
533
533
|
initCall(callback?: (result: boolean) => void, resetKeys?: boolean): Promise<void>;
|
|
534
534
|
/**
|
|
535
|
-
* Is admin
|
|
535
|
+
* Is admin roles
|
|
536
536
|
* @returns Result
|
|
537
537
|
*/
|
|
538
538
|
isAdminUser(): boolean;
|
|
539
539
|
/**
|
|
540
|
-
* Is Finance
|
|
540
|
+
* Is Finance roles
|
|
541
541
|
* @returns Result
|
|
542
542
|
*/
|
|
543
543
|
isFinanceUser(): boolean;
|
|
544
544
|
/**
|
|
545
|
-
* Is
|
|
545
|
+
* Is HR manager roles
|
|
546
|
+
* @returns Result
|
|
547
|
+
*/
|
|
548
|
+
isHRUser(): boolean;
|
|
549
|
+
/**
|
|
550
|
+
* Is Manager roles
|
|
546
551
|
* @returns Result
|
|
547
552
|
*/
|
|
548
553
|
isManagerUser(): boolean;
|
|
554
|
+
/**
|
|
555
|
+
* Is user roles
|
|
556
|
+
* @returns Result
|
|
557
|
+
*/
|
|
558
|
+
isUser(): boolean;
|
|
549
559
|
/**
|
|
550
560
|
* Is valid password, override to implement custom check
|
|
551
561
|
* @param password Input password
|
|
@@ -8,11 +8,6 @@ export declare enum UserRole {
|
|
|
8
8
|
* 访客
|
|
9
9
|
*/
|
|
10
10
|
Guest = 1,
|
|
11
|
-
/**
|
|
12
|
-
* Outsourcing
|
|
13
|
-
* 外包
|
|
14
|
-
*/
|
|
15
|
-
Outsourcing = 2,
|
|
16
11
|
/**
|
|
17
12
|
* Operator
|
|
18
13
|
* 操作员
|
|
@@ -32,27 +27,32 @@ export declare enum UserRole {
|
|
|
32
27
|
* Team leader
|
|
33
28
|
* 团队负责人
|
|
34
29
|
*/
|
|
35
|
-
Leader =
|
|
30
|
+
Leader = 32,
|
|
36
31
|
/**
|
|
37
32
|
* Manager
|
|
38
33
|
* 经理
|
|
39
34
|
*/
|
|
40
|
-
Manager =
|
|
35
|
+
Manager = 64,
|
|
36
|
+
/**
|
|
37
|
+
* HR Manager
|
|
38
|
+
* 人事经理
|
|
39
|
+
*/
|
|
40
|
+
HRManager = 128,
|
|
41
41
|
/**
|
|
42
42
|
* Finance
|
|
43
43
|
* 财务
|
|
44
44
|
*/
|
|
45
45
|
Finance = 256,
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
47
|
+
* Director
|
|
48
|
+
* 总监
|
|
49
49
|
*/
|
|
50
|
-
|
|
50
|
+
Director = 512,
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
52
|
+
* Executives
|
|
53
|
+
* 高管
|
|
54
54
|
*/
|
|
55
|
-
|
|
55
|
+
Executive = 1024,
|
|
56
56
|
/**
|
|
57
57
|
* API
|
|
58
58
|
* 接口
|
package/lib/cjs/app/UserRole.js
CHANGED
|
@@ -12,11 +12,6 @@ var UserRole;
|
|
|
12
12
|
* 访客
|
|
13
13
|
*/
|
|
14
14
|
UserRole[UserRole["Guest"] = 1] = "Guest";
|
|
15
|
-
/**
|
|
16
|
-
* Outsourcing
|
|
17
|
-
* 外包
|
|
18
|
-
*/
|
|
19
|
-
UserRole[UserRole["Outsourcing"] = 2] = "Outsourcing";
|
|
20
15
|
/**
|
|
21
16
|
* Operator
|
|
22
17
|
* 操作员
|
|
@@ -36,27 +31,32 @@ var UserRole;
|
|
|
36
31
|
* Team leader
|
|
37
32
|
* 团队负责人
|
|
38
33
|
*/
|
|
39
|
-
UserRole[UserRole["Leader"] =
|
|
34
|
+
UserRole[UserRole["Leader"] = 32] = "Leader";
|
|
40
35
|
/**
|
|
41
36
|
* Manager
|
|
42
37
|
* 经理
|
|
43
38
|
*/
|
|
44
|
-
UserRole[UserRole["Manager"] =
|
|
39
|
+
UserRole[UserRole["Manager"] = 64] = "Manager";
|
|
40
|
+
/**
|
|
41
|
+
* HR Manager
|
|
42
|
+
* 人事经理
|
|
43
|
+
*/
|
|
44
|
+
UserRole[UserRole["HRManager"] = 128] = "HRManager";
|
|
45
45
|
/**
|
|
46
46
|
* Finance
|
|
47
47
|
* 财务
|
|
48
48
|
*/
|
|
49
49
|
UserRole[UserRole["Finance"] = 256] = "Finance";
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
51
|
+
* Director
|
|
52
|
+
* 总监
|
|
53
53
|
*/
|
|
54
|
-
UserRole[UserRole["
|
|
54
|
+
UserRole[UserRole["Director"] = 512] = "Director";
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
56
|
+
* Executives
|
|
57
|
+
* 高管
|
|
58
58
|
*/
|
|
59
|
-
UserRole[UserRole["
|
|
59
|
+
UserRole[UserRole["Executive"] = 1024] = "Executive";
|
|
60
60
|
/**
|
|
61
61
|
* API
|
|
62
62
|
* 接口
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DataTypes, IdType, ListType } from "@etsoo/shared";
|
|
2
2
|
import { CustomCultureData } from "../def/CustomCulture";
|
|
3
|
-
import { QueryPagingData } from "../api/rq/QueryPagingData";
|
|
4
3
|
import { QueryRQ } from "../api/rq/QueryRQ";
|
|
5
4
|
/**
|
|
6
5
|
* Business utils
|
|
@@ -24,7 +23,7 @@ export declare namespace BusinessUtils {
|
|
|
24
23
|
ids?: T[] | undefined;
|
|
25
24
|
excludedIds?: T[] | undefined;
|
|
26
25
|
keyword?: string;
|
|
27
|
-
queryPaging: QueryPagingData | undefined;
|
|
26
|
+
queryPaging: import("..").QueryPagingData | undefined;
|
|
28
27
|
};
|
|
29
28
|
/**
|
|
30
29
|
* Get 12-month items
|
package/lib/mjs/app/CoreApp.d.ts
CHANGED
|
@@ -596,20 +596,30 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
|
|
|
596
596
|
*/
|
|
597
597
|
hasPermission(roles: number | UserRole | number[] | UserRole[]): boolean;
|
|
598
598
|
/**
|
|
599
|
-
* Is admin
|
|
599
|
+
* Is admin roles
|
|
600
600
|
* @returns Result
|
|
601
601
|
*/
|
|
602
602
|
isAdminUser(): boolean;
|
|
603
603
|
/**
|
|
604
|
-
* Is Finance
|
|
604
|
+
* Is Finance roles
|
|
605
605
|
* @returns Result
|
|
606
606
|
*/
|
|
607
607
|
isFinanceUser(): boolean;
|
|
608
608
|
/**
|
|
609
|
-
* Is
|
|
609
|
+
* Is HR manager roles
|
|
610
|
+
* @returns Result
|
|
611
|
+
*/
|
|
612
|
+
isHRUser(): boolean;
|
|
613
|
+
/**
|
|
614
|
+
* Is Manager roles, exclude API user from frontend
|
|
610
615
|
* @returns Result
|
|
611
616
|
*/
|
|
612
617
|
isManagerUser(): boolean;
|
|
618
|
+
/**
|
|
619
|
+
* Is user roles
|
|
620
|
+
* @returns Result
|
|
621
|
+
*/
|
|
622
|
+
isUser(): boolean;
|
|
613
623
|
/**
|
|
614
624
|
* Load URL
|
|
615
625
|
* @param url URL
|
package/lib/mjs/app/CoreApp.js
CHANGED
|
@@ -1233,6 +1233,8 @@ export class CoreApp {
|
|
|
1233
1233
|
if (typeof id !== "number")
|
|
1234
1234
|
return;
|
|
1235
1235
|
const key = DataTypes.getEnumKey(em, id);
|
|
1236
|
+
if (key == null)
|
|
1237
|
+
return;
|
|
1236
1238
|
const label = this.get(getKey(key)) ?? key;
|
|
1237
1239
|
list.push({ id, label });
|
|
1238
1240
|
});
|
|
@@ -1413,25 +1415,48 @@ export class CoreApp {
|
|
|
1413
1415
|
return false;
|
|
1414
1416
|
}
|
|
1415
1417
|
/**
|
|
1416
|
-
* Is admin
|
|
1418
|
+
* Is admin roles
|
|
1417
1419
|
* @returns Result
|
|
1418
1420
|
*/
|
|
1419
1421
|
isAdminUser() {
|
|
1420
|
-
return this.
|
|
1422
|
+
return this.hasPermission([
|
|
1423
|
+
UserRole.Executive,
|
|
1424
|
+
UserRole.Admin,
|
|
1425
|
+
UserRole.Founder
|
|
1426
|
+
]);
|
|
1421
1427
|
}
|
|
1422
1428
|
/**
|
|
1423
|
-
* Is Finance
|
|
1429
|
+
* Is Finance roles
|
|
1424
1430
|
* @returns Result
|
|
1425
1431
|
*/
|
|
1426
1432
|
isFinanceUser() {
|
|
1427
1433
|
return this.hasPermission(UserRole.Finance) || this.isAdminUser();
|
|
1428
1434
|
}
|
|
1429
1435
|
/**
|
|
1430
|
-
* Is
|
|
1436
|
+
* Is HR manager roles
|
|
1437
|
+
* @returns Result
|
|
1438
|
+
*/
|
|
1439
|
+
isHRUser() {
|
|
1440
|
+
return this.hasPermission(UserRole.HRManager) || this.isAdminUser();
|
|
1441
|
+
}
|
|
1442
|
+
/**
|
|
1443
|
+
* Is Manager roles, exclude API user from frontend
|
|
1431
1444
|
* @returns Result
|
|
1432
1445
|
*/
|
|
1433
1446
|
isManagerUser() {
|
|
1434
|
-
return this.
|
|
1447
|
+
return (this.hasPermission([
|
|
1448
|
+
UserRole.Manager,
|
|
1449
|
+
UserRole.HRManager,
|
|
1450
|
+
UserRole.Director
|
|
1451
|
+
]) || this.isFinanceUser());
|
|
1452
|
+
}
|
|
1453
|
+
/**
|
|
1454
|
+
* Is user roles
|
|
1455
|
+
* @returns Result
|
|
1456
|
+
*/
|
|
1457
|
+
isUser() {
|
|
1458
|
+
return (this.hasPermission([UserRole.User, UserRole.Leader]) ||
|
|
1459
|
+
this.isManagerUser());
|
|
1435
1460
|
}
|
|
1436
1461
|
/**
|
|
1437
1462
|
* Load URL
|
package/lib/mjs/app/IApp.d.ts
CHANGED
|
@@ -532,20 +532,30 @@ export interface IApp {
|
|
|
532
532
|
*/
|
|
533
533
|
initCall(callback?: (result: boolean) => void, resetKeys?: boolean): Promise<void>;
|
|
534
534
|
/**
|
|
535
|
-
* Is admin
|
|
535
|
+
* Is admin roles
|
|
536
536
|
* @returns Result
|
|
537
537
|
*/
|
|
538
538
|
isAdminUser(): boolean;
|
|
539
539
|
/**
|
|
540
|
-
* Is Finance
|
|
540
|
+
* Is Finance roles
|
|
541
541
|
* @returns Result
|
|
542
542
|
*/
|
|
543
543
|
isFinanceUser(): boolean;
|
|
544
544
|
/**
|
|
545
|
-
* Is
|
|
545
|
+
* Is HR manager roles
|
|
546
|
+
* @returns Result
|
|
547
|
+
*/
|
|
548
|
+
isHRUser(): boolean;
|
|
549
|
+
/**
|
|
550
|
+
* Is Manager roles
|
|
546
551
|
* @returns Result
|
|
547
552
|
*/
|
|
548
553
|
isManagerUser(): boolean;
|
|
554
|
+
/**
|
|
555
|
+
* Is user roles
|
|
556
|
+
* @returns Result
|
|
557
|
+
*/
|
|
558
|
+
isUser(): boolean;
|
|
549
559
|
/**
|
|
550
560
|
* Is valid password, override to implement custom check
|
|
551
561
|
* @param password Input password
|
|
@@ -8,11 +8,6 @@ export declare enum UserRole {
|
|
|
8
8
|
* 访客
|
|
9
9
|
*/
|
|
10
10
|
Guest = 1,
|
|
11
|
-
/**
|
|
12
|
-
* Outsourcing
|
|
13
|
-
* 外包
|
|
14
|
-
*/
|
|
15
|
-
Outsourcing = 2,
|
|
16
11
|
/**
|
|
17
12
|
* Operator
|
|
18
13
|
* 操作员
|
|
@@ -32,27 +27,32 @@ export declare enum UserRole {
|
|
|
32
27
|
* Team leader
|
|
33
28
|
* 团队负责人
|
|
34
29
|
*/
|
|
35
|
-
Leader =
|
|
30
|
+
Leader = 32,
|
|
36
31
|
/**
|
|
37
32
|
* Manager
|
|
38
33
|
* 经理
|
|
39
34
|
*/
|
|
40
|
-
Manager =
|
|
35
|
+
Manager = 64,
|
|
36
|
+
/**
|
|
37
|
+
* HR Manager
|
|
38
|
+
* 人事经理
|
|
39
|
+
*/
|
|
40
|
+
HRManager = 128,
|
|
41
41
|
/**
|
|
42
42
|
* Finance
|
|
43
43
|
* 财务
|
|
44
44
|
*/
|
|
45
45
|
Finance = 256,
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
47
|
+
* Director
|
|
48
|
+
* 总监
|
|
49
49
|
*/
|
|
50
|
-
|
|
50
|
+
Director = 512,
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
52
|
+
* Executives
|
|
53
|
+
* 高管
|
|
54
54
|
*/
|
|
55
|
-
|
|
55
|
+
Executive = 1024,
|
|
56
56
|
/**
|
|
57
57
|
* API
|
|
58
58
|
* 接口
|
package/lib/mjs/app/UserRole.js
CHANGED
|
@@ -9,11 +9,6 @@ export var UserRole;
|
|
|
9
9
|
* 访客
|
|
10
10
|
*/
|
|
11
11
|
UserRole[UserRole["Guest"] = 1] = "Guest";
|
|
12
|
-
/**
|
|
13
|
-
* Outsourcing
|
|
14
|
-
* 外包
|
|
15
|
-
*/
|
|
16
|
-
UserRole[UserRole["Outsourcing"] = 2] = "Outsourcing";
|
|
17
12
|
/**
|
|
18
13
|
* Operator
|
|
19
14
|
* 操作员
|
|
@@ -33,27 +28,32 @@ export var UserRole;
|
|
|
33
28
|
* Team leader
|
|
34
29
|
* 团队负责人
|
|
35
30
|
*/
|
|
36
|
-
UserRole[UserRole["Leader"] =
|
|
31
|
+
UserRole[UserRole["Leader"] = 32] = "Leader";
|
|
37
32
|
/**
|
|
38
33
|
* Manager
|
|
39
34
|
* 经理
|
|
40
35
|
*/
|
|
41
|
-
UserRole[UserRole["Manager"] =
|
|
36
|
+
UserRole[UserRole["Manager"] = 64] = "Manager";
|
|
37
|
+
/**
|
|
38
|
+
* HR Manager
|
|
39
|
+
* 人事经理
|
|
40
|
+
*/
|
|
41
|
+
UserRole[UserRole["HRManager"] = 128] = "HRManager";
|
|
42
42
|
/**
|
|
43
43
|
* Finance
|
|
44
44
|
* 财务
|
|
45
45
|
*/
|
|
46
46
|
UserRole[UserRole["Finance"] = 256] = "Finance";
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
48
|
+
* Director
|
|
49
|
+
* 总监
|
|
50
50
|
*/
|
|
51
|
-
UserRole[UserRole["
|
|
51
|
+
UserRole[UserRole["Director"] = 512] = "Director";
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
53
|
+
* Executives
|
|
54
|
+
* 高管
|
|
55
55
|
*/
|
|
56
|
-
UserRole[UserRole["
|
|
56
|
+
UserRole[UserRole["Executive"] = 1024] = "Executive";
|
|
57
57
|
/**
|
|
58
58
|
* API
|
|
59
59
|
* 接口
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DataTypes, IdType, ListType } from "@etsoo/shared";
|
|
2
2
|
import { CustomCultureData } from "../def/CustomCulture";
|
|
3
|
-
import { QueryPagingData } from "../api/rq/QueryPagingData";
|
|
4
3
|
import { QueryRQ } from "../api/rq/QueryRQ";
|
|
5
4
|
/**
|
|
6
5
|
* Business utils
|
|
@@ -24,7 +23,7 @@ export declare namespace BusinessUtils {
|
|
|
24
23
|
ids?: T[] | undefined;
|
|
25
24
|
excludedIds?: T[] | undefined;
|
|
26
25
|
keyword?: string;
|
|
27
|
-
queryPaging: QueryPagingData | undefined;
|
|
26
|
+
queryPaging: import("..").QueryPagingData | undefined;
|
|
28
27
|
};
|
|
29
28
|
/**
|
|
30
29
|
* Get 12-month items
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@etsoo/appscript",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.40",
|
|
4
4
|
"description": "Applications shared TypeScript framework",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/mjs/index.js",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
},
|
|
36
36
|
"homepage": "https://github.com/ETSOO/AppScript#readme",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@etsoo/notificationbase": "^1.1.
|
|
39
|
-
"@etsoo/restclient": "^1.1.
|
|
40
|
-
"@etsoo/shared": "^1.2.
|
|
38
|
+
"@etsoo/notificationbase": "^1.1.63",
|
|
39
|
+
"@etsoo/restclient": "^1.1.30",
|
|
40
|
+
"@etsoo/shared": "^1.2.75",
|
|
41
41
|
"crypto-js": "^4.2.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"@babel/preset-env": "^7.27.2",
|
|
48
48
|
"@babel/runtime-corejs3": "^7.27.6",
|
|
49
49
|
"@types/crypto-js": "^4.2.2",
|
|
50
|
-
"@vitejs/plugin-react": "^4.5.
|
|
50
|
+
"@vitejs/plugin-react": "^4.5.2",
|
|
51
51
|
"jsdom": "^26.1.0",
|
|
52
52
|
"typescript": "^5.8.3",
|
|
53
|
-
"vitest": "^3.2.
|
|
53
|
+
"vitest": "^3.2.3"
|
|
54
54
|
}
|
|
55
55
|
}
|
package/src/app/CoreApp.ts
CHANGED
|
@@ -1748,6 +1748,7 @@ export abstract class CoreApp<
|
|
|
1748
1748
|
filter.forEach((id) => {
|
|
1749
1749
|
if (typeof id !== "number") return;
|
|
1750
1750
|
const key = DataTypes.getEnumKey(em, id);
|
|
1751
|
+
if (key == null) return;
|
|
1751
1752
|
const label = this.get<string>(getKey(key)) ?? key;
|
|
1752
1753
|
list.push({ id, label });
|
|
1753
1754
|
});
|
|
@@ -1941,15 +1942,19 @@ export abstract class CoreApp<
|
|
|
1941
1942
|
}
|
|
1942
1943
|
|
|
1943
1944
|
/**
|
|
1944
|
-
* Is admin
|
|
1945
|
+
* Is admin roles
|
|
1945
1946
|
* @returns Result
|
|
1946
1947
|
*/
|
|
1947
1948
|
isAdminUser() {
|
|
1948
|
-
return this.
|
|
1949
|
+
return this.hasPermission([
|
|
1950
|
+
UserRole.Executive,
|
|
1951
|
+
UserRole.Admin,
|
|
1952
|
+
UserRole.Founder
|
|
1953
|
+
]);
|
|
1949
1954
|
}
|
|
1950
1955
|
|
|
1951
1956
|
/**
|
|
1952
|
-
* Is Finance
|
|
1957
|
+
* Is Finance roles
|
|
1953
1958
|
* @returns Result
|
|
1954
1959
|
*/
|
|
1955
1960
|
isFinanceUser() {
|
|
@@ -1957,11 +1962,36 @@ export abstract class CoreApp<
|
|
|
1957
1962
|
}
|
|
1958
1963
|
|
|
1959
1964
|
/**
|
|
1960
|
-
* Is
|
|
1965
|
+
* Is HR manager roles
|
|
1966
|
+
* @returns Result
|
|
1967
|
+
*/
|
|
1968
|
+
isHRUser() {
|
|
1969
|
+
return this.hasPermission(UserRole.HRManager) || this.isAdminUser();
|
|
1970
|
+
}
|
|
1971
|
+
|
|
1972
|
+
/**
|
|
1973
|
+
* Is Manager roles, exclude API user from frontend
|
|
1961
1974
|
* @returns Result
|
|
1962
1975
|
*/
|
|
1963
1976
|
isManagerUser() {
|
|
1964
|
-
return
|
|
1977
|
+
return (
|
|
1978
|
+
this.hasPermission([
|
|
1979
|
+
UserRole.Manager,
|
|
1980
|
+
UserRole.HRManager,
|
|
1981
|
+
UserRole.Director
|
|
1982
|
+
]) || this.isFinanceUser()
|
|
1983
|
+
);
|
|
1984
|
+
}
|
|
1985
|
+
|
|
1986
|
+
/**
|
|
1987
|
+
* Is user roles
|
|
1988
|
+
* @returns Result
|
|
1989
|
+
*/
|
|
1990
|
+
isUser() {
|
|
1991
|
+
return (
|
|
1992
|
+
this.hasPermission([UserRole.User, UserRole.Leader]) ||
|
|
1993
|
+
this.isManagerUser()
|
|
1994
|
+
);
|
|
1965
1995
|
}
|
|
1966
1996
|
|
|
1967
1997
|
/**
|
package/src/app/IApp.ts
CHANGED
|
@@ -705,23 +705,35 @@ export interface IApp {
|
|
|
705
705
|
): Promise<void>;
|
|
706
706
|
|
|
707
707
|
/**
|
|
708
|
-
* Is admin
|
|
708
|
+
* Is admin roles
|
|
709
709
|
* @returns Result
|
|
710
710
|
*/
|
|
711
711
|
isAdminUser(): boolean;
|
|
712
712
|
|
|
713
713
|
/**
|
|
714
|
-
* Is Finance
|
|
714
|
+
* Is Finance roles
|
|
715
715
|
* @returns Result
|
|
716
716
|
*/
|
|
717
717
|
isFinanceUser(): boolean;
|
|
718
718
|
|
|
719
719
|
/**
|
|
720
|
-
* Is
|
|
720
|
+
* Is HR manager roles
|
|
721
|
+
* @returns Result
|
|
722
|
+
*/
|
|
723
|
+
isHRUser(): boolean;
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Is Manager roles
|
|
721
727
|
* @returns Result
|
|
722
728
|
*/
|
|
723
729
|
isManagerUser(): boolean;
|
|
724
730
|
|
|
731
|
+
/**
|
|
732
|
+
* Is user roles
|
|
733
|
+
* @returns Result
|
|
734
|
+
*/
|
|
735
|
+
isUser(): boolean;
|
|
736
|
+
|
|
725
737
|
/**
|
|
726
738
|
* Is valid password, override to implement custom check
|
|
727
739
|
* @param password Input password
|
package/src/app/UserRole.ts
CHANGED
|
@@ -9,12 +9,6 @@ export enum UserRole {
|
|
|
9
9
|
*/
|
|
10
10
|
Guest = 1,
|
|
11
11
|
|
|
12
|
-
/**
|
|
13
|
-
* Outsourcing
|
|
14
|
-
* 外包
|
|
15
|
-
*/
|
|
16
|
-
Outsourcing = 2,
|
|
17
|
-
|
|
18
12
|
/**
|
|
19
13
|
* Operator
|
|
20
14
|
* 操作员
|
|
@@ -37,13 +31,19 @@ export enum UserRole {
|
|
|
37
31
|
* Team leader
|
|
38
32
|
* 团队负责人
|
|
39
33
|
*/
|
|
40
|
-
Leader =
|
|
34
|
+
Leader = 32,
|
|
41
35
|
|
|
42
36
|
/**
|
|
43
37
|
* Manager
|
|
44
38
|
* 经理
|
|
45
39
|
*/
|
|
46
|
-
Manager =
|
|
40
|
+
Manager = 64,
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* HR Manager
|
|
44
|
+
* 人事经理
|
|
45
|
+
*/
|
|
46
|
+
HRManager = 128,
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
49
|
* Finance
|
|
@@ -52,16 +52,16 @@ export enum UserRole {
|
|
|
52
52
|
Finance = 256,
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
55
|
+
* Director
|
|
56
|
+
* 总监
|
|
57
57
|
*/
|
|
58
|
-
|
|
58
|
+
Director = 512,
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
61
|
+
* Executives
|
|
62
|
+
* 高管
|
|
63
63
|
*/
|
|
64
|
-
|
|
64
|
+
Executive = 1024,
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
67
|
* API
|