@things-factory/auth-base 6.1.177 → 6.1.180
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/client/bootstrap.ts +2 -0
- package/client/directive/privileged.ts +56 -0
- package/client/index.ts +1 -0
- package/dist-client/bootstrap.d.ts +1 -0
- package/dist-client/bootstrap.js +1 -0
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/directive/privileged.d.ts +22 -0
- package/dist-client/directive/privileged.js +29 -0
- package/dist-client/directive/privileged.js.map +1 -0
- package/dist-client/index.d.ts +1 -0
- package/dist-client/index.js +1 -0
- package/dist-client/index.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/router/auth-private-process-router.js +2 -1
- package/dist-server/router/auth-private-process-router.js.map +1 -1
- package/dist-server/service/index.d.ts +2 -2
- package/dist-server/service/privilege/privilege-query.d.ts +1 -0
- package/dist-server/service/privilege/privilege-query.js +13 -0
- package/dist-server/service/privilege/privilege-query.js.map +1 -1
- package/dist-server/service/user/user.d.ts +1 -0
- package/dist-server/service/user/user.js +13 -0
- package/dist-server/service/user/user.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/server/router/auth-private-process-router.ts +2 -1
- package/server/service/privilege/privilege-query.ts +9 -0
- package/server/service/user/user.ts +15 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/auth-base",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.180",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "dist-client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@things-factory/email-base": "^6.1.
|
|
33
|
+
"@things-factory/email-base": "^6.1.180",
|
|
34
34
|
"@things-factory/env": "^6.1.175",
|
|
35
|
-
"@things-factory/i18n-base": "^6.1.
|
|
36
|
-
"@things-factory/shell": "^6.1.
|
|
35
|
+
"@things-factory/i18n-base": "^6.1.180",
|
|
36
|
+
"@things-factory/shell": "^6.1.180",
|
|
37
37
|
"@things-factory/utils": "^6.1.175",
|
|
38
38
|
"jsonwebtoken": "^9.0.0",
|
|
39
39
|
"koa-passport": "^6.0.0",
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"passport-jwt": "^4.0.0",
|
|
43
43
|
"passport-local": "^1.0.0"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "b4d716cf67de9e105cf0feb18f75849745b09f8e"
|
|
46
46
|
}
|
|
@@ -77,7 +77,8 @@ authPrivateProcessRouter
|
|
|
77
77
|
name: user.name,
|
|
78
78
|
userType: user.userType,
|
|
79
79
|
owner: await process.domainOwnerGranted(domain, user),
|
|
80
|
-
super: await process.superUserGranted(domain, user)
|
|
80
|
+
super: await process.superUserGranted(domain, user),
|
|
81
|
+
privileges: await User.getPrivilegesByDomain(user, domain)
|
|
81
82
|
},
|
|
82
83
|
domains: domains.map((d: Domain) => {
|
|
83
84
|
return {
|
|
@@ -28,6 +28,15 @@ export class PrivilegeQuery {
|
|
|
28
28
|
return { items, total }
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
@Query(returns => [Privilege], {
|
|
32
|
+
description: 'To fetch current users privileges for current domain'
|
|
33
|
+
})
|
|
34
|
+
async myPrivileges(@Ctx() context: ResolverContext): Promise<Privilege[]> {
|
|
35
|
+
const { user, domain } = context.state
|
|
36
|
+
|
|
37
|
+
return User.getPrivilegesByDomain(user, domain)
|
|
38
|
+
}
|
|
39
|
+
|
|
31
40
|
@Query(returns => Boolean, { description: 'To query whether I have the given permission' })
|
|
32
41
|
async hasPrivilege(
|
|
33
42
|
@Arg('name') name: string,
|
|
@@ -321,6 +321,21 @@ export class User {
|
|
|
321
321
|
return result[0].has_privilege > 0
|
|
322
322
|
}
|
|
323
323
|
|
|
324
|
+
static async getPrivilegesByDomain(user: User, domain: Domain) {
|
|
325
|
+
const result = await getRepository(User).query(`
|
|
326
|
+
SELECT name, category FROM "privileges" "PRIVILEGES"
|
|
327
|
+
WHERE "PRIVILEGES"."id" IN (
|
|
328
|
+
SELECT "RP"."privileges_id"
|
|
329
|
+
FROM "users_roles" "UR"
|
|
330
|
+
INNER JOIN "roles_privileges" "RP" ON "UR"."roles_id" = "RP"."roles_id"
|
|
331
|
+
LEFT JOIN "roles" "R" ON "R"."id" = "UR"."roles_id"
|
|
332
|
+
WHERE "UR"."users_id" = '78363c56-f0de-42bb-b17d-5188131cbaed'
|
|
333
|
+
AND "R"."domain_id" = 'f51615aa-7093-40d4-898d-534a03f4428c'
|
|
334
|
+
)`)
|
|
335
|
+
|
|
336
|
+
return result
|
|
337
|
+
}
|
|
338
|
+
|
|
324
339
|
static async getDomainsWithPrivilege(name: string, category: string, user: User) {
|
|
325
340
|
return getDomainsWithPrivilege(user, name, category)
|
|
326
341
|
}
|