@tomei/sso 0.0.2 → 0.1.2

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.
@@ -0,0 +1,22 @@
1
+ {
2
+ "extends": [
3
+ "@commitlint/config-conventional"
4
+ ],
5
+ "rules": {
6
+ "header-max-length": [ 2, "always", 120 ],
7
+ "type-enum": [
8
+ 2,
9
+ "always",
10
+ [
11
+ "breaking",
12
+ "feat",
13
+ "fix",
14
+ "refactor",
15
+ "config",
16
+ "test",
17
+ "docs",
18
+ "chore"
19
+ ]
20
+ ]
21
+ }
22
+ }
package/.eslintignore ADDED
@@ -0,0 +1 @@
1
+ dist
package/.eslintrc ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "parser": "@typescript-eslint/parser",
3
+ "parserOptions": {
4
+ "ecmaVersion": "latest",
5
+ "sourceType": "module" // Allows for the use of imports
6
+ },
7
+ "extends": ["plugin:@typescript-eslint/recommended"],
8
+ "env": {
9
+ "node": true // Enable Node.js global variables
10
+ },
11
+ "rules": {
12
+ "no-console": "off",
13
+ "import/prefer-default-export": "off",
14
+ "@typescript-eslint/no-unused-vars": "warn"
15
+ }
16
+ }
package/.eslintrc.js ADDED
@@ -0,0 +1,35 @@
1
+ module.exports = {
2
+ parser: "@typescript-eslint/parser",
3
+ plugins: ["@typescript-eslint"],
4
+
5
+ parserOptions: {
6
+ ecmaVersion: "latest", // Allows the use of modern ECMAScript features
7
+ sourceType: "module", // Allows for the use of imports
8
+ },
9
+
10
+ extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
11
+ env: {
12
+ node: true, // Enable Node.js global variables
13
+ },
14
+ rules: {
15
+ "no-console": "off",
16
+ "@typescript-eslint/no-explicit-any": "off",
17
+ "@typescript-eslint/no-var-requires": "off",
18
+ "@typescript-eslint/explicit-module-boundary-types": "off",
19
+ "import/prefer-default-export": "off",
20
+ "@typescript-eslint/no-unused-vars": "warn",
21
+ "no-useless-catch": "off",
22
+ "@typescript-eslint/no-non-null-assertion": "off",
23
+ "@typescript-eslint/no-empty-function": "off",
24
+ "@typescript-eslint/no-empty-interface": "off",
25
+ "@typescript-eslint/no-inferrable-types": "off",
26
+ "@typescript-eslint/no-namespace": "off",
27
+ "@typescript-eslint/no-use-before-define": "off",
28
+ "@typescript-eslint/no-unsafe-assignment": "off",
29
+ "@typescript-eslint/no-unsafe-call": "off",
30
+ "@typescript-eslint/no-unsafe-member-access": "off",
31
+ "@typescript-eslint/no-unsafe-return": "off",
32
+ "@typescript-eslint/restrict-template-expressions": "off",
33
+ "no-useless-escape": "off",
34
+ },
35
+ };
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npm run lint
5
+ npm run format
6
+ npm run build
7
+ git add .
package/.prettierrc ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "singleQuote": true,
3
+ "trailingComma": "all",
4
+ "endOfLine": "auto"
5
+ }
package/README.md CHANGED
@@ -1,6 +1,18 @@
1
1
  ## SSO Package
2
2
 
3
3
  ### How to use
4
- - run npm i @tomei/sso@latest
5
- - Make sure you set the `DATABASE_URL` in your project `.env` file
6
- - run the `create-sso-user.sql` to create the neccessary database user and rights
4
+ - run `npm i`
5
+ - Make sure you set the `DATABASE_URL` and `SHADOW_DATABASE_URL` in your project `.env` file
6
+ - run `npm run start:dev`
7
+
8
+ ### How create a new migration
9
+ - Make sure you have `DATABASE_URL` and `SHADOW_DATABASE_URL` in your project `.env` file
10
+ - create a new empty database. dont do migration on it and set the `SHADOW_DATABASE_URL` to it
11
+ - Create a database user
12
+ - Grant the above user privileges to alter sso tables and shadow database. The user should have access to the sso table and shadow database only. Use `create-sso-user.sql` as an example to create the user and grant privileges
13
+ - Make changes to the `schema.prisma` file
14
+ - Run `npx prisma migrate dev --name <migration-name> --preview-feature --create-only` to create the migration. The migration will be created in the `migrations` folder. Review the migration and make changes if necessary.
15
+
16
+ ### How to run migration
17
+ - run `npx prisma migrate deploy` to run the migration
18
+
@@ -0,0 +1,39 @@
1
+
2
+ -- example to create sso-user
3
+ CREATE USER 'sso_user'@'environment' IDENTIFIED BY 'password';
4
+
5
+ -- example to grant neccesary access to run migration
6
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_authorization_codes TO 'sso_user'@'localhost' WITH GRANT OPTION;
7
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_bearer_tokens TO 'sso_user'@'localhost' WITH GRANT OPTION;
8
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_building_types TO 'sso_user'@'localhost' WITH GRANT OPTION;
9
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_buildings TO 'sso_user'@'localhost' WITH GRANT OPTION;
10
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_cities TO 'sso_user'@'localhost' WITH GRANT OPTION;
11
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_companies TO 'sso_user'@'localhost' WITH GRANT OPTION;
12
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_countries TO 'sso_user'@'localhost' WITH GRANT OPTION;
13
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_departments TO 'sso_user'@'localhost' WITH GRANT OPTION;
14
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_grouproleprivilege TO 'sso_user'@'localhost' WITH GRANT OPTION;
15
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_groupsystemaccess TO 'sso_user'@'localhost' WITH GRANT OPTION;
16
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_groupsystemprivilege TO 'sso_user'@'localhost' WITH GRANT OPTION;
17
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_groupsystemrole TO 'sso_user'@'localhost' WITH GRANT OPTION;
18
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_oauth_tokens TO 'sso_user'@'localhost' WITH GRANT OPTION;
19
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_roles TO 'sso_user'@'localhost' WITH GRANT OPTION;
20
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_sequelize_meta TO 'sso_user'@'localhost' WITH GRANT OPTION;
21
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_staff_types TO 'sso_user'@'localhost' WITH GRANT OPTION;
22
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_staffs TO 'sso_user'@'localhost' WITH GRANT OPTION;
23
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_states TO 'sso_user'@'localhost' WITH GRANT OPTION;
24
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_system_accesses TO 'sso_user'@'localhost' WITH GRANT OPTION;
25
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_systemprivilege TO 'sso_user'@'localhost' WITH GRANT OPTION;
26
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_systemrole TO 'sso_user'@'localhost' WITH GRANT OPTION;
27
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_systemroleprivilege TO 'sso_user'@'localhost' WITH GRANT OPTION;
28
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_systems TO 'sso_user'@'localhost' WITH GRANT OPTION;
29
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_updated_history TO 'sso_user'@'localhost' WITH GRANT OPTION;
30
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_user_roles TO 'sso_user'@'localhost' WITH GRANT OPTION;
31
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_usergroup TO 'sso_user'@'localhost' WITH GRANT OPTION;
32
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_users TO 'sso_user'@'localhost' WITH GRANT OPTION;
33
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_usersystemprivilege TO 'sso_user'@'localhost' WITH GRANT OPTION;
34
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production.sso_usersystemrole TO 'sso_user'@'localhost' WITH GRANT OPTION;
35
+ GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES on production._prisma_migrations TO 'sso_user'@'localhost' WITH GRANT OPTION;
36
+
37
+
38
+ -- Grant user to create, alter, drop, references on the database (required for creating shadow tables)
39
+ GRANT CREATE, ALTER, DROP, REFERENCES ON shadow_database.* TO 'sso_user'@'localhost' WITH GRANT OPTION;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomei/sso",
3
- "version": "0.0.2",
3
+ "version": "0.1.2",
4
4
  "description": "Tomei SSO Package",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -24,9 +24,6 @@
24
24
  "url": "https://gitlab.com/tomei-package/sso/issues"
25
25
  },
26
26
  "homepage": "https://gitlab.com/tomei-package/sso#readme",
27
- "files": [
28
- "dist"
29
- ],
30
27
  "devDependencies": {
31
28
  "@commitlint/cli": "^17.6.3",
32
29
  "@commitlint/config-conventional": "^17.6.3",
@@ -0,0 +1,513 @@
1
+ -- CreateTable
2
+ CREATE TABLE `sso_authorization_codes` (
3
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
4
+ `user_id` INTEGER NOT NULL,
5
+ `system_id` INTEGER NOT NULL,
6
+ `code` VARCHAR(255) NOT NULL,
7
+ `expired_at` DATETIME(0) NOT NULL,
8
+ `created_at` DATETIME(0) NOT NULL,
9
+ `updated_at` DATETIME(0) NOT NULL,
10
+ `status` VARCHAR(255) NULL DEFAULT 'unused',
11
+
12
+ UNIQUE INDEX `code`(`code`),
13
+ PRIMARY KEY (`id`)
14
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
15
+
16
+ -- CreateTable
17
+ CREATE TABLE `sso_bearer_tokens` (
18
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
19
+ `user_id` INTEGER NOT NULL,
20
+ `token` VARCHAR(255) NOT NULL,
21
+ `expired_at` DATETIME(0) NOT NULL,
22
+ `created_at` DATETIME(0) NOT NULL,
23
+ `updated_at` DATETIME(0) NOT NULL,
24
+
25
+ UNIQUE INDEX `token`(`token`),
26
+ PRIMARY KEY (`id`)
27
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
28
+
29
+ -- CreateTable
30
+ CREATE TABLE `sso_building_types` (
31
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
32
+ `name` VARCHAR(50) NOT NULL,
33
+ `created_at` DATETIME(0) NOT NULL,
34
+ `updated_at` DATETIME(0) NOT NULL,
35
+
36
+ PRIMARY KEY (`id`)
37
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
38
+
39
+ -- CreateTable
40
+ CREATE TABLE `sso_buildings` (
41
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
42
+ `name` VARCHAR(200) NULL,
43
+ `code` VARCHAR(10) NOT NULL,
44
+ `building_type_id` INTEGER NOT NULL,
45
+ `status` VARCHAR(10) NOT NULL,
46
+ `email` VARCHAR(200) NULL,
47
+ `mobile` VARCHAR(20) NULL,
48
+ `phone` VARCHAR(20) NOT NULL,
49
+ `address` VARCHAR(1000) NOT NULL,
50
+ `postcode` VARCHAR(10) NOT NULL,
51
+ `longitude` DECIMAL(11, 8) NULL,
52
+ `latitude` DECIMAL(10, 8) NULL,
53
+ `country_id` INTEGER NOT NULL,
54
+ `state` VARCHAR(50) NOT NULL,
55
+ `city` VARCHAR(50) NOT NULL,
56
+ `created_by_id` INTEGER NULL,
57
+ `updated_by_id` INTEGER NULL,
58
+ `created_at` DATETIME(0) NOT NULL,
59
+ `updated_at` DATETIME(0) NOT NULL,
60
+ `brand` VARCHAR(100) NULL,
61
+ `area_staff_id` INTEGER NULL,
62
+ `opening_date` DATETIME(0) NULL,
63
+ `ceased_date` DATETIME(0) NULL,
64
+ `opening_hours` VARCHAR(200) NULL,
65
+ `image` VARCHAR(200) NULL,
66
+
67
+ UNIQUE INDEX `code`(`code`),
68
+ PRIMARY KEY (`id`)
69
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
70
+
71
+ -- CreateTable
72
+ CREATE TABLE `sso_cities` (
73
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
74
+ `name` VARCHAR(255) NULL,
75
+ `state_id` INTEGER NULL,
76
+ `postcode` VARCHAR(255) NULL,
77
+ `created_at` DATETIME(0) NOT NULL,
78
+ `updated_at` DATETIME(0) NOT NULL,
79
+
80
+ PRIMARY KEY (`id`)
81
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
82
+
83
+ -- CreateTable
84
+ CREATE TABLE `sso_companies` (
85
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
86
+ `code` VARCHAR(10) NOT NULL,
87
+ `name` VARCHAR(200) NOT NULL,
88
+ `description` VARCHAR(3000) NULL,
89
+ `logo` TEXT NULL,
90
+ `status` VARCHAR(10) NOT NULL,
91
+ `created_by_id` INTEGER NULL,
92
+ `updated_by_id` INTEGER NULL,
93
+ `created_at` DATETIME(0) NOT NULL,
94
+ `updated_at` DATETIME(0) NOT NULL,
95
+
96
+ UNIQUE INDEX `code`(`code`),
97
+ PRIMARY KEY (`id`)
98
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
99
+
100
+ -- CreateTable
101
+ CREATE TABLE `sso_countries` (
102
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
103
+ `code` VARCHAR(255) NOT NULL,
104
+ `name` VARCHAR(100) NOT NULL,
105
+ `phonecode` VARCHAR(255) NULL,
106
+ `created_at` DATETIME(0) NOT NULL,
107
+ `updated_at` DATETIME(0) NOT NULL,
108
+
109
+ UNIQUE INDEX `code`(`code`),
110
+ PRIMARY KEY (`id`)
111
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
112
+
113
+ -- CreateTable
114
+ CREATE TABLE `sso_departments` (
115
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
116
+ `code` VARCHAR(10) NOT NULL,
117
+ `building_id` INTEGER NULL,
118
+ `status` VARCHAR(10) NOT NULL,
119
+ `name` VARCHAR(100) NOT NULL,
120
+ `created_by_id` INTEGER NULL,
121
+ `updated_by_id` INTEGER NULL,
122
+ `created_at` DATETIME(0) NOT NULL,
123
+ `updated_at` DATETIME(0) NOT NULL,
124
+
125
+ UNIQUE INDEX `code`(`code`),
126
+ INDEX `fk_departments_building_id`(`building_id`),
127
+ INDEX `fk_departments_created_by_id`(`created_by_id`),
128
+ INDEX `fk_departments_updated_by_id`(`updated_by_id`),
129
+ PRIMARY KEY (`id`)
130
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
131
+
132
+ -- CreateTable
133
+ CREATE TABLE `sso_grouproleprivilege` (
134
+ `GroupCode` VARCHAR(10) NOT NULL,
135
+ `RoleId` VARCHAR(30) NOT NULL,
136
+ `PrivilegeId` VARCHAR(30) NOT NULL,
137
+ `CreatedById` INTEGER NOT NULL,
138
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2023-01-03 17:13:45'),
139
+ `SystemId` INTEGER NOT NULL DEFAULT 1,
140
+
141
+ INDEX `PrivilegeId`(`PrivilegeId`),
142
+ INDEX `RoleId`(`RoleId`),
143
+ INDEX `sso_GroupRolePrivilege_SystemId_foreign_idx`(`SystemId`),
144
+ PRIMARY KEY (`GroupCode`, `RoleId`, `PrivilegeId`, `SystemId`)
145
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
146
+
147
+ -- CreateTable
148
+ CREATE TABLE `sso_groupsystemaccess` (
149
+ `SystemId` INTEGER NOT NULL,
150
+ `GroupCode` VARCHAR(10) NOT NULL,
151
+ `CreatedById` INTEGER NOT NULL,
152
+ `createdAt` DATETIME(0) NOT NULL DEFAULT ('2022-06-29 01:16:41'),
153
+
154
+ INDEX `GroupCode`(`GroupCode`),
155
+ PRIMARY KEY (`SystemId`, `GroupCode`)
156
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
157
+
158
+ -- CreateTable
159
+ CREATE TABLE `sso_groupsystemprivilege` (
160
+ `GroupCode` VARCHAR(10) NOT NULL,
161
+ `PrivilegeId` VARCHAR(30) NOT NULL,
162
+ `CreatedById` VARCHAR(30) NOT NULL,
163
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2022-06-29 01:16:40'),
164
+
165
+ INDEX `PrivilegeId`(`PrivilegeId`),
166
+ PRIMARY KEY (`GroupCode`, `PrivilegeId`)
167
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
168
+
169
+ -- CreateTable
170
+ CREATE TABLE `sso_groupsystemrole` (
171
+ `RoleId` VARCHAR(30) NOT NULL,
172
+ `GroupCode` VARCHAR(10) NOT NULL,
173
+ `CreatedById` VARCHAR(30) NOT NULL,
174
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2022-06-29 01:16:39'),
175
+
176
+ INDEX `GroupCode`(`GroupCode`),
177
+ PRIMARY KEY (`RoleId`, `GroupCode`)
178
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
179
+
180
+ -- CreateTable
181
+ CREATE TABLE `sso_oauth_tokens` (
182
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
183
+ `user_id` INTEGER NOT NULL,
184
+ `token` TEXT NOT NULL,
185
+ `expired_at` DATETIME(0) NOT NULL,
186
+ `created_at` DATETIME(0) NOT NULL,
187
+ `updated_at` DATETIME(0) NOT NULL,
188
+ `system_id` INTEGER NOT NULL DEFAULT 1,
189
+
190
+ INDEX `sso_oauth_tokens_system_id_foreign_idx`(`system_id`),
191
+ PRIMARY KEY (`id`)
192
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
193
+
194
+ -- CreateTable
195
+ CREATE TABLE `sso_roles` (
196
+ `ID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
197
+ `name` VARCHAR(255) NOT NULL,
198
+ `description` TEXT NULL,
199
+ `default_to_on` BOOLEAN NOT NULL,
200
+ `parent_id` INTEGER NULL,
201
+ `created_at` DATETIME(0) NOT NULL,
202
+ `updated_at` DATETIME(0) NOT NULL,
203
+
204
+ PRIMARY KEY (`ID`)
205
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
206
+
207
+ -- CreateTable
208
+ CREATE TABLE `sso_staff_types` (
209
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
210
+ `name` VARCHAR(20) NOT NULL,
211
+ `created_at` DATETIME(0) NOT NULL,
212
+ `updated_at` DATETIME(0) NOT NULL,
213
+
214
+ PRIMARY KEY (`id`)
215
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
216
+
217
+ -- CreateTable
218
+ CREATE TABLE `sso_staffs` (
219
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
220
+ `staff_id` VARCHAR(10) NOT NULL,
221
+ `full_name` VARCHAR(200) NOT NULL,
222
+ `preferred_name` VARCHAR(200) NOT NULL,
223
+ `email` VARCHAR(200) NOT NULL,
224
+ `staff_type_id` INTEGER NOT NULL,
225
+ `job_title` VARCHAR(100) NOT NULL,
226
+ `car_plate` VARCHAR(20) NOT NULL DEFAULT '',
227
+ `mobile` VARCHAR(20) NULL,
228
+ `floor` VARCHAR(15) NULL,
229
+ `extension` INTEGER NULL,
230
+ `is_charge` BOOLEAN NOT NULL DEFAULT false,
231
+ `status` VARCHAR(10) NOT NULL,
232
+ `user_id` INTEGER NOT NULL,
233
+ `building_id` INTEGER NOT NULL,
234
+ `department_id` INTEGER NOT NULL,
235
+ `company_id` INTEGER NULL,
236
+ `created_by_id` INTEGER NULL,
237
+ `updated_by_id` INTEGER NULL,
238
+ `created_at` DATETIME(0) NOT NULL,
239
+ `updated_at` DATETIME(0) NOT NULL,
240
+ `image` VARCHAR(255) NULL,
241
+ `IdNo` VARCHAR(20) NULL,
242
+ `FullAddress` VARCHAR(1000) NULL,
243
+
244
+ UNIQUE INDEX `staff_id`(`staff_id`),
245
+ INDEX `fk_staffs_building_id`(`building_id`),
246
+ INDEX `fk_staffs_company_id`(`company_id`),
247
+ INDEX `fk_staffs_created_by_id`(`created_by_id`),
248
+ INDEX `fk_staffs_department_id`(`department_id`),
249
+ INDEX `fk_staffs_staff_type_id`(`staff_type_id`),
250
+ INDEX `fk_staffs_updated_by_id`(`updated_by_id`),
251
+ INDEX `fk_staffs_user_id`(`user_id`),
252
+ PRIMARY KEY (`id`)
253
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
254
+
255
+ -- CreateTable
256
+ CREATE TABLE `sso_states` (
257
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
258
+ `name` VARCHAR(50) NOT NULL,
259
+ `country_id` INTEGER NULL,
260
+ `created_at` DATETIME(0) NOT NULL,
261
+ `updated_at` DATETIME(0) NOT NULL,
262
+
263
+ PRIMARY KEY (`id`)
264
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
265
+
266
+ -- CreateTable
267
+ CREATE TABLE `sso_system_accesses` (
268
+ `user_id` INTEGER NOT NULL,
269
+ `system_id` INTEGER NOT NULL,
270
+ `updated_at` DATETIME(0) NOT NULL,
271
+
272
+ INDEX `fk_system_access_system`(`system_id`),
273
+ PRIMARY KEY (`user_id`, `system_id`)
274
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
275
+
276
+ -- CreateTable
277
+ CREATE TABLE `sso_systemprivilege` (
278
+ `PrivilegeId` VARCHAR(30) NOT NULL,
279
+ `SystemId` INTEGER NOT NULL,
280
+ `Code` VARCHAR(200) NOT NULL,
281
+ `Description` VARCHAR(3000) NULL,
282
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:19'),
283
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:19'),
284
+
285
+ INDEX `SystemId`(`SystemId`),
286
+ PRIMARY KEY (`PrivilegeId`)
287
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
288
+
289
+ -- CreateTable
290
+ CREATE TABLE `sso_systemrole` (
291
+ `RoleId` VARCHAR(30) NOT NULL,
292
+ `SystemId` INTEGER NOT NULL,
293
+ `Name` VARCHAR(100) NOT NULL,
294
+ `Description` VARCHAR(3000) NULL,
295
+ `CreatedById` INTEGER NOT NULL,
296
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
297
+ `UpdatedById` INTEGER NOT NULL,
298
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
299
+
300
+ INDEX `SystemId`(`SystemId`),
301
+ PRIMARY KEY (`RoleId`)
302
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
303
+
304
+ -- CreateTable
305
+ CREATE TABLE `sso_systemroleprivilege` (
306
+ `RoleId` VARCHAR(30) NOT NULL,
307
+ `PrivilegeId` VARCHAR(30) NOT NULL,
308
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
309
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
310
+
311
+ INDEX `PrivilegeId`(`PrivilegeId`),
312
+ PRIMARY KEY (`RoleId`, `PrivilegeId`)
313
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
314
+
315
+ -- CreateTable
316
+ CREATE TABLE `sso_systems` (
317
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
318
+ `code` VARCHAR(10) NOT NULL,
319
+ `name` VARCHAR(200) NOT NULL,
320
+ `description` VARCHAR(500) NOT NULL,
321
+ `access_url` VARCHAR(2000) NULL,
322
+ `google_play_url` VARCHAR(2000) NULL,
323
+ `apple_store_url` VARCHAR(2000) NULL,
324
+ `api_key` VARCHAR(255) NULL,
325
+ `logo` VARCHAR(255) NULL,
326
+ `status` VARCHAR(10) NOT NULL,
327
+ `visible` BOOLEAN NOT NULL DEFAULT true,
328
+ `created_at` DATETIME(0) NOT NULL,
329
+ `updated_at` DATETIME(0) NOT NULL,
330
+ `api_secret` VARCHAR(255) NULL,
331
+ `updated_by_id` INTEGER NULL,
332
+ `created_by_id` INTEGER NULL,
333
+
334
+ UNIQUE INDEX `code`(`code`),
335
+ PRIMARY KEY (`id`)
336
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
337
+
338
+ -- CreateTable
339
+ CREATE TABLE `sso_updated_history` (
340
+ `HistoryId` BIGINT NOT NULL AUTO_INCREMENT,
341
+ `BatchId` VARCHAR(30) NULL,
342
+ `ObjectType` VARCHAR(50) NOT NULL,
343
+ `ObjectValue` VARCHAR(50) NOT NULL,
344
+ `ActionType` ENUM('Add', 'Update', 'Delete') NOT NULL,
345
+ `UpdatedFieldName` VARCHAR(100) NOT NULL,
346
+ `OldValue` VARCHAR(1000) NULL,
347
+ `NewValue` VARCHAR(1000) NULL,
348
+ `UpdatedById` INTEGER NOT NULL,
349
+ `UpdatedAt` DATETIME(0) NOT NULL,
350
+
351
+ PRIMARY KEY (`HistoryId`)
352
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
353
+
354
+ -- CreateTable
355
+ CREATE TABLE `sso_user_roles` (
356
+ `user_id` INTEGER NOT NULL,
357
+ `role_id` INTEGER NOT NULL,
358
+ `updated_by_id` INTEGER NULL,
359
+ `updated_at` DATETIME(0) NOT NULL,
360
+
361
+ PRIMARY KEY (`user_id`, `role_id`)
362
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
363
+
364
+ -- CreateTable
365
+ CREATE TABLE `sso_usergroup` (
366
+ `GroupCode` VARCHAR(10) NOT NULL,
367
+ `GroupDescription` VARCHAR(100) NULL,
368
+ `Status` ENUM('Active', 'Inactive') NULL,
369
+ `CreatedById` VARCHAR(30) NULL,
370
+ `CreatedAt` DATETIME(0) NULL DEFAULT ('2022-06-29 01:16:39'),
371
+ `UpdatedById` VARCHAR(30) NULL,
372
+ `UpdatedAt` DATETIME(0) NULL DEFAULT ('2022-06-29 01:16:39'),
373
+ `DepartmentId` INTEGER NULL,
374
+
375
+ INDEX `sso_UserGroup_DepartmentId_foreign_idx`(`DepartmentId`),
376
+ PRIMARY KEY (`GroupCode`)
377
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
378
+
379
+ -- CreateTable
380
+ CREATE TABLE `sso_users` (
381
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
382
+ `email` VARCHAR(255) NOT NULL,
383
+ `password` VARCHAR(255) NOT NULL,
384
+ `status` VARCHAR(255) NULL,
385
+ `default_password_changed` BOOLEAN NULL DEFAULT false,
386
+ `first_login_at` DATETIME(0) NULL,
387
+ `created_at` DATETIME(0) NOT NULL,
388
+ `updated_at` DATETIME(0) NOT NULL,
389
+ `GroupCode` VARCHAR(10) NULL,
390
+
391
+ UNIQUE INDEX `email`(`email`),
392
+ INDEX `sso_users_GroupCode_foreign_idx`(`GroupCode`),
393
+ PRIMARY KEY (`id`)
394
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
395
+
396
+ -- CreateTable
397
+ CREATE TABLE `sso_usersystemprivilege` (
398
+ `UserId` INTEGER NOT NULL,
399
+ `PrivilegeId` VARCHAR(30) NOT NULL,
400
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
401
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
402
+
403
+ INDEX `PrivilegeId`(`PrivilegeId`),
404
+ PRIMARY KEY (`UserId`, `PrivilegeId`)
405
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
406
+
407
+ -- CreateTable
408
+ CREATE TABLE `sso_usersystemrole` (
409
+ `UserId` INTEGER NOT NULL,
410
+ `RoleId` VARCHAR(30) NOT NULL,
411
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
412
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
413
+
414
+ INDEX `RoleId`(`RoleId`),
415
+ PRIMARY KEY (`UserId`, `RoleId`)
416
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
417
+
418
+ -- AddForeignKey
419
+ ALTER TABLE `sso_departments` ADD CONSTRAINT `fk_departments_building_id` FOREIGN KEY (`building_id`) REFERENCES `sso_buildings`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
420
+
421
+ -- AddForeignKey
422
+ ALTER TABLE `sso_departments` ADD CONSTRAINT `fk_departments_created_by_id` FOREIGN KEY (`created_by_id`) REFERENCES `sso_users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
423
+
424
+ -- AddForeignKey
425
+ ALTER TABLE `sso_departments` ADD CONSTRAINT `fk_departments_updated_by_id` FOREIGN KEY (`updated_by_id`) REFERENCES `sso_users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
426
+
427
+ -- AddForeignKey
428
+ ALTER TABLE `sso_grouproleprivilege` ADD CONSTRAINT `sso_GroupRolePrivilege_SystemId_foreign_idx` FOREIGN KEY (`SystemId`) REFERENCES `sso_systems`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
429
+
430
+ -- AddForeignKey
431
+ ALTER TABLE `sso_grouproleprivilege` ADD CONSTRAINT `sso_grouproleprivilege_ibfk_1` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE CASCADE ON UPDATE CASCADE;
432
+
433
+ -- AddForeignKey
434
+ ALTER TABLE `sso_grouproleprivilege` ADD CONSTRAINT `sso_grouproleprivilege_ibfk_2` FOREIGN KEY (`RoleId`) REFERENCES `sso_systemrole`(`RoleId`) ON DELETE CASCADE ON UPDATE CASCADE;
435
+
436
+ -- AddForeignKey
437
+ ALTER TABLE `sso_grouproleprivilege` ADD CONSTRAINT `sso_grouproleprivilege_ibfk_3` FOREIGN KEY (`PrivilegeId`) REFERENCES `sso_systemprivilege`(`PrivilegeId`) ON DELETE CASCADE ON UPDATE CASCADE;
438
+
439
+ -- AddForeignKey
440
+ ALTER TABLE `sso_groupsystemaccess` ADD CONSTRAINT `sso_groupsystemaccess_ibfk_1` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE CASCADE ON UPDATE CASCADE;
441
+
442
+ -- AddForeignKey
443
+ ALTER TABLE `sso_groupsystemprivilege` ADD CONSTRAINT `sso_groupsystemprivilege_ibfk_1` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE CASCADE ON UPDATE CASCADE;
444
+
445
+ -- AddForeignKey
446
+ ALTER TABLE `sso_groupsystemprivilege` ADD CONSTRAINT `sso_groupsystemprivilege_ibfk_2` FOREIGN KEY (`PrivilegeId`) REFERENCES `sso_systemprivilege`(`PrivilegeId`) ON DELETE CASCADE ON UPDATE CASCADE;
447
+
448
+ -- AddForeignKey
449
+ ALTER TABLE `sso_groupsystemrole` ADD CONSTRAINT `sso_groupsystemrole_ibfk_1` FOREIGN KEY (`RoleId`) REFERENCES `sso_systemrole`(`RoleId`) ON DELETE RESTRICT ON UPDATE RESTRICT;
450
+
451
+ -- AddForeignKey
452
+ ALTER TABLE `sso_groupsystemrole` ADD CONSTRAINT `sso_groupsystemrole_ibfk_2` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE RESTRICT ON UPDATE RESTRICT;
453
+
454
+ -- AddForeignKey
455
+ ALTER TABLE `sso_oauth_tokens` ADD CONSTRAINT `sso_oauth_tokens_system_id_foreign_idx` FOREIGN KEY (`system_id`) REFERENCES `sso_systems`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
456
+
457
+ -- AddForeignKey
458
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_building_id` FOREIGN KEY (`building_id`) REFERENCES `sso_buildings`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
459
+
460
+ -- AddForeignKey
461
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_company_id` FOREIGN KEY (`company_id`) REFERENCES `sso_companies`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
462
+
463
+ -- AddForeignKey
464
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_created_by_id` FOREIGN KEY (`created_by_id`) REFERENCES `sso_users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
465
+
466
+ -- AddForeignKey
467
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_department_id` FOREIGN KEY (`department_id`) REFERENCES `sso_departments`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
468
+
469
+ -- AddForeignKey
470
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_staff_type_id` FOREIGN KEY (`staff_type_id`) REFERENCES `sso_staff_types`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
471
+
472
+ -- AddForeignKey
473
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_updated_by_id` FOREIGN KEY (`updated_by_id`) REFERENCES `sso_users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
474
+
475
+ -- AddForeignKey
476
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_user_id` FOREIGN KEY (`user_id`) REFERENCES `sso_users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
477
+
478
+ -- AddForeignKey
479
+ ALTER TABLE `sso_system_accesses` ADD CONSTRAINT `fk_system_access_system` FOREIGN KEY (`system_id`) REFERENCES `sso_systems`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
480
+
481
+ -- AddForeignKey
482
+ ALTER TABLE `sso_system_accesses` ADD CONSTRAINT `fk_system_access_user` FOREIGN KEY (`user_id`) REFERENCES `sso_users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
483
+
484
+ -- AddForeignKey
485
+ ALTER TABLE `sso_systemprivilege` ADD CONSTRAINT `sso_systemprivilege_ibfk_1` FOREIGN KEY (`SystemId`) REFERENCES `sso_systems`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
486
+
487
+ -- AddForeignKey
488
+ ALTER TABLE `sso_systemrole` ADD CONSTRAINT `sso_systemrole_ibfk_1` FOREIGN KEY (`SystemId`) REFERENCES `sso_systems`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
489
+
490
+ -- AddForeignKey
491
+ ALTER TABLE `sso_systemroleprivilege` ADD CONSTRAINT `sso_systemroleprivilege_ibfk_1` FOREIGN KEY (`RoleId`) REFERENCES `sso_systemrole`(`RoleId`) ON DELETE CASCADE ON UPDATE CASCADE;
492
+
493
+ -- AddForeignKey
494
+ ALTER TABLE `sso_systemroleprivilege` ADD CONSTRAINT `sso_systemroleprivilege_ibfk_2` FOREIGN KEY (`PrivilegeId`) REFERENCES `sso_systemprivilege`(`PrivilegeId`) ON DELETE CASCADE ON UPDATE CASCADE;
495
+
496
+ -- AddForeignKey
497
+ ALTER TABLE `sso_usergroup` ADD CONSTRAINT `sso_UserGroup_DepartmentId_foreign_idx` FOREIGN KEY (`DepartmentId`) REFERENCES `sso_departments`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
498
+
499
+ -- AddForeignKey
500
+ ALTER TABLE `sso_users` ADD CONSTRAINT `sso_users_GroupCode_foreign_idx` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE RESTRICT ON UPDATE RESTRICT;
501
+
502
+ -- AddForeignKey
503
+ ALTER TABLE `sso_usersystemprivilege` ADD CONSTRAINT `sso_usersystemprivilege_ibfk_1` FOREIGN KEY (`UserId`) REFERENCES `sso_users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
504
+
505
+ -- AddForeignKey
506
+ ALTER TABLE `sso_usersystemprivilege` ADD CONSTRAINT `sso_usersystemprivilege_ibfk_2` FOREIGN KEY (`PrivilegeId`) REFERENCES `sso_systemprivilege`(`PrivilegeId`) ON DELETE CASCADE ON UPDATE CASCADE;
507
+
508
+ -- AddForeignKey
509
+ ALTER TABLE `sso_usersystemrole` ADD CONSTRAINT `sso_usersystemrole_ibfk_1` FOREIGN KEY (`UserId`) REFERENCES `sso_users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
510
+
511
+ -- AddForeignKey
512
+ ALTER TABLE `sso_usersystemrole` ADD CONSTRAINT `sso_usersystemrole_ibfk_2` FOREIGN KEY (`RoleId`) REFERENCES `sso_systemrole`(`RoleId`) ON DELETE CASCADE ON UPDATE CASCADE;
513
+
@@ -0,0 +1,35 @@
1
+ -- AlterTable
2
+ ALTER TABLE `sso_systemprivilege` ADD COLUMN `Module` VARCHAR(200) NULL;
3
+
4
+ -- AlterTable
5
+ ALTER TABLE `sso_usergroup` ADD COLUMN `AllowInheritFromParentYN` ENUM('Y', 'N') NULL DEFAULT 'N',
6
+ ADD COLUMN `FullPath` VARCHAR(1000) NULL,
7
+ ADD COLUMN `GroupLevel` INTEGER NOT NULL DEFAULT 0,
8
+ ADD COLUMN `GroupType` VARCHAR(10) NULL,
9
+ ADD COLUMN `ParentGroupCode` VARCHAR(10) NULL,
10
+ ADD COLUMN `PersonInCharge` VARCHAR(100) NULL;
11
+
12
+ -- AlterTable
13
+ ALTER TABLE `sso_usersystemprivilege` ADD COLUMN `IsInheritedYN` ENUM('Y', 'N') NOT NULL DEFAULT 'N',
14
+ ADD COLUMN `IsRevokedYN` ENUM('Y', 'N') NOT NULL DEFAULT 'N';
15
+
16
+ -- CreateTable
17
+ CREATE TABLE `sso_UserUserGroup` (
18
+ `UserId` INTEGER NOT NULL,
19
+ `GroupCode` VARCHAR(191) NOT NULL,
20
+ `SystemId` INTEGER NULL,
21
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
22
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
23
+
24
+ INDEX `GroupCode`(`GroupCode`),
25
+ PRIMARY KEY (`UserId`, `GroupCode`)
26
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
27
+
28
+ -- AddForeignKey
29
+ ALTER TABLE `sso_UserUserGroup` ADD CONSTRAINT `sso_UserUserGroup_ibfk_1` FOREIGN KEY (`UserId`) REFERENCES `sso_users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
30
+
31
+ -- AddForeignKey
32
+ ALTER TABLE `sso_UserUserGroup` ADD CONSTRAINT `sso_UserUserGroup_ibfk_3` FOREIGN KEY (`SystemId`) REFERENCES `sso_systems`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
33
+
34
+ -- AddForeignKey
35
+ ALTER TABLE `sso_UserUserGroup` ADD CONSTRAINT `sso_UserUserGroup_ibfk_2` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE CASCADE ON UPDATE CASCADE;
@@ -0,0 +1,3 @@
1
+ # Please do not edit this file manually
2
+ # It should be added in your version-control system (i.e. Git)
3
+ provider = "mysql"
@@ -0,0 +1,506 @@
1
+ generator client {
2
+ provider = "prisma-client-js"
3
+ }
4
+
5
+ datasource db {
6
+ provider = "mysql"
7
+ url = env("DATABASE_URL")
8
+ shadowDatabaseUrl = env("SHADOW_DATABASE_URL")
9
+ }
10
+
11
+ model AuthorizationCode {
12
+ id Int @id @default(autoincrement())
13
+ userId Int @map("user_id")
14
+ systemId Int @map("system_id")
15
+ code String @unique(map: "code") @db.VarChar(255)
16
+ expiredAt DateTime @db.DateTime(0) @map("expired_at")
17
+ createdAt DateTime @db.DateTime(0) @map("created_at")
18
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
19
+ status String? @default("unused") @db.VarChar(255)
20
+
21
+ @@map("sso_authorization_codes")
22
+ }
23
+
24
+ model BearerToken {
25
+ id Int @id @default(autoincrement())
26
+ userId Int @map("user_id")
27
+ token String @unique(map: "token") @db.VarChar(255)
28
+ expiredAt DateTime @db.DateTime(0) @map("expired_at")
29
+ createdAt DateTime @db.DateTime(0) @map("created_at")
30
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
31
+
32
+ @@map("sso_bearer_tokens")
33
+ }
34
+
35
+ model BuildingTypes {
36
+ id Int @id @default(autoincrement())
37
+ name String @db.VarChar(50)
38
+ createdAt DateTime @db.DateTime(0) @map("created_at")
39
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
40
+
41
+ @@map("sso_building_types")
42
+ }
43
+
44
+ model Building {
45
+ id Int @id @default(autoincrement())
46
+ name String? @db.VarChar(200)
47
+ code String @unique(map: "code") @db.VarChar(10)
48
+ buildindTypeId Int @map("building_type_id")
49
+ status String @db.VarChar(10)
50
+ email String? @db.VarChar(200)
51
+ mobile String? @db.VarChar(20)
52
+ phone String @db.VarChar(20)
53
+ address String @db.VarChar(1000)
54
+ postcode String @db.VarChar(10)
55
+ longitude Decimal? @db.Decimal(11, 8)
56
+ latitude Decimal? @db.Decimal(10, 8)
57
+ countryId Int @map("country_id")
58
+ state String @db.VarChar(50)
59
+ city String @db.VarChar(50)
60
+ createdById Int? @map("created_by_id")
61
+ updatedById Int? @map("updated_by_id")
62
+ createdAt DateTime @db.DateTime(0) @map("created_at")
63
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
64
+ brand String? @db.VarChar(100)
65
+ areaStaffId Int? @map("area_staff_id")
66
+ openingDate DateTime? @db.DateTime(0) @map("opening_date")
67
+ ceasedDate DateTime? @db.DateTime(0) @map("ceased_date")
68
+ opening_hours String? @db.VarChar(200) @map("opening_hours")
69
+ image String? @db.VarChar(200)
70
+ departments Departement[]
71
+ staffs Staff[]
72
+
73
+ @@map("sso_buildings")
74
+ }
75
+
76
+ model City {
77
+ id Int @id @default(autoincrement())
78
+ name String? @db.VarChar(255)
79
+ stateId Int? @map("state_id")
80
+ postCode String? @db.VarChar(255) @map("postcode")
81
+ createdAt DateTime @db.DateTime(0) @map("created_at")
82
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
83
+
84
+ @@map("sso_cities")
85
+ }
86
+
87
+ model Company {
88
+ id Int @id @default(autoincrement())
89
+ code String @unique(map: "code") @db.VarChar(10)
90
+ name String @db.VarChar(200)
91
+ description String? @db.VarChar(3000)
92
+ logo String? @db.Text
93
+ status String @db.VarChar(10)
94
+ createdById Int? @map("created_by_id")
95
+ updatedById Int? @map("updated_by_id")
96
+ createdAt DateTime @db.DateTime(0) @map("created_at")
97
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
98
+ staffs Staff[]
99
+
100
+ @@map("sso_companies")
101
+ }
102
+
103
+ model Country {
104
+ id Int @id @default(autoincrement())
105
+ code String @unique(map: "code") @db.VarChar(255)
106
+ name String @db.VarChar(100)
107
+ phoneCode String? @db.VarChar(255) @map("phonecode")
108
+ createdAt DateTime @db.DateTime(0) @map("created_at")
109
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
110
+
111
+ @@map("sso_countries")
112
+ }
113
+
114
+ model Departement {
115
+ id Int @id @default(autoincrement())
116
+ code String @unique(map: "code") @db.VarChar(10)
117
+ buildingId Int? @map("building_id")
118
+ status String @db.VarChar(10)
119
+ name String @db.VarChar(100)
120
+ createdById Int? @map("created_by_id")
121
+ updatedById Int? @map("updated_by_id")
122
+ createdAt DateTime @db.DateTime(0) @map("created_at")
123
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
124
+ building Building? @relation(fields: [buildingId], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_departments_building_id")
125
+ createdBy User? @relation("sso_departments_created_by_idTosso_users", fields: [createdById], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_departments_created_by_id")
126
+ updatedBy User? @relation("sso_departments_updated_by_idTosso_users", fields: [updatedById], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_departments_updated_by_id")
127
+ Staffs Staff[]
128
+ UserGroup UserGroup[]
129
+
130
+ @@index([buildingId], map: "fk_departments_building_id")
131
+ @@index([createdById], map: "fk_departments_created_by_id")
132
+ @@index([updatedById], map: "fk_departments_updated_by_id")
133
+ @@map("sso_departments")
134
+ }
135
+
136
+ model GroupRolePrivilege {
137
+ groupCode String @db.VarChar(10) @map("GroupCode")
138
+ roleId String @db.VarChar(30) @map("RoleId")
139
+ privilegeId String @db.VarChar(30) @map("PrivilegeId")
140
+ createdById Int @map("CreatedById")
141
+ createdAt DateTime @default(dbgenerated("('2023-01-03 17:13:45')")) @db.DateTime(0) @map("CreatedAt")
142
+ systemId Int @default(1) @map("SystemId")
143
+ system System @relation(fields: [systemId], references: [id], onDelete: Cascade, map: "sso_GroupRolePrivilege_SystemId_foreign_idx")
144
+ userGroup UserGroup @relation(fields: [groupCode], references: [groupCode], onDelete: Cascade, map: "sso_grouproleprivilege_ibfk_1")
145
+ systemRole SystemRole @relation(fields: [roleId], references: [roleId], onDelete: Cascade, map: "sso_grouproleprivilege_ibfk_2")
146
+ systemPrivilege SystemPrivilege @relation(fields: [privilegeId], references: [privilegeId], onDelete: Cascade, map: "sso_grouproleprivilege_ibfk_3")
147
+
148
+ @@id([groupCode, roleId, privilegeId, systemId])
149
+ @@index([privilegeId], map: "privilegeId")
150
+ @@index([roleId], map: "roleId")
151
+ @@index([systemId], map: "sso_GroupRolePrivilege_SystemId_foreign_idx")
152
+ @@map("sso_grouproleprivilege")
153
+ }
154
+
155
+ model GroupSystemAccess {
156
+ systemId Int @map("SystemId")
157
+ groupCode String @db.VarChar(10) @map("GroupCode")
158
+ createdById Int @map("CreatedById")
159
+ createdAt DateTime @default(dbgenerated("('2022-06-29 01:16:41')")) @db.DateTime(0)
160
+ userGroup UserGroup @relation(fields: [groupCode], references: [groupCode], onDelete: Cascade, map: "sso_groupsystemaccess_ibfk_1")
161
+
162
+ @@id([systemId, groupCode])
163
+ @@index([groupCode], map: "groupCode")
164
+ @@map("sso_groupsystemaccess")
165
+ }
166
+
167
+ model GroupSystemPrivilege {
168
+ groupCode String @db.VarChar(10) @map("GroupCode")
169
+ privilegeId String @db.VarChar(30) @map("PrivilegeId")
170
+ createdById String @db.VarChar(30) @map("CreatedById")
171
+ createdAt DateTime @default(dbgenerated("('2022-06-29 01:16:40')")) @db.DateTime(0) @map("CreatedAt")
172
+ userGroup UserGroup @relation(fields: [groupCode], references: [groupCode], onDelete: Cascade, map: "sso_groupsystemprivilege_ibfk_1")
173
+ systemPrivilege SystemPrivilege @relation(fields: [privilegeId], references: [privilegeId], onDelete: Cascade, map: "sso_groupsystemprivilege_ibfk_2")
174
+
175
+ @@id([groupCode, privilegeId])
176
+ @@index([privilegeId], map: "privilegeId")
177
+ @@map("sso_groupsystemprivilege")
178
+ }
179
+
180
+ model GroupSystemRole {
181
+ roleId String @db.VarChar(30) @map("RoleId")
182
+ groupCode String @db.VarChar(10) @map("GroupCode")
183
+ createdById String @db.VarChar(30) @map("CreatedById")
184
+ createdAt DateTime @default(dbgenerated("('2022-06-29 01:16:39')")) @db.DateTime(0) @map("CreatedAt")
185
+ systemRole SystemRole @relation(fields: [roleId], references: [roleId], onUpdate: Restrict, map: "sso_groupsystemrole_ibfk_1")
186
+ userGroup UserGroup @relation(fields: [groupCode], references: [groupCode], onUpdate: Restrict, map: "sso_groupsystemrole_ibfk_2")
187
+
188
+ @@id([roleId, groupCode])
189
+ @@index([groupCode], map: "groupCode")
190
+ @@map("sso_groupsystemrole")
191
+ }
192
+
193
+ model OAuthToken {
194
+ id Int @id @default(autoincrement())
195
+ userId Int @map("user_id")
196
+ token String @db.Text
197
+ expiredAt DateTime @db.DateTime(0) @map("expired_at")
198
+ createdAt DateTime @db.DateTime(0) @map("created_at")
199
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
200
+ systemId Int @default(1) @map("system_id")
201
+ system System @relation(fields: [systemId], references: [id], onDelete: Cascade, map: "sso_oauth_tokens_system_id_foreign_idx")
202
+
203
+ @@index([systemId], map: "sso_oauth_tokens_system_id_foreign_idx")
204
+ @@map("sso_oauth_tokens")
205
+ }
206
+
207
+ model Roles {
208
+ id Int @id @default(autoincrement()) @db.UnsignedInt @map("ID")
209
+ name String @db.VarChar(255)
210
+ description String? @db.Text
211
+ defaultToOn Boolean @map("default_to_on")
212
+ parentId Int? @map("parent_id")
213
+ createdAt DateTime @db.DateTime(0) @map("created_at")
214
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
215
+
216
+ @@map("sso_roles")
217
+ }
218
+
219
+ model StaffTypes {
220
+ id Int @id @default(autoincrement())
221
+ name String @db.VarChar(20)
222
+ createdAt DateTime @db.DateTime(0) @map("created_at")
223
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
224
+ staffs Staff[]
225
+
226
+ @@map("sso_staff_types")
227
+ }
228
+
229
+ model Staff {
230
+ id Int @id @default(autoincrement())
231
+ staffId String @unique(map: "staff_id") @db.VarChar(10) @map("staff_id")
232
+ fullName String @db.VarChar(200) @map("full_name")
233
+ preferredName String @db.VarChar(200) @map("preferred_name")
234
+ email String @db.VarChar(200)
235
+ staffTypeId Int @map("staff_type_id")
236
+ jobTitle String @db.VarChar(100) @map("job_title")
237
+ carPlate String @default("") @db.VarChar(20) @map("car_plate")
238
+ mobile String? @db.VarChar(20)
239
+ floor String? @db.VarChar(15)
240
+ extension Int?
241
+ isCharge Boolean @default(false) @map("is_charge")
242
+ status String @db.VarChar(10)
243
+ userId Int @map("user_id")
244
+ buildingId Int @map("building_id")
245
+ departmentId Int @map("department_id")
246
+ companyId Int? @map("company_id")
247
+ createdById Int? @map("created_by_id")
248
+ updatedById Int? @map("updated_by_id")
249
+ createdAt DateTime @db.DateTime(0) @map("created_at")
250
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
251
+ image String? @db.VarChar(255)
252
+ IdNo String? @db.VarChar(20) @map("IdNo")
253
+ fullAddress String? @db.VarChar(1000) @map("FullAddress")
254
+ Building Building @relation(fields: [buildingId], references: [id], onUpdate: Restrict, map: "fk_staffs_building_id")
255
+ company Company? @relation(fields: [companyId], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_staffs_company_id")
256
+ createdBy User? @relation("sso_staffs_created_by_idTosso_users", fields: [createdById], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_staffs_created_by_id")
257
+ department Departement @relation(fields: [departmentId], references: [id], onUpdate: Restrict, map: "fk_staffs_department_id")
258
+ staffType StaffTypes @relation(fields: [staffTypeId], references: [id], onUpdate: Restrict, map: "fk_staffs_staff_type_id")
259
+ updatedBy User? @relation("sso_staffs_updated_by_idTosso_users", fields: [updatedById], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_staffs_updated_by_id")
260
+ user User @relation("sso_staffs_user_idTosso_users", fields: [userId], references: [id], onUpdate: Restrict, map: "fk_staffs_user_id")
261
+
262
+ @@index([buildingId], map: "fk_staffs_building_id")
263
+ @@index([companyId], map: "fk_staffs_company_id")
264
+ @@index([createdById], map: "fk_staffs_created_by_id")
265
+ @@index([departmentId], map: "fk_staffs_department_id")
266
+ @@index([staffTypeId], map: "fk_staffs_staff_type_id")
267
+ @@index([updatedById], map: "fk_staffs_updated_by_id")
268
+ @@index([userId], map: "fk_staffs_user_id")
269
+ @@map("sso_staffs")
270
+ }
271
+
272
+ model States {
273
+ id Int @id @default(autoincrement())
274
+ name String @db.VarChar(50)
275
+ countryId Int? @map("country_id")
276
+ createdAt DateTime @db.DateTime(0) @map("created_at")
277
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
278
+
279
+ @@map("sso_states")
280
+ }
281
+
282
+ model SystemAccess {
283
+ userId Int @map("user_id")
284
+ systemId Int @map("system_id")
285
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
286
+ system System @relation(fields: [systemId], references: [id], onUpdate: Restrict, map: "fk_system_access_system")
287
+ user User @relation(fields: [userId], references: [id], onUpdate: Restrict, map: "fk_system_access_user")
288
+
289
+ @@id([userId, systemId])
290
+ @@index([systemId], map: "fk_system_access_system")
291
+
292
+ @@map("sso_system_access")
293
+ }
294
+
295
+ model SystemPrivilege {
296
+ privilegeId String @id @db.VarChar(30) @map("PrivilegeId")
297
+ systemId Int @map("SystemId")
298
+ code String @db.VarChar(200) @map("Code")
299
+ module String? @db.VarChar(200) @map("Module")
300
+ description String? @db.VarChar(3000) @map("Description")
301
+ createdAt DateTime @default(dbgenerated("('2021-10-25 02:50:19')")) @db.DateTime(0) @map("CreatedAt")
302
+ updatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:19')")) @updatedAt @db.DateTime(0) @map("UpdatedAt")
303
+ groupRolePrivileges GroupRolePrivilege[]
304
+ groupSystemPrivileges GroupSystemPrivilege[]
305
+ system System @relation(fields: [systemId], references: [id], onDelete: Cascade, map: "sso_systemprivilege_ibfk_1")
306
+ systemRolePrivileges SystemRolePrivilege[]
307
+ userSystemPrivileges UserSystemPrivilege[]
308
+
309
+ @@index([systemId], map: "systemId")
310
+ @@map("sso_systemprivilege")
311
+ }
312
+
313
+ model SystemRole {
314
+ roleId String @id @db.VarChar(30) @map("RoleId")
315
+ systemId Int @map("SystemId")
316
+ name String @db.VarChar(100) @map("Name")
317
+ description String? @db.VarChar(3000) @map("Description")
318
+ createdById Int @map("CreatedById")
319
+ createdAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @db.DateTime(0) @map("CreatedAt")
320
+ updatedById Int @map("UpdatedById")
321
+ updatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @updatedAt @db.DateTime(0) @map("UpdatedAt")
322
+ groupRolePrivileges GroupRolePrivilege[]
323
+ groupSystemRoles GroupSystemRole[]
324
+ system System @relation(fields: [systemId], references: [id], onDelete: Cascade, map: "sso_systemrole_ibfk_1")
325
+ systemRolePrivileges SystemRolePrivilege[]
326
+ userSystemRoles UserSystemRole[]
327
+
328
+ @@index([systemId], map: "systemId")
329
+ @@map("sso_systemrole")
330
+ }
331
+
332
+ model SystemRolePrivilege {
333
+ roleId String @db.VarChar(30) @map("RoleId")
334
+ privilegeId String @db.VarChar(30) @map("PrivilegeId")
335
+ createdAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @db.DateTime(0) @map("CreatedAt")
336
+ updatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @updatedAt @db.DateTime(0) @map("UpdatedAt")
337
+ systemRole SystemRole @relation(fields: [roleId], references: [roleId], onDelete: Cascade, map: "sso_systemroleprivilege_ibfk_1")
338
+ systemPrivilege SystemPrivilege @relation(fields: [privilegeId], references: [privilegeId], onDelete: Cascade, map: "sso_systemroleprivilege_ibfk_2")
339
+
340
+ @@id([roleId, privilegeId])
341
+ @@index([privilegeId], map: "privilegeId")
342
+ @@map("sso_systemroleprivilege")
343
+ }
344
+
345
+ model System {
346
+ id Int @id @default(autoincrement())
347
+ code String @unique(map: "code") @db.VarChar(10)
348
+ name String @db.VarChar(200)
349
+ description String @db.VarChar(500)
350
+ accessUrl String? @db.VarChar(2000) @map("access_url")
351
+ googlePlayUrl String? @db.VarChar(2000) @map("google_play_url")
352
+ appleStoreUrl String? @db.VarChar(2000) @map("apple_store_url")
353
+ apiKey String? @db.VarChar(255) @map("api_key")
354
+ logo String? @db.VarChar(255)
355
+ status String @db.VarChar(10)
356
+ visible Boolean @default(true)
357
+ createdAt DateTime @db.DateTime(0) @map("created_at")
358
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
359
+ apiSecret String? @db.VarChar(255) @map("api_secret")
360
+ updatedById Int? @map("updated_by_id")
361
+ createdById Int? @map("created_by_id")
362
+ groupRolePrivileges GroupRolePrivilege[]
363
+ oAuthTokens OAuthToken[]
364
+ systemAccesses SystemAccess[]
365
+ systemPrivileges SystemPrivilege[]
366
+ systemRoles SystemRole[]
367
+ userUserGroups UserUserGroup[]
368
+
369
+ @@map("sso_systems")
370
+ }
371
+
372
+ model UpdatedHistory {
373
+ historyId BigInt @id @default(autoincrement()) @map("HistoryId")
374
+ batchId String? @db.VarChar(30) @map("BatchId")
375
+ objectType String @db.VarChar(50) @map("ObjectType")
376
+ objectValue String @db.VarChar(50) @map("ObjectValue")
377
+ actionType sso_updated_history_ActionType @map("ActionType")
378
+ updatedFieldName String @db.VarChar(100) @map("UpdatedFieldName")
379
+ oldValue String? @db.VarChar(1000) @map("OldValue")
380
+ newValue String? @db.VarChar(1000) @map("NewValue")
381
+ updatedById Int
382
+ updatedAt DateTime @db.DateTime(0)
383
+
384
+ @@map("sso_updated_history")
385
+ }
386
+
387
+ model UserRoles {
388
+ userId Int @map("user_id")
389
+ roleId Int @map("role_id")
390
+ updatedById Int? @map("updated_by_id")
391
+ updatedAt DateTime @updatedAt @db.DateTime(0) @map("updated_at")
392
+
393
+ @@id([userId, roleId])
394
+ @@map("sso_user_roles")
395
+ }
396
+
397
+ model UserGroup {
398
+ groupCode String @id @db.VarChar(10) @map("GroupCode")
399
+ groupDescription String? @db.VarChar(100) @map("GroupDescription")
400
+ status sso_usergroup_Status? @map("Status")
401
+ personInCharge String? @db.VarChar(100) @map("PersonInCharge")
402
+ fullPath String? @db.VarChar(1000) @map("FullPath")
403
+ parentGroupCode String? @db.VarChar(10) @map("ParentGroupCode")
404
+ groupLevel Int @default(0) @map("GroupLevel")
405
+ groupType String? @db.VarChar(10) @map("GroupType")
406
+ allowInheritFromParentYN sso_YN? @default(N) @map("AllowInheritFromParentYN")
407
+ createdById String? @db.VarChar(30) @map("CreatedById")
408
+ createdAt DateTime? @default(dbgenerated("('2022-06-29 01:16:39')")) @db.DateTime(0) @map("CreatedAt")
409
+ updatedById String? @db.VarChar(30) @map("UpdatedById")
410
+ updatedAt DateTime? @default(dbgenerated("('2022-06-29 01:16:39')")) @updatedAt @db.DateTime(0) @map("UpdatedAt")
411
+ departmentId Int? @map("DepartmentId")
412
+ groupRolePrivileges GroupRolePrivilege[]
413
+ groupSystemAccesses GroupSystemAccess[]
414
+ groupSystemPrivileges GroupSystemPrivilege[]
415
+ groupSystemRoles GroupSystemRole[]
416
+ department Departement? @relation(fields: [departmentId], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "sso_UserGroup_DepartmentId_foreign_idx")
417
+ users User[]
418
+ userUserGroups UserUserGroup[]
419
+
420
+ @@index([departmentId], map: "sso_UserGroup_DepartmentId_foreign_idx")
421
+ @@map("sso_usergroup")
422
+ }
423
+
424
+ model User {
425
+ id Int @id @default(autoincrement())
426
+ email String @unique(map: "email") @db.VarChar(255)
427
+ password String @db.VarChar(255)
428
+ status String? @db.VarChar(255)
429
+ default_password_changed Boolean? @default(false)
430
+ first_login_at DateTime? @db.DateTime(0)
431
+ created_at DateTime @db.DateTime(0)
432
+ updated_at DateTime @updatedAt @db.DateTime(0)
433
+ groupCode String? @db.VarChar(10) @map("GroupCode")
434
+ createdByDepartments Departement[] @relation("sso_departments_created_by_idTosso_users")
435
+ updatedByDepartments Departement[] @relation("sso_departments_updated_by_idTosso_users")
436
+ createdByStaff Staff[] @relation("sso_staffs_created_by_idTosso_users")
437
+ updatedByStaff Staff[] @relation("sso_staffs_updated_by_idTosso_users")
438
+ staffs Staff[] @relation("sso_staffs_user_idTosso_users")
439
+ systemAccesses SystemAccess[]
440
+ userGroup UserGroup? @relation(fields: [groupCode], references: [groupCode], onDelete: Restrict, onUpdate: Restrict, map: "sso_users_GroupCode_foreign_idx")
441
+ userSystemPrivileges UserSystemPrivilege[]
442
+ userSystemRoles UserSystemRole[]
443
+ userUserGroups UserUserGroup[]
444
+
445
+ @@index([groupCode], map: "sso_users_GroupCode_foreign_idx")
446
+ @@map("sso_users")
447
+ }
448
+
449
+ model UserSystemPrivilege {
450
+ userId Int @map("UserId")
451
+ privilegeId String @db.VarChar(30) @map("PrivilegeId")
452
+ isInheritedYN sso_YN @default(N) @map("IsInheritedYN")
453
+ isRevokedYN sso_YN @default(N) @map("IsRevokedYN")
454
+ createdAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @db.DateTime(0) @map("CreatedAt")
455
+ updatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @updatedAt @db.DateTime(0) @map("UpdatedAt")
456
+ user User @relation(fields: [userId], references: [id], onDelete: Cascade, map: "sso_usersystemprivilege_ibfk_1")
457
+ systemPrivilege SystemPrivilege @relation(fields: [privilegeId], references: [privilegeId], onDelete: Cascade, map: "sso_usersystemprivilege_ibfk_2")
458
+
459
+ @@id([userId, privilegeId])
460
+ @@index([privilegeId], map: "privilegeId")
461
+ @@map("sso_usersystemprivilege")
462
+ }
463
+
464
+ model UserSystemRole {
465
+ userId Int @map("UserId")
466
+ roleId String @db.VarChar(30) @map("RoleId")
467
+ createdAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @db.DateTime(0) @map("CreatedAt")
468
+ updatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @updatedAt @db.DateTime(0) @map("UpdatedAt")
469
+ user User @relation(fields: [userId], references: [id], onDelete: Cascade, map: "sso_usersystemrole_ibfk_1")
470
+ systemRole SystemRole @relation(fields: [roleId], references: [roleId], onDelete: Cascade, map: "sso_usersystemrole_ibfk_2")
471
+
472
+ @@id([userId, roleId])
473
+ @@index([roleId], map: "roleId")
474
+ @@map("sso_usersystemrole")
475
+ }
476
+
477
+ model UserUserGroup {
478
+ userId Int @map("UserId")
479
+ groupCode String @map("GroupCode")
480
+ systemId Int? @map("SystemId")
481
+ createdAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @db.DateTime(0) @map("CreatedAt")
482
+ updatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @updatedAt @db.DateTime(0) @map("UpdatedAt")
483
+ user User @relation(fields: [userId], references: [id], onDelete: Cascade, map: "sso_UserUserGroup_ibfk_1")
484
+ system System? @relation(fields: [systemId], references: [id], onDelete: Cascade, map: "sso_UserUserGroup_ibfk_3")
485
+ userGroup UserGroup @relation(fields: [groupCode], references: [groupCode], onDelete: Cascade, map: "sso_UserUserGroup_ibfk_2")
486
+
487
+ @@id([userId, groupCode])
488
+ @@index([groupCode], map: "groupCode")
489
+ @@map("sso_UserUserGroup")
490
+ }
491
+
492
+ enum sso_usergroup_Status {
493
+ Active
494
+ Inactive
495
+ }
496
+
497
+ enum sso_updated_history_ActionType {
498
+ Add
499
+ Update
500
+ Delete
501
+ }
502
+
503
+ enum sso_YN {
504
+ Y
505
+ N
506
+ }
package/src/index.ts ADDED
File without changes
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
4
+ }
5
+
package/tsconfig.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "declaration": true,
5
+ "removeComments": true,
6
+ "emitDecoratorMetadata": true,
7
+ "experimentalDecorators": true,
8
+ "allowSyntheticDefaultImports": true,
9
+ "moduleResolution": "node",
10
+ "target": "es6",
11
+ "sourceMap": true,
12
+ "outDir": "./dist",
13
+ "baseUrl": "./",
14
+ "incremental": true,
15
+ "skipLibCheck": true,
16
+ "strictNullChecks": false,
17
+ "noImplicitAny": false,
18
+ "strictBindCallApply": false,
19
+ "forceConsistentCasingInFileNames": false,
20
+ "noFallthroughCasesInSwitch": false,
21
+ }
22
+ }