@tomei/sso 0.8.10 → 0.8.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.eslintrc +16 -16
  3. package/.eslintrc.js +35 -35
  4. package/.husky/commit-msg +15 -15
  5. package/.husky/pre-commit +7 -7
  6. package/.prettierrc +4 -5
  7. package/Jenkinsfile +57 -57
  8. package/README.md +23 -23
  9. package/__tests__/unit/components/login-history/login-history.repository.spec.ts +95 -95
  10. package/__tests__/unit/components/login-user/login-user.spec.ts +731 -731
  11. package/__tests__/unit/components/login-user/user.repository.spec.ts +81 -81
  12. package/__tests__/unit/components/password-hash/password-hash.service.spec.ts +31 -31
  13. package/__tests__/unit/components/system/system.repository.spec.ts +88 -88
  14. package/__tests__/unit/components/system-access/system-access.repository.spec.ts +78 -78
  15. package/__tests__/unit/redis-client/redis.service.spec.ts +23 -23
  16. package/__tests__/unit/session/session.service.spec.ts +47 -47
  17. package/create-sso-user.sql +39 -39
  18. package/dist/__tests__/unit/redis-client/redis.service.spec.d.ts +1 -1
  19. package/dist/__tests__/unit/redis-client/redis.service.spec.js +31 -31
  20. package/dist/__tests__/unit/session/session.service.spec.d.ts +1 -1
  21. package/dist/__tests__/unit/session/session.service.spec.js +54 -54
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.js +17 -17
  24. package/dist/src/components/index.d.ts +7 -7
  25. package/dist/src/components/index.js +23 -23
  26. package/dist/src/components/login-history/index.d.ts +1 -1
  27. package/dist/src/components/login-history/index.js +17 -17
  28. package/dist/src/components/login-history/login-history.repository.d.ts +5 -5
  29. package/dist/src/components/login-history/login-history.repository.js +11 -11
  30. package/dist/src/components/login-user/index.d.ts +3 -3
  31. package/dist/src/components/login-user/index.js +19 -19
  32. package/dist/src/components/login-user/interfaces/index.d.ts +1 -1
  33. package/dist/src/components/login-user/interfaces/index.js +17 -17
  34. package/dist/src/components/login-user/interfaces/user-info.interface.d.ts +9 -9
  35. package/dist/src/components/login-user/interfaces/user-info.interface.js +2 -2
  36. package/dist/src/components/login-user/login-user.d.ts +44 -44
  37. package/dist/src/components/login-user/login-user.js +416 -414
  38. package/dist/src/components/login-user/login-user.js.map +1 -1
  39. package/dist/src/components/login-user/user.repository.d.ts +5 -5
  40. package/dist/src/components/login-user/user.repository.js +11 -11
  41. package/dist/src/components/password-hash/index.d.ts +2 -2
  42. package/dist/src/components/password-hash/index.js +18 -18
  43. package/dist/src/components/password-hash/interfaces/index.d.ts +1 -1
  44. package/dist/src/components/password-hash/interfaces/index.js +17 -17
  45. package/dist/src/components/password-hash/interfaces/password-hash-service.interface.d.ts +4 -4
  46. package/dist/src/components/password-hash/interfaces/password-hash-service.interface.js +2 -2
  47. package/dist/src/components/password-hash/password-hash.service.d.ts +6 -6
  48. package/dist/src/components/password-hash/password-hash.service.js +27 -27
  49. package/dist/src/components/system/index.d.ts +1 -1
  50. package/dist/src/components/system/index.js +17 -17
  51. package/dist/src/components/system/system.repository.d.ts +5 -5
  52. package/dist/src/components/system/system.repository.js +11 -11
  53. package/dist/src/components/system-access/index.d.ts +1 -1
  54. package/dist/src/components/system-access/index.js +17 -17
  55. package/dist/src/components/system-access/system-access.repository.d.ts +5 -5
  56. package/dist/src/components/system-access/system-access.repository.js +11 -11
  57. package/dist/src/components/user-group/index.d.ts +1 -1
  58. package/dist/src/components/user-group/index.js +17 -17
  59. package/dist/src/components/user-group/user-group.repository.d.ts +5 -5
  60. package/dist/src/components/user-group/user-group.repository.js +11 -11
  61. package/dist/src/components/user-user-group/index.d.ts +1 -1
  62. package/dist/src/components/user-user-group/index.js +17 -17
  63. package/dist/src/components/user-user-group/user-user-group.repository.d.ts +5 -5
  64. package/dist/src/components/user-user-group/user-user-group.repository.js +11 -11
  65. package/dist/src/database.d.ts +4 -4
  66. package/dist/src/database.js +14 -14
  67. package/dist/src/index.d.ts +5 -5
  68. package/dist/src/index.js +23 -23
  69. package/dist/src/interfaces/index.d.ts +2 -2
  70. package/dist/src/interfaces/index.js +18 -18
  71. package/dist/src/interfaces/system-login.interface.d.ts +6 -6
  72. package/dist/src/interfaces/system-login.interface.js +2 -2
  73. package/dist/src/interfaces/user-session.interface.d.ts +4 -4
  74. package/dist/src/interfaces/user-session.interface.js +2 -2
  75. package/dist/src/models/authorization-code.entity.d.ts +14 -14
  76. package/dist/src/models/authorization-code.entity.js +85 -85
  77. package/dist/src/models/bearer-token.entity.d.ts +11 -11
  78. package/dist/src/models/bearer-token.entity.js +71 -71
  79. package/dist/src/models/building-type.entity.d.ts +7 -7
  80. package/dist/src/models/building-type.entity.js +49 -49
  81. package/dist/src/models/building.entity.d.ts +39 -39
  82. package/dist/src/models/building.entity.js +250 -250
  83. package/dist/src/models/city.entity.d.ts +11 -11
  84. package/dist/src/models/city.entity.js +71 -71
  85. package/dist/src/models/company.entity.d.ts +18 -18
  86. package/dist/src/models/company.entity.js +113 -113
  87. package/dist/src/models/country.entity.d.ts +15 -15
  88. package/dist/src/models/country.entity.js +91 -91
  89. package/dist/src/models/department.entity.d.ts +19 -19
  90. package/dist/src/models/department.entity.js +111 -111
  91. package/dist/src/models/group-role-privilege.entity.d.ts +17 -17
  92. package/dist/src/models/group-role-privilege.entity.js +89 -89
  93. package/dist/src/models/group-system-access.entity.d.ts +11 -11
  94. package/dist/src/models/group-system-access.entity.js +61 -61
  95. package/dist/src/models/group-system-privilege.entity.d.ts +11 -11
  96. package/dist/src/models/group-system-privilege.entity.js +61 -61
  97. package/dist/src/models/group-system-role.entity.d.ts +11 -11
  98. package/dist/src/models/group-system-role.entity.js +61 -61
  99. package/dist/src/models/login-history.entity.d.ts +12 -12
  100. package/dist/src/models/login-history.entity.js +69 -69
  101. package/dist/src/models/oauth-token.entity.d.ts +14 -14
  102. package/dist/src/models/oauth-token.entity.js +85 -85
  103. package/dist/src/models/role.entity.d.ts +17 -17
  104. package/dist/src/models/role.entity.js +101 -101
  105. package/dist/src/models/staff-type.entity.d.ts +7 -7
  106. package/dist/src/models/staff-type.entity.js +49 -49
  107. package/dist/src/models/staff.entity.d.ts +39 -39
  108. package/dist/src/models/staff.entity.js +249 -249
  109. package/dist/src/models/state.entity.d.ts +10 -10
  110. package/dist/src/models/state.entity.js +63 -63
  111. package/dist/src/models/system-accesss.entity.d.ts +6 -6
  112. package/dist/src/models/system-accesss.entity.js +50 -50
  113. package/dist/src/models/system-privilege.entity.d.ts +16 -16
  114. package/dist/src/models/system-privilege.entity.js +89 -89
  115. package/dist/src/models/system-role-privilege.entity.d.ts +11 -11
  116. package/dist/src/models/system-role-privilege.entity.js +59 -59
  117. package/dist/src/models/system-role.entity.d.ts +11 -11
  118. package/dist/src/models/system-role.entity.js +82 -82
  119. package/dist/src/models/system.entity.d.ts +19 -19
  120. package/dist/src/models/system.entity.js +145 -145
  121. package/dist/src/models/user-group.entity.d.ts +23 -23
  122. package/dist/src/models/user-group.entity.js +139 -139
  123. package/dist/src/models/user-role.entity.d.ts +12 -12
  124. package/dist/src/models/user-role.entity.js +72 -72
  125. package/dist/src/models/user-system-privileges.entity.d.ts +13 -13
  126. package/dist/src/models/user-system-privileges.entity.js +88 -88
  127. package/dist/src/models/user-system-role.entity.d.ts +11 -11
  128. package/dist/src/models/user-system-role.entity.js +59 -59
  129. package/dist/src/models/user-user-group.entity.d.ts +14 -14
  130. package/dist/src/models/user-user-group.entity.js +72 -72
  131. package/dist/src/models/user.entity.d.ts +30 -30
  132. package/dist/src/models/user.entity.js +130 -130
  133. package/dist/src/prisma-client/__mocks__/prisma.d.ts +3 -0
  134. package/dist/src/prisma-client/__mocks__/prisma.js +14 -0
  135. package/dist/src/prisma-client/__mocks__/prisma.js.map +1 -0
  136. package/dist/src/prisma-client/client.d.ts +3 -0
  137. package/dist/src/prisma-client/client.js +6 -0
  138. package/dist/src/prisma-client/client.js.map +1 -0
  139. package/dist/src/prisma-client/index.d.ts +1 -0
  140. package/dist/src/prisma-client/index.js +18 -0
  141. package/dist/src/prisma-client/index.js.map +1 -0
  142. package/dist/src/redis-client/__mocks__/jest-initial-setup.d.ts +1 -1
  143. package/dist/src/redis-client/__mocks__/jest-initial-setup.js +4 -4
  144. package/dist/src/redis-client/__mocks__/redis-mock.d.ts +2 -2
  145. package/dist/src/redis-client/__mocks__/redis-mock.js +22 -22
  146. package/dist/src/redis-client/index.d.ts +1 -1
  147. package/dist/src/redis-client/index.js +17 -17
  148. package/dist/src/redis-client/redis.service.d.ts +7 -7
  149. package/dist/src/redis-client/redis.service.js +55 -55
  150. package/dist/src/session/index.d.ts +2 -2
  151. package/dist/src/session/index.js +18 -18
  152. package/dist/src/session/interfaces/index.d.ts +1 -1
  153. package/dist/src/session/interfaces/index.js +17 -17
  154. package/dist/src/session/interfaces/session-service.interface.d.ts +6 -6
  155. package/dist/src/session/interfaces/session-service.interface.js +2 -2
  156. package/dist/src/session/session.service.d.ts +10 -10
  157. package/dist/src/session/session.service.js +63 -63
  158. package/dist/tsconfig.tsbuildinfo +1 -1
  159. package/jest.config.js +14 -14
  160. package/migrations/01-alter-system-privilege-table.js +13 -13
  161. package/migrations/02-alter-user-group-table.js +78 -78
  162. package/migrations/03-alter-user-system-privilege-table.js +38 -38
  163. package/migrations/04-create-user-user-group-table.js +55 -55
  164. package/migrations/05-create-login-history-table.js +49 -49
  165. package/package.json +77 -77
  166. package/sampledotenv +7 -7
  167. package/src/components/login-user/login-user.ts +4 -6
  168. package/tsconfig.build.json +5 -5
  169. package/tsconfig.json +23 -23
@@ -1,22 +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
- }
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/.eslintrc CHANGED
@@ -1,16 +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
- }
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 CHANGED
@@ -1,35 +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
- };
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
+ };
package/.husky/commit-msg CHANGED
@@ -1,16 +1,16 @@
1
- #!/usr/bin/env sh
2
- . "$(dirname -- "$0")/_/husky.sh"
3
-
4
- npx commitlint --edit $1
5
- message="$(cat $1)"
6
- echo "$message"
7
- a=($(echo "$message" | tr ':' '\n'))
8
- echo "${a[0]}"
9
- if [ "${a[0]}" = "feat" ];
10
- then
11
- npm version --commit-hooks false --no-git-tag-version minor
12
- else
13
- npm version --commit-hooks false --no-git-tag-version patch
14
- fi
15
- git add .
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npx commitlint --edit $1
5
+ message="$(cat $1)"
6
+ echo "$message"
7
+ a=($(echo "$message" | tr ':' '\n'))
8
+ echo "${a[0]}"
9
+ if [ "${a[0]}" = "feat" ];
10
+ then
11
+ npm version --commit-hooks false --no-git-tag-version minor
12
+ else
13
+ npm version --commit-hooks false --no-git-tag-version patch
14
+ fi
15
+ git add .
16
16
  git commit -m "$message" --no-verify
package/.husky/pre-commit CHANGED
@@ -1,7 +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 .
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 CHANGED
@@ -1,5 +1,4 @@
1
- {
2
- "singleQuote": true,
3
- "trailingComma": "all",
4
- "endOfLine": "auto"
5
- }
1
+ {
2
+ "singleQuote": true,
3
+ "trailingComma": "all"
4
+ }
package/Jenkinsfile CHANGED
@@ -1,57 +1,57 @@
1
- pipeline {
2
- agent {
3
- kubernetes {
4
- label 'jenkins-agent'
5
- namespace 'devops-tools'
6
- }
7
- }
8
- tools {nodejs "node18"}
9
- stages {
10
- stage('Install') {
11
- steps {
12
- echo 'Install Dependencies..'
13
- sh 'npm install'
14
- }
15
- }
16
- stage('Test') {
17
- steps {
18
- echo 'Testing..'
19
- // sh 'npm run test'
20
- }
21
- }
22
- stage('Build') {
23
- steps {
24
- echo 'Building..'
25
- sh 'npm run build'
26
- }
27
- }
28
- stage('Publish') {
29
- steps {
30
- echo 'Publish..'
31
- withCredentials([
32
- usernamePassword(credentialsId: 'npm-auth-token', usernameVariable: 'NPM_USERNAME', passwordVariable: 'AUTH_TOKEN')
33
- ]) {
34
- sh "npm set //registry.npmjs.org/:_authToken=$AUTH_TOKEN"
35
- sh "npm publish"
36
- }
37
- }
38
- }
39
- }
40
-
41
- post {
42
- success {
43
- script {
44
- def gitAuthor = sh(returnStdout: true, script: 'git log -1 --pretty=format:%an').trim()
45
- discordSend description: "Git Commit: ${env.GIT_COMMIT}\nGit Branch: ${env.GIT_BRANCH}\nGit URL: ${env.GIT_URL}\nGit Author: ${gitAuthor}", footer: '', image: '', link: env.BUILD_URL, result: 'SUCCESS', scmWebUrl: '', thumbnail: '', title: "${env.JOB_NAME} Build #${env.BUILD_NUMBER} Success", webhookURL: 'https://discord.com/api/webhooks/1117705705466642434/UWgw32kQerM5HOr-fcCYD2aQxE1koeN_4CSCEzDZz1EAI3vNaysAw0YU7YUrb4TozOw0'
46
- }
47
- }
48
-
49
- failure {
50
- script {
51
- def gitAuthor = sh(returnStdout: true, script: 'git log -1 --pretty=format:%an').trim()
52
- discordSend description: "Git Commit: ${env.GIT_COMMIT}\nGit Branch: ${env.GIT_BRANCH}\nGit URL: ${env.GIT_URL}\nGit Author: ${gitAuthor}", footer: '', image: '', link: env.BUILD_URL, result: 'FAILURE', scmWebUrl: '', thumbnail: '', title: "${env.JOB_NAME} Build #${env.BUILD_NUMBER} Failed", webhookURL: 'https://discord.com/api/webhooks/1117705705466642434/UWgw32kQerM5HOr-fcCYD2aQxE1koeN_4CSCEzDZz1EAI3vNaysAw0YU7YUrb4TozOw0'
53
- }
54
- }
55
- }
56
-
57
- }
1
+ pipeline {
2
+ agent {
3
+ kubernetes {
4
+ label 'jenkins-agent'
5
+ namespace 'devops-tools'
6
+ }
7
+ }
8
+ tools {nodejs "node18"}
9
+ stages {
10
+ stage('Install') {
11
+ steps {
12
+ echo 'Install Dependencies..'
13
+ sh 'npm install'
14
+ }
15
+ }
16
+ stage('Test') {
17
+ steps {
18
+ echo 'Testing..'
19
+ // sh 'npm run test'
20
+ }
21
+ }
22
+ stage('Build') {
23
+ steps {
24
+ echo 'Building..'
25
+ sh 'npm run build'
26
+ }
27
+ }
28
+ stage('Publish') {
29
+ steps {
30
+ echo 'Publish..'
31
+ withCredentials([
32
+ usernamePassword(credentialsId: 'npm-auth-token', usernameVariable: 'NPM_USERNAME', passwordVariable: 'AUTH_TOKEN')
33
+ ]) {
34
+ sh "npm set //registry.npmjs.org/:_authToken=$AUTH_TOKEN"
35
+ sh "npm publish"
36
+ }
37
+ }
38
+ }
39
+ }
40
+
41
+ post {
42
+ success {
43
+ script {
44
+ def gitAuthor = sh(returnStdout: true, script: 'git log -1 --pretty=format:%an').trim()
45
+ discordSend description: "Git Commit: ${env.GIT_COMMIT}\nGit Branch: ${env.GIT_BRANCH}\nGit URL: ${env.GIT_URL}\nGit Author: ${gitAuthor}", footer: '', image: '', link: env.BUILD_URL, result: 'SUCCESS', scmWebUrl: '', thumbnail: '', title: "${env.JOB_NAME} Build #${env.BUILD_NUMBER} Success", webhookURL: 'https://discord.com/api/webhooks/1117705705466642434/UWgw32kQerM5HOr-fcCYD2aQxE1koeN_4CSCEzDZz1EAI3vNaysAw0YU7YUrb4TozOw0'
46
+ }
47
+ }
48
+
49
+ failure {
50
+ script {
51
+ def gitAuthor = sh(returnStdout: true, script: 'git log -1 --pretty=format:%an').trim()
52
+ discordSend description: "Git Commit: ${env.GIT_COMMIT}\nGit Branch: ${env.GIT_BRANCH}\nGit URL: ${env.GIT_URL}\nGit Author: ${gitAuthor}", footer: '', image: '', link: env.BUILD_URL, result: 'FAILURE', scmWebUrl: '', thumbnail: '', title: "${env.JOB_NAME} Build #${env.BUILD_NUMBER} Failed", webhookURL: 'https://discord.com/api/webhooks/1117705705466642434/UWgw32kQerM5HOr-fcCYD2aQxE1koeN_4CSCEzDZz1EAI3vNaysAw0YU7YUrb4TozOw0'
53
+ }
54
+ }
55
+ }
56
+
57
+ }
package/README.md CHANGED
@@ -1,23 +1,23 @@
1
- ## SSO Package
2
-
3
- ### How to use
4
- - run `npm i`
5
- - Make sure you set the environment in .sampledotenv 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.
15
- - open the newly created migration. review the migration and make changes if necessary.
16
-
17
- notes:
18
- - if you create a new table, after migration has been created, change the default character set to `latin1` from `utf8mb4` and remove COLLATE phrase.please also add it to the `create-sso-user.sql` file for references
19
-
20
- ### How to run migration
21
- - run `npx prisma migrate deploy` to run the migration
22
- - run `npx prisma generate` to generate the prisma client
23
-
1
+ ## SSO Package
2
+
3
+ ### How to use
4
+ - run `npm i`
5
+ - Make sure you set the environment in .sampledotenv 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.
15
+ - open the newly created migration. review the migration and make changes if necessary.
16
+
17
+ notes:
18
+ - if you create a new table, after migration has been created, change the default character set to `latin1` from `utf8mb4` and remove COLLATE phrase.please also add it to the `create-sso-user.sql` file for references
19
+
20
+ ### How to run migration
21
+ - run `npx prisma migrate deploy` to run the migration
22
+ - run `npx prisma generate` to generate the prisma client
23
+
@@ -1,95 +1,95 @@
1
- // import { LoginHistory } from '@prisma/client';
2
- // import { LoginHistoryRepository } from '../../../../src/components/login-history/login-history.repository';
3
- // import { prismaMock } from '../../../../src/prisma-client/__mocks__/prisma';
4
-
5
- // describe('login-history.repository', () => {
6
- // afterEach(() => {
7
- // jest.restoreAllMocks()
8
- // })
9
- // describe('findAll', () => {
10
- // it('should return list of login history', async () => {
11
- // const data = [{
12
- // userId: 1,
13
- // systemId: 1,
14
- // originIp: '1.1.1.1',
15
- // createdAt: new Date(),
16
- // }]
17
- // prismaMock.loginHistory.findMany.mockResolvedValueOnce(data as LoginHistory[])
18
- // const loginHistoryRepository = new LoginHistoryRepository()
19
- // expect(await loginHistoryRepository.findAll({})).toEqual(data)
20
- // })
21
- // })
22
-
23
- // describe('findOne', () => {
24
- // it('should return login history', async () => {
25
- // const data = {
26
- // userId: 1,
27
- // systemId: 1,
28
- // originIp: '1.1.1.1',
29
- // createdAt: new Date(),
30
- // }
31
- // prismaMock.loginHistory.findFirst.mockResolvedValueOnce(data as LoginHistory)
32
- // const loginHistoryRepository = new LoginHistoryRepository()
33
- // expect(await loginHistoryRepository.findOne({
34
- // where: {
35
- // userId_systemId: {
36
- // userId: data.userId,
37
- // systemId: data.systemId,
38
- // },
39
- // },
40
- // })).toEqual(data)
41
- // })
42
- // })
43
-
44
- // describe('create', () => {
45
- // it('should create login history', async () => {
46
- // const data = {
47
- // userId: 1,
48
- // systemId: 1,
49
- // originIp: '1.1.1.1',
50
- // createdAt: new Date(),
51
- // }
52
- // prismaMock.loginHistory.create.mockResolvedValueOnce(data as LoginHistory)
53
- // const loginHistoryRepository = new LoginHistoryRepository()
54
- // expect(await loginHistoryRepository.create({data})).toEqual(data)
55
- // })
56
- // })
57
-
58
- // describe('update', () => {
59
- // it('should update login history', async () => {
60
- // const data = {
61
- // userId: 1,
62
- // systemId: 1,
63
- // originIp: '1.1.1.1',
64
- // createdAt: new Date(),
65
- // }
66
- // prismaMock.loginHistory.update.mockResolvedValueOnce(data as LoginHistory)
67
- // const loginHistoryRepository = new LoginHistoryRepository()
68
- // expect(await loginHistoryRepository.update({
69
- // where: {
70
- // userId: data.userId
71
- // }, data: data
72
- // }, data)).toEqual(data)
73
- // })
74
- // })
75
-
76
- // describe('delete', () => {
77
- // it('should delete login history', async () => {
78
- // const data = {
79
- // userId: 1,
80
- // systemId: 1,
81
- // originIp: '1.1.1.1',
82
- // createdAt: new Date(),
83
- // }
84
- // prismaMock.loginHistory.delete.mockResolvedValueOnce(data as LoginHistory)
85
- // const loginHistoryRepository = new LoginHistoryRepository()
86
- // expect(await loginHistoryRepository.delete({
87
- // where: {
88
- // userId: data.userId
89
- // }
90
- // })).toEqual(data)
91
- // })
92
- // })
93
-
94
- // })
95
-
1
+ // import { LoginHistory } from '@prisma/client';
2
+ // import { LoginHistoryRepository } from '../../../../src/components/login-history/login-history.repository';
3
+ // import { prismaMock } from '../../../../src/prisma-client/__mocks__/prisma';
4
+
5
+ // describe('login-history.repository', () => {
6
+ // afterEach(() => {
7
+ // jest.restoreAllMocks()
8
+ // })
9
+ // describe('findAll', () => {
10
+ // it('should return list of login history', async () => {
11
+ // const data = [{
12
+ // userId: 1,
13
+ // systemId: 1,
14
+ // originIp: '1.1.1.1',
15
+ // createdAt: new Date(),
16
+ // }]
17
+ // prismaMock.loginHistory.findMany.mockResolvedValueOnce(data as LoginHistory[])
18
+ // const loginHistoryRepository = new LoginHistoryRepository()
19
+ // expect(await loginHistoryRepository.findAll({})).toEqual(data)
20
+ // })
21
+ // })
22
+
23
+ // describe('findOne', () => {
24
+ // it('should return login history', async () => {
25
+ // const data = {
26
+ // userId: 1,
27
+ // systemId: 1,
28
+ // originIp: '1.1.1.1',
29
+ // createdAt: new Date(),
30
+ // }
31
+ // prismaMock.loginHistory.findFirst.mockResolvedValueOnce(data as LoginHistory)
32
+ // const loginHistoryRepository = new LoginHistoryRepository()
33
+ // expect(await loginHistoryRepository.findOne({
34
+ // where: {
35
+ // userId_systemId: {
36
+ // userId: data.userId,
37
+ // systemId: data.systemId,
38
+ // },
39
+ // },
40
+ // })).toEqual(data)
41
+ // })
42
+ // })
43
+
44
+ // describe('create', () => {
45
+ // it('should create login history', async () => {
46
+ // const data = {
47
+ // userId: 1,
48
+ // systemId: 1,
49
+ // originIp: '1.1.1.1',
50
+ // createdAt: new Date(),
51
+ // }
52
+ // prismaMock.loginHistory.create.mockResolvedValueOnce(data as LoginHistory)
53
+ // const loginHistoryRepository = new LoginHistoryRepository()
54
+ // expect(await loginHistoryRepository.create({data})).toEqual(data)
55
+ // })
56
+ // })
57
+
58
+ // describe('update', () => {
59
+ // it('should update login history', async () => {
60
+ // const data = {
61
+ // userId: 1,
62
+ // systemId: 1,
63
+ // originIp: '1.1.1.1',
64
+ // createdAt: new Date(),
65
+ // }
66
+ // prismaMock.loginHistory.update.mockResolvedValueOnce(data as LoginHistory)
67
+ // const loginHistoryRepository = new LoginHistoryRepository()
68
+ // expect(await loginHistoryRepository.update({
69
+ // where: {
70
+ // userId: data.userId
71
+ // }, data: data
72
+ // }, data)).toEqual(data)
73
+ // })
74
+ // })
75
+
76
+ // describe('delete', () => {
77
+ // it('should delete login history', async () => {
78
+ // const data = {
79
+ // userId: 1,
80
+ // systemId: 1,
81
+ // originIp: '1.1.1.1',
82
+ // createdAt: new Date(),
83
+ // }
84
+ // prismaMock.loginHistory.delete.mockResolvedValueOnce(data as LoginHistory)
85
+ // const loginHistoryRepository = new LoginHistoryRepository()
86
+ // expect(await loginHistoryRepository.delete({
87
+ // where: {
88
+ // userId: data.userId
89
+ // }
90
+ // })).toEqual(data)
91
+ // })
92
+ // })
93
+
94
+ // })
95
+