@drax/identity-back 2.11.0 → 3.0.0
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.
- package/dist/index.js +2 -1
- package/dist/rbac/Rbac.js +3 -0
- package/dist/setup/CreateTenantIfNotExist.js +12 -0
- package/dist/setup/CreateUserIfNotExist.js +6 -0
- package/package.json +7 -7
- package/src/index.ts +2 -0
- package/src/rbac/Rbac.ts +4 -0
- package/src/setup/CreateTenantIfNotExist.ts +18 -0
- package/src/setup/CreateUserIfNotExist.ts +8 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/types/index.d.ts +2 -1
- package/types/index.d.ts.map +1 -1
- package/types/rbac/Rbac.d.ts +1 -0
- package/types/rbac/Rbac.d.ts.map +1 -1
- package/types/setup/CreateTenantIfNotExist.d.ts +5 -0
- package/types/setup/CreateTenantIfNotExist.d.ts.map +1 -0
- package/types/setup/CreateUserIfNotExist.d.ts.map +1 -1
package/dist/index.js
CHANGED
|
@@ -26,6 +26,7 @@ import { apiKeyMiddleware } from "./middleware/apiKeyMiddleware.js";
|
|
|
26
26
|
import IdentityConfig from "./config/IdentityConfig.js";
|
|
27
27
|
import BadCredentialsError from "./errors/BadCredentialsError.js";
|
|
28
28
|
import CreateUserIfNotExist from "./setup/CreateUserIfNotExist.js";
|
|
29
|
+
import CreateTenantIfNotExist from "./setup/CreateTenantIfNotExist.js";
|
|
29
30
|
import CreateOrUpdateRole from "./setup/CreateOrUpdateRole.js";
|
|
30
31
|
import LoadPermissions from "./setup/LoadPermissions.js";
|
|
31
32
|
import LoadIdentityConfigFromEnv from "./setup/LoadIdentityConfigFromEnv.js";
|
|
@@ -89,4 +90,4 @@ IdentityConfig,
|
|
|
89
90
|
//Errors
|
|
90
91
|
BadCredentialsError,
|
|
91
92
|
//Setup
|
|
92
|
-
LoadIdentityConfigFromEnv, LoadPermissions, CreateOrUpdateRole, CreateUserIfNotExist, RecoveryUserPassword };
|
|
93
|
+
LoadIdentityConfigFromEnv, LoadPermissions, CreateOrUpdateRole, CreateUserIfNotExist, CreateTenantIfNotExist, RecoveryUserPassword };
|
package/dist/rbac/Rbac.js
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import TenantServiceFactory from "../factory/TenantServiceFactory.js";
|
|
2
|
+
async function CreateTenantIfNotExist(tenantData) {
|
|
3
|
+
const tenantService = TenantServiceFactory();
|
|
4
|
+
const tenant = await tenantService.findByName(tenantData.name);
|
|
5
|
+
if (!tenant) {
|
|
6
|
+
const r = await tenantService.create(tenantData);
|
|
7
|
+
console.log("Tenant Created. Name: " + tenantData.name);
|
|
8
|
+
return r;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export default CreateTenantIfNotExist;
|
|
12
|
+
export { CreateTenantIfNotExist };
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import RoleServiceFactory from "../factory/RoleServiceFactory.js";
|
|
2
2
|
import UserServiceFactory from "../factory/UserServiceFactory.js";
|
|
3
|
+
import TenantServiceFactory from "../factory/TenantServiceFactory.js";
|
|
3
4
|
async function CreateUserIfNotExist(userData) {
|
|
4
5
|
const userService = UserServiceFactory();
|
|
5
6
|
const roleService = RoleServiceFactory();
|
|
7
|
+
const tenantService = TenantServiceFactory();
|
|
6
8
|
const user = await userService.findByUsername(userData.username);
|
|
7
9
|
if (user) {
|
|
8
10
|
return user;
|
|
@@ -10,6 +12,10 @@ async function CreateUserIfNotExist(userData) {
|
|
|
10
12
|
else {
|
|
11
13
|
const role = await roleService.findByName(userData.role);
|
|
12
14
|
userData.role = role._id.toString();
|
|
15
|
+
if (userData.tenant) {
|
|
16
|
+
const tenant = await tenantService.findByName(userData.tenant);
|
|
17
|
+
userData.tenant = tenant._id.toString();
|
|
18
|
+
}
|
|
13
19
|
const r = await userService.create(userData);
|
|
14
20
|
console.log("User Created. Username: " + userData.username);
|
|
15
21
|
return r;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "
|
|
6
|
+
"version": "3.0.0",
|
|
7
7
|
"description": "Identity module for user management, authentication and authorization.",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "types/index.d.ts",
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
"author": "Cristian Incarnato & Drax Team",
|
|
29
29
|
"license": "ISC",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@drax/common-back": "^
|
|
32
|
-
"@drax/crud-back": "^
|
|
33
|
-
"@drax/crud-share": "^
|
|
34
|
-
"@drax/email-back": "^
|
|
35
|
-
"@drax/identity-share": "^
|
|
31
|
+
"@drax/common-back": "^3.0.0",
|
|
32
|
+
"@drax/crud-back": "^3.0.0",
|
|
33
|
+
"@drax/crud-share": "^3.0.0",
|
|
34
|
+
"@drax/email-back": "^3.0.0",
|
|
35
|
+
"@drax/identity-share": "^3.0.0",
|
|
36
36
|
"bcryptjs": "^2.4.3",
|
|
37
37
|
"graphql": "^16.8.2",
|
|
38
38
|
"jsonwebtoken": "^9.0.2"
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"debug": "0"
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "63ae718b24ea25ae80b1a9a5dfb84a3abbb95199"
|
|
67
67
|
}
|
package/src/index.ts
CHANGED
|
@@ -32,6 +32,7 @@ import IdentityConfig from "./config/IdentityConfig.js";
|
|
|
32
32
|
import BadCredentialsError from "./errors/BadCredentialsError.js";
|
|
33
33
|
|
|
34
34
|
import CreateUserIfNotExist from "./setup/CreateUserIfNotExist.js";
|
|
35
|
+
import CreateTenantIfNotExist from "./setup/CreateTenantIfNotExist.js";
|
|
35
36
|
import CreateOrUpdateRole from "./setup/CreateOrUpdateRole.js";
|
|
36
37
|
import LoadPermissions from "./setup/LoadPermissions.js";
|
|
37
38
|
import LoadIdentityConfigFromEnv from "./setup/LoadIdentityConfigFromEnv.js";
|
|
@@ -197,6 +198,7 @@ export {
|
|
|
197
198
|
LoadPermissions,
|
|
198
199
|
CreateOrUpdateRole,
|
|
199
200
|
CreateUserIfNotExist,
|
|
201
|
+
CreateTenantIfNotExist,
|
|
200
202
|
RecoveryUserPassword
|
|
201
203
|
}
|
|
202
204
|
|
package/src/rbac/Rbac.ts
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type {ITenantBase, ITenant} from "@drax/identity-share"
|
|
2
|
+
import TenantServiceFactory from "../factory/TenantServiceFactory.js"
|
|
3
|
+
|
|
4
|
+
async function CreateTenantIfNotExist(tenantData: ITenantBase):Promise<ITenant> {
|
|
5
|
+
const tenantService = TenantServiceFactory()
|
|
6
|
+
const tenant = await tenantService.findByName(tenantData.name)
|
|
7
|
+
|
|
8
|
+
if(!tenant){
|
|
9
|
+
const r = await tenantService.create(tenantData)
|
|
10
|
+
console.log("Tenant Created. Name: "+ tenantData.name)
|
|
11
|
+
return r
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default CreateTenantIfNotExist
|
|
16
|
+
export {
|
|
17
|
+
CreateTenantIfNotExist
|
|
18
|
+
}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import RoleServiceFactory from "../factory/RoleServiceFactory.js"
|
|
2
2
|
import UserServiceFactory from "../factory/UserServiceFactory.js"
|
|
3
|
+
import TenantServiceFactory from "../factory/TenantServiceFactory.js"
|
|
3
4
|
import {IUserCreate, IUser} from "@drax/identity-share";
|
|
4
5
|
|
|
5
6
|
async function CreateUserIfNotExist(userData: IUserCreate): Promise<IUser> {
|
|
6
7
|
const userService = UserServiceFactory()
|
|
7
8
|
const roleService = RoleServiceFactory()
|
|
9
|
+
const tenantService = TenantServiceFactory()
|
|
8
10
|
const user = await userService.findByUsername(userData.username)
|
|
9
11
|
if (user) {
|
|
10
12
|
return user
|
|
11
13
|
} else {
|
|
12
14
|
const role = await roleService.findByName(userData.role as string)
|
|
13
15
|
userData.role = role._id.toString()
|
|
16
|
+
|
|
17
|
+
if(userData.tenant){
|
|
18
|
+
const tenant = await tenantService.findByName(userData.tenant as string)
|
|
19
|
+
userData.tenant = tenant._id.toString()
|
|
20
|
+
}
|
|
21
|
+
|
|
14
22
|
const r = await userService.create(userData)
|
|
15
23
|
console.log("User Created. Username: " + userData.username)
|
|
16
24
|
return r
|