@tomei/sso 0.61.0 → 0.61.1

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 (134) hide show
  1. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.d.ts +1 -0
  2. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.js +71 -0
  3. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.js.map +1 -0
  4. package/dist/__tests__/unit/components/login-user/login-user.spec.d.ts +0 -0
  5. package/dist/__tests__/unit/components/login-user/login-user.spec.js +6 -0
  6. package/dist/__tests__/unit/components/login-user/login-user.spec.js.map +1 -0
  7. package/dist/src/components/login-history/login-history.d.ts +23 -0
  8. package/dist/src/components/login-history/login-history.js +88 -0
  9. package/dist/src/components/login-history/login-history.js.map +1 -0
  10. package/dist/src/components/login-user/user.js +3 -2
  11. package/dist/src/components/login-user/user.js.map +1 -1
  12. package/dist/src/interfaces/login-history-search-attr.interface.d.ts +8 -0
  13. package/dist/src/interfaces/login-history-search-attr.interface.js +3 -0
  14. package/dist/src/interfaces/login-history-search-attr.interface.js.map +1 -0
  15. package/dist/src/interfaces/login-history.interface.d.ts +11 -0
  16. package/dist/src/interfaces/login-history.interface.js +3 -0
  17. package/dist/src/interfaces/login-history.interface.js.map +1 -0
  18. package/dist/tsconfig.tsbuildinfo +1 -1
  19. package/package.json +1 -1
  20. package/src/components/api-key/api-key.repository.ts +15 -15
  21. package/src/components/api-key/api-key.ts +448 -448
  22. package/src/components/api-key/index.ts +4 -4
  23. package/src/components/building/building.repository.ts +27 -27
  24. package/src/components/building/index.ts +2 -2
  25. package/src/components/group/group.repository.ts +26 -26
  26. package/src/components/group/group.ts +2284 -2284
  27. package/src/components/group/index.ts +3 -3
  28. package/src/components/group-object-privilege/group-object-privilege.repository.ts +25 -25
  29. package/src/components/group-object-privilege/group-object-privilege.ts +278 -278
  30. package/src/components/group-object-privilege/index.ts +2 -2
  31. package/src/components/group-privilege/group-privilege.repository.ts +29 -29
  32. package/src/components/group-privilege/group-privilege.ts +84 -84
  33. package/src/components/group-privilege/index.ts +2 -2
  34. package/src/components/group-reporting-user/group-reporting-user.repository.ts +23 -23
  35. package/src/components/group-reporting-user/group-reporting-user.ts +506 -506
  36. package/src/components/group-reporting-user/index.ts +3 -3
  37. package/src/components/group-system-access/group-system-access.repository.ts +43 -43
  38. package/src/components/group-system-access/group-system-access.ts +90 -90
  39. package/src/components/group-system-access/index.ts +2 -2
  40. package/src/components/index.ts +20 -20
  41. package/src/components/login-user/index.ts +5 -5
  42. package/src/components/login-user/interfaces/check-user-info-duplicated.interface.ts +7 -7
  43. package/src/components/login-user/interfaces/index.ts +1 -1
  44. package/src/components/login-user/interfaces/system-access.interface.ts +13 -13
  45. package/src/components/login-user/interfaces/user-info.interface.ts +34 -34
  46. package/src/components/login-user/login-user.ts +362 -362
  47. package/src/components/login-user/user.repository.ts +11 -11
  48. package/src/components/login-user/user.ts +3 -2
  49. package/src/components/password-hash/index.ts +2 -2
  50. package/src/components/password-hash/interfaces/index.ts +1 -1
  51. package/src/components/password-hash/interfaces/password-hash-service.interface.ts +4 -4
  52. package/src/components/password-hash/password-hash.service.ts +14 -14
  53. package/src/components/staff/index.ts +2 -2
  54. package/src/components/staff/staff.repository.ts +27 -27
  55. package/src/components/system/index.ts +3 -3
  56. package/src/components/system/system.repository.ts +11 -11
  57. package/src/components/system/system.ts +456 -456
  58. package/src/components/system-privilege/index.ts +4 -4
  59. package/src/components/system-privilege/system-privilege.repository.ts +18 -18
  60. package/src/components/system-privilege/system-privilege.ts +541 -541
  61. package/src/components/user-group/index.ts +2 -2
  62. package/src/components/user-group/user-group.repository.ts +19 -19
  63. package/src/components/user-group/user-group.ts +764 -764
  64. package/src/components/user-object-privilege/index.ts +2 -2
  65. package/src/components/user-object-privilege/user-object-privilege.repository.ts +11 -11
  66. package/src/components/user-object-privilege/user-object-privilege.ts +79 -79
  67. package/src/components/user-password-history/index.ts +2 -2
  68. package/src/components/user-password-history/user-password-history.repository.ts +39 -39
  69. package/src/components/user-password-history/user-password-history.ts +187 -187
  70. package/src/components/user-privilege/index.ts +2 -2
  71. package/src/components/user-privilege/user-privilege.repository.ts +25 -25
  72. package/src/components/user-privilege/user-privilege.ts +662 -662
  73. package/src/components/user-reporting-hierarchy/index.ts +2 -2
  74. package/src/components/user-reporting-hierarchy/user-reporting-hierarchy.repository.ts +30 -30
  75. package/src/components/user-reporting-hierarchy/user-reporting-hierarchy.ts +505 -505
  76. package/src/components/user-system-access/index.ts +2 -2
  77. package/src/components/user-system-access/user-system-access.repository.ts +41 -41
  78. package/src/database.ts +15 -15
  79. package/src/enum/api-key.enum.ts +5 -5
  80. package/src/enum/building-type.enum.ts +6 -6
  81. package/src/enum/group-type.enum.ts +8 -8
  82. package/src/enum/index.ts +6 -6
  83. package/src/enum/login-status.enum.ts +4 -4
  84. package/src/enum/object-status.enum.ts +4 -4
  85. package/src/enum/user-status.enum.ts +7 -7
  86. package/src/enum/yn.enum.ts +4 -4
  87. package/src/index.ts +8 -8
  88. package/src/interfaces/api-key-attr.interface.ts +16 -16
  89. package/src/interfaces/group-object-privilege.interface.ts +14 -14
  90. package/src/interfaces/group-privilege.interface.ts +10 -10
  91. package/src/interfaces/group-reporting-user.interface.ts +11 -11
  92. package/src/interfaces/group-search-attr.interface.ts +9 -9
  93. package/src/interfaces/group-system-access.interface.ts +10 -10
  94. package/src/interfaces/group.interface.ts +17 -17
  95. package/src/interfaces/index.ts +13 -13
  96. package/src/interfaces/system-login.interface.ts +6 -6
  97. package/src/interfaces/system-privilege-search.interface.ts +5 -5
  98. package/src/interfaces/system-privilege.interface.ts +11 -11
  99. package/src/interfaces/system-search-attr.interface.ts +5 -5
  100. package/src/interfaces/system.interface.ts +15 -15
  101. package/src/interfaces/user-group.interface.ts +12 -12
  102. package/src/interfaces/user-object-privilege.interface.ts +14 -14
  103. package/src/interfaces/user-password-history.interface.ts +6 -6
  104. package/src/interfaces/user-privilege.interface.ts +10 -10
  105. package/src/interfaces/user-reporting-hierarchy.interface.ts +11 -11
  106. package/src/interfaces/user-session.interface.ts +5 -5
  107. package/src/interfaces/user-system-access.interface.ts +10 -10
  108. package/src/models/api-key-entity.ts +101 -101
  109. package/src/models/building.entity.ts +103 -103
  110. package/src/models/group-object-privilege.entity.ts +91 -91
  111. package/src/models/group-privilege.entity.ts +78 -78
  112. package/src/models/group-reporting-user.entity.ts +95 -95
  113. package/src/models/group-system-access.entity.ts +81 -81
  114. package/src/models/group.entity.ts +127 -127
  115. package/src/models/staff.entity.ts +91 -91
  116. package/src/models/system-privilege.entity.ts +90 -90
  117. package/src/models/system.entity.ts +113 -113
  118. package/src/models/user-group.entity.ts +91 -91
  119. package/src/models/user-object-privilege.entity.ts +90 -90
  120. package/src/models/user-password-history.ts +51 -51
  121. package/src/models/user-privilege.entity.ts +78 -78
  122. package/src/models/user-reporting-hierarchy.entity.ts +102 -102
  123. package/src/models/user-system-access.entity.ts +87 -87
  124. package/src/models/user.entity.ts +193 -193
  125. package/src/redis-client/__mocks__/jest-initial-setup.ts +2 -2
  126. package/src/redis-client/__mocks__/redis-mock.ts +28 -28
  127. package/src/redis-client/index.ts +1 -1
  128. package/src/redis-client/redis.service.ts +75 -75
  129. package/src/session/index.ts +2 -2
  130. package/src/session/interfaces/index.ts +1 -1
  131. package/src/session/interfaces/session-service.interface.ts +26 -26
  132. package/src/session/session.service.ts +96 -96
  133. package/src/types/auth-context.ts +10 -10
  134. package/src/types/index.ts +1 -1
@@ -1,11 +1,11 @@
1
- export interface IUserReportingHierarchyAttr {
2
- UserReportingHierarchyId: number;
3
- ReportingUserId: number;
4
- UserId: number;
5
- Rank: number;
6
- Status: string;
7
- CreatedById: number;
8
- CreatedAt: Date;
9
- UpdatedById: number;
10
- UpdatedAt: Date;
11
- }
1
+ export interface IUserReportingHierarchyAttr {
2
+ UserReportingHierarchyId: number;
3
+ ReportingUserId: number;
4
+ UserId: number;
5
+ Rank: number;
6
+ Status: string;
7
+ CreatedById: number;
8
+ CreatedAt: Date;
9
+ UpdatedById: number;
10
+ UpdatedAt: Date;
11
+ }
@@ -1,5 +1,5 @@
1
- import { ISystemLogin } from './system-login.interface';
2
-
3
- export interface IUserSession {
4
- systemLogins: ISystemLogin[];
5
- }
1
+ import { ISystemLogin } from './system-login.interface';
2
+
3
+ export interface IUserSession {
4
+ systemLogins: ISystemLogin[];
5
+ }
@@ -1,10 +1,10 @@
1
- export interface IUserSystemAccess {
2
- UserSystemAccessId: number;
3
- UserId: number;
4
- SystemCode: string;
5
- Status: string;
6
- CreatedById: number;
7
- UpdatedById: number;
8
- CreatedAt: Date;
9
- UpdatedAt: Date;
10
- }
1
+ export interface IUserSystemAccess {
2
+ UserSystemAccessId: number;
3
+ UserId: number;
4
+ SystemCode: string;
5
+ Status: string;
6
+ CreatedById: number;
7
+ UpdatedById: number;
8
+ CreatedAt: Date;
9
+ UpdatedAt: Date;
10
+ }
@@ -1,101 +1,101 @@
1
- import {
2
- BelongsTo,
3
- Column,
4
- CreatedAt,
5
- DataType,
6
- ForeignKey,
7
- Index,
8
- Model,
9
- Table,
10
- } from 'sequelize-typescript';
11
- import User from './user.entity';
12
- import { APIKeyStatusEnum } from '../enum/api-key.enum';
13
- import SystemModel from './system.entity';
14
-
15
- @Table({
16
- tableName: 'sso_ApiKey',
17
- timestamps: true,
18
- createdAt: 'CreatedAt',
19
- updatedAt: false,
20
- })
21
- export default class APIKeyModel extends Model {
22
- @Column({
23
- primaryKey: true,
24
- type: DataType.INTEGER,
25
- allowNull: false,
26
- autoIncrement: true,
27
- })
28
- APIKeyId: number;
29
-
30
- @Column({
31
- type: DataType.STRING(128),
32
- })
33
- ApiKey: string;
34
-
35
- @Column({
36
- type: DataType.STRING(255),
37
- allowNull: false,
38
- })
39
- Name: string;
40
-
41
- @ForeignKey(() => SystemModel)
42
- @Column({
43
- allowNull: false,
44
- type: DataType.STRING(10),
45
- })
46
- SystemCode: string;
47
-
48
- @Column({
49
- type: DataType.TEXT,
50
- allowNull: true,
51
- })
52
- Description: string;
53
-
54
- @Column({
55
- type: DataType.STRING(50),
56
- allowNull: false,
57
- })
58
- Status: APIKeyStatusEnum;
59
-
60
- @Column({
61
- type: DataType.DATE,
62
- allowNull: true,
63
- })
64
- ExpirationDate: Date;
65
-
66
- @ForeignKey(() => User)
67
- @Column({
68
- type: DataType.INTEGER,
69
- })
70
- CreatedById: number;
71
-
72
- @ForeignKey(() => User)
73
- @Column({
74
- type: DataType.INTEGER,
75
- })
76
- RevokedById: number;
77
-
78
- @CreatedAt
79
- CreatedAt: Date;
80
-
81
- @Column({
82
- type: DataType.DATE,
83
- allowNull: true,
84
- })
85
- RevokedAt: Date;
86
-
87
- @Column({
88
- type: DataType.TEXT,
89
- allowNull: true,
90
- })
91
- RevokedReason: string;
92
-
93
- @BelongsTo(() => User, 'CreatedById')
94
- CreatedByUser: User;
95
-
96
- @BelongsTo(() => User, 'RevokedById')
97
- UpdatedByUser: User;
98
-
99
- @BelongsTo(() => SystemModel, 'SystemCode')
100
- System: SystemModel;
101
- }
1
+ import {
2
+ BelongsTo,
3
+ Column,
4
+ CreatedAt,
5
+ DataType,
6
+ ForeignKey,
7
+ Index,
8
+ Model,
9
+ Table,
10
+ } from 'sequelize-typescript';
11
+ import User from './user.entity';
12
+ import { APIKeyStatusEnum } from '../enum/api-key.enum';
13
+ import SystemModel from './system.entity';
14
+
15
+ @Table({
16
+ tableName: 'sso_ApiKey',
17
+ timestamps: true,
18
+ createdAt: 'CreatedAt',
19
+ updatedAt: false,
20
+ })
21
+ export default class APIKeyModel extends Model {
22
+ @Column({
23
+ primaryKey: true,
24
+ type: DataType.INTEGER,
25
+ allowNull: false,
26
+ autoIncrement: true,
27
+ })
28
+ APIKeyId: number;
29
+
30
+ @Column({
31
+ type: DataType.STRING(128),
32
+ })
33
+ ApiKey: string;
34
+
35
+ @Column({
36
+ type: DataType.STRING(255),
37
+ allowNull: false,
38
+ })
39
+ Name: string;
40
+
41
+ @ForeignKey(() => SystemModel)
42
+ @Column({
43
+ allowNull: false,
44
+ type: DataType.STRING(10),
45
+ })
46
+ SystemCode: string;
47
+
48
+ @Column({
49
+ type: DataType.TEXT,
50
+ allowNull: true,
51
+ })
52
+ Description: string;
53
+
54
+ @Column({
55
+ type: DataType.STRING(50),
56
+ allowNull: false,
57
+ })
58
+ Status: APIKeyStatusEnum;
59
+
60
+ @Column({
61
+ type: DataType.DATE,
62
+ allowNull: true,
63
+ })
64
+ ExpirationDate: Date;
65
+
66
+ @ForeignKey(() => User)
67
+ @Column({
68
+ type: DataType.INTEGER,
69
+ })
70
+ CreatedById: number;
71
+
72
+ @ForeignKey(() => User)
73
+ @Column({
74
+ type: DataType.INTEGER,
75
+ })
76
+ RevokedById: number;
77
+
78
+ @CreatedAt
79
+ CreatedAt: Date;
80
+
81
+ @Column({
82
+ type: DataType.DATE,
83
+ allowNull: true,
84
+ })
85
+ RevokedAt: Date;
86
+
87
+ @Column({
88
+ type: DataType.TEXT,
89
+ allowNull: true,
90
+ })
91
+ RevokedReason: string;
92
+
93
+ @BelongsTo(() => User, 'CreatedById')
94
+ CreatedByUser: User;
95
+
96
+ @BelongsTo(() => User, 'RevokedById')
97
+ UpdatedByUser: User;
98
+
99
+ @BelongsTo(() => SystemModel, 'SystemCode')
100
+ System: SystemModel;
101
+ }
@@ -1,103 +1,103 @@
1
- import {
2
- BelongsTo,
3
- Column,
4
- CreatedAt,
5
- DataType,
6
- ForeignKey,
7
- Model,
8
- Table,
9
- UpdatedAt,
10
- } from 'sequelize-typescript';
11
- import { BuildingTypeEnum } from '../enum/building-type.enum';
12
- import GroupModel from './group.entity';
13
-
14
- @Table({
15
- tableName: 'sso_Building',
16
- timestamps: true,
17
- createdAt: 'CreatedAt',
18
- updatedAt: 'UpdatedAt',
19
- })
20
- export default class BuildingModel extends Model {
21
- @ForeignKey(() => GroupModel)
22
- @Column({
23
- primaryKey: true,
24
- allowNull: false,
25
- type: DataType.STRING(10),
26
- })
27
- GroupCode: string;
28
-
29
- @Column({
30
- allowNull: false,
31
- type: DataType.STRING(100),
32
- })
33
- BuildingType: BuildingTypeEnum;
34
-
35
- @Column({
36
- allowNull: true,
37
- type: DataType.STRING(200),
38
- })
39
- Email: string;
40
-
41
- @Column({
42
- allowNull: true,
43
- type: DataType.STRING(20),
44
- })
45
- Mobile: string;
46
-
47
- @Column({
48
- allowNull: false,
49
- type: DataType.STRING(20),
50
- })
51
- Phone: string;
52
-
53
- @Column({
54
- allowNull: true,
55
- type: DataType.STRING(10),
56
- })
57
- Brand: string;
58
-
59
- @Column({
60
- allowNull: false,
61
- type: DataType.INTEGER,
62
- })
63
- AreaManagerUserId: number;
64
-
65
- @Column({
66
- allowNull: false,
67
- type: DataType.DATE,
68
- })
69
- OpeningDate: Date;
70
-
71
- @Column({
72
- allowNull: false,
73
- type: DataType.DATE,
74
- })
75
- CeasedDate: Date;
76
-
77
- @Column({
78
- allowNull: true,
79
- type: DataType.STRING(200),
80
- })
81
- OpeningHours: string;
82
-
83
- @Column({
84
- allowNull: false,
85
- type: DataType.INTEGER,
86
- })
87
- CreatedById: number;
88
-
89
- @Column({
90
- allowNull: false,
91
- type: DataType.INTEGER,
92
- })
93
- UpdatedById: number;
94
-
95
- @CreatedAt
96
- CreatedAt: Date;
97
-
98
- @UpdatedAt
99
- UpdatedAt: Date;
100
-
101
- @BelongsTo(() => GroupModel, 'GroupCode')
102
- Group: GroupModel;
103
- }
1
+ import {
2
+ BelongsTo,
3
+ Column,
4
+ CreatedAt,
5
+ DataType,
6
+ ForeignKey,
7
+ Model,
8
+ Table,
9
+ UpdatedAt,
10
+ } from 'sequelize-typescript';
11
+ import { BuildingTypeEnum } from '../enum/building-type.enum';
12
+ import GroupModel from './group.entity';
13
+
14
+ @Table({
15
+ tableName: 'sso_Building',
16
+ timestamps: true,
17
+ createdAt: 'CreatedAt',
18
+ updatedAt: 'UpdatedAt',
19
+ })
20
+ export default class BuildingModel extends Model {
21
+ @ForeignKey(() => GroupModel)
22
+ @Column({
23
+ primaryKey: true,
24
+ allowNull: false,
25
+ type: DataType.STRING(10),
26
+ })
27
+ GroupCode: string;
28
+
29
+ @Column({
30
+ allowNull: false,
31
+ type: DataType.STRING(100),
32
+ })
33
+ BuildingType: BuildingTypeEnum;
34
+
35
+ @Column({
36
+ allowNull: true,
37
+ type: DataType.STRING(200),
38
+ })
39
+ Email: string;
40
+
41
+ @Column({
42
+ allowNull: true,
43
+ type: DataType.STRING(20),
44
+ })
45
+ Mobile: string;
46
+
47
+ @Column({
48
+ allowNull: false,
49
+ type: DataType.STRING(20),
50
+ })
51
+ Phone: string;
52
+
53
+ @Column({
54
+ allowNull: true,
55
+ type: DataType.STRING(10),
56
+ })
57
+ Brand: string;
58
+
59
+ @Column({
60
+ allowNull: false,
61
+ type: DataType.INTEGER,
62
+ })
63
+ AreaManagerUserId: number;
64
+
65
+ @Column({
66
+ allowNull: false,
67
+ type: DataType.DATE,
68
+ })
69
+ OpeningDate: Date;
70
+
71
+ @Column({
72
+ allowNull: false,
73
+ type: DataType.DATE,
74
+ })
75
+ CeasedDate: Date;
76
+
77
+ @Column({
78
+ allowNull: true,
79
+ type: DataType.STRING(200),
80
+ })
81
+ OpeningHours: string;
82
+
83
+ @Column({
84
+ allowNull: false,
85
+ type: DataType.INTEGER,
86
+ })
87
+ CreatedById: number;
88
+
89
+ @Column({
90
+ allowNull: false,
91
+ type: DataType.INTEGER,
92
+ })
93
+ UpdatedById: number;
94
+
95
+ @CreatedAt
96
+ CreatedAt: Date;
97
+
98
+ @UpdatedAt
99
+ UpdatedAt: Date;
100
+
101
+ @BelongsTo(() => GroupModel, 'GroupCode')
102
+ Group: GroupModel;
103
+ }
@@ -1,91 +1,91 @@
1
- import {
2
- BelongsTo,
3
- Column,
4
- CreatedAt,
5
- DataType,
6
- ForeignKey,
7
- Model,
8
- Table,
9
- UpdatedAt,
10
- } from 'sequelize-typescript';
11
- import User from './user.entity';
12
- import GroupModel from './group.entity';
13
- import SystemPrivilegeModel from './system-privilege.entity';
14
- import { ObjectStatus } from '../enum/object-status.enum';
15
-
16
- @Table({
17
- tableName: 'sso_GroupObjectPrivilege',
18
- timestamps: true,
19
- createdAt: 'CreatedAt',
20
- updatedAt: 'UpdatedAt',
21
- })
22
- export default class GroupObjectPrivilegeModel extends Model {
23
- @Column({
24
- primaryKey: true,
25
- type: DataType.INTEGER,
26
- allowNull: false,
27
- autoIncrement: true,
28
- })
29
- GroupObjectPrivilegeId: number;
30
-
31
- @ForeignKey(() => GroupModel)
32
- @Column({
33
- type: DataType.STRING(10),
34
- })
35
- GroupCode: string;
36
-
37
- @ForeignKey(() => SystemPrivilegeModel)
38
- @Column({
39
- type: DataType.STRING(30),
40
- allowNull: false,
41
- })
42
- SystemPrivilegeId: string;
43
-
44
- @Column({
45
- type: DataType.STRING,
46
- allowNull: false,
47
- })
48
- ObjectId: string;
49
-
50
- @Column({
51
- type: DataType.STRING,
52
- allowNull: false,
53
- })
54
- ObjectType: string;
55
-
56
- @Column({
57
- type: DataType.STRING(10),
58
- allowNull: false,
59
- })
60
- Status: ObjectStatus;
61
-
62
- @ForeignKey(() => User)
63
- @Column({
64
- type: DataType.INTEGER,
65
- })
66
- CreatedById: number;
67
-
68
- @ForeignKey(() => User)
69
- @Column({
70
- type: DataType.INTEGER,
71
- })
72
- UpdatedById: number;
73
-
74
- @CreatedAt
75
- CreatedAt: Date;
76
-
77
- @UpdatedAt
78
- UpdatedAt: Date;
79
-
80
- @BelongsTo(() => SystemPrivilegeModel)
81
- Privilege: SystemPrivilegeModel;
82
-
83
- @BelongsTo(() => GroupModel)
84
- Group: GroupModel;
85
-
86
- @BelongsTo(() => User, 'CreatedById')
87
- CreatedByUser: User;
88
-
89
- @BelongsTo(() => User, 'UpdatedById')
90
- UpdatedByUser: User;
91
- }
1
+ import {
2
+ BelongsTo,
3
+ Column,
4
+ CreatedAt,
5
+ DataType,
6
+ ForeignKey,
7
+ Model,
8
+ Table,
9
+ UpdatedAt,
10
+ } from 'sequelize-typescript';
11
+ import User from './user.entity';
12
+ import GroupModel from './group.entity';
13
+ import SystemPrivilegeModel from './system-privilege.entity';
14
+ import { ObjectStatus } from '../enum/object-status.enum';
15
+
16
+ @Table({
17
+ tableName: 'sso_GroupObjectPrivilege',
18
+ timestamps: true,
19
+ createdAt: 'CreatedAt',
20
+ updatedAt: 'UpdatedAt',
21
+ })
22
+ export default class GroupObjectPrivilegeModel extends Model {
23
+ @Column({
24
+ primaryKey: true,
25
+ type: DataType.INTEGER,
26
+ allowNull: false,
27
+ autoIncrement: true,
28
+ })
29
+ GroupObjectPrivilegeId: number;
30
+
31
+ @ForeignKey(() => GroupModel)
32
+ @Column({
33
+ type: DataType.STRING(10),
34
+ })
35
+ GroupCode: string;
36
+
37
+ @ForeignKey(() => SystemPrivilegeModel)
38
+ @Column({
39
+ type: DataType.STRING(30),
40
+ allowNull: false,
41
+ })
42
+ SystemPrivilegeId: string;
43
+
44
+ @Column({
45
+ type: DataType.STRING,
46
+ allowNull: false,
47
+ })
48
+ ObjectId: string;
49
+
50
+ @Column({
51
+ type: DataType.STRING,
52
+ allowNull: false,
53
+ })
54
+ ObjectType: string;
55
+
56
+ @Column({
57
+ type: DataType.STRING(10),
58
+ allowNull: false,
59
+ })
60
+ Status: ObjectStatus;
61
+
62
+ @ForeignKey(() => User)
63
+ @Column({
64
+ type: DataType.INTEGER,
65
+ })
66
+ CreatedById: number;
67
+
68
+ @ForeignKey(() => User)
69
+ @Column({
70
+ type: DataType.INTEGER,
71
+ })
72
+ UpdatedById: number;
73
+
74
+ @CreatedAt
75
+ CreatedAt: Date;
76
+
77
+ @UpdatedAt
78
+ UpdatedAt: Date;
79
+
80
+ @BelongsTo(() => SystemPrivilegeModel)
81
+ Privilege: SystemPrivilegeModel;
82
+
83
+ @BelongsTo(() => GroupModel)
84
+ Group: GroupModel;
85
+
86
+ @BelongsTo(() => User, 'CreatedById')
87
+ CreatedByUser: User;
88
+
89
+ @BelongsTo(() => User, 'UpdatedById')
90
+ UpdatedByUser: User;
91
+ }