@tomei/sso 0.8.1 → 0.8.4

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 (198) hide show
  1. package/Jenkinsfile +7 -2
  2. package/__tests__/unit/components/login-history/login-history.repository.spec.ts +88 -88
  3. package/__tests__/unit/components/login-user/login-user.spec.ts +731 -731
  4. package/__tests__/unit/components/login-user/user.repository.spec.ts +75 -75
  5. package/__tests__/unit/components/password-hash/password-hash.service.spec.ts +26 -26
  6. package/__tests__/unit/components/system/system.repository.spec.ts +82 -82
  7. package/__tests__/unit/components/system-access/system-access.repository.spec.ts +72 -72
  8. package/dist/__tests__/unit/components/login-history/login-history.repository.spec.d.ts +0 -1
  9. package/dist/__tests__/unit/components/login-history/login-history.repository.spec.js +0 -98
  10. package/dist/__tests__/unit/components/login-history/login-history.repository.spec.js.map +1 -1
  11. package/dist/__tests__/unit/components/login-user/login-user.spec.d.ts +0 -1
  12. package/dist/__tests__/unit/components/login-user/login-user.spec.js +0 -659
  13. package/dist/__tests__/unit/components/login-user/login-user.spec.js.map +1 -1
  14. package/dist/__tests__/unit/components/login-user/user.repository.spec.d.ts +0 -1
  15. package/dist/__tests__/unit/components/login-user/user.repository.spec.js +0 -77
  16. package/dist/__tests__/unit/components/login-user/user.repository.spec.js.map +1 -1
  17. package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.d.ts +0 -1
  18. package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.js +0 -37
  19. package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.js.map +1 -1
  20. package/dist/__tests__/unit/components/system/system.repository.spec.d.ts +0 -1
  21. package/dist/__tests__/unit/components/system/system.repository.spec.js +0 -84
  22. package/dist/__tests__/unit/components/system/system.repository.spec.js.map +1 -1
  23. package/dist/__tests__/unit/components/system-access/system-access.repository.spec.d.ts +0 -1
  24. package/dist/__tests__/unit/components/system-access/system-access.repository.spec.js +0 -74
  25. package/dist/__tests__/unit/components/system-access/system-access.repository.spec.js.map +1 -1
  26. package/dist/src/components/login-history/login-history.repository.d.ts +4 -8
  27. package/dist/src/components/login-history/login-history.repository.js +5 -43
  28. package/dist/src/components/login-history/login-history.repository.js.map +1 -1
  29. package/dist/src/components/login-user/login-user.d.ts +1 -0
  30. package/dist/src/components/login-user/login-user.js +61 -55
  31. package/dist/src/components/login-user/login-user.js.map +1 -1
  32. package/dist/src/components/login-user/user.repository.d.ts +4 -8
  33. package/dist/src/components/login-user/user.repository.js +5 -43
  34. package/dist/src/components/login-user/user.repository.js.map +1 -1
  35. package/dist/src/components/system/system.repository.d.ts +4 -8
  36. package/dist/src/components/system/system.repository.js +5 -43
  37. package/dist/src/components/system/system.repository.js.map +1 -1
  38. package/dist/src/components/system-access/system-access.repository.d.ts +4 -8
  39. package/dist/src/components/system-access/system-access.repository.js +5 -43
  40. package/dist/src/components/system-access/system-access.repository.js.map +1 -1
  41. package/dist/src/components/user-group/user-group.repository.d.ts +4 -8
  42. package/dist/src/components/user-group/user-group.repository.js +5 -43
  43. package/dist/src/components/user-group/user-group.repository.js.map +1 -1
  44. package/dist/src/components/user-user-group/user-user-group.repository.d.ts +4 -8
  45. package/dist/src/components/user-user-group/user-user-group.repository.js +5 -43
  46. package/dist/src/components/user-user-group/user-user-group.repository.js.map +1 -1
  47. package/dist/src/database.d.ts +4 -0
  48. package/dist/src/database.js +15 -0
  49. package/dist/src/database.js.map +1 -0
  50. package/dist/src/models/authorization-code.entity.d.ts +14 -0
  51. package/dist/src/models/authorization-code.entity.js +86 -0
  52. package/dist/src/models/authorization-code.entity.js.map +1 -0
  53. package/dist/src/models/bearer-token.entity.d.ts +11 -0
  54. package/dist/src/models/bearer-token.entity.js +72 -0
  55. package/dist/src/models/bearer-token.entity.js.map +1 -0
  56. package/dist/src/models/building-type.entity.d.ts +7 -0
  57. package/dist/src/models/building-type.entity.js +50 -0
  58. package/dist/src/models/building-type.entity.js.map +1 -0
  59. package/dist/src/models/building.entity.d.ts +39 -0
  60. package/dist/src/models/building.entity.js +251 -0
  61. package/dist/src/models/building.entity.js.map +1 -0
  62. package/dist/src/models/city.entity.d.ts +11 -0
  63. package/dist/src/models/city.entity.js +72 -0
  64. package/dist/src/models/city.entity.js.map +1 -0
  65. package/dist/src/models/company.entity.d.ts +18 -0
  66. package/dist/src/models/company.entity.js +114 -0
  67. package/dist/src/models/company.entity.js.map +1 -0
  68. package/dist/src/models/country.entity.d.ts +15 -0
  69. package/dist/src/models/country.entity.js +92 -0
  70. package/dist/src/models/country.entity.js.map +1 -0
  71. package/dist/src/models/department.entity.d.ts +19 -0
  72. package/dist/src/models/department.entity.js +112 -0
  73. package/dist/src/models/department.entity.js.map +1 -0
  74. package/dist/src/models/group-role-privilege.entity.d.ts +17 -0
  75. package/dist/src/models/group-role-privilege.entity.js +90 -0
  76. package/dist/src/models/group-role-privilege.entity.js.map +1 -0
  77. package/dist/src/models/group-system-access.entity.d.ts +11 -0
  78. package/dist/src/models/group-system-access.entity.js +62 -0
  79. package/dist/src/models/group-system-access.entity.js.map +1 -0
  80. package/dist/src/models/group-system-privilege.entity.d.ts +11 -0
  81. package/dist/src/models/group-system-privilege.entity.js +62 -0
  82. package/dist/src/models/group-system-privilege.entity.js.map +1 -0
  83. package/dist/src/models/group-system-role.entity.d.ts +11 -0
  84. package/dist/src/models/group-system-role.entity.js +62 -0
  85. package/dist/src/models/group-system-role.entity.js.map +1 -0
  86. package/dist/src/models/login-history.entity.d.ts +12 -0
  87. package/dist/src/models/login-history.entity.js +70 -0
  88. package/dist/src/models/login-history.entity.js.map +1 -0
  89. package/dist/src/models/oauth-token.entity.d.ts +14 -0
  90. package/dist/src/models/oauth-token.entity.js +86 -0
  91. package/dist/src/models/oauth-token.entity.js.map +1 -0
  92. package/dist/src/models/role.entity.d.ts +17 -0
  93. package/dist/src/models/role.entity.js +102 -0
  94. package/dist/src/models/role.entity.js.map +1 -0
  95. package/dist/src/models/staff-type.entity.d.ts +7 -0
  96. package/dist/src/models/staff-type.entity.js +50 -0
  97. package/dist/src/models/staff-type.entity.js.map +1 -0
  98. package/dist/src/models/staff.entity.d.ts +39 -0
  99. package/dist/src/models/staff.entity.js +250 -0
  100. package/dist/src/models/staff.entity.js.map +1 -0
  101. package/dist/src/models/state.entity.d.ts +10 -0
  102. package/dist/src/models/state.entity.js +64 -0
  103. package/dist/src/models/state.entity.js.map +1 -0
  104. package/dist/src/models/system-accesss.entity.d.ts +6 -0
  105. package/dist/src/models/system-accesss.entity.js +51 -0
  106. package/dist/src/models/system-accesss.entity.js.map +1 -0
  107. package/dist/src/models/system-privilege.entity.d.ts +16 -0
  108. package/dist/src/models/system-privilege.entity.js +90 -0
  109. package/dist/src/models/system-privilege.entity.js.map +1 -0
  110. package/dist/src/models/system-role-privilege.entity.d.ts +11 -0
  111. package/dist/src/models/system-role-privilege.entity.js +60 -0
  112. package/dist/src/models/system-role-privilege.entity.js.map +1 -0
  113. package/dist/src/models/system-role.entity.d.ts +11 -0
  114. package/dist/src/models/system-role.entity.js +83 -0
  115. package/dist/src/models/system-role.entity.js.map +1 -0
  116. package/dist/src/models/system.entity.d.ts +19 -0
  117. package/dist/src/models/system.entity.js +146 -0
  118. package/dist/src/models/system.entity.js.map +1 -0
  119. package/dist/src/models/user-group.entity.d.ts +23 -0
  120. package/dist/src/models/user-group.entity.js +140 -0
  121. package/dist/src/models/user-group.entity.js.map +1 -0
  122. package/dist/src/models/user-role.entity.d.ts +9 -0
  123. package/dist/src/models/user-role.entity.js +62 -0
  124. package/dist/src/models/user-role.entity.js.map +1 -0
  125. package/dist/src/models/user-system-privileges.entity.d.ts +13 -0
  126. package/dist/src/models/user-system-privileges.entity.js +80 -0
  127. package/dist/src/models/user-system-privileges.entity.js.map +1 -0
  128. package/dist/src/models/user-system-role.entity.d.ts +11 -0
  129. package/dist/src/models/user-system-role.entity.js +60 -0
  130. package/dist/src/models/user-system-role.entity.js.map +1 -0
  131. package/dist/src/models/user-user-group.entity.d.ts +14 -0
  132. package/dist/src/models/user-user-group.entity.js +73 -0
  133. package/dist/src/models/user-user-group.entity.js.map +1 -0
  134. package/dist/src/models/user.entity.d.ts +30 -0
  135. package/dist/src/models/user.entity.js +131 -0
  136. package/dist/src/models/user.entity.js.map +1 -0
  137. package/dist/tsconfig.tsbuildinfo +1 -1
  138. package/migrations/01-alter-system-privilege-table.js +13 -0
  139. package/migrations/02-alter-user-group-table.js +78 -0
  140. package/migrations/03-alter-user-system-privilege-table.js +38 -0
  141. package/migrations/04-create-user-user-group-table.js +55 -0
  142. package/migrations/05-create-login-history-table.js +49 -0
  143. package/package.json +8 -4
  144. package/src/components/login-history/login-history.repository.ts +9 -31
  145. package/src/components/login-user/login-user.ts +65 -65
  146. package/src/components/login-user/user.repository.ts +9 -31
  147. package/src/components/system/system.repository.ts +9 -31
  148. package/src/components/system-access/system-access.repository.ts +9 -31
  149. package/src/components/user-group/user-group.repository.ts +9 -31
  150. package/src/components/user-user-group/user-user-group.repository.ts +9 -31
  151. package/src/database.ts +15 -0
  152. package/src/models/authorization-code.entity.ts +71 -0
  153. package/src/models/bearer-token.entity.ts +59 -0
  154. package/src/models/building-type.entity.ts +38 -0
  155. package/src/models/building.entity.ts +215 -0
  156. package/src/models/city.entity.ts +59 -0
  157. package/src/models/company.entity.ts +96 -0
  158. package/src/models/country.entity.ts +75 -0
  159. package/src/models/department.entity.ts +94 -0
  160. package/src/models/group-role-privilege.entity.ts +73 -0
  161. package/src/models/group-system-access.entity.ts +49 -0
  162. package/src/models/group-system-privilege.entity.ts +49 -0
  163. package/src/models/group-system-role.entity.ts +49 -0
  164. package/src/models/login-history.entity.ts +56 -0
  165. package/src/models/oauth-token.entity.ts +71 -0
  166. package/src/models/role.entity.ts +85 -0
  167. package/src/models/staff-type.entity.ts +38 -0
  168. package/src/models/staff.entity.ts +213 -0
  169. package/src/models/state.entity.ts +52 -0
  170. package/src/models/system-accesss.entity.ts +40 -0
  171. package/src/models/system-privilege.entity.ts +75 -0
  172. package/src/models/system-role-privilege.entity.ts +48 -0
  173. package/src/models/system-role.entity.ts +68 -0
  174. package/src/models/system.entity.ts +122 -0
  175. package/src/models/user-group.entity.ts +118 -0
  176. package/src/models/user-role.entity.ts +50 -0
  177. package/src/models/user-system-privileges.entity.ts +66 -0
  178. package/src/models/user-system-role.entity.ts +48 -0
  179. package/src/models/user-user-group.entity.ts +59 -0
  180. package/src/models/user.entity.ts +110 -0
  181. package/dist/src/mail/index.d.ts +0 -2
  182. package/dist/src/mail/index.js +0 -19
  183. package/dist/src/mail/index.js.map +0 -1
  184. package/dist/src/mail/interfaces/index.d.ts +0 -2
  185. package/dist/src/mail/interfaces/index.js +0 -19
  186. package/dist/src/mail/interfaces/index.js.map +0 -1
  187. package/dist/src/mail/interfaces/send-mail.interface.d.ts +0 -8
  188. package/dist/src/mail/interfaces/send-mail.interface.js +0 -3
  189. package/dist/src/mail/interfaces/send-mail.interface.js.map +0 -1
  190. package/dist/src/mail/interfaces/send-new-login-alert.interface.d.ts +0 -6
  191. package/dist/src/mail/interfaces/send-new-login-alert.interface.js +0 -3
  192. package/dist/src/mail/interfaces/send-new-login-alert.interface.js.map +0 -1
  193. package/dist/src/mail/mail.d.ts +0 -7
  194. package/dist/src/mail/mail.js +0 -49
  195. package/dist/src/mail/mail.js.map +0 -1
  196. package/dist/src/mail/mail.service.d.ts +0 -7
  197. package/dist/src/mail/mail.service.js +0 -42
  198. package/dist/src/mail/mail.service.js.map +0 -1
@@ -1,33 +1,11 @@
1
- import prisma from '../../prisma-client/client';
2
-
3
- export class SystemAccessRepository {
4
- private _prisma: any;
5
-
6
- constructor(client?: any) {
7
- if (client) {
8
- this._prisma = client;
9
- } else {
10
- this._prisma = prisma;
11
- }
12
- }
13
-
14
- public async create(data: any): Promise<any> {
15
- return await this._prisma.systemAccess.create(data);
16
- }
17
-
18
- public async findAll(options: any): Promise<any[]> {
19
- return await this._prisma.systemAccess.findMany(options);
20
- }
21
-
22
- public async findOne(options: any): Promise<any> {
23
- return await this._prisma.systemAccess.findFirst(options);
24
- }
25
-
26
- public async update(where: any, data: any): Promise<any> {
27
- return await this._prisma.systemAccess.update(where, data);
28
- }
29
-
30
- public async delete(where: any): Promise<any> {
31
- return await this._prisma.systemAccess.delete(where);
1
+ import SystemAccess from '../../models/system-accesss.entity';
2
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
3
+
4
+ export class SystemAccessRepository
5
+ extends RepositoryBase<SystemAccess>
6
+ implements IRepositoryBase<SystemAccess>
7
+ {
8
+ constructor() {
9
+ super(SystemAccess);
32
10
  }
33
11
  }
@@ -1,33 +1,11 @@
1
- import prisma from '../../prisma-client/client';
2
-
3
- export class UserGroupRepository {
4
- private _prisma: any;
5
-
6
- constructor(client?: any) {
7
- if (client) {
8
- this._prisma = client;
9
- } else {
10
- this._prisma = prisma;
11
- }
12
- }
13
-
14
- public async create(data: any): Promise<any> {
15
- return await this._prisma.userGroup.create(data);
16
- }
17
-
18
- public async findAll(options: any): Promise<any[]> {
19
- return await this._prisma.userGroup.findMany(options);
20
- }
21
-
22
- public async findOne(options: any): Promise<any> {
23
- return await this._prisma.userGroup.findFirst(options);
24
- }
25
-
26
- public async update(where: any, data: any): Promise<any> {
27
- return await this._prisma.userGroup.update(where, data);
28
- }
29
-
30
- public async delete(where: any): Promise<any> {
31
- return await this._prisma.userGroups.delete(where);
1
+ import UserGroup from '../../models/user-group.entity';
2
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
3
+
4
+ export class UserGroupRepository
5
+ extends RepositoryBase<UserGroup>
6
+ implements IRepositoryBase<UserGroup>
7
+ {
8
+ constructor() {
9
+ super(UserGroup);
32
10
  }
33
11
  }
@@ -1,33 +1,11 @@
1
- import prisma from '../../prisma-client/client';
2
-
3
- export class UserUserGroupRepository {
4
- private _prisma: any;
5
-
6
- constructor(client?: any) {
7
- if (client) {
8
- this._prisma = client;
9
- } else {
10
- this._prisma = prisma;
11
- }
12
- }
13
-
14
- public async create(data: any): Promise<any> {
15
- return await this._prisma.userUserGroup.create(data);
16
- }
17
-
18
- public async findAll(options: any): Promise<any[]> {
19
- return await this._prisma.userUserGroup.findMany(options);
20
- }
21
-
22
- public async findOne(options: any): Promise<any> {
23
- return await this._prisma.userUserGroup.findFirst(options);
24
- }
25
-
26
- public async update(where: any, data: any): Promise<any> {
27
- return await this._prisma.userUserGroup.update(where, data);
28
- }
29
-
30
- public async delete(where: any): Promise<any> {
31
- return await this._prisma.userUserGroup.delete(where);
1
+ import UserUserGroup from '../../models/user-user-group.entity';
2
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
3
+
4
+ export class UserUserGroupRepository
5
+ extends RepositoryBase<UserUserGroup>
6
+ implements IRepositoryBase<UserUserGroup>
7
+ {
8
+ constructor() {
9
+ super(UserUserGroup);
32
10
  }
33
11
  }
@@ -0,0 +1,15 @@
1
+ import { Sequelize, SequelizeOptions } from 'sequelize-typescript';
2
+
3
+ let sequelize: Sequelize;
4
+
5
+ function init(sequelizeOptions: SequelizeOptions) {
6
+ sequelize = new Sequelize(sequelizeOptions);
7
+
8
+ sequelize.addModels([__dirname + '/models']);
9
+ }
10
+
11
+ function getConnection() {
12
+ return sequelize;
13
+ }
14
+
15
+ export { init, getConnection };
@@ -0,0 +1,71 @@
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 System from './system.entity';
13
+
14
+ @Table({
15
+ tableName: 'sso_authorization_codes',
16
+ timestamps: true,
17
+ createdAt: 'created_at',
18
+ updatedAt: 'updated_at',
19
+ underscored: true,
20
+ })
21
+ export default class AuthorizationCode extends Model {
22
+ @ForeignKey(() => User)
23
+ @Column({
24
+ primaryKey: true,
25
+ allowNull: false,
26
+ type: DataType.INTEGER,
27
+ field: 'user_id',
28
+ })
29
+ UserId: number;
30
+
31
+ @ForeignKey(() => System)
32
+ @Column({
33
+ allowNull: false,
34
+ type: DataType.INTEGER,
35
+ field: 'system_id',
36
+ })
37
+ SystemId: number;
38
+
39
+ @Column({
40
+ allowNull: false,
41
+ type: DataType.STRING,
42
+ field: 'code',
43
+ })
44
+ Code: string;
45
+
46
+ @Column({
47
+ allowNull: false,
48
+ type: DataType.DATE,
49
+ field: 'expired_at',
50
+ })
51
+ ExpiredAt: string;
52
+
53
+ @Column({
54
+ allowNull: false,
55
+ type: DataType.STRING,
56
+ field: 'status',
57
+ })
58
+ status: string;
59
+
60
+ @CreatedAt
61
+ CreatedAt: Date;
62
+
63
+ @UpdatedAt
64
+ UpdatedAt: Date;
65
+
66
+ @BelongsTo(() => User)
67
+ User: User;
68
+
69
+ @BelongsTo(() => System)
70
+ System: System;
71
+ }
@@ -0,0 +1,59 @@
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
+
13
+ @Table({
14
+ tableName: 'sso_bearer_tokens',
15
+ timestamps: true,
16
+ createdAt: 'created_at',
17
+ updatedAt: 'updated_at',
18
+ underscored: true,
19
+ })
20
+ export default class BearerToken extends Model {
21
+ @Column({
22
+ primaryKey: true,
23
+ allowNull: false,
24
+ autoIncrement: true,
25
+ type: DataType.INTEGER,
26
+ })
27
+ id: number;
28
+
29
+ @ForeignKey(() => User)
30
+ @Column({
31
+ allowNull: false,
32
+ type: DataType.INTEGER,
33
+ field: 'user_id',
34
+ })
35
+ UserId: number;
36
+
37
+ @Column({
38
+ allowNull: false,
39
+ type: DataType.STRING,
40
+ field: 'token',
41
+ })
42
+ Token: string;
43
+
44
+ @Column({
45
+ allowNull: false,
46
+ type: DataType.DATE,
47
+ field: 'expired_at',
48
+ })
49
+ ExpiredAt: string;
50
+
51
+ @CreatedAt
52
+ CreatedAt: Date;
53
+
54
+ @UpdatedAt
55
+ UpdatedAt: Date;
56
+
57
+ @BelongsTo(() => User)
58
+ User: User;
59
+ }
@@ -0,0 +1,38 @@
1
+ import {
2
+ Column,
3
+ CreatedAt,
4
+ DataType,
5
+ Model,
6
+ Table,
7
+ UpdatedAt,
8
+ } from 'sequelize-typescript';
9
+
10
+ @Table({
11
+ tableName: 'sso_building_types',
12
+ timestamps: true,
13
+ createdAt: 'created_at',
14
+ updatedAt: 'updated_at',
15
+ underscored: true,
16
+ })
17
+ export default class BuildingType extends Model {
18
+ @Column({
19
+ primaryKey: true,
20
+ allowNull: false,
21
+ autoIncrement: true,
22
+ type: DataType.INTEGER,
23
+ })
24
+ id: number;
25
+
26
+ @Column({
27
+ allowNull: false,
28
+ type: DataType.STRING,
29
+ field: 'name',
30
+ })
31
+ Name: string;
32
+
33
+ @CreatedAt
34
+ CreatedAt: Date;
35
+
36
+ @UpdatedAt
37
+ UpdatedAt: Date;
38
+ }
@@ -0,0 +1,215 @@
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 BuildingType from './building-type.entity';
13
+ import Country from './country.entity';
14
+ import User from './user.entity';
15
+ import Department from './department.entity';
16
+ import Staff from './staff.entity';
17
+
18
+ @Table({
19
+ tableName: 'sso_buildings',
20
+ timestamps: true,
21
+ createdAt: 'created_at',
22
+ updatedAt: 'updated_at',
23
+ underscored: true,
24
+ })
25
+ export default class Building extends Model {
26
+ @Column({
27
+ primaryKey: true,
28
+ allowNull: false,
29
+ autoIncrement: true,
30
+ type: DataType.INTEGER,
31
+ })
32
+ id: number;
33
+
34
+ @Column({
35
+ allowNull: true,
36
+ type: DataType.STRING,
37
+ field: 'name',
38
+ })
39
+ Name: string;
40
+
41
+ @Column({
42
+ allowNull: false,
43
+ type: DataType.STRING,
44
+ field: 'code',
45
+ })
46
+ Code: string;
47
+
48
+ @ForeignKey(() => BuildingType)
49
+ @Column({
50
+ allowNull: false,
51
+ type: DataType.INTEGER,
52
+ field: 'building_type_id',
53
+ })
54
+ BuildingTypeId: number;
55
+
56
+ @Column({
57
+ allowNull: false,
58
+ type: DataType.STRING,
59
+ field: 'status',
60
+ })
61
+ Status: string;
62
+
63
+ @Column({
64
+ allowNull: true,
65
+ type: DataType.STRING,
66
+ field: 'email',
67
+ })
68
+ Email: string;
69
+
70
+ @Column({
71
+ allowNull: true,
72
+ type: DataType.STRING,
73
+ field: 'mobile',
74
+ })
75
+ Mobile: string;
76
+
77
+ @Column({
78
+ allowNull: false,
79
+ type: DataType.STRING,
80
+ field: 'phone',
81
+ })
82
+ Phone: string;
83
+
84
+ @Column({
85
+ allowNull: false,
86
+ type: DataType.STRING,
87
+ field: 'address',
88
+ })
89
+ Address: string;
90
+
91
+ @Column({
92
+ allowNull: true,
93
+ type: DataType.STRING,
94
+ field: 'latitude',
95
+ })
96
+ Latitude: string;
97
+
98
+ @Column({
99
+ allowNull: true,
100
+ type: DataType.STRING,
101
+ field: 'longitude',
102
+ })
103
+ Longitude: string;
104
+
105
+ @Column({
106
+ allowNull: false,
107
+ type: DataType.STRING,
108
+ field: 'postcode',
109
+ })
110
+ PostCode: string;
111
+
112
+ @ForeignKey(() => Country)
113
+ @Column({
114
+ allowNull: false,
115
+ type: DataType.INTEGER,
116
+ field: 'country_id',
117
+ })
118
+ CountryId: number;
119
+
120
+ @Column({
121
+ allowNull: false,
122
+ type: DataType.STRING,
123
+ field: 'state',
124
+ })
125
+ State: string;
126
+
127
+ @Column({
128
+ allowNull: false,
129
+ type: DataType.STRING,
130
+ field: 'city',
131
+ })
132
+ City: string;
133
+
134
+ @ForeignKey(() => User)
135
+ @Column({
136
+ allowNull: true,
137
+ type: DataType.INTEGER,
138
+ field: 'created_by_id',
139
+ })
140
+ CreatedById: number;
141
+
142
+ @ForeignKey(() => User)
143
+ @Column({
144
+ allowNull: true,
145
+ type: DataType.INTEGER,
146
+ field: 'updated_by_id',
147
+ })
148
+ UpdatedById: number;
149
+
150
+ @Column({
151
+ allowNull: true,
152
+ type: DataType.STRING,
153
+ field: 'brand',
154
+ })
155
+ Brand: string;
156
+
157
+ @Column({
158
+ allowNull: true,
159
+ type: DataType.STRING,
160
+ field: 'area_staff_id',
161
+ })
162
+ AreaStaffId: string;
163
+
164
+ @Column({
165
+ allowNull: true,
166
+ type: DataType.DATE,
167
+ field: 'opening_date',
168
+ })
169
+ OpeningDate: Date;
170
+
171
+ @Column({
172
+ allowNull: true,
173
+ type: DataType.DATE,
174
+ field: 'ceased_date',
175
+ })
176
+ CeasedDate: Date;
177
+
178
+ @Column({
179
+ allowNull: true,
180
+ type: DataType.STRING,
181
+ field: 'opening_hours',
182
+ })
183
+ OpeningHours: string;
184
+
185
+ @Column({
186
+ allowNull: true,
187
+ type: DataType.STRING,
188
+ field: 'image',
189
+ })
190
+ Image: string;
191
+
192
+ @CreatedAt
193
+ CreatedAt: Date;
194
+
195
+ @UpdatedAt
196
+ UpdatedAt: Date;
197
+
198
+ @BelongsTo(() => BuildingType)
199
+ BuildingType: BuildingType;
200
+
201
+ @BelongsTo(() => Country)
202
+ Country: Country;
203
+
204
+ @BelongsTo(() => User, 'created_by_id')
205
+ CreatedBy: User;
206
+
207
+ @BelongsTo(() => User, 'updated_by_id')
208
+ UpdatedBy: User;
209
+
210
+ @HasMany(() => Department)
211
+ Departments: Department[];
212
+
213
+ @HasMany(() => Staff)
214
+ Staffs: Staff[];
215
+ }
@@ -0,0 +1,59 @@
1
+ import {
2
+ BelongsTo,
3
+ Column,
4
+ CreatedAt,
5
+ DataType,
6
+ ForeignKey,
7
+ Model,
8
+ Table,
9
+ UpdatedAt,
10
+ } from 'sequelize-typescript';
11
+ import State from './state.entity';
12
+
13
+ @Table({
14
+ tableName: 'sso_cities',
15
+ timestamps: true,
16
+ createdAt: 'created_at',
17
+ updatedAt: 'updated_at',
18
+ underscored: true,
19
+ })
20
+ export default class City extends Model {
21
+ @Column({
22
+ primaryKey: true,
23
+ allowNull: false,
24
+ autoIncrement: true,
25
+ type: DataType.INTEGER,
26
+ })
27
+ id: number;
28
+
29
+ @Column({
30
+ allowNull: true,
31
+ type: DataType.STRING,
32
+ field: 'name',
33
+ })
34
+ Name: string;
35
+
36
+ @ForeignKey(() => State)
37
+ @Column({
38
+ allowNull: true,
39
+ type: DataType.INTEGER,
40
+ field: 'state_id',
41
+ })
42
+ StateId: number;
43
+
44
+ @Column({
45
+ allowNull: true,
46
+ type: DataType.STRING,
47
+ field: 'postcode',
48
+ })
49
+ PostCode: string;
50
+
51
+ @CreatedAt
52
+ CreatedAt: Date;
53
+
54
+ @UpdatedAt
55
+ UpdatedAt: Date;
56
+
57
+ @BelongsTo(() => State)
58
+ State: State;
59
+ }
@@ -0,0 +1,96 @@
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 Staff from './staff.entity';
14
+
15
+ @Table({
16
+ tableName: 'sso_companies',
17
+ timestamps: true,
18
+ createdAt: 'created_at',
19
+ updatedAt: 'updated_at',
20
+ underscored: true,
21
+ })
22
+ export default class Company extends Model {
23
+ @Column({
24
+ primaryKey: true,
25
+ allowNull: false,
26
+ autoIncrement: true,
27
+ type: DataType.INTEGER,
28
+ })
29
+ id: number;
30
+
31
+ @Column({
32
+ allowNull: false,
33
+ type: DataType.STRING,
34
+ field: 'name',
35
+ })
36
+ Name: string;
37
+
38
+ @Column({
39
+ allowNull: false,
40
+ type: DataType.STRING,
41
+ field: 'code',
42
+ })
43
+ Code: string;
44
+
45
+ @Column({
46
+ allowNull: false,
47
+ type: DataType.STRING,
48
+ field: 'status',
49
+ })
50
+ Status: string;
51
+
52
+ @Column({
53
+ allowNull: true,
54
+ type: DataType.STRING,
55
+ field: 'description',
56
+ })
57
+ Description: string;
58
+
59
+ @Column({
60
+ allowNull: true,
61
+ type: DataType.TEXT,
62
+ field: 'logo',
63
+ })
64
+ Logo: string;
65
+
66
+ @ForeignKey(() => User)
67
+ @Column({
68
+ allowNull: true,
69
+ type: DataType.INTEGER,
70
+ field: 'created_by_id',
71
+ })
72
+ CreatedById: number;
73
+
74
+ @ForeignKey(() => User)
75
+ @Column({
76
+ allowNull: true,
77
+ type: DataType.INTEGER,
78
+ field: 'updated_by_id',
79
+ })
80
+ UpdatedById: number;
81
+
82
+ @CreatedAt
83
+ CreatedAt: Date;
84
+
85
+ @UpdatedAt
86
+ UpdatedAt: Date;
87
+
88
+ @BelongsTo(() => User, 'created_by_id')
89
+ CreatedBy: User;
90
+
91
+ @BelongsTo(() => User, 'updated_by_id')
92
+ UpdatedBy: User;
93
+
94
+ @HasMany(() => Staff)
95
+ Staff: Staff[];
96
+ }