@things-factory/sales-base 8.0.0-beta.0 → 8.0.0-beta.2

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 (177) hide show
  1. package/package.json +13 -13
  2. package/server/constants/attachment-type.ts +0 -9
  3. package/server/constants/index.ts +0 -7
  4. package/server/constants/load-type.ts +0 -4
  5. package/server/constants/order.ts +0 -203
  6. package/server/constants/product-group-type.ts +0 -4
  7. package/server/constants/release-good.ts +0 -9
  8. package/server/constants/transfer-order-type.ts +0 -6
  9. package/server/constants/validation-error-code.ts +0 -3
  10. package/server/constants/vas-target-type.ts +0 -25
  11. package/server/controllers/ecommerce/ecommerce-controller.ts +0 -122
  12. package/server/controllers/ecommerce/index.ts +0 -2
  13. package/server/controllers/ecommerce/sellercraft-controller.ts +0 -182
  14. package/server/controllers/index.ts +0 -2
  15. package/server/controllers/order-controller.ts +0 -296
  16. package/server/errors/index.ts +0 -1
  17. package/server/errors/validation-error.ts +0 -25
  18. package/server/index.ts +0 -5
  19. package/server/migrations/index.ts +0 -9
  20. package/server/service/arrival-notice/arrival-notice-mutation.ts +0 -1152
  21. package/server/service/arrival-notice/arrival-notice-query.ts +0 -549
  22. package/server/service/arrival-notice/arrival-notice-types.ts +0 -310
  23. package/server/service/arrival-notice/arrival-notice.ts +0 -202
  24. package/server/service/arrival-notice/index.ts +0 -9
  25. package/server/service/claim/claim-mutation.ts +0 -308
  26. package/server/service/claim/claim-query.ts +0 -122
  27. package/server/service/claim/claim-types.ts +0 -130
  28. package/server/service/claim/claim.ts +0 -140
  29. package/server/service/claim/index.ts +0 -9
  30. package/server/service/claim-detail/claim-detail-mutation.ts +0 -102
  31. package/server/service/claim-detail/claim-detail-query.ts +0 -55
  32. package/server/service/claim-detail/claim-detail-types.ts +0 -47
  33. package/server/service/claim-detail/claim-detail.ts +0 -69
  34. package/server/service/claim-detail/index.ts +0 -9
  35. package/server/service/claim-order/claim-order-mutation.ts +0 -101
  36. package/server/service/claim-order/claim-order-query.ts +0 -47
  37. package/server/service/claim-order/claim-order-types.ts +0 -35
  38. package/server/service/claim-order/claim-order.ts +0 -81
  39. package/server/service/claim-order/index.ts +0 -9
  40. package/server/service/collection-order/collection-order-mutation.ts +0 -245
  41. package/server/service/collection-order/collection-order-query.ts +0 -97
  42. package/server/service/collection-order/collection-order-types.ts +0 -165
  43. package/server/service/collection-order/collection-order.ts +0 -135
  44. package/server/service/collection-order/index.ts +0 -9
  45. package/server/service/delivery-order/delivery-order-mutation.ts +0 -967
  46. package/server/service/delivery-order/delivery-order-query.ts +0 -631
  47. package/server/service/delivery-order/delivery-order-types.ts +0 -268
  48. package/server/service/delivery-order/delivery-order.ts +0 -258
  49. package/server/service/delivery-order/index.ts +0 -9
  50. package/server/service/draft-release-good/draft-release-good-mutation.ts +0 -765
  51. package/server/service/draft-release-good/draft-release-good-query.ts +0 -354
  52. package/server/service/draft-release-good/draft-release-good-type.ts +0 -261
  53. package/server/service/draft-release-good/draft-release-good.ts +0 -284
  54. package/server/service/draft-release-good/index.ts +0 -9
  55. package/server/service/goods-receival-note/goods-receival-note-mutation.ts +0 -129
  56. package/server/service/goods-receival-note/goods-receival-note-query.ts +0 -280
  57. package/server/service/goods-receival-note/goods-receival-note-types.ts +0 -105
  58. package/server/service/goods-receival-note/goods-receival-note.ts +0 -127
  59. package/server/service/goods-receival-note/index.ts +0 -9
  60. package/server/service/index.ts +0 -238
  61. package/server/service/inventory-check/index.ts +0 -9
  62. package/server/service/inventory-check/inventory-check-mutation.ts +0 -149
  63. package/server/service/inventory-check/inventory-check-query.ts +0 -48
  64. package/server/service/inventory-check/inventory-check-types.ts +0 -48
  65. package/server/service/inventory-check/inventory-check.ts +0 -90
  66. package/server/service/invoice/index.ts +0 -9
  67. package/server/service/invoice/invoice-mutation.ts +0 -95
  68. package/server/service/invoice/invoice-query.ts +0 -53
  69. package/server/service/invoice/invoice-types.ts +0 -279
  70. package/server/service/invoice/invoice.ts +0 -230
  71. package/server/service/invoice-product/index.ts +0 -9
  72. package/server/service/invoice-product/invoice-product-mutation.ts +0 -54
  73. package/server/service/invoice-product/invoice-product-query.ts +0 -54
  74. package/server/service/invoice-product/invoice-product-types.ts +0 -84
  75. package/server/service/invoice-product/invoice-product.ts +0 -92
  76. package/server/service/job-sheet/index.ts +0 -9
  77. package/server/service/job-sheet/job-sheet-mutation.ts +0 -92
  78. package/server/service/job-sheet/job-sheet-query.ts +0 -112
  79. package/server/service/job-sheet/job-sheet-types.ts +0 -78
  80. package/server/service/job-sheet/job-sheet.ts +0 -102
  81. package/server/service/manifest/index.ts +0 -6
  82. package/server/service/manifest/manifest-mutation.ts +0 -190
  83. package/server/service/manifest/manifest-query.ts +0 -149
  84. package/server/service/manifest/manifest-type.ts +0 -84
  85. package/server/service/manifest/manifest.ts +0 -114
  86. package/server/service/order-inventory/index.ts +0 -9
  87. package/server/service/order-inventory/order-inventory-mutation.ts +0 -54
  88. package/server/service/order-inventory/order-inventory-query.ts +0 -722
  89. package/server/service/order-inventory/order-inventory-types.ts +0 -238
  90. package/server/service/order-inventory/order-inventory.ts +0 -401
  91. package/server/service/order-product/index.ts +0 -9
  92. package/server/service/order-product/order-product-mutation.ts +0 -48
  93. package/server/service/order-product/order-product-query.ts +0 -89
  94. package/server/service/order-product/order-product-types.ts +0 -335
  95. package/server/service/order-product/order-product.ts +0 -362
  96. package/server/service/order-tote/index.ts +0 -9
  97. package/server/service/order-tote/order-tote-mutation.ts +0 -31
  98. package/server/service/order-tote/order-tote-query.ts +0 -112
  99. package/server/service/order-tote/order-tote-types.ts +0 -47
  100. package/server/service/order-tote/order-tote.ts +0 -73
  101. package/server/service/order-tote-item/index.ts +0 -9
  102. package/server/service/order-tote-item/order-tote-item-mutation.ts +0 -31
  103. package/server/service/order-tote-item/order-tote-item-query.ts +0 -82
  104. package/server/service/order-tote-item/order-tote-item-types.ts +0 -56
  105. package/server/service/order-tote-item/order-tote-item.ts +0 -72
  106. package/server/service/order-tote-seal/index.ts +0 -9
  107. package/server/service/order-tote-seal/order-tote-seal-mutation.ts +0 -31
  108. package/server/service/order-tote-seal/order-tote-seal-query.ts +0 -59
  109. package/server/service/order-tote-seal/order-tote-seal-types.ts +0 -41
  110. package/server/service/order-tote-seal/order-tote-seal.ts +0 -46
  111. package/server/service/order-vas/index.ts +0 -9
  112. package/server/service/order-vas/order-vas-mutation.ts +0 -20
  113. package/server/service/order-vas/order-vas-query.ts +0 -72
  114. package/server/service/order-vas/order-vas-types.ts +0 -159
  115. package/server/service/order-vas/order-vas.ts +0 -207
  116. package/server/service/others/index.ts +0 -5
  117. package/server/service/others/other-query.ts +0 -563
  118. package/server/service/others/other-types.ts +0 -115
  119. package/server/service/purchase-order/index.ts +0 -9
  120. package/server/service/purchase-order/purchase-order-mutation.ts +0 -458
  121. package/server/service/purchase-order/purchase-order-query.ts +0 -90
  122. package/server/service/purchase-order/purchase-order-types.ts +0 -154
  123. package/server/service/purchase-order/purchase-order.ts +0 -172
  124. package/server/service/purchase-order-other-charge/index.ts +0 -9
  125. package/server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.ts +0 -31
  126. package/server/service/purchase-order-other-charge/purchase-order-other-charge-query.ts +0 -52
  127. package/server/service/purchase-order-other-charge/purchase-order-other-charge-types.ts +0 -44
  128. package/server/service/purchase-order-other-charge/purchase-order-other-charge.ts +0 -68
  129. package/server/service/release-good/index.ts +0 -9
  130. package/server/service/release-good/release-good-mutation.ts +0 -1686
  131. package/server/service/release-good/release-good-query.ts +0 -980
  132. package/server/service/release-good/release-good-types.ts +0 -662
  133. package/server/service/release-good/release-good.ts +0 -490
  134. package/server/service/retail-replenishment-order/index.ts +0 -9
  135. package/server/service/retail-replenishment-order/retail-replenishment-order-mutation.ts +0 -382
  136. package/server/service/retail-replenishment-order/retail-replenishment-order-query.ts +0 -54
  137. package/server/service/retail-replenishment-order/retail-replenishment-order-types.ts +0 -101
  138. package/server/service/retail-replenishment-order/retail-replenishment-order.ts +0 -115
  139. package/server/service/return-order/index.ts +0 -9
  140. package/server/service/return-order/return-order-mutation.ts +0 -516
  141. package/server/service/return-order/return-order-query.ts +0 -226
  142. package/server/service/return-order/return-order-types.ts +0 -196
  143. package/server/service/return-order/return-order.ts +0 -127
  144. package/server/service/reverse-kitting-order/index.ts +0 -9
  145. package/server/service/reverse-kitting-order/reverse-kitting-order-mutation.ts +0 -500
  146. package/server/service/reverse-kitting-order/reverse-kitting-order-query.ts +0 -197
  147. package/server/service/reverse-kitting-order/reverse-kitting-order-type.ts +0 -173
  148. package/server/service/reverse-kitting-order/reverse-kitting-order.ts +0 -121
  149. package/server/service/reverse-kitting-order-inventory/index.ts +0 -9
  150. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.ts +0 -129
  151. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.ts +0 -52
  152. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.ts +0 -95
  153. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.ts +0 -143
  154. package/server/service/shipping-order/index.ts +0 -9
  155. package/server/service/shipping-order/shipping-order-mutation.ts +0 -61
  156. package/server/service/shipping-order/shipping-order-query.ts +0 -61
  157. package/server/service/shipping-order/shipping-order-types.ts +0 -89
  158. package/server/service/shipping-order/shipping-order.ts +0 -129
  159. package/server/service/transfer-order/index.ts +0 -9
  160. package/server/service/transfer-order/transfer-order-mutation.ts +0 -309
  161. package/server/service/transfer-order/transfer-order-query.ts +0 -66
  162. package/server/service/transfer-order/transfer-order-types.ts +0 -97
  163. package/server/service/transfer-order/transfer-order.ts +0 -117
  164. package/server/service/vas/index.ts +0 -9
  165. package/server/service/vas/vas-mutation.ts +0 -106
  166. package/server/service/vas/vas-query.ts +0 -60
  167. package/server/service/vas/vas-types.ts +0 -71
  168. package/server/service/vas/vas.ts +0 -77
  169. package/server/service/vas-order/index.ts +0 -9
  170. package/server/service/vas-order/vas-order-mutation.ts +0 -259
  171. package/server/service/vas-order/vas-order-query.ts +0 -119
  172. package/server/service/vas-order/vas-order-types.ts +0 -49
  173. package/server/service/vas-order/vas-order.ts +0 -81
  174. package/server/utils/datetime-util.ts +0 -54
  175. package/server/utils/index.ts +0 -3
  176. package/server/utils/inventory-util.ts +0 -1155
  177. package/server/utils/order-no-generator.ts +0 -146
@@ -1,102 +0,0 @@
1
- import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'
2
- import { In } from 'typeorm'
3
-
4
- import { getRepository } from '@things-factory/shell'
5
-
6
- import { ClaimDetailPatch, NewClaimDetail } from '../'
7
- import { ClaimDetail } from './claim-detail'
8
-
9
- @Resolver(ClaimDetail)
10
- export class ClaimDetailMutation {
11
- @Mutation(returns => ClaimDetail)
12
- async createClaimDetail(
13
- @Arg('claimDetail', type => NewClaimDetail) claimDetail: NewClaimDetail,
14
- @Ctx() context: ResolverContext
15
- ): Promise<ClaimDetail> {
16
- return await getRepository(ClaimDetail).save({
17
- ...claimDetail,
18
- domain: context.state.domain,
19
- creator: context.state.user,
20
- updater: context.state.user
21
- })
22
- }
23
-
24
- @Mutation(returns => ClaimDetail)
25
- async updateClaimDetail(
26
- @Arg('name') name: string,
27
- @Arg('patch', type => ClaimDetailPatch) patch: ClaimDetailPatch,
28
- @Ctx() context: ResolverContext
29
- ): Promise<ClaimDetail> {
30
- const repository = getRepository(ClaimDetail)
31
- const claimDetail = await repository.findOne({
32
- where: { domain: { id: context.state.domain.id }, name }
33
- })
34
-
35
- return await repository.save({
36
- ...claimDetail,
37
- ...patch,
38
- updater: context.state.user
39
- })
40
- }
41
-
42
- @Mutation(returns => [ClaimDetail])
43
- async updateMultipleClaimDetail(
44
- @Arg('patches', type => [ClaimDetailPatch]) patches: ClaimDetailPatch[],
45
- @Ctx() context: ResolverContext
46
- ): Promise<ClaimDetail[]> {
47
- let results: ClaimDetail[] = []
48
- const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
49
- const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
50
- const claimDetailRepo = getRepository(ClaimDetail)
51
-
52
- if (_createRecords.length > 0) {
53
- for (let i = 0; i < _createRecords.length; i++) {
54
- const newRecord = _createRecords[i]
55
-
56
- const result = await claimDetailRepo.save({
57
- ...newRecord,
58
- domain: context.state.domain,
59
- creator: context.state.user,
60
- updater: context.state.user
61
- })
62
-
63
- results.push({ ...result, cuFlag: '+' })
64
- }
65
- }
66
-
67
- if (_updateRecords.length > 0) {
68
- for (let i = 0; i < _updateRecords.length; i++) {
69
- const newRecord = _updateRecords[i]
70
- const claimDetail = await claimDetailRepo.findOneBy({ id: newRecord.id })
71
-
72
- const result = await claimDetailRepo.save({
73
- ...claimDetail,
74
- ...newRecord,
75
- updater: context.state.user
76
- })
77
-
78
- results.push({ ...result, cuFlag: 'M' })
79
- }
80
- }
81
-
82
- return results
83
- }
84
-
85
- @Mutation(returns => Boolean)
86
- async deleteClaimDetail(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<boolean> {
87
- await getRepository(ClaimDetail).delete({ domain: { id: context.state.domain.id }, name })
88
- return true
89
- }
90
-
91
- @Mutation(returns => Boolean)
92
- async deleteClaimDetails(
93
- @Arg('names', type => [String]) names: string[],
94
- @Ctx() context: ResolverContext
95
- ): Promise<boolean> {
96
- await getRepository(ClaimDetail).delete({
97
- domain: { id: context.state.domain.id },
98
- name: In(names)
99
- })
100
- return true
101
- }
102
- }
@@ -1,55 +0,0 @@
1
- import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { convertListParams, Domain, Filter, getRepository, Pagination, Sorting } from '@things-factory/shell'
5
-
6
- import { ClaimDetailList } from '../'
7
- import { ClaimDetail } from './claim-detail'
8
-
9
- @Resolver(ClaimDetail)
10
- export class ClaimDetailQuery {
11
- @Query(returns => ClaimDetail)
12
- async claimDetail(
13
- @Ctx() context: ResolverContext,
14
- @Arg('name', { nullable: true }) name?: string
15
- ): Promise<ClaimDetail> {
16
- return await getRepository(ClaimDetail).findOne({
17
- where: { domain: { id: context.state.domain.id }, name },
18
- relations: ['domain', 'creator', 'updater']
19
- })
20
- }
21
-
22
- @Query(returns => ClaimDetailList)
23
- async claimDetails(
24
- @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],
25
- @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
26
- @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]
27
- ): Promise<ClaimDetailList> {
28
- const convertedParams = convertListParams({
29
- filters,
30
- pagination,
31
- sortings
32
- })
33
- const [items, total] = await getRepository<ClaimDetail>(ClaimDetail).findAndCount({
34
- ...convertedParams,
35
- relations: ['domain', 'creator', 'updater']
36
- })
37
-
38
- return { items, total }
39
- }
40
-
41
- @FieldResolver(type => Domain)
42
- async domain(@Root() claimDetail: ClaimDetail): Promise<Domain> {
43
- return await getRepository(Domain).findOneBy({ id: claimDetail.domainId })
44
- }
45
-
46
- @FieldResolver(type => User)
47
- async creator(@Root() claimDetail: ClaimDetail): Promise<User> {
48
- return await getRepository(User).findOneBy({ id: claimDetail.creatorId })
49
- }
50
-
51
- @FieldResolver(type => User)
52
- async updater(@Root() claimDetail: ClaimDetail): Promise<User> {
53
- return await getRepository(User).findOneBy({ id: claimDetail.updaterId })
54
- }
55
- }
@@ -1,47 +0,0 @@
1
- import { Field, InputType, Int, ObjectType } from 'type-graphql'
2
- import { ClaimDetail } from './claim-detail'
3
-
4
- @ObjectType()
5
- export class ClaimDetailList {
6
- @Field(type => [ClaimDetail], { nullable: true })
7
- items: ClaimDetail[]
8
-
9
- @Field(type => Int, { nullable: true })
10
- total: number
11
- }
12
-
13
- @InputType()
14
- export class NewClaimDetail {
15
- @Field()
16
- name: string
17
-
18
- @Field({ nullable: true })
19
- description: string
20
-
21
- @Field({ nullable: true })
22
- refNo: string
23
-
24
- @Field({ nullable: true })
25
- amount: number
26
- }
27
-
28
- @InputType()
29
- export class ClaimDetailPatch {
30
- @Field({ nullable: true })
31
- id: string
32
-
33
- @Field({ nullable: true })
34
- name: string
35
-
36
- @Field({ nullable: true })
37
- refNo: string
38
-
39
- @Field({ nullable: true })
40
- amount: number
41
-
42
- @Field({ nullable: true })
43
- description: string
44
-
45
- @Field({ nullable: true })
46
- cuFlag: string
47
- }
@@ -1,69 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Domain, roundTransformer } from '@things-factory/shell'
3
- import { Field, ID, ObjectType } from 'type-graphql'
4
- import { Column, CreateDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId, UpdateDateColumn } from 'typeorm'
5
- import { Claim } from '../'
6
-
7
- @Entity()
8
- @ObjectType()
9
- @Index('ix_claim-detail_0', (claimDetail: ClaimDetail) => [claimDetail.domain, claimDetail.id], { unique: true })
10
- export class ClaimDetail {
11
- @PrimaryGeneratedColumn('uuid')
12
- @Field(type => ID)
13
- readonly id: string
14
-
15
- @ManyToOne(type => Domain)
16
- @Field(type => Domain, { nullable: true })
17
- domain: Domain
18
-
19
- @RelationId((claimDetail: ClaimDetail) => claimDetail.domain)
20
- domainId: string
21
-
22
- @Column()
23
- @Field()
24
- name: string
25
-
26
- @Column({ nullable: true })
27
- @Field({ nullable: true })
28
- description: string
29
-
30
- @Column({ nullable: true })
31
- @Field({ nullable: true })
32
- refNo: String
33
-
34
- @Column('float', { transformer: roundTransformer })
35
- @Field()
36
- amount: number
37
-
38
- @CreateDateColumn()
39
- @Field()
40
- createdAt: Date
41
-
42
- @UpdateDateColumn()
43
- @Field()
44
- updatedAt: Date
45
-
46
- @ManyToOne(type => Claim)
47
- @Field(type => Claim, { nullable: true })
48
- claim: Claim
49
-
50
- @RelationId((claimDetail: ClaimDetail) => claimDetail.claim)
51
- claimId: string
52
-
53
- @ManyToOne(type => User)
54
- @Field(type => User, { nullable: true })
55
- creator: User
56
-
57
- @RelationId((claimDetail: ClaimDetail) => claimDetail.creator)
58
- creatorId: string
59
-
60
- @ManyToOne(type => User)
61
- @Field(type => User, { nullable: true })
62
- updater: User
63
-
64
- @RelationId((claimDetail: ClaimDetail) => claimDetail.updater)
65
- updaterId: string
66
-
67
- @Field({ nullable: true })
68
- cuFlag: string
69
- }
@@ -1,9 +0,0 @@
1
- import { ClaimDetail } from './claim-detail'
2
- import { ClaimDetailMutation } from './claim-detail-mutation'
3
- import { ClaimDetailQuery } from './claim-detail-query'
4
-
5
- export const entities = [ClaimDetail]
6
- export const resolvers = [ClaimDetailQuery, ClaimDetailMutation]
7
-
8
- export * from './claim-detail-mutation'
9
- export * from './claim-detail-query'
@@ -1,101 +0,0 @@
1
- import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'
2
- import { In } from 'typeorm'
3
-
4
- import { getRepository } from '@things-factory/shell'
5
-
6
- import { ClaimOrderPatch, NewClaimOrder } from '../'
7
- import { ClaimOrder } from './claim-order'
8
-
9
- @Resolver(ClaimOrder)
10
- export class ClaimOrderMutation {
11
- @Mutation(returns => ClaimOrder)
12
- async createClaimOrder(
13
- @Arg('claimOrder', type => NewClaimOrder) claimOrder: NewClaimOrder,
14
- @Ctx() context: ResolverContext
15
- ): Promise<ClaimOrder> {
16
- return await getRepository(ClaimOrder).save({
17
- ...claimOrder,
18
- domain: context.state.domain,
19
- creator: context.state.user,
20
- updater: context.state.user
21
- })
22
- }
23
-
24
- @Mutation(returns => ClaimOrder)
25
- async updateClaimOrder(
26
- @Arg('name') name: string,
27
- @Arg('patch', type => ClaimOrderPatch) patch: ClaimOrderPatch,
28
- @Ctx() context: ResolverContext
29
- ): Promise<ClaimOrder> {
30
- const repository = getRepository(ClaimOrder)
31
- const claimOrder = await repository.findOne({
32
- where: { domain: { id: context.state.domain.id }, name }
33
- })
34
-
35
- return await repository.save({
36
- ...claimOrder,
37
- ...patch,
38
- updater: context.state.user
39
- })
40
- }
41
-
42
- @Mutation(returns => [ClaimOrder])
43
- async updateMultipleClaimOrder(
44
- @Arg('patches', type => [ClaimOrderPatch]) patches: ClaimOrderPatch[],
45
- @Ctx() context: ResolverContext
46
- ): Promise<ClaimOrder[]> {
47
- let results: ClaimOrder[] = []
48
- const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
49
- const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
50
- const claimOrderRepo = getRepository(ClaimOrder)
51
-
52
- if (_createRecords.length > 0) {
53
- for (let i = 0; i < _createRecords.length; i++) {
54
- const newRecord = _createRecords[i]
55
- const result = await claimOrderRepo.save({
56
- ...newRecord,
57
- domain: context.state.domain,
58
- creator: context.state.user,
59
- updater: context.state.user
60
- })
61
-
62
- results.push({ ...result, cuFlag: '+' })
63
- }
64
- }
65
-
66
- if (_updateRecords.length > 0) {
67
- for (let i = 0; i < _updateRecords.length; i++) {
68
- const newRecord = _updateRecords[i]
69
- const claimOrder = await claimOrderRepo.findOneBy({ id: newRecord.id })
70
-
71
- const result = await claimOrderRepo.save({
72
- ...claimOrder,
73
- ...newRecord,
74
- updater: context.state.user
75
- })
76
-
77
- results.push({ ...result, cuFlag: 'M' })
78
- }
79
- }
80
-
81
- return results
82
- }
83
-
84
- @Mutation(returns => Boolean)
85
- async deleteClaimOrder(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<boolean> {
86
- await getRepository(ClaimOrder).delete({ domain: { id: context.state.domain.id }, name })
87
- return true
88
- }
89
-
90
- @Mutation(returns => Boolean)
91
- async deleteClaimOrders(
92
- @Arg('names', type => [String]) names: string[],
93
- @Ctx() context: ResolverContext
94
- ): Promise<boolean> {
95
- await getRepository(ClaimOrder).delete({
96
- domain: { id: context.state.domain.id },
97
- name: In(names)
98
- })
99
- return true
100
- }
101
- }
@@ -1,47 +0,0 @@
1
- import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { convertListParams, Domain, Filter, getRepository, Pagination, Sorting } from '@things-factory/shell'
5
-
6
- import { ClaimOrderList } from '../'
7
- import { ClaimOrder } from './claim-order'
8
-
9
- @Resolver(ClaimOrder)
10
- export class ClaimOrderQuery {
11
- @Query(returns => ClaimOrderList)
12
- async claimOrders(
13
- @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],
14
- @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
15
- @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: [Sorting]
16
- ): Promise<ClaimOrderList> {
17
- const convertedParams = convertListParams({ filters, pagination, sortings })
18
- const [items, total] = await getRepository<ClaimOrder>(ClaimOrder).findAndCount({
19
- ...convertedParams,
20
- relations: ['domain', 'creator', 'updater']
21
- })
22
- return { items, total }
23
- }
24
-
25
- @Query(returns => ClaimOrder)
26
- async claimOrder(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<ClaimOrder> {
27
- return await getRepository(ClaimOrder).findOne({
28
- where: { domain: { id: context.state.domain.id }, name },
29
- relations: ['domain', 'creator', 'updater']
30
- })
31
- }
32
-
33
- @FieldResolver(type => Domain)
34
- async domain(@Root() claimOrder: ClaimOrder): Promise<Domain> {
35
- return await getRepository(Domain).findOneBy({ id: claimOrder.domainId })
36
- }
37
-
38
- @FieldResolver(type => User)
39
- async creator(@Root() claimOrder: ClaimOrder): Promise<User> {
40
- return await getRepository(User).findOneBy({ id: claimOrder.creatorId })
41
- }
42
-
43
- @FieldResolver(type => User)
44
- async updater(@Root() claimOrder: ClaimOrder): Promise<User> {
45
- return await getRepository(User).findOneBy({ id: claimOrder.updaterId })
46
- }
47
- }
@@ -1,35 +0,0 @@
1
- import { Field, InputType, Int, ObjectType } from 'type-graphql'
2
- import { ClaimOrder } from './claim-order'
3
-
4
- @ObjectType()
5
- export class ClaimOrderList {
6
- @Field(type => ClaimOrder, { nullable: true })
7
- items: ClaimOrder[]
8
-
9
- @Field(type => Int, { nullable: true })
10
- total: number
11
- }
12
-
13
- @InputType()
14
- export class NewClaimOrder {
15
- @Field()
16
- name: string
17
-
18
- @Field({ nullable: true })
19
- description: string
20
- }
21
-
22
- @InputType()
23
- export class ClaimOrderPatch {
24
- @Field({ nullable: true })
25
- id: string
26
-
27
- @Field({ nullable: true })
28
- name: string
29
-
30
- @Field({ nullable: true })
31
- description: string
32
-
33
- @Field({ nullable: true })
34
- cuFlag: string
35
- }
@@ -1,81 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Domain } from '@things-factory/shell'
3
- import { Field, ID, ObjectType } from 'type-graphql'
4
- import {
5
- Column,
6
- CreateDateColumn,
7
- Entity,
8
- Index,
9
- JoinColumn,
10
- ManyToOne,
11
- PrimaryGeneratedColumn,
12
- RelationId,
13
- UpdateDateColumn
14
- } from 'typeorm'
15
- import { Claim, CollectionOrder, DeliveryOrder } from '../'
16
-
17
- @Entity()
18
- @ObjectType()
19
- @Index('ix_claim-order_0', (claimOrder: ClaimOrder) => [claimOrder.domain, claimOrder.id], { unique: true })
20
- export class ClaimOrder {
21
- @PrimaryGeneratedColumn('uuid')
22
- @Field(type => ID)
23
- readonly id: string
24
-
25
- @ManyToOne(type => Domain)
26
- @Field(type => Domain, { nullable: true })
27
- domain: Domain
28
-
29
- @RelationId((claimOrder: ClaimOrder) => claimOrder.domain)
30
- domainId: string
31
-
32
- @Column()
33
- @Field()
34
- name: string
35
-
36
- @Column({ nullable: true })
37
- @Field({ nullable: true })
38
- description: string
39
-
40
- @CreateDateColumn()
41
- @Field()
42
- createdAt: Date
43
-
44
- @UpdateDateColumn()
45
- @Field()
46
- updatedAt: Date
47
-
48
- @ManyToOne(type => Claim)
49
- @Field(type => Claim, { nullable: true })
50
- claim: Claim
51
-
52
- @RelationId((claimOrder: ClaimOrder) => claimOrder.claim)
53
- claimId: string
54
-
55
- @ManyToOne(type => CollectionOrder)
56
- @JoinColumn()
57
- @Field(type => CollectionOrder, { nullable: true })
58
- collectionOrder: CollectionOrder
59
-
60
- @ManyToOne(type => DeliveryOrder)
61
- @JoinColumn()
62
- @Field(type => DeliveryOrder, { nullable: true })
63
- deliveryOrder: DeliveryOrder
64
-
65
- @ManyToOne(type => User)
66
- @Field(type => User, { nullable: true })
67
- creator: User
68
-
69
- @RelationId((claimOrder: ClaimOrder) => claimOrder.creator)
70
- creatorId: string
71
-
72
- @ManyToOne(type => User)
73
- @Field(type => User, { nullable: true })
74
- updater: User
75
-
76
- @RelationId((claimOrder: ClaimOrder) => claimOrder.updater)
77
- updaterId: string
78
-
79
- @Field({ nullable: true })
80
- cuFlag: string
81
- }
@@ -1,9 +0,0 @@
1
- import { ClaimOrder } from './claim-order'
2
- import { ClaimOrderMutation } from './claim-order-mutation'
3
- import { ClaimOrderQuery } from './claim-order-query'
4
-
5
- export const entities = [ClaimOrder]
6
- export const resolvers = [ClaimOrderQuery, ClaimOrderMutation]
7
-
8
- export * from './claim-order-mutation'
9
- export * from './claim-order-query'