@tomei/sso 0.0.1 → 0.1.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.
@@ -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 ADDED
@@ -0,0 +1,6 @@
1
+ ## SSO Package
2
+
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
@@ -0,0 +1,35 @@
1
+
2
+ -- Create sso-user
3
+ CREATE USER 'sso_user'@'environment' IDENTIFIED BY 'password';
4
+
5
+ -- Grant access to sso table
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;
package/package.json CHANGED
@@ -1,50 +1,51 @@
1
- {
2
- "name": "@tomei/sso",
3
- "version": "0.0.1",
4
- "description": "Tomei SSO Package",
5
- "main": "dist/index.js",
6
- "scripts": {
7
- "start:dev": "tsc -w",
8
- "build:types": "tsc -p ./tsconfig.json --outDir build --declaration true && api-extractor run",
9
- "build": "tsc",
10
- "prepare": "npm run build",
11
- "format": "prettier --write \"src/**/*.ts\"",
12
- "lint": "tslint -p tsconfig.json -c tslint.json"
13
- },
14
- "repository": {
15
- "type": "git",
16
- "url": "git+ssh://git@gitlab.com/tomei-package/sso.git"
17
- },
18
- "keywords": [
19
- "tomei",
20
- "sso"
21
- ],
22
- "author": "Tomei",
23
- "license": "ISC",
24
- "bugs": {
25
- "url": "https://gitlab.com/tomei-package/sso/issues"
26
- },
27
- "homepage": "https://gitlab.com/tomei-package/sso#readme",
28
- "files": [
29
- "dist"
30
- ],
31
- "devDependencies": {
32
- "@commitlint/cli": "^17.6.3",
33
- "@commitlint/config-conventional": "^17.6.3",
34
- "@tsconfig/node18": "^2.0.1",
35
- "@types/node": "^18.0.6",
36
- "@typescript-eslint/eslint-plugin": "^5.33.0",
37
- "eslint": "^8.40.0",
38
- "eslint-config-prettier": "^8.5.0",
39
- "eslint-plugin-prettier": "^4.2.1",
40
- "prettier": "^2.7.1",
41
- "ts-node": "^10.9.1",
42
- "tsc-watch": "^5.0.3",
43
- "tsconfig-paths": "^4.0.0",
44
- "tslint": "^6.1.3",
45
- "typescript": "^4.7.4"
46
- },
47
- "publishConfig": {
48
- "access": "public"
49
- }
50
- }
1
+ {
2
+ "name": "@tomei/sso",
3
+ "version": "0.1.1",
4
+ "description": "Tomei SSO Package",
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "start:dev": "tsc -w",
8
+ "build": "tsc",
9
+ "prepare": "husky install",
10
+ "format": "prettier --write \"src/**/*.ts\"",
11
+ "lint": "npx eslint . --fix"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+ssh://git@gitlab.com/tomei-package/sso.git"
16
+ },
17
+ "keywords": [
18
+ "tomei",
19
+ "sso"
20
+ ],
21
+ "author": "Tomei",
22
+ "license": "ISC",
23
+ "bugs": {
24
+ "url": "https://gitlab.com/tomei-package/sso/issues"
25
+ },
26
+ "homepage": "https://gitlab.com/tomei-package/sso#readme",
27
+ "devDependencies": {
28
+ "@commitlint/cli": "^17.6.3",
29
+ "@commitlint/config-conventional": "^17.6.3",
30
+ "@tsconfig/node18": "^2.0.1",
31
+ "@types/node": "^18.0.6",
32
+ "@typescript-eslint/eslint-plugin": "^5.33.0",
33
+ "eslint": "^8.40.0",
34
+ "eslint-config-prettier": "^8.5.0",
35
+ "eslint-plugin-prettier": "^4.2.1",
36
+ "husky": "^8.0.3",
37
+ "prettier": "^2.7.1",
38
+ "prisma": "^4.14.0",
39
+ "ts-node": "^10.9.1",
40
+ "tsc-watch": "^5.0.3",
41
+ "tsconfig-paths": "^4.0.0",
42
+ "tslint": "^6.1.3",
43
+ "typescript": "^4.7.4"
44
+ },
45
+ "publishConfig": {
46
+ "access": "public"
47
+ },
48
+ "peerDependencies": {
49
+ "@prisma/client": "^4.14.1"
50
+ }
51
+ }
@@ -0,0 +1,521 @@
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_sequelize_meta` (
209
+ `name` VARCHAR(255) NOT NULL,
210
+
211
+ UNIQUE INDEX `name`(`name`),
212
+ PRIMARY KEY (`name`)
213
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
214
+
215
+ -- CreateTable
216
+ CREATE TABLE `sso_staff_types` (
217
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
218
+ `name` VARCHAR(20) NOT NULL,
219
+ `created_at` DATETIME(0) NOT NULL,
220
+ `updated_at` DATETIME(0) NOT NULL,
221
+
222
+ PRIMARY KEY (`id`)
223
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
224
+
225
+ -- CreateTable
226
+ CREATE TABLE `sso_staffs` (
227
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
228
+ `staff_id` VARCHAR(10) NOT NULL,
229
+ `full_name` VARCHAR(200) NOT NULL,
230
+ `preferred_name` VARCHAR(200) NOT NULL,
231
+ `email` VARCHAR(200) NOT NULL,
232
+ `staff_type_id` INTEGER NOT NULL,
233
+ `job_title` VARCHAR(100) NOT NULL,
234
+ `car_plate` VARCHAR(20) NOT NULL DEFAULT '',
235
+ `mobile` VARCHAR(20) NULL,
236
+ `floor` VARCHAR(15) NULL,
237
+ `extension` INTEGER NULL,
238
+ `is_charge` BOOLEAN NOT NULL DEFAULT false,
239
+ `status` VARCHAR(10) NOT NULL,
240
+ `user_id` INTEGER NOT NULL,
241
+ `building_id` INTEGER NOT NULL,
242
+ `department_id` INTEGER NOT NULL,
243
+ `company_id` INTEGER NULL,
244
+ `created_by_id` INTEGER NULL,
245
+ `updated_by_id` INTEGER NULL,
246
+ `created_at` DATETIME(0) NOT NULL,
247
+ `updated_at` DATETIME(0) NOT NULL,
248
+ `image` VARCHAR(255) NULL,
249
+ `IdNo` VARCHAR(20) NULL,
250
+ `FullAddress` VARCHAR(1000) NULL,
251
+
252
+ UNIQUE INDEX `staff_id`(`staff_id`),
253
+ INDEX `fk_staffs_building_id`(`building_id`),
254
+ INDEX `fk_staffs_company_id`(`company_id`),
255
+ INDEX `fk_staffs_created_by_id`(`created_by_id`),
256
+ INDEX `fk_staffs_department_id`(`department_id`),
257
+ INDEX `fk_staffs_staff_type_id`(`staff_type_id`),
258
+ INDEX `fk_staffs_updated_by_id`(`updated_by_id`),
259
+ INDEX `fk_staffs_user_id`(`user_id`),
260
+ PRIMARY KEY (`id`)
261
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
262
+
263
+ -- CreateTable
264
+ CREATE TABLE `sso_states` (
265
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
266
+ `name` VARCHAR(50) NOT NULL,
267
+ `country_id` INTEGER NULL,
268
+ `created_at` DATETIME(0) NOT NULL,
269
+ `updated_at` DATETIME(0) NOT NULL,
270
+
271
+ PRIMARY KEY (`id`)
272
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
273
+
274
+ -- CreateTable
275
+ CREATE TABLE `sso_system_accesses` (
276
+ `user_id` INTEGER NOT NULL,
277
+ `system_id` INTEGER NOT NULL,
278
+ `updated_at` DATETIME(0) NOT NULL,
279
+
280
+ INDEX `fk_system_access_system`(`system_id`),
281
+ PRIMARY KEY (`user_id`, `system_id`)
282
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
283
+
284
+ -- CreateTable
285
+ CREATE TABLE `sso_systemprivilege` (
286
+ `PrivilegeId` VARCHAR(30) NOT NULL,
287
+ `SystemId` INTEGER NOT NULL,
288
+ `Code` VARCHAR(200) NOT NULL,
289
+ `Description` VARCHAR(3000) NULL,
290
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:19'),
291
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:19'),
292
+
293
+ INDEX `SystemId`(`SystemId`),
294
+ PRIMARY KEY (`PrivilegeId`)
295
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
296
+
297
+ -- CreateTable
298
+ CREATE TABLE `sso_systemrole` (
299
+ `RoleId` VARCHAR(30) NOT NULL,
300
+ `SystemId` INTEGER NOT NULL,
301
+ `Name` VARCHAR(100) NOT NULL,
302
+ `Description` VARCHAR(3000) NULL,
303
+ `CreatedById` INTEGER NOT NULL,
304
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
305
+ `UpdatedById` INTEGER NOT NULL,
306
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
307
+
308
+ INDEX `SystemId`(`SystemId`),
309
+ PRIMARY KEY (`RoleId`)
310
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
311
+
312
+ -- CreateTable
313
+ CREATE TABLE `sso_systemroleprivilege` (
314
+ `RoleId` VARCHAR(30) NOT NULL,
315
+ `PrivilegeId` VARCHAR(30) NOT NULL,
316
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
317
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
318
+
319
+ INDEX `PrivilegeId`(`PrivilegeId`),
320
+ PRIMARY KEY (`RoleId`, `PrivilegeId`)
321
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
322
+
323
+ -- CreateTable
324
+ CREATE TABLE `sso_systems` (
325
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
326
+ `code` VARCHAR(10) NOT NULL,
327
+ `name` VARCHAR(200) NOT NULL,
328
+ `description` VARCHAR(500) NOT NULL,
329
+ `access_url` VARCHAR(2000) NULL,
330
+ `google_play_url` VARCHAR(2000) NULL,
331
+ `apple_store_url` VARCHAR(2000) NULL,
332
+ `api_key` VARCHAR(255) NULL,
333
+ `logo` VARCHAR(255) NULL,
334
+ `status` VARCHAR(10) NOT NULL,
335
+ `visible` BOOLEAN NOT NULL DEFAULT true,
336
+ `created_at` DATETIME(0) NOT NULL,
337
+ `updated_at` DATETIME(0) NOT NULL,
338
+ `api_secret` VARCHAR(255) NULL,
339
+ `updated_by_id` INTEGER NULL,
340
+ `created_by_id` INTEGER NULL,
341
+
342
+ UNIQUE INDEX `code`(`code`),
343
+ PRIMARY KEY (`id`)
344
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
345
+
346
+ -- CreateTable
347
+ CREATE TABLE `sso_updated_history` (
348
+ `HistoryId` BIGINT NOT NULL AUTO_INCREMENT,
349
+ `BatchId` VARCHAR(30) NULL,
350
+ `ObjectType` VARCHAR(50) NOT NULL,
351
+ `ObjectValue` VARCHAR(50) NOT NULL,
352
+ `ActionType` ENUM('Add', 'Update', 'Delete') NOT NULL,
353
+ `UpdatedFieldName` VARCHAR(100) NOT NULL,
354
+ `OldValue` VARCHAR(1000) NULL,
355
+ `NewValue` VARCHAR(1000) NULL,
356
+ `UpdatedById` INTEGER NOT NULL,
357
+ `UpdatedAt` DATETIME(0) NOT NULL,
358
+
359
+ PRIMARY KEY (`HistoryId`)
360
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
361
+
362
+ -- CreateTable
363
+ CREATE TABLE `sso_user_roles` (
364
+ `user_id` INTEGER NOT NULL,
365
+ `role_id` INTEGER NOT NULL,
366
+ `updated_by_id` INTEGER NULL,
367
+ `updated_at` DATETIME(0) NOT NULL,
368
+
369
+ PRIMARY KEY (`user_id`, `role_id`)
370
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
371
+
372
+ -- CreateTable
373
+ CREATE TABLE `sso_usergroup` (
374
+ `GroupCode` VARCHAR(10) NOT NULL,
375
+ `GroupDescription` VARCHAR(100) NULL,
376
+ `Status` ENUM('Active', 'Inactive') NULL,
377
+ `CreatedById` VARCHAR(30) NULL,
378
+ `CreatedAt` DATETIME(0) NULL DEFAULT ('2022-06-29 01:16:39'),
379
+ `UpdatedById` VARCHAR(30) NULL,
380
+ `UpdatedAt` DATETIME(0) NULL DEFAULT ('2022-06-29 01:16:39'),
381
+ `DepartmentId` INTEGER NULL,
382
+
383
+ INDEX `sso_UserGroup_DepartmentId_foreign_idx`(`DepartmentId`),
384
+ PRIMARY KEY (`GroupCode`)
385
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
386
+
387
+ -- CreateTable
388
+ CREATE TABLE `sso_users` (
389
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
390
+ `email` VARCHAR(255) NOT NULL,
391
+ `password` VARCHAR(255) NOT NULL,
392
+ `status` VARCHAR(255) NULL,
393
+ `default_password_changed` BOOLEAN NULL DEFAULT false,
394
+ `first_login_at` DATETIME(0) NULL,
395
+ `created_at` DATETIME(0) NOT NULL,
396
+ `updated_at` DATETIME(0) NOT NULL,
397
+ `GroupCode` VARCHAR(10) NULL,
398
+
399
+ UNIQUE INDEX `email`(`email`),
400
+ INDEX `sso_users_GroupCode_foreign_idx`(`GroupCode`),
401
+ PRIMARY KEY (`id`)
402
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
403
+
404
+ -- CreateTable
405
+ CREATE TABLE `sso_usersystemprivilege` (
406
+ `UserId` INTEGER NOT NULL,
407
+ `PrivilegeId` VARCHAR(30) NOT NULL,
408
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
409
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
410
+
411
+ INDEX `PrivilegeId`(`PrivilegeId`),
412
+ PRIMARY KEY (`UserId`, `PrivilegeId`)
413
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
414
+
415
+ -- CreateTable
416
+ CREATE TABLE `sso_usersystemrole` (
417
+ `UserId` INTEGER NOT NULL,
418
+ `RoleId` VARCHAR(30) NOT NULL,
419
+ `CreatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
420
+ `UpdatedAt` DATETIME(0) NOT NULL DEFAULT ('2021-10-25 02:50:20'),
421
+
422
+ INDEX `RoleId`(`RoleId`),
423
+ PRIMARY KEY (`UserId`, `RoleId`)
424
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
425
+
426
+ -- AddForeignKey
427
+ ALTER TABLE `sso_departments` ADD CONSTRAINT `fk_departments_building_id` FOREIGN KEY (`building_id`) REFERENCES `sso_buildings`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
428
+
429
+ -- AddForeignKey
430
+ 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;
431
+
432
+ -- AddForeignKey
433
+ 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;
434
+
435
+ -- AddForeignKey
436
+ ALTER TABLE `sso_grouproleprivilege` ADD CONSTRAINT `sso_GroupRolePrivilege_SystemId_foreign_idx` FOREIGN KEY (`SystemId`) REFERENCES `sso_systems`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
437
+
438
+ -- AddForeignKey
439
+ ALTER TABLE `sso_grouproleprivilege` ADD CONSTRAINT `sso_grouproleprivilege_ibfk_1` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE CASCADE ON UPDATE CASCADE;
440
+
441
+ -- AddForeignKey
442
+ ALTER TABLE `sso_grouproleprivilege` ADD CONSTRAINT `sso_grouproleprivilege_ibfk_2` FOREIGN KEY (`RoleId`) REFERENCES `sso_systemrole`(`RoleId`) ON DELETE CASCADE ON UPDATE CASCADE;
443
+
444
+ -- AddForeignKey
445
+ ALTER TABLE `sso_grouproleprivilege` ADD CONSTRAINT `sso_grouproleprivilege_ibfk_3` FOREIGN KEY (`PrivilegeId`) REFERENCES `sso_systemprivilege`(`PrivilegeId`) ON DELETE CASCADE ON UPDATE CASCADE;
446
+
447
+ -- AddForeignKey
448
+ ALTER TABLE `sso_groupsystemaccess` ADD CONSTRAINT `sso_groupsystemaccess_ibfk_1` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE CASCADE ON UPDATE CASCADE;
449
+
450
+ -- AddForeignKey
451
+ ALTER TABLE `sso_groupsystemprivilege` ADD CONSTRAINT `sso_groupsystemprivilege_ibfk_1` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE CASCADE ON UPDATE CASCADE;
452
+
453
+ -- AddForeignKey
454
+ ALTER TABLE `sso_groupsystemprivilege` ADD CONSTRAINT `sso_groupsystemprivilege_ibfk_2` FOREIGN KEY (`PrivilegeId`) REFERENCES `sso_systemprivilege`(`PrivilegeId`) ON DELETE CASCADE ON UPDATE CASCADE;
455
+
456
+ -- AddForeignKey
457
+ ALTER TABLE `sso_groupsystemrole` ADD CONSTRAINT `sso_groupsystemrole_ibfk_1` FOREIGN KEY (`RoleId`) REFERENCES `sso_systemrole`(`RoleId`) ON DELETE RESTRICT ON UPDATE RESTRICT;
458
+
459
+ -- AddForeignKey
460
+ ALTER TABLE `sso_groupsystemrole` ADD CONSTRAINT `sso_groupsystemrole_ibfk_2` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE RESTRICT ON UPDATE RESTRICT;
461
+
462
+ -- AddForeignKey
463
+ 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;
464
+
465
+ -- AddForeignKey
466
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_building_id` FOREIGN KEY (`building_id`) REFERENCES `sso_buildings`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
467
+
468
+ -- AddForeignKey
469
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_company_id` FOREIGN KEY (`company_id`) REFERENCES `sso_companies`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
470
+
471
+ -- AddForeignKey
472
+ 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;
473
+
474
+ -- AddForeignKey
475
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_department_id` FOREIGN KEY (`department_id`) REFERENCES `sso_departments`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
476
+
477
+ -- AddForeignKey
478
+ 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;
479
+
480
+ -- AddForeignKey
481
+ 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;
482
+
483
+ -- AddForeignKey
484
+ ALTER TABLE `sso_staffs` ADD CONSTRAINT `fk_staffs_user_id` FOREIGN KEY (`user_id`) REFERENCES `sso_users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
485
+
486
+ -- AddForeignKey
487
+ 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;
488
+
489
+ -- AddForeignKey
490
+ 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;
491
+
492
+ -- AddForeignKey
493
+ ALTER TABLE `sso_systemprivilege` ADD CONSTRAINT `sso_systemprivilege_ibfk_1` FOREIGN KEY (`SystemId`) REFERENCES `sso_systems`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
494
+
495
+ -- AddForeignKey
496
+ ALTER TABLE `sso_systemrole` ADD CONSTRAINT `sso_systemrole_ibfk_1` FOREIGN KEY (`SystemId`) REFERENCES `sso_systems`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
497
+
498
+ -- AddForeignKey
499
+ ALTER TABLE `sso_systemroleprivilege` ADD CONSTRAINT `sso_systemroleprivilege_ibfk_1` FOREIGN KEY (`RoleId`) REFERENCES `sso_systemrole`(`RoleId`) ON DELETE CASCADE ON UPDATE CASCADE;
500
+
501
+ -- AddForeignKey
502
+ ALTER TABLE `sso_systemroleprivilege` ADD CONSTRAINT `sso_systemroleprivilege_ibfk_2` FOREIGN KEY (`PrivilegeId`) REFERENCES `sso_systemprivilege`(`PrivilegeId`) ON DELETE CASCADE ON UPDATE CASCADE;
503
+
504
+ -- AddForeignKey
505
+ ALTER TABLE `sso_usergroup` ADD CONSTRAINT `sso_UserGroup_DepartmentId_foreign_idx` FOREIGN KEY (`DepartmentId`) REFERENCES `sso_departments`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
506
+
507
+ -- AddForeignKey
508
+ ALTER TABLE `sso_users` ADD CONSTRAINT `sso_users_GroupCode_foreign_idx` FOREIGN KEY (`GroupCode`) REFERENCES `sso_usergroup`(`GroupCode`) ON DELETE RESTRICT ON UPDATE RESTRICT;
509
+
510
+ -- AddForeignKey
511
+ ALTER TABLE `sso_usersystemprivilege` ADD CONSTRAINT `sso_usersystemprivilege_ibfk_1` FOREIGN KEY (`UserId`) REFERENCES `sso_users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
512
+
513
+ -- AddForeignKey
514
+ ALTER TABLE `sso_usersystemprivilege` ADD CONSTRAINT `sso_usersystemprivilege_ibfk_2` FOREIGN KEY (`PrivilegeId`) REFERENCES `sso_systemprivilege`(`PrivilegeId`) ON DELETE CASCADE ON UPDATE CASCADE;
515
+
516
+ -- AddForeignKey
517
+ ALTER TABLE `sso_usersystemrole` ADD CONSTRAINT `sso_usersystemrole_ibfk_1` FOREIGN KEY (`UserId`) REFERENCES `sso_users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
518
+
519
+ -- AddForeignKey
520
+ ALTER TABLE `sso_usersystemrole` ADD CONSTRAINT `sso_usersystemrole_ibfk_2` FOREIGN KEY (`RoleId`) REFERENCES `sso_systemrole`(`RoleId`) ON DELETE CASCADE ON UPDATE CASCADE;
521
+
@@ -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,436 @@
1
+ generator client {
2
+ provider = "prisma-client-js"
3
+ }
4
+
5
+ datasource db {
6
+ provider = "mysql"
7
+ url = env("DATABASE_URL")
8
+ }
9
+
10
+ model sso_authorization_codes {
11
+ id Int @id @default(autoincrement())
12
+ user_id Int
13
+ system_id Int
14
+ code String @unique(map: "code") @db.VarChar(255)
15
+ expired_at DateTime @db.DateTime(0)
16
+ created_at DateTime @default(now())
17
+ updated_at DateTime @updatedAt
18
+ status String? @default("unused") @db.VarChar(255)
19
+ }
20
+
21
+ model sso_bearer_tokens {
22
+ id Int @id @default(autoincrement())
23
+ user_id Int
24
+ token String @unique(map: "token") @db.VarChar(255)
25
+ expired_at DateTime @db.DateTime(0)
26
+ created_at DateTime @default(now())
27
+ updated_at DateTime @updatedAt
28
+ }
29
+
30
+ model sso_building_types {
31
+ id Int @id @default(autoincrement())
32
+ name String @db.VarChar(50)
33
+ created_at DateTime @default(now())
34
+ updated_at DateTime @updatedAt
35
+ }
36
+
37
+ model sso_buildings {
38
+ id Int @id @default(autoincrement())
39
+ name String? @db.VarChar(200)
40
+ code String @unique(map: "code") @db.VarChar(10)
41
+ building_type_id Int
42
+ status String @db.VarChar(10)
43
+ email String? @db.VarChar(200)
44
+ mobile String? @db.VarChar(20)
45
+ phone String @db.VarChar(20)
46
+ address String @db.VarChar(1000)
47
+ postcode String @db.VarChar(10)
48
+ longitude Decimal? @db.Decimal(11, 8)
49
+ latitude Decimal? @db.Decimal(10, 8)
50
+ country_id Int
51
+ state String @db.VarChar(50)
52
+ city String @db.VarChar(50)
53
+ created_by_id Int?
54
+ updated_by_id Int?
55
+ created_at DateTime @default(now())
56
+ updated_at DateTime @updatedAt
57
+ brand String? @db.VarChar(100)
58
+ area_staff_id Int?
59
+ opening_date DateTime? @db.DateTime(0)
60
+ ceased_date DateTime? @db.DateTime(0)
61
+ opening_hours String? @db.VarChar(200)
62
+ image String? @db.VarChar(200)
63
+ sso_departments sso_departments[]
64
+ sso_staffs sso_staffs[]
65
+ }
66
+
67
+ model sso_cities {
68
+ id Int @id @default(autoincrement())
69
+ name String? @db.VarChar(255)
70
+ state_id Int?
71
+ postcode String? @db.VarChar(255)
72
+ created_at DateTime @default(now())
73
+ updated_at DateTime @updatedAt
74
+ }
75
+
76
+ model sso_companies {
77
+ id Int @id @default(autoincrement())
78
+ code String @unique(map: "code") @db.VarChar(10)
79
+ name String @db.VarChar(200)
80
+ description String? @db.VarChar(3000)
81
+ logo String? @db.Text
82
+ status String @db.VarChar(10)
83
+ created_by_id Int?
84
+ updated_by_id Int?
85
+ created_at DateTime @default(now())
86
+ updated_at DateTime @updatedAt
87
+ sso_staffs sso_staffs[]
88
+ }
89
+
90
+ model sso_countries {
91
+ id Int @id @default(autoincrement())
92
+ code String @unique(map: "code") @db.VarChar(255)
93
+ name String @db.VarChar(100)
94
+ phonecode String? @db.VarChar(255)
95
+ created_at DateTime @default(now())
96
+ updated_at DateTime @updatedAt
97
+ }
98
+
99
+ model sso_departments {
100
+ id Int @id @default(autoincrement())
101
+ code String @unique(map: "code") @db.VarChar(10)
102
+ building_id Int?
103
+ status String @db.VarChar(10)
104
+ name String @db.VarChar(100)
105
+ created_by_id Int?
106
+ updated_by_id Int?
107
+ created_at DateTime @default(now())
108
+ updated_at DateTime @updatedAt
109
+ sso_buildings sso_buildings? @relation(fields: [building_id], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_departments_building_id")
110
+ sso_users_sso_departments_created_by_idTosso_users sso_users? @relation("sso_departments_created_by_idTosso_users", fields: [created_by_id], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_departments_created_by_id")
111
+ sso_users_sso_departments_updated_by_idTosso_users sso_users? @relation("sso_departments_updated_by_idTosso_users", fields: [updated_by_id], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_departments_updated_by_id")
112
+ sso_staffs sso_staffs[]
113
+ sso_usergroup sso_usergroup[]
114
+
115
+ @@index([building_id], map: "fk_departments_building_id")
116
+ @@index([created_by_id], map: "fk_departments_created_by_id")
117
+ @@index([updated_by_id], map: "fk_departments_updated_by_id")
118
+ }
119
+
120
+ model sso_grouproleprivilege {
121
+ GroupCode String @db.VarChar(10)
122
+ RoleId String @db.VarChar(30)
123
+ PrivilegeId String @db.VarChar(30)
124
+ CreatedById Int
125
+ CreatedAt DateTime @default(dbgenerated("('2023-01-03 17:13:45')")) @db.DateTime(0)
126
+ SystemId Int @default(1)
127
+ sso_systems sso_systems @relation(fields: [SystemId], references: [id], onDelete: Cascade, map: "sso_GroupRolePrivilege_SystemId_foreign_idx")
128
+ sso_usergroup sso_usergroup @relation(fields: [GroupCode], references: [GroupCode], onDelete: Cascade, map: "sso_grouproleprivilege_ibfk_1")
129
+ sso_systemrole sso_systemrole @relation(fields: [RoleId], references: [RoleId], onDelete: Cascade, map: "sso_grouproleprivilege_ibfk_2")
130
+ sso_systemprivilege sso_systemprivilege @relation(fields: [PrivilegeId], references: [PrivilegeId], onDelete: Cascade, map: "sso_grouproleprivilege_ibfk_3")
131
+
132
+ @@id([GroupCode, RoleId, PrivilegeId, SystemId])
133
+ @@index([PrivilegeId], map: "PrivilegeId")
134
+ @@index([RoleId], map: "RoleId")
135
+ @@index([SystemId], map: "sso_GroupRolePrivilege_SystemId_foreign_idx")
136
+ }
137
+
138
+ model sso_groupsystemaccess {
139
+ SystemId Int
140
+ GroupCode String @db.VarChar(10)
141
+ CreatedById Int
142
+ createdAt DateTime @default(dbgenerated("('2022-06-29 01:16:41')")) @db.DateTime(0)
143
+ sso_usergroup sso_usergroup @relation(fields: [GroupCode], references: [GroupCode], onDelete: Cascade, map: "sso_groupsystemaccess_ibfk_1")
144
+
145
+ @@id([SystemId, GroupCode])
146
+ @@index([GroupCode], map: "GroupCode")
147
+ }
148
+
149
+ model sso_groupsystemprivilege {
150
+ GroupCode String @db.VarChar(10)
151
+ PrivilegeId String @db.VarChar(30)
152
+ CreatedById String @db.VarChar(30)
153
+ CreatedAt DateTime @default(dbgenerated("('2022-06-29 01:16:40')")) @db.DateTime(0)
154
+ sso_usergroup sso_usergroup @relation(fields: [GroupCode], references: [GroupCode], onDelete: Cascade, map: "sso_groupsystemprivilege_ibfk_1")
155
+ sso_systemprivilege sso_systemprivilege @relation(fields: [PrivilegeId], references: [PrivilegeId], onDelete: Cascade, map: "sso_groupsystemprivilege_ibfk_2")
156
+
157
+ @@id([GroupCode, PrivilegeId])
158
+ @@index([PrivilegeId], map: "PrivilegeId")
159
+ }
160
+
161
+ model sso_groupsystemrole {
162
+ RoleId String @db.VarChar(30)
163
+ GroupCode String @db.VarChar(10)
164
+ CreatedById String @db.VarChar(30)
165
+ CreatedAt DateTime @default(dbgenerated("('2022-06-29 01:16:39')")) @db.DateTime(0)
166
+ sso_systemrole sso_systemrole @relation(fields: [RoleId], references: [RoleId], onUpdate: Restrict, map: "sso_groupsystemrole_ibfk_1")
167
+ sso_usergroup sso_usergroup @relation(fields: [GroupCode], references: [GroupCode], onUpdate: Restrict, map: "sso_groupsystemrole_ibfk_2")
168
+
169
+ @@id([RoleId, GroupCode])
170
+ @@index([GroupCode], map: "GroupCode")
171
+ }
172
+
173
+ model sso_oauth_tokens {
174
+ id Int @id @default(autoincrement())
175
+ user_id Int
176
+ token String @db.Text
177
+ expired_at DateTime @db.DateTime(0)
178
+ created_at DateTime @default(now())
179
+ updated_at DateTime @updatedAt
180
+ system_id Int @default(1)
181
+ sso_systems sso_systems @relation(fields: [system_id], references: [id], onDelete: Cascade, map: "sso_oauth_tokens_system_id_foreign_idx")
182
+
183
+ @@index([system_id], map: "sso_oauth_tokens_system_id_foreign_idx")
184
+ }
185
+
186
+ model sso_roles {
187
+ ID Int @id @default(autoincrement()) @db.UnsignedInt
188
+ name String @db.VarChar(255)
189
+ description String? @db.Text
190
+ default_to_on Boolean
191
+ parent_id Int?
192
+ created_at DateTime @default(now())
193
+ updated_at DateTime @updatedAt
194
+ }
195
+
196
+ model sso_sequelize_meta {
197
+ name String @id @unique(map: "name") @db.VarChar(255)
198
+ }
199
+
200
+ model sso_staff_types {
201
+ id Int @id @default(autoincrement())
202
+ name String @db.VarChar(20)
203
+ created_at DateTime @default(now())
204
+ updated_at DateTime @updatedAt
205
+ sso_staffs sso_staffs[]
206
+ }
207
+
208
+ model sso_staffs {
209
+ id Int @id @default(autoincrement())
210
+ staff_id String @unique(map: "staff_id") @db.VarChar(10)
211
+ full_name String @db.VarChar(200)
212
+ preferred_name String @db.VarChar(200)
213
+ email String @db.VarChar(200)
214
+ staff_type_id Int
215
+ job_title String @db.VarChar(100)
216
+ car_plate String @default("") @db.VarChar(20)
217
+ mobile String? @db.VarChar(20)
218
+ floor String? @db.VarChar(15)
219
+ extension Int?
220
+ is_charge Boolean @default(false)
221
+ status String @db.VarChar(10)
222
+ user_id Int
223
+ building_id Int
224
+ department_id Int
225
+ company_id Int?
226
+ created_by_id Int?
227
+ updated_by_id Int?
228
+ created_at DateTime @default(now())
229
+ updated_at DateTime @updatedAt
230
+ image String? @db.VarChar(255)
231
+ IdNo String? @db.VarChar(20)
232
+ FullAddress String? @db.VarChar(1000)
233
+ sso_buildings sso_buildings @relation(fields: [building_id], references: [id], onUpdate: Restrict, map: "fk_staffs_building_id")
234
+ sso_companies sso_companies? @relation(fields: [company_id], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_staffs_company_id")
235
+ sso_users_sso_staffs_created_by_idTosso_users sso_users? @relation("sso_staffs_created_by_idTosso_users", fields: [created_by_id], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_staffs_created_by_id")
236
+ sso_departments sso_departments @relation(fields: [department_id], references: [id], onUpdate: Restrict, map: "fk_staffs_department_id")
237
+ sso_staff_types sso_staff_types @relation(fields: [staff_type_id], references: [id], onUpdate: Restrict, map: "fk_staffs_staff_type_id")
238
+ sso_users_sso_staffs_updated_by_idTosso_users sso_users? @relation("sso_staffs_updated_by_idTosso_users", fields: [updated_by_id], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "fk_staffs_updated_by_id")
239
+ sso_users_sso_staffs_user_idTosso_users sso_users @relation("sso_staffs_user_idTosso_users", fields: [user_id], references: [id], onUpdate: Restrict, map: "fk_staffs_user_id")
240
+
241
+ @@index([building_id], map: "fk_staffs_building_id")
242
+ @@index([company_id], map: "fk_staffs_company_id")
243
+ @@index([created_by_id], map: "fk_staffs_created_by_id")
244
+ @@index([department_id], map: "fk_staffs_department_id")
245
+ @@index([staff_type_id], map: "fk_staffs_staff_type_id")
246
+ @@index([updated_by_id], map: "fk_staffs_updated_by_id")
247
+ @@index([user_id], map: "fk_staffs_user_id")
248
+ }
249
+
250
+ model sso_states {
251
+ id Int @id @default(autoincrement())
252
+ name String @db.VarChar(50)
253
+ country_id Int?
254
+ created_at DateTime @default(now())
255
+ updated_at DateTime @updatedAt
256
+ }
257
+
258
+ model sso_system_accesses {
259
+ user_id Int
260
+ system_id Int
261
+ updated_at DateTime @updatedAt
262
+ sso_systems sso_systems @relation(fields: [system_id], references: [id], onUpdate: Restrict, map: "fk_system_access_system")
263
+ sso_users sso_users @relation(fields: [user_id], references: [id], onUpdate: Restrict, map: "fk_system_access_user")
264
+
265
+ @@id([user_id, system_id])
266
+ @@index([system_id], map: "fk_system_access_system")
267
+ }
268
+
269
+ model sso_systemprivilege {
270
+ PrivilegeId String @id @db.VarChar(30)
271
+ SystemId Int
272
+ Code String @db.VarChar(200)
273
+ Description String? @db.VarChar(3000)
274
+ CreatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:19')")) @db.DateTime(0)
275
+ UpdatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:19')")) @updatedAt @db.DateTime(0)
276
+ sso_grouproleprivilege sso_grouproleprivilege[]
277
+ sso_groupsystemprivilege sso_groupsystemprivilege[]
278
+ sso_systems sso_systems @relation(fields: [SystemId], references: [id], onDelete: Cascade, map: "sso_systemprivilege_ibfk_1")
279
+ sso_systemroleprivilege sso_systemroleprivilege[]
280
+ sso_usersystemprivilege sso_usersystemprivilege[]
281
+
282
+ @@index([SystemId], map: "SystemId")
283
+ }
284
+
285
+ model sso_systemrole {
286
+ RoleId String @id @db.VarChar(30)
287
+ SystemId Int
288
+ Name String @db.VarChar(100)
289
+ Description String? @db.VarChar(3000)
290
+ CreatedById Int
291
+ CreatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @db.DateTime(0)
292
+ UpdatedById Int
293
+ UpdatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @updatedAt @db.DateTime(0)
294
+ sso_grouproleprivilege sso_grouproleprivilege[]
295
+ sso_groupsystemrole sso_groupsystemrole[]
296
+ sso_systems sso_systems @relation(fields: [SystemId], references: [id], onDelete: Cascade, map: "sso_systemrole_ibfk_1")
297
+ sso_systemroleprivilege sso_systemroleprivilege[]
298
+ sso_usersystemrole sso_usersystemrole[]
299
+
300
+ @@index([SystemId], map: "SystemId")
301
+ }
302
+
303
+ model sso_systemroleprivilege {
304
+ RoleId String @db.VarChar(30)
305
+ PrivilegeId String @db.VarChar(30)
306
+ CreatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @db.DateTime(0)
307
+ UpdatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @updatedAt @db.DateTime(0)
308
+ sso_systemrole sso_systemrole @relation(fields: [RoleId], references: [RoleId], onDelete: Cascade, map: "sso_systemroleprivilege_ibfk_1")
309
+ sso_systemprivilege sso_systemprivilege @relation(fields: [PrivilegeId], references: [PrivilegeId], onDelete: Cascade, map: "sso_systemroleprivilege_ibfk_2")
310
+
311
+ @@id([RoleId, PrivilegeId])
312
+ @@index([PrivilegeId], map: "PrivilegeId")
313
+ }
314
+
315
+ model sso_systems {
316
+ id Int @id @default(autoincrement())
317
+ code String @unique(map: "code") @db.VarChar(10)
318
+ name String @db.VarChar(200)
319
+ description String @db.VarChar(500)
320
+ access_url String? @db.VarChar(2000)
321
+ google_play_url String? @db.VarChar(2000)
322
+ apple_store_url String? @db.VarChar(2000)
323
+ api_key String? @db.VarChar(255)
324
+ logo String? @db.VarChar(255)
325
+ status String @db.VarChar(10)
326
+ visible Boolean @default(true)
327
+ created_at DateTime @default(now())
328
+ updated_at DateTime @updatedAt
329
+ api_secret String? @db.VarChar(255)
330
+ updated_by_id Int?
331
+ created_by_id Int?
332
+ sso_grouproleprivilege sso_grouproleprivilege[]
333
+ sso_oauth_tokens sso_oauth_tokens[]
334
+ sso_system_accesses sso_system_accesses[]
335
+ sso_systemprivilege sso_systemprivilege[]
336
+ sso_systemrole sso_systemrole[]
337
+ }
338
+
339
+ model sso_updated_history {
340
+ HistoryId BigInt @id @default(autoincrement())
341
+ BatchId String? @db.VarChar(30)
342
+ ObjectType String @db.VarChar(50)
343
+ ObjectValue String @db.VarChar(50)
344
+ ActionType sso_updated_history_ActionType
345
+ UpdatedFieldName String @db.VarChar(100)
346
+ OldValue String? @db.VarChar(1000)
347
+ NewValue String? @db.VarChar(1000)
348
+ UpdatedById Int
349
+ UpdatedAt DateTime @db.DateTime(0)
350
+ }
351
+
352
+ model sso_user_roles {
353
+ user_id Int
354
+ role_id Int
355
+ updated_by_id Int?
356
+ updated_at DateTime @updatedAt
357
+
358
+ @@id([user_id, role_id])
359
+ }
360
+
361
+ model sso_usergroup {
362
+ GroupCode String @id @db.VarChar(10)
363
+ GroupDescription String? @db.VarChar(100)
364
+ Status sso_usergroup_Status?
365
+ CreatedById String? @db.VarChar(30)
366
+ CreatedAt DateTime? @default(dbgenerated("('2022-06-29 01:16:39')")) @db.DateTime(0)
367
+ UpdatedById String? @db.VarChar(30)
368
+ UpdatedAt DateTime? @default(dbgenerated("('2022-06-29 01:16:39')")) @updatedAt @db.DateTime(0)
369
+ DepartmentId Int?
370
+ sso_grouproleprivilege sso_grouproleprivilege[]
371
+ sso_groupsystemaccess sso_groupsystemaccess[]
372
+ sso_groupsystemprivilege sso_groupsystemprivilege[]
373
+ sso_groupsystemrole sso_groupsystemrole[]
374
+ sso_departments sso_departments? @relation(fields: [DepartmentId], references: [id], onDelete: Restrict, onUpdate: Restrict, map: "sso_UserGroup_DepartmentId_foreign_idx")
375
+ sso_users sso_users[]
376
+
377
+ @@index([DepartmentId], map: "sso_UserGroup_DepartmentId_foreign_idx")
378
+ }
379
+
380
+ model sso_users {
381
+ id Int @id @default(autoincrement())
382
+ email String @unique(map: "email") @db.VarChar(255)
383
+ password String @db.VarChar(255)
384
+ status String? @db.VarChar(255)
385
+ default_password_changed Boolean? @default(false)
386
+ first_login_at DateTime? @db.DateTime(0)
387
+ created_at DateTime @default(now())
388
+ updated_at DateTime @updatedAt
389
+ GroupCode String? @db.VarChar(10)
390
+ sso_departments_sso_departments_created_by_idTosso_users sso_departments[] @relation("sso_departments_created_by_idTosso_users")
391
+ sso_departments_sso_departments_updated_by_idTosso_users sso_departments[] @relation("sso_departments_updated_by_idTosso_users")
392
+ sso_staffs_sso_staffs_created_by_idTosso_users sso_staffs[] @relation("sso_staffs_created_by_idTosso_users")
393
+ sso_staffs_sso_staffs_updated_by_idTosso_users sso_staffs[] @relation("sso_staffs_updated_by_idTosso_users")
394
+ sso_staffs_sso_staffs_user_idTosso_users sso_staffs[] @relation("sso_staffs_user_idTosso_users")
395
+ sso_system_accesses sso_system_accesses[]
396
+ sso_usergroup sso_usergroup? @relation(fields: [GroupCode], references: [GroupCode], onDelete: Restrict, onUpdate: Restrict, map: "sso_users_GroupCode_foreign_idx")
397
+ sso_usersystemprivilege sso_usersystemprivilege[]
398
+ sso_usersystemrole sso_usersystemrole[]
399
+
400
+ @@index([GroupCode], map: "sso_users_GroupCode_foreign_idx")
401
+ }
402
+
403
+ model sso_usersystemprivilege {
404
+ UserId Int
405
+ PrivilegeId String @db.VarChar(30)
406
+ CreatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @db.DateTime(0)
407
+ UpdatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @updatedAt @db.DateTime(0)
408
+ sso_users sso_users @relation(fields: [UserId], references: [id], onDelete: Cascade, map: "sso_usersystemprivilege_ibfk_1")
409
+ sso_systemprivilege sso_systemprivilege @relation(fields: [PrivilegeId], references: [PrivilegeId], onDelete: Cascade, map: "sso_usersystemprivilege_ibfk_2")
410
+
411
+ @@id([UserId, PrivilegeId])
412
+ @@index([PrivilegeId], map: "PrivilegeId")
413
+ }
414
+
415
+ model sso_usersystemrole {
416
+ UserId Int
417
+ RoleId String @db.VarChar(30)
418
+ CreatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @db.DateTime(0)
419
+ UpdatedAt DateTime @default(dbgenerated("('2021-10-25 02:50:20')")) @updatedAt @db.DateTime(0)
420
+ sso_users sso_users @relation(fields: [UserId], references: [id], onDelete: Cascade, map: "sso_usersystemrole_ibfk_1")
421
+ sso_systemrole sso_systemrole @relation(fields: [RoleId], references: [RoleId], onDelete: Cascade, map: "sso_usersystemrole_ibfk_2")
422
+
423
+ @@id([UserId, RoleId])
424
+ @@index([RoleId], map: "RoleId")
425
+ }
426
+
427
+ enum sso_usergroup_Status {
428
+ Active
429
+ Inactive
430
+ }
431
+
432
+ enum sso_updated_history_ActionType {
433
+ Add
434
+ Update
435
+ Delete
436
+ }
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
+ }