@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,127 +1,127 @@
1
- import {
2
- BelongsTo,
3
- Column,
4
- CreatedAt,
5
- DataType,
6
- ForeignKey,
7
- HasMany,
8
- Model,
9
- Table,
10
- UpdatedAt,
11
- } from 'sequelize-typescript';
12
- import User from './user.entity';
13
- import { GroupTypeEnum } from '../enum/group-type.enum';
14
- import UserGroupModel from './user-group.entity';
15
- import GroupPrivilegeModel from './group-privilege.entity';
16
- import GroupObjectPrivilegeModel from './group-object-privilege.entity';
17
- import GroupSystemAccessModel from './group-system-access.entity';
18
- import GroupReportingUserModel from './group-reporting-user.entity';
19
-
20
- @Table({
21
- tableName: 'sso_Group',
22
- timestamps: true,
23
- createdAt: 'CreatedAt',
24
- updatedAt: 'UpdatedAt',
25
- })
26
- export default class GroupModel extends Model {
27
- @Column({
28
- primaryKey: true,
29
- allowNull: false,
30
- type: DataType.STRING(10),
31
- })
32
- GroupCode: string;
33
-
34
- @Column({
35
- allowNull: false,
36
- type: DataType.STRING(50),
37
- })
38
- Name: string;
39
-
40
- @Column({
41
- allowNull: true,
42
- type: DataType.STRING(100),
43
- })
44
- Description: string;
45
-
46
- @Column({
47
- allowNull: false,
48
- type: DataType.STRING(2000),
49
- })
50
- Type: GroupTypeEnum;
51
-
52
- @ForeignKey(() => GroupModel)
53
- @Column({
54
- allowNull: true,
55
- type: DataType.STRING(10),
56
- })
57
- ParentGroupCode: string;
58
-
59
- @Column({
60
- type: DataType.CHAR(1),
61
- })
62
- InheritParentPrivilegeYN: string;
63
-
64
- @Column({
65
- type: DataType.CHAR(1),
66
- })
67
- InheritParentSystemAccessYN: string;
68
-
69
- @Column({
70
- allowNull: false,
71
- type: DataType.CHAR(10),
72
- })
73
- Status: string;
74
-
75
- @Column({
76
- allowNull: false,
77
- type: DataType.STRING(10),
78
- })
79
- Path: string;
80
-
81
- @ForeignKey(() => User)
82
- @Column({
83
- allowNull: false,
84
- type: DataType.INTEGER,
85
- })
86
- CreatedById: number;
87
-
88
- @ForeignKey(() => User)
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(() => User, 'CreatedById')
102
- CreatedByUser: User;
103
-
104
- @BelongsTo(() => User, 'UpdatedById')
105
- UpdatedByUser: User;
106
-
107
- @BelongsTo(() => GroupModel, 'ParentGroupCode')
108
- ParentGroup: GroupModel;
109
-
110
- @HasMany(() => GroupModel)
111
- ChildGroups: GroupModel[];
112
-
113
- @HasMany(() => UserGroupModel)
114
- UserGroups: UserGroupModel[];
115
-
116
- @HasMany(() => GroupPrivilegeModel)
117
- GroupPrivileges: GroupPrivilegeModel[];
118
-
119
- @HasMany(() => GroupObjectPrivilegeModel)
120
- GroupObjectPrivileges: GroupObjectPrivilegeModel[];
121
-
122
- @HasMany(() => GroupSystemAccessModel)
123
- GroupSystemAccesses: GroupSystemAccessModel[];
124
-
125
- @HasMany(() => GroupReportingUserModel)
126
- GroupReportingUsers: GroupReportingUserModel[];
127
- }
1
+ import {
2
+ BelongsTo,
3
+ Column,
4
+ CreatedAt,
5
+ DataType,
6
+ ForeignKey,
7
+ HasMany,
8
+ Model,
9
+ Table,
10
+ UpdatedAt,
11
+ } from 'sequelize-typescript';
12
+ import User from './user.entity';
13
+ import { GroupTypeEnum } from '../enum/group-type.enum';
14
+ import UserGroupModel from './user-group.entity';
15
+ import GroupPrivilegeModel from './group-privilege.entity';
16
+ import GroupObjectPrivilegeModel from './group-object-privilege.entity';
17
+ import GroupSystemAccessModel from './group-system-access.entity';
18
+ import GroupReportingUserModel from './group-reporting-user.entity';
19
+
20
+ @Table({
21
+ tableName: 'sso_Group',
22
+ timestamps: true,
23
+ createdAt: 'CreatedAt',
24
+ updatedAt: 'UpdatedAt',
25
+ })
26
+ export default class GroupModel extends Model {
27
+ @Column({
28
+ primaryKey: true,
29
+ allowNull: false,
30
+ type: DataType.STRING(10),
31
+ })
32
+ GroupCode: string;
33
+
34
+ @Column({
35
+ allowNull: false,
36
+ type: DataType.STRING(50),
37
+ })
38
+ Name: string;
39
+
40
+ @Column({
41
+ allowNull: true,
42
+ type: DataType.STRING(100),
43
+ })
44
+ Description: string;
45
+
46
+ @Column({
47
+ allowNull: false,
48
+ type: DataType.STRING(2000),
49
+ })
50
+ Type: GroupTypeEnum;
51
+
52
+ @ForeignKey(() => GroupModel)
53
+ @Column({
54
+ allowNull: true,
55
+ type: DataType.STRING(10),
56
+ })
57
+ ParentGroupCode: string;
58
+
59
+ @Column({
60
+ type: DataType.CHAR(1),
61
+ })
62
+ InheritParentPrivilegeYN: string;
63
+
64
+ @Column({
65
+ type: DataType.CHAR(1),
66
+ })
67
+ InheritParentSystemAccessYN: string;
68
+
69
+ @Column({
70
+ allowNull: false,
71
+ type: DataType.CHAR(10),
72
+ })
73
+ Status: string;
74
+
75
+ @Column({
76
+ allowNull: false,
77
+ type: DataType.STRING(10),
78
+ })
79
+ Path: string;
80
+
81
+ @ForeignKey(() => User)
82
+ @Column({
83
+ allowNull: false,
84
+ type: DataType.INTEGER,
85
+ })
86
+ CreatedById: number;
87
+
88
+ @ForeignKey(() => User)
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(() => User, 'CreatedById')
102
+ CreatedByUser: User;
103
+
104
+ @BelongsTo(() => User, 'UpdatedById')
105
+ UpdatedByUser: User;
106
+
107
+ @BelongsTo(() => GroupModel, 'ParentGroupCode')
108
+ ParentGroup: GroupModel;
109
+
110
+ @HasMany(() => GroupModel)
111
+ ChildGroups: GroupModel[];
112
+
113
+ @HasMany(() => UserGroupModel)
114
+ UserGroups: UserGroupModel[];
115
+
116
+ @HasMany(() => GroupPrivilegeModel)
117
+ GroupPrivileges: GroupPrivilegeModel[];
118
+
119
+ @HasMany(() => GroupObjectPrivilegeModel)
120
+ GroupObjectPrivileges: GroupObjectPrivilegeModel[];
121
+
122
+ @HasMany(() => GroupSystemAccessModel)
123
+ GroupSystemAccesses: GroupSystemAccessModel[];
124
+
125
+ @HasMany(() => GroupReportingUserModel)
126
+ GroupReportingUsers: GroupReportingUserModel[];
127
+ }
@@ -1,91 +1,91 @@
1
- import {
2
- BelongsTo,
3
- Column,
4
- CreatedAt,
5
- DataType,
6
- ForeignKey,
7
- HasMany,
8
- Model,
9
- Table,
10
- UpdatedAt,
11
- } from 'sequelize-typescript';
12
- import User from './user.entity';
13
-
14
- @Table({
15
- tableName: 'sso_Staff',
16
- timestamps: true,
17
- createdAt: 'CreatedAt',
18
- updatedAt: 'UpdatedAt',
19
- })
20
- export default class Staff extends Model {
21
- @Column({
22
- primaryKey: true,
23
- allowNull: false,
24
- type: DataType.STRING(10),
25
- })
26
- StaffNo: string;
27
-
28
- @ForeignKey(() => User)
29
- @Column({
30
- allowNull: false,
31
- type: DataType.INTEGER,
32
- })
33
- UserId: number;
34
-
35
- @Column({
36
- allowNull: true,
37
- type: DataType.STRING(20),
38
- })
39
- IdNo: string;
40
-
41
- @Column({
42
- allowNull: false,
43
- type: DataType.STRING(100),
44
- })
45
- StaffType: string;
46
-
47
- @Column({
48
- allowNull: false,
49
- type: DataType.STRING(100),
50
- })
51
- JobTitle: string;
52
-
53
- @Column({
54
- allowNull: true,
55
- type: DataType.STRING(20),
56
- })
57
- CarPlate: string;
58
-
59
- @Column({
60
- allowNull: true,
61
- type: DataType.INTEGER,
62
- })
63
- Floor: string;
64
-
65
- @Column({
66
- allowNull: true,
67
- type: DataType.STRING(20),
68
- })
69
- Extension: number;
70
-
71
- @Column({
72
- allowNull: false,
73
- type: DataType.STRING(100),
74
- })
75
- Status: string;
76
-
77
- @CreatedAt
78
- CreatedAt: Date;
79
-
80
- @UpdatedAt
81
- UpdatedAt: Date;
82
-
83
- @BelongsTo(() => User, 'UserId')
84
- User: User;
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
+ HasMany,
8
+ Model,
9
+ Table,
10
+ UpdatedAt,
11
+ } from 'sequelize-typescript';
12
+ import User from './user.entity';
13
+
14
+ @Table({
15
+ tableName: 'sso_Staff',
16
+ timestamps: true,
17
+ createdAt: 'CreatedAt',
18
+ updatedAt: 'UpdatedAt',
19
+ })
20
+ export default class Staff extends Model {
21
+ @Column({
22
+ primaryKey: true,
23
+ allowNull: false,
24
+ type: DataType.STRING(10),
25
+ })
26
+ StaffNo: string;
27
+
28
+ @ForeignKey(() => User)
29
+ @Column({
30
+ allowNull: false,
31
+ type: DataType.INTEGER,
32
+ })
33
+ UserId: number;
34
+
35
+ @Column({
36
+ allowNull: true,
37
+ type: DataType.STRING(20),
38
+ })
39
+ IdNo: string;
40
+
41
+ @Column({
42
+ allowNull: false,
43
+ type: DataType.STRING(100),
44
+ })
45
+ StaffType: string;
46
+
47
+ @Column({
48
+ allowNull: false,
49
+ type: DataType.STRING(100),
50
+ })
51
+ JobTitle: string;
52
+
53
+ @Column({
54
+ allowNull: true,
55
+ type: DataType.STRING(20),
56
+ })
57
+ CarPlate: string;
58
+
59
+ @Column({
60
+ allowNull: true,
61
+ type: DataType.INTEGER,
62
+ })
63
+ Floor: string;
64
+
65
+ @Column({
66
+ allowNull: true,
67
+ type: DataType.STRING(20),
68
+ })
69
+ Extension: number;
70
+
71
+ @Column({
72
+ allowNull: false,
73
+ type: DataType.STRING(100),
74
+ })
75
+ Status: string;
76
+
77
+ @CreatedAt
78
+ CreatedAt: Date;
79
+
80
+ @UpdatedAt
81
+ UpdatedAt: Date;
82
+
83
+ @BelongsTo(() => User, 'UserId')
84
+ User: User;
85
+
86
+ @BelongsTo(() => User, 'CreatedById')
87
+ CreatedByUser: User;
88
+
89
+ @BelongsTo(() => User, 'UpdatedById')
90
+ UpdatedByUser: User;
91
+ }
@@ -1,90 +1,90 @@
1
- import {
2
- BelongsTo,
3
- BelongsToMany,
4
- Column,
5
- CreatedAt,
6
- DataType,
7
- ForeignKey,
8
- Model,
9
- Table,
10
- UpdatedAt,
11
- } from 'sequelize-typescript';
12
- import System from './system.entity';
13
- import User from './user.entity';
14
- import UserPrivilegeModel from './user-privilege.entity';
15
-
16
- @Table({
17
- tableName: 'sso_SystemPrivilege',
18
- timestamps: true,
19
- createdAt: 'CreatedAt',
20
- updatedAt: 'UpdatedAt',
21
- })
22
- export default class SystemPrivilegeModel extends Model {
23
- @Column({
24
- primaryKey: true,
25
- allowNull: false,
26
- type: DataType.STRING(30),
27
- field: 'SystemPrivilegeId',
28
- })
29
- SystemPrivilegeId: string;
30
-
31
- @Column({
32
- allowNull: false,
33
- type: DataType.STRING(50),
34
- field: 'PrivilegeCode',
35
- })
36
- PrivilegeCode: string;
37
-
38
- @ForeignKey(() => System)
39
- @Column({
40
- allowNull: false,
41
- type: DataType.STRING(10),
42
- field: 'SystemCode',
43
- })
44
- SystemCode: string;
45
-
46
- @Column({
47
- allowNull: true,
48
- type: DataType.STRING(3000),
49
- field: 'Description',
50
- })
51
- Description: string;
52
-
53
- @Column({
54
- allowNull: false,
55
- type: DataType.CHAR(10),
56
- })
57
- Status: string;
58
-
59
- @ForeignKey(() => User)
60
- @Column({
61
- allowNull: false,
62
- type: DataType.INTEGER,
63
- })
64
- CreatedById: number;
65
-
66
- @ForeignKey(() => User)
67
- @Column({
68
- allowNull: false,
69
- type: DataType.INTEGER,
70
- })
71
- UpdatedById: number;
72
-
73
- @CreatedAt
74
- CreatedAt: Date;
75
-
76
- @UpdatedAt
77
- UpdatedAt: Date;
78
-
79
- @BelongsTo(() => System)
80
- System: System;
81
-
82
- @BelongsTo(() => User, 'CreatedById')
83
- CreatedByUser: User;
84
-
85
- @BelongsTo(() => User, 'UpdatedById')
86
- UpdatedByUser: User;
87
-
88
- @BelongsToMany(() => User, () => UserPrivilegeModel)
89
- User: User[];
90
- }
1
+ import {
2
+ BelongsTo,
3
+ BelongsToMany,
4
+ Column,
5
+ CreatedAt,
6
+ DataType,
7
+ ForeignKey,
8
+ Model,
9
+ Table,
10
+ UpdatedAt,
11
+ } from 'sequelize-typescript';
12
+ import System from './system.entity';
13
+ import User from './user.entity';
14
+ import UserPrivilegeModel from './user-privilege.entity';
15
+
16
+ @Table({
17
+ tableName: 'sso_SystemPrivilege',
18
+ timestamps: true,
19
+ createdAt: 'CreatedAt',
20
+ updatedAt: 'UpdatedAt',
21
+ })
22
+ export default class SystemPrivilegeModel extends Model {
23
+ @Column({
24
+ primaryKey: true,
25
+ allowNull: false,
26
+ type: DataType.STRING(30),
27
+ field: 'SystemPrivilegeId',
28
+ })
29
+ SystemPrivilegeId: string;
30
+
31
+ @Column({
32
+ allowNull: false,
33
+ type: DataType.STRING(50),
34
+ field: 'PrivilegeCode',
35
+ })
36
+ PrivilegeCode: string;
37
+
38
+ @ForeignKey(() => System)
39
+ @Column({
40
+ allowNull: false,
41
+ type: DataType.STRING(10),
42
+ field: 'SystemCode',
43
+ })
44
+ SystemCode: string;
45
+
46
+ @Column({
47
+ allowNull: true,
48
+ type: DataType.STRING(3000),
49
+ field: 'Description',
50
+ })
51
+ Description: string;
52
+
53
+ @Column({
54
+ allowNull: false,
55
+ type: DataType.CHAR(10),
56
+ })
57
+ Status: string;
58
+
59
+ @ForeignKey(() => User)
60
+ @Column({
61
+ allowNull: false,
62
+ type: DataType.INTEGER,
63
+ })
64
+ CreatedById: number;
65
+
66
+ @ForeignKey(() => User)
67
+ @Column({
68
+ allowNull: false,
69
+ type: DataType.INTEGER,
70
+ })
71
+ UpdatedById: number;
72
+
73
+ @CreatedAt
74
+ CreatedAt: Date;
75
+
76
+ @UpdatedAt
77
+ UpdatedAt: Date;
78
+
79
+ @BelongsTo(() => System)
80
+ System: System;
81
+
82
+ @BelongsTo(() => User, 'CreatedById')
83
+ CreatedByUser: User;
84
+
85
+ @BelongsTo(() => User, 'UpdatedById')
86
+ UpdatedByUser: User;
87
+
88
+ @BelongsToMany(() => User, () => UserPrivilegeModel)
89
+ User: User[];
90
+ }