@things-factory/organization 6.0.25 → 6.0.28
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 +7 -3
- package/client/component/approval-line-items-editor-popup.ts +1 -1
- package/client/component/approval-line-items-editor.ts +1 -1
- package/client/component/approval-line-templates-/bmanager.ts +1 -1
- package/client/component/approval-line-view.ts +1 -1
- package/client/component/assignees-editor-popup.ts +1 -1
- package/client/component/assignees-editor.ts +2 -2
- package/client/component/assignees-view.ts +1 -1
- package/client/component/department-selector.ts +1 -1
- package/client/grist-editor/grist-editor-approval-line.ts +76 -0
- package/client/grist-editor/grist-editor-assignees.ts +73 -0
- package/client/index.ts +1 -0
- package/client/pages/department/department-list-page.ts +1 -1
- package/client/{model → types}/approval-line.ts +1 -3
- package/client/{model → types}/contact.ts +1 -2
- package/client/{model → types}/department.ts +1 -2
- package/client/{model → types}/employee.ts +1 -2
- package/client/types/index.ts +5 -0
- package/dist-client/bootstrap.d.ts +0 -1
- package/dist-client/bootstrap.js +7 -2
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/component/approval-line-items-editor-popup.d.ts +1 -1
- package/dist-client/component/approval-line-items-editor-popup.js.map +1 -1
- package/dist-client/component/approval-line-items-editor.d.ts +1 -1
- package/dist-client/component/approval-line-items-editor.js.map +1 -1
- package/dist-client/component/approval-line-templates-/bmanager.d.ts +1 -1
- package/dist-client/component/approval-line-templates-/bmanager.js +1 -1
- package/dist-client/component/approval-line-templates-/bmanager.js.map +1 -1
- package/dist-client/component/approval-line-view.d.ts +1 -1
- package/dist-client/component/approval-line-view.js.map +1 -1
- package/dist-client/component/assignees-editor-popup.d.ts +1 -1
- package/dist-client/component/assignees-editor-popup.js.map +1 -1
- package/dist-client/component/assignees-editor.d.ts +1 -1
- package/dist-client/component/assignees-editor.js +2 -1
- package/dist-client/component/assignees-editor.js.map +1 -1
- package/dist-client/component/assignees-view.d.ts +1 -1
- package/dist-client/component/assignees-view.js.map +1 -1
- package/dist-client/component/department-selector.d.ts +1 -1
- package/dist-client/component/department-selector.js +1 -1
- package/dist-client/component/department-selector.js.map +1 -1
- package/dist-client/grist-editor/grist-editor-approval-line.d.ts +11 -0
- package/dist-client/grist-editor/grist-editor-approval-line.js +64 -0
- package/dist-client/grist-editor/grist-editor-approval-line.js.map +1 -0
- package/dist-client/grist-editor/grist-editor-assignees.d.ts +11 -0
- package/dist-client/grist-editor/grist-editor-assignees.js +61 -0
- package/dist-client/grist-editor/grist-editor-assignees.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/pages/department/department-list-page.d.ts +1 -1
- package/dist-client/pages/department/department-list-page.js +1 -1
- package/dist-client/pages/department/department-list-page.js.map +1 -1
- package/dist-client/pages/main.d.ts +1 -0
- package/dist-client/pages/main.js +27 -0
- package/dist-client/pages/main.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/types/approval-line.d.ts +32 -0
- package/dist-client/types/approval-line.js +10 -0
- package/dist-client/types/approval-line.js.map +1 -0
- package/dist-client/types/contact.d.ts +43 -0
- package/dist-client/types/contact.js +21 -0
- package/dist-client/types/contact.js.map +1 -0
- package/dist-client/types/department.d.ts +25 -0
- package/dist-client/types/department.js +8 -0
- package/dist-client/types/department.js.map +1 -0
- package/dist-client/types/employee.d.ts +38 -0
- package/dist-client/types/employee.js +17 -0
- package/dist-client/types/employee.js.map +1 -0
- package/dist-client/types/index.d.ts +5 -0
- package/dist-client/types/index.js +6 -0
- package/dist-client/types/index.js.map +1 -0
- package/dist-client/types/org-member.d.ts +19 -0
- package/dist-client/types/org-member.js +14 -0
- package/dist-client/types/org-member.js.map +1 -0
- package/dist-server/service/approval-line/approval-line-mutation.js +5 -10
- package/dist-server/service/approval-line/approval-line-mutation.js.map +1 -1
- package/dist-server/service/approval-line/approval-line-query.js +14 -14
- package/dist-server/service/approval-line/approval-line-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/server/service/approval-line/approval-line-mutation.ts +10 -12
- package/server/service/approval-line/approval-line-query.ts +17 -17
- package/translations/en.json +2 -0
- package/translations/ko.json +2 -0
- package/translations/ms.json +2 -0
- package/translations/zh.json +2 -0
- package/client/model/domain.ts +0 -22
- package/client/model/privilege.ts +0 -28
- package/client/model/role.ts +0 -33
- package/client/model/user.ts +0 -23
- /package/client/{model → types}/org-member.ts +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/organization",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.28",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "dist-client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"@operato/data-tree": "^1.0.0",
|
|
31
31
|
"@operato/graphql": "^1.0.0",
|
|
32
32
|
"@operato/shell": "^1.0.0",
|
|
33
|
-
"@things-factory/auth-base": "^6.0.
|
|
34
|
-
"@things-factory/contact": "^6.0.
|
|
35
|
-
"@things-factory/shell": "^6.0.
|
|
33
|
+
"@things-factory/auth-base": "^6.0.28",
|
|
34
|
+
"@things-factory/contact": "^6.0.28",
|
|
35
|
+
"@things-factory/shell": "^6.0.28"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "8b4e03229444e38fc3f3487227a96837eef85099"
|
|
38
38
|
}
|
|
@@ -6,7 +6,11 @@ import { ApprovalLine, ApprovalLineOwnerType } from './approval-line'
|
|
|
6
6
|
import { ApprovalLineItem } from './approval-line-item'
|
|
7
7
|
import { NewApprovalLine, ApprovalLinePatch } from './approval-line-type'
|
|
8
8
|
|
|
9
|
-
async function getOwnerValue(
|
|
9
|
+
async function getOwnerValue(
|
|
10
|
+
approvalLine: ApprovalLine | NewApprovalLine | ApprovalLinePatch,
|
|
11
|
+
patch: NewApprovalLine | ApprovalLinePatch,
|
|
12
|
+
context: ResolverContext
|
|
13
|
+
) {
|
|
10
14
|
if (!('owner' in patch || 'ownerType' in patch)) {
|
|
11
15
|
/* owner 또는 ownerType 하나도 언급되지 않았다면, 업데이트하지 않는다. */
|
|
12
16
|
return
|
|
@@ -15,7 +19,7 @@ async function getOwnerValue(approvalLine: any, patch: any, context: ResolverCon
|
|
|
15
19
|
const { domain, tx } = context.state
|
|
16
20
|
const { ownerType, owner } = patch
|
|
17
21
|
|
|
18
|
-
if (ownerType
|
|
22
|
+
if (!ownerType || !owner) {
|
|
19
23
|
/* ownerType이 클리어되거나, owner가 지정되지 않았다면, 클리어시킨다. */
|
|
20
24
|
return null
|
|
21
25
|
}
|
|
@@ -23,14 +27,8 @@ async function getOwnerValue(approvalLine: any, patch: any, context: ResolverCon
|
|
|
23
27
|
var ownerObject
|
|
24
28
|
|
|
25
29
|
switch (ownerType || approvalLine.ownerType) {
|
|
26
|
-
case
|
|
27
|
-
ownerObject = await tx.getRepository(
|
|
28
|
-
break
|
|
29
|
-
case 'Department':
|
|
30
|
-
ownerObject = await tx.getRepository('Department').findOneBy({ domain: { id: domain.id }, id: owner.id })
|
|
31
|
-
break
|
|
32
|
-
case 'Role':
|
|
33
|
-
ownerObject = await tx.getRepository('Role').findOneBy({ domain: { id: domain.id }, id: owner.id })
|
|
30
|
+
case ApprovalLineOwnerType.Employee:
|
|
31
|
+
ownerObject = await tx.getRepository(Employee).findOneBy({ domain: { id: domain.id }, id: owner.id })
|
|
34
32
|
break
|
|
35
33
|
default:
|
|
36
34
|
}
|
|
@@ -38,7 +36,7 @@ async function getOwnerValue(approvalLine: any, patch: any, context: ResolverCon
|
|
|
38
36
|
return ownerObject?.id || null
|
|
39
37
|
}
|
|
40
38
|
|
|
41
|
-
function getModelValue(patch:
|
|
39
|
+
function getModelValue(patch: NewApprovalLine | ApprovalLinePatch): ApprovalLineItem[] {
|
|
42
40
|
if (!('model' in patch)) {
|
|
43
41
|
/* model이 언급되지 않았다면, 업데이트하지 않는다. */
|
|
44
42
|
return
|
|
@@ -54,7 +52,7 @@ function getModelValue(patch: any): ApprovalLineItem[] {
|
|
|
54
52
|
return model.map(m => {
|
|
55
53
|
return {
|
|
56
54
|
type: m.type,
|
|
57
|
-
value: m.approver
|
|
55
|
+
value: m.approver?.id
|
|
58
56
|
} as ApprovalLineItem
|
|
59
57
|
})
|
|
60
58
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Directive, Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'
|
|
2
2
|
import { Brackets, In } from 'typeorm'
|
|
3
3
|
import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
|
|
4
|
-
import { User } from '@things-factory/auth-base'
|
|
5
|
-
import { ApprovalLineItem } from './approval-line-item'
|
|
6
|
-
import { ApprovalLine, ApprovalLineOwner } from './approval-line'
|
|
4
|
+
import { Role, User } from '@things-factory/auth-base'
|
|
5
|
+
import { ApprovalLineItem, OrgMemberTargetType } from './approval-line-item'
|
|
6
|
+
import { ApprovalLine, ApprovalLineOwner, ApprovalLineOwnerType } from './approval-line'
|
|
7
7
|
import { ApprovalLineList } from './approval-line-type'
|
|
8
8
|
import { Employee } from '../employee/employee'
|
|
9
|
+
import { Department } from '../department/department'
|
|
9
10
|
|
|
10
11
|
async function getOwnerValue(approvalLine: ApprovalLine, context: ResolverContext) {
|
|
11
12
|
const { domain } = context.state
|
|
@@ -19,8 +20,8 @@ async function getOwnerValue(approvalLine: ApprovalLine, context: ResolverContex
|
|
|
19
20
|
var ownerObject
|
|
20
21
|
|
|
21
22
|
switch (ownerType) {
|
|
22
|
-
case
|
|
23
|
-
ownerObject = await getRepository(
|
|
23
|
+
case ApprovalLineOwnerType.Employee:
|
|
24
|
+
ownerObject = await getRepository(Employee).findOneBy({ domain: { id: domain.id }, id: ownerValue })
|
|
24
25
|
break
|
|
25
26
|
default:
|
|
26
27
|
return null
|
|
@@ -44,25 +45,24 @@ async function getModel(approvalLine: ApprovalLine, context: ResolverContext): P
|
|
|
44
45
|
var approver
|
|
45
46
|
|
|
46
47
|
switch (type) {
|
|
47
|
-
case
|
|
48
|
-
approver = await getRepository(
|
|
48
|
+
case OrgMemberTargetType.Employee:
|
|
49
|
+
approver = await getRepository(Employee).findOneBy({ domain: { id: domain.id }, id })
|
|
49
50
|
break
|
|
50
|
-
case
|
|
51
|
-
approver = await getRepository(
|
|
51
|
+
case OrgMemberTargetType.Department:
|
|
52
|
+
approver = await getRepository(Department).findOneBy({ domain: { id: domain.id }, id })
|
|
52
53
|
break
|
|
53
|
-
case
|
|
54
|
-
approver = await getRepository(
|
|
54
|
+
case OrgMemberTargetType.Role:
|
|
55
|
+
approver = await getRepository(Role).findOneBy({ domain: { id: domain.id }, id })
|
|
55
56
|
break
|
|
56
|
-
case
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
case 'MyDepartment':
|
|
60
|
-
case 'MySupervisor':
|
|
57
|
+
case OrgMemberTargetType.Myself:
|
|
58
|
+
case OrgMemberTargetType.MyDepartment:
|
|
59
|
+
case OrgMemberTargetType.MySupervisor:
|
|
61
60
|
break
|
|
62
61
|
default:
|
|
62
|
+
continue
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
approvalLineItemList.push({ type, approver })
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
return approvalLineItemList
|
package/translations/en.json
CHANGED
|
@@ -12,9 +12,11 @@
|
|
|
12
12
|
"label.manager": "manager",
|
|
13
13
|
"label.note": "note",
|
|
14
14
|
"label.picture": "picture",
|
|
15
|
+
"title.approval-line editor": "approval line editor",
|
|
15
16
|
"title.approval-line item list": "approval line item list",
|
|
16
17
|
"title.approval-line template list": "approval line template list",
|
|
17
18
|
"title.assignee list": "assignee list",
|
|
19
|
+
"title.assignees editor": "assignee editor",
|
|
18
20
|
"title.common-approval-line template list": "common approval line template list",
|
|
19
21
|
"title.my-approval-line template list": "my approval line template list",
|
|
20
22
|
"title.employee list": "employee list",
|
package/translations/ko.json
CHANGED
|
@@ -12,9 +12,11 @@
|
|
|
12
12
|
"label.manager": "관리자",
|
|
13
13
|
"label.note": "노트",
|
|
14
14
|
"label.picture": "사진",
|
|
15
|
+
"title.approval-line editor": "결재라인 편집",
|
|
15
16
|
"title.approval-line item list": "결재라인 상세",
|
|
16
17
|
"title.approval-line template list": "결재라인 템플릿 목록",
|
|
17
18
|
"title.assignee list": "할당자 목록",
|
|
19
|
+
"title.assignees editor": "할당자 목록 편집",
|
|
18
20
|
"title.common-approval-line template list": "공통 결재라인 템플릿 목록",
|
|
19
21
|
"title.my-approval-line template list": "나의 결재라인 템플릿 목록",
|
|
20
22
|
"title.employee list": "직원 목록",
|
package/translations/ms.json
CHANGED
|
@@ -12,9 +12,11 @@
|
|
|
12
12
|
"label.manager": "manager",
|
|
13
13
|
"label.note": "note",
|
|
14
14
|
"label.picture": "picture",
|
|
15
|
+
"title.approval-line editor": "approval line editor",
|
|
15
16
|
"title.approval-line item list": "approval line item list",
|
|
16
17
|
"title.approval-line template list": "approval line template list",
|
|
17
18
|
"title.assignee list": "assignee list",
|
|
19
|
+
"title.assignees editor": "assignee editor",
|
|
18
20
|
"title.common-approval-line template list": "common approval line template list",
|
|
19
21
|
"title.my-approval-line template list": "my approval line template list",
|
|
20
22
|
"title.employee list": "employee list",
|
package/translations/zh.json
CHANGED
|
@@ -12,9 +12,11 @@
|
|
|
12
12
|
"label.manager": "manager",
|
|
13
13
|
"label.note": "note",
|
|
14
14
|
"label.picture": "picture",
|
|
15
|
+
"title.approval-line editor": "approval line editor",
|
|
15
16
|
"title.approval-line item list": "approval line item list",
|
|
16
17
|
"title.approval-line template list": "approval line template list",
|
|
17
18
|
"title.assignee list": "assignee list",
|
|
19
|
+
"title.assignees editor": "assignee editor",
|
|
18
20
|
"title.common-approval-line template list": "common approval line template list",
|
|
19
21
|
"title.my-approval-line template list": "my approval line template list",
|
|
20
22
|
"title.employee list": "employee list",
|
package/client/model/domain.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export class Domain {
|
|
2
|
-
readonly id?: string
|
|
3
|
-
|
|
4
|
-
name?: string
|
|
5
|
-
description?: string
|
|
6
|
-
|
|
7
|
-
subdomain?: string
|
|
8
|
-
|
|
9
|
-
extType?: string
|
|
10
|
-
timezone?: string
|
|
11
|
-
systemFlag?: boolean
|
|
12
|
-
|
|
13
|
-
brandName?: string
|
|
14
|
-
brandImage?: string
|
|
15
|
-
contentImage?: string
|
|
16
|
-
|
|
17
|
-
owner?: string
|
|
18
|
-
theme?: string
|
|
19
|
-
|
|
20
|
-
createdAt?: Date
|
|
21
|
-
updatedAt?: Date
|
|
22
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Role } from './role'
|
|
2
|
-
import { User } from './user'
|
|
3
|
-
|
|
4
|
-
export class Privilege {
|
|
5
|
-
id?: string
|
|
6
|
-
|
|
7
|
-
name?: string
|
|
8
|
-
|
|
9
|
-
category?: string
|
|
10
|
-
|
|
11
|
-
nullable?: true
|
|
12
|
-
|
|
13
|
-
description?: string
|
|
14
|
-
|
|
15
|
-
roles?: Role[]
|
|
16
|
-
|
|
17
|
-
creator?: User
|
|
18
|
-
|
|
19
|
-
creatorId?: string
|
|
20
|
-
|
|
21
|
-
updater?: User
|
|
22
|
-
|
|
23
|
-
updaterId?: string
|
|
24
|
-
|
|
25
|
-
createdAt?: Date
|
|
26
|
-
|
|
27
|
-
updatedAt?: Date
|
|
28
|
-
}
|
package/client/model/role.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Domain } from './domain'
|
|
2
|
-
import { User } from './user'
|
|
3
|
-
import { Privilege } from './privilege'
|
|
4
|
-
|
|
5
|
-
export class Role {
|
|
6
|
-
readonly id?: string
|
|
7
|
-
|
|
8
|
-
domain?: Domain
|
|
9
|
-
|
|
10
|
-
domainId?: string
|
|
11
|
-
|
|
12
|
-
name?: string
|
|
13
|
-
|
|
14
|
-
users?: User[]
|
|
15
|
-
|
|
16
|
-
privileges?: Privilege[]
|
|
17
|
-
|
|
18
|
-
nullable?: true
|
|
19
|
-
|
|
20
|
-
description?: string
|
|
21
|
-
|
|
22
|
-
creator?: User
|
|
23
|
-
|
|
24
|
-
creatorId?: string
|
|
25
|
-
|
|
26
|
-
updater?: User
|
|
27
|
-
|
|
28
|
-
updaterId?: string
|
|
29
|
-
|
|
30
|
-
createdAt?: Date
|
|
31
|
-
|
|
32
|
-
updatedAt?: Date
|
|
33
|
-
}
|
package/client/model/user.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export enum UserStatus {
|
|
2
|
-
INACTIVE = 'inactive',
|
|
3
|
-
ACTIVATED = 'activated',
|
|
4
|
-
DELETED = 'deleted',
|
|
5
|
-
LOCKED = 'locked',
|
|
6
|
-
BANNED = 'banned',
|
|
7
|
-
PWD_RESET_REQUIRED = 'password_reset_required'
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export class User {
|
|
11
|
-
readonly id?: string
|
|
12
|
-
|
|
13
|
-
name?: string
|
|
14
|
-
description?: string
|
|
15
|
-
|
|
16
|
-
email?: string
|
|
17
|
-
|
|
18
|
-
creator?: User
|
|
19
|
-
updater?: User
|
|
20
|
-
|
|
21
|
-
createdAt?: Date
|
|
22
|
-
updatedAt?: Date
|
|
23
|
-
}
|
|
File without changes
|