@things-factory/organization 6.2.73 → 6.2.79

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 (30) hide show
  1. package/client/pages/approval-line/common-approval-line-templates-page.ts +2 -2
  2. package/client/pages/approval-line/my-approval-line-templates-page.ts +2 -2
  3. package/client/pages/department/department-tree-page.ts +568 -0
  4. package/client/pages/employee/employee-list-page.ts +7 -2
  5. package/client/route.ts +4 -0
  6. package/dist-client/pages/approval-line/common-approval-line-templates-page.js +2 -2
  7. package/dist-client/pages/approval-line/common-approval-line-templates-page.js.map +1 -1
  8. package/dist-client/pages/approval-line/my-approval-line-templates-page.js +2 -2
  9. package/dist-client/pages/approval-line/my-approval-line-templates-page.js.map +1 -1
  10. package/dist-client/pages/department/department-tree-page.d.ts +53 -0
  11. package/dist-client/pages/department/department-tree-page.js +534 -0
  12. package/dist-client/pages/department/department-tree-page.js.map +1 -0
  13. package/dist-client/pages/employee/employee-list-page.js +7 -2
  14. package/dist-client/pages/employee/employee-list-page.js.map +1 -1
  15. package/dist-client/route.d.ts +1 -1
  16. package/dist-client/route.js +3 -0
  17. package/dist-client/route.js.map +1 -1
  18. package/dist-client/tsconfig.tsbuildinfo +1 -1
  19. package/dist-server/service/department/department-query.js +16 -6
  20. package/dist-server/service/department/department-query.js.map +1 -1
  21. package/dist-server/service/employee/employee-type.js +11 -2
  22. package/dist-server/service/employee/employee-type.js.map +1 -1
  23. package/dist-server/service/employee/employee.js +2 -1
  24. package/dist-server/service/employee/employee.js.map +1 -1
  25. package/dist-server/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +5 -5
  27. package/server/service/department/department-query.ts +19 -7
  28. package/server/service/employee/employee-type.ts +9 -2
  29. package/server/service/employee/employee.ts +2 -1
  30. package/things-factory.config.js +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/organization",
3
- "version": "6.2.73",
3
+ "version": "6.2.79",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -32,9 +32,9 @@
32
32
  "@operato/data-tree": "^1.0.0",
33
33
  "@operato/graphql": "^1.0.0",
34
34
  "@operato/shell": "^1.0.0",
35
- "@things-factory/auth-base": "^6.2.70",
36
- "@things-factory/contact": "^6.2.73",
37
- "@things-factory/shell": "^6.2.70"
35
+ "@things-factory/auth-base": "^6.2.79",
36
+ "@things-factory/contact": "^6.2.79",
37
+ "@things-factory/shell": "^6.2.79"
38
38
  },
39
- "gitHead": "eb578bc7a3f5a2301af8ae599d00e929ef3bb6ca"
39
+ "gitHead": "79bd268667377c76554071d41c5ab50203110a52"
40
40
  }
@@ -64,13 +64,25 @@ export class DepartmentQuery {
64
64
  }
65
65
 
66
66
  @FieldResolver(type => [Department])
67
- async children(@Root() department: Department): Promise<Department[]> {
68
- return (
69
- department.children ||
70
- (await getRepository(Department).findBy({
71
- parent: { id: department.id }
72
- }))
73
- )
67
+ async children(
68
+ @Root() department: Department,
69
+ @Args() params: ListParam,
70
+ @Ctx() context: ResolverContext
71
+ ): Promise<Department[]> {
72
+ const { domain } = context.state
73
+
74
+ const queryBuilder = getQueryBuilderFromListParams({
75
+ domain,
76
+ params,
77
+ repository: await getRepository(Department),
78
+ searchables: ['name', 'description', 'controlNo']
79
+ }).andWhere({
80
+ parent: { id: department.id }
81
+ })
82
+
83
+ const [items, total] = await queryBuilder.getManyAndCount()
84
+
85
+ return items
74
86
  }
75
87
 
76
88
  @FieldResolver(type => String)
@@ -1,6 +1,7 @@
1
1
  import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'
2
2
  import GraphQLUpload from 'graphql-upload/GraphQLUpload.js'
3
3
  import { ObjectType, Field, InputType, Int, ID, registerEnumType } from 'type-graphql'
4
+ import { GraphQLEmailAddress } from 'graphql-scalars'
4
5
 
5
6
  import { ObjectRef, ScalarObject } from '@things-factory/shell'
6
7
 
@@ -11,18 +12,24 @@ export class ObjectRefForEmployee extends ObjectRef {
11
12
  @Field({ nullable: true })
12
13
  controlNo?: string
13
14
 
15
+ @Field(type => EmployeeType, { nullable: true })
16
+ type?: EmployeeType
17
+
14
18
  @Field({ nullable: true })
15
19
  alias?: string
16
20
 
17
21
  @Field({ nullable: true })
18
22
  photo?: string
19
23
 
20
- @Field({ nullable: true })
24
+ @Field(type => GraphQLEmailAddress, { nullable: true })
21
25
  email?: string
22
26
 
23
27
  @Field({ nullable: true })
24
28
  jobPosition?: string
25
29
 
30
+ @Field({ nullable: true })
31
+ jobResponsibility?: string
32
+
26
33
  @Field({ nullable: true })
27
34
  hiredOn?: string
28
35
 
@@ -32,7 +39,7 @@ export class ObjectRefForEmployee extends ObjectRef {
32
39
 
33
40
  @InputType()
34
41
  export class ObjectRefForUser extends ObjectRef {
35
- @Field({ nullable: true })
42
+ @Field(type => GraphQLEmailAddress, { nullable: true })
36
43
  email?: string
37
44
  }
38
45
 
@@ -12,6 +12,7 @@ import {
12
12
  VersionColumn
13
13
  } from 'typeorm'
14
14
  import { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'
15
+ import { GraphQLEmailAddress } from 'graphql-scalars'
15
16
 
16
17
  import { Domain } from '@things-factory/shell'
17
18
  import { User } from '@things-factory/auth-base'
@@ -127,7 +128,7 @@ export class Employee {
127
128
  @RelationId((employee: Employee) => employee.contact)
128
129
  contactId?: string
129
130
 
130
- @Field({ nullable: true })
131
+ @Field(type => GraphQLEmailAddress, { nullable: true })
131
132
  email?: string
132
133
 
133
134
  @Field({ nullable: true })
@@ -6,6 +6,7 @@ export default {
6
6
  routes: [
7
7
  { tagname: 'employee-list-page', page: 'employee-list' },
8
8
  { tagname: 'department-list-page', page: 'department-list' },
9
+ { tagname: 'department-tree-page', page: 'department-tree' },
9
10
  { tagname: 'employees-by-department', page: 'employees-by-department' },
10
11
  { tagname: 'common-approval-line-templates-page', page: 'common-approval-line-templates-page' },
11
12
  { tagname: 'my-approval-line-templates-page', page: 'my-approval-line-templates-page' }