@things-factory/auth-base 10.1.241 → 10.1.245

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/auth-base",
3
- "version": "10.1.241",
3
+ "version": "10.1.245",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -35,10 +35,10 @@
35
35
  "@reduxjs/toolkit": "^2.2.5",
36
36
  "@simplewebauthn/browser": "^13.0.0",
37
37
  "@simplewebauthn/server": "^13.0.0",
38
- "@things-factory/email-base": "^10.1.234",
38
+ "@things-factory/email-base": "^10.1.245",
39
39
  "@things-factory/env": "^10.1.149",
40
- "@things-factory/shell": "^10.1.234",
41
- "@things-factory/task-lease": "^10.1.234",
40
+ "@things-factory/shell": "^10.1.245",
41
+ "@things-factory/task-lease": "^10.1.245",
42
42
  "@things-factory/utils": "^10.1.179",
43
43
  "@types/webappsec-credential-management": "^0.6.9",
44
44
  "jsonwebtoken": "^9.0.0",
@@ -50,5 +50,5 @@
50
50
  "passport-jwt": "^4.0.0",
51
51
  "passport-local": "^1.0.0"
52
52
  },
53
- "gitHead": "d7fe2e1a1eb7c02cb21b897da26d385df014f908"
53
+ "gitHead": "f7479631094a1c70b486485b556885b069025f88"
54
54
  }
@@ -16,7 +16,8 @@ const { Privilege } = loadCompiled('service/privilege/privilege')
16
16
  const { User } = loadCompiled('service/user/user')
17
17
  const { RoleTemplateMutation } = loadCompiled('service/role-template/role-template-mutation')
18
18
  const { RoleMutation } = loadCompiled('service/role/role-mutation')
19
- const { RoleTemplateGapResolver } = loadCompiled('service/role-template/role-template-gap-resolver')
19
+ const { RoleTemplateGapResolver, RoleBriefTaskResolver } = loadCompiled('service/role-template/role-template-gap-resolver')
20
+ const { RoleQuery } = loadCompiled('service/role/role-query')
20
21
  const { registerRoleTemplate } = loadCompiled('service/role-template/role-template')
21
22
  const { registerRoleTask } = loadCompiled('service/role-template/role-task')
22
23
 
@@ -248,4 +249,20 @@ describe('a template built from tasks (ADR-0139 decision 11)', () => {
248
249
  expect(coverage.tasks[1].missing).toEqual([{ category: 'order', axes: ['query'] }])
249
250
  expect(coverage.unclassified).toEqual([{ category: 'board', axes: ['mutation'] }])
250
251
  })
252
+
253
+ it('★ a person reads their own roles with the same reading - name, description and the work each holds (§11-11)', async () => {
254
+ const role = await getRepository(Role).save({
255
+ domain,
256
+ name: '판독',
257
+ description: '도면을 읽는다',
258
+ privileges: [await getRepository(Privilege).findOneBy({ category: 'board', name: 'query' })]
259
+ })
260
+ await getRepository(Role).save({ domain, name: '남의 역할', privileges: [] })
261
+ actor.roles = [role]
262
+ await getRepository(User).save(actor)
263
+
264
+ const mine = await new RoleQuery().myRoles(context())
265
+ expect(mine.map((one: any) => [one.name, one.description])).toEqual([['판독', '도면을 읽는다']])
266
+ expect(await new RoleBriefTaskResolver().taskCoverage(mine[0])).toEqual(await coverageOf(role))
267
+ })
251
268
  })