@things-factory/operato-hub 4.3.0 → 4.4.0-alpha.0

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 (63) hide show
  1. package/client/pages/constants/setting.js +0 -1
  2. package/config.development.js +49 -0
  3. package/dist-server/controllers/bizplace-initializer/dataset/codes.js +0 -9
  4. package/dist-server/controllers/bizplace-initializer/dataset/codes.js.map +1 -1
  5. package/dist-server/controllers/bizplace-initializer/dataset/index.js +5 -1
  6. package/dist-server/controllers/bizplace-initializer/dataset/index.js.map +1 -1
  7. package/dist-server/controllers/bizplace-initializer/dataset/settings.js +0 -10
  8. package/dist-server/controllers/bizplace-initializer/dataset/settings.js.map +1 -1
  9. package/dist-server/controllers/bizplace-initializer/index.js +5 -1
  10. package/dist-server/controllers/bizplace-initializer/index.js.map +1 -1
  11. package/dist-server/controllers/company-initializer/index.js +5 -1
  12. package/dist-server/controllers/company-initializer/index.js.map +1 -1
  13. package/dist-server/graphql/index.js +5 -1
  14. package/dist-server/graphql/index.js.map +1 -1
  15. package/dist-server/graphql/resolvers/index.js +5 -1
  16. package/dist-server/graphql/resolvers/index.js.map +1 -1
  17. package/dist-server/graphql/types/index.js +5 -1
  18. package/dist-server/graphql/types/index.js.map +1 -1
  19. package/dist-server/index.js +5 -1
  20. package/dist-server/index.js.map +1 -1
  21. package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js +75 -85
  22. package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js.map +1 -1
  23. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +35 -147
  24. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -1
  25. package/dist-server/routers/api/restful-apis/unstable/index.js +0 -1
  26. package/dist-server/routers/api/restful-apis/unstable/index.js.map +1 -1
  27. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +75 -85
  28. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +1 -1
  29. package/dist-server/routers/api/restful-apis/v1/add-release-order.js +34 -146
  30. package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +1 -1
  31. package/dist-server/routers/api/restful-apis/v1/index.js +0 -1
  32. package/dist-server/routers/api/restful-apis/v1/index.js.map +1 -1
  33. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +75 -85
  34. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +1 -1
  35. package/dist-server/routers/api/restful-apis/v2/add-release-order.js +34 -149
  36. package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +1 -1
  37. package/dist-server/routers/api/restful-apis/v2/index.js +0 -1
  38. package/dist-server/routers/api/restful-apis/v2/index.js.map +1 -1
  39. package/dist-server/routers/business/index.js +5 -1
  40. package/dist-server/routers/business/index.js.map +1 -1
  41. package/dist-server/utils/index.js +5 -1
  42. package/dist-server/utils/index.js.map +1 -1
  43. package/package.json +69 -69
  44. package/server/controllers/bizplace-initializer/dataset/codes.ts +0 -9
  45. package/server/controllers/bizplace-initializer/dataset/settings.ts +0 -10
  46. package/server/routers/api/restful-apis/unstable/add-marketplace-order.ts +85 -97
  47. package/server/routers/api/restful-apis/unstable/add-release-order.ts +28 -211
  48. package/server/routers/api/restful-apis/unstable/index.ts +0 -1
  49. package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +85 -97
  50. package/server/routers/api/restful-apis/v1/add-release-order.ts +26 -209
  51. package/server/routers/api/restful-apis/v1/index.ts +0 -1
  52. package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +85 -97
  53. package/server/routers/api/restful-apis/v2/add-release-order.ts +26 -212
  54. package/server/routers/api/restful-apis/v2/index.ts +0 -1
  55. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +0 -171
  56. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +0 -1
  57. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js +0 -171
  58. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js.map +0 -1
  59. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js +0 -171
  60. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js.map +0 -1
  61. package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +0 -196
  62. package/server/routers/api/restful-apis/v1/add-draft-release-order.ts +0 -196
  63. package/server/routers/api/restful-apis/v2/add-draft-release-order.ts +0 -196
@@ -1,196 +0,0 @@
1
- import gql from 'graphql-tag'
2
- import { EntityManager, getConnection } from 'typeorm'
3
-
4
- import { restfulApiRouter as router } from '@things-factory/api'
5
- import { Bizplace } from '@things-factory/biz-base'
6
- import { OrderInventory } from '@things-factory/sales-base'
7
-
8
- import { businessMiddleware } from '../../../../middlewares/business-middleware'
9
- import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
10
-
11
- const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:add-draft-release-order')
12
-
13
- router.post(
14
- '/v1/warehouse/:warehouseId/add-draft-release-order',
15
- businessMiddleware,
16
- warehouseMiddleware,
17
- async (context, next) => {
18
- return await getConnection().transaction(async (tx: EntityManager) => {
19
- const { client, domain } = context.state
20
- const { warehouseId: customerBizplaceId } = context.params
21
- const { t } = context
22
-
23
- if (!customerBizplaceId) context.throw(404, t('error.warehouse id not found'))
24
-
25
- let bodyReq = context.request.body
26
- if (typeof bodyReq === undefined || !Object.keys(bodyReq)?.length) {
27
- context.throw(400, t('error.invalid body request format'))
28
- }
29
- debug('post:/add-draft-release-order request.body', bodyReq)
30
- await checkMandatoryKey(context, bodyReq)
31
-
32
- // get customer company's bizplace
33
- const customerBizplace: Bizplace = await tx.getRepository(Bizplace).findOne({
34
- where: { id: customerBizplaceId }
35
- })
36
-
37
- const orderInventories: OrderInventory[] = bodyReq.orderInventories
38
-
39
- context.body = {
40
- result: (
41
- await client.mutate({
42
- mutation: gql`
43
- mutation upsertDraftReleaseGood(
44
- $draftReleaseGood: DraftReleaseGoodPatch!
45
- $orderProducts: [OrderProductPatch!]!
46
- $files: [Upload!]
47
- ) {
48
- upsertDraftReleaseGood(
49
- draftReleaseGood: $draftReleaseGood
50
- orderProducts: $orderProducts
51
- files: $files
52
- ) {
53
- id
54
- name
55
- refNo
56
- refNo2
57
- refNo3
58
- status
59
- truckNo
60
- ownTransport
61
- marketplaceOrderStatus
62
- billingAddress
63
- deliveryAddress1
64
- deliveryAddress2
65
- deliveryAddress3
66
- deliveryAddress4
67
- deliveryAddress5
68
- attentionTo
69
- attentionCompany
70
- city
71
- state
72
- postalCode
73
- country
74
- phone1
75
- phone2
76
- email
77
- type
78
- exportOption
79
- releaseDate
80
- collectionOrderNo
81
- bizplace {
82
- name
83
- }
84
- orderProducts {
85
- product {
86
- sku
87
- name
88
- description
89
- }
90
- packingType
91
- packingSize
92
- releaseQty
93
- }
94
- }
95
- }
96
- `,
97
- variables: {
98
- draftReleaseGood: {
99
- bizplace: {
100
- id: customerBizplace.id
101
- },
102
- courierOption: bodyReq.courierOption,
103
- collectionOrderNo: bodyReq.collectionOrderNo,
104
- exportOption: bodyReq.exportOption,
105
- ownTransport: bodyReq.ownTransport,
106
- packingOption: bodyReq.packingOption,
107
- refNo: bodyReq.refNo,
108
- refNo2: bodyReq?.refNo2,
109
- refNo3: bodyReq?.refNo3,
110
- releaseDate: bodyReq.releaseDate,
111
- type: bodyReq.type,
112
- marketplaceOrderStatus: bodyReq?.marketplaceOrderStatus,
113
- remark: bodyReq?.remark || null,
114
- billingAddress: bodyReq?.billTo?.billingAddress || null,
115
- deliveryAddress1: bodyReq?.deliverTo?.deliveryAddress1 || null,
116
- deliveryAddress2: bodyReq?.deliverTo?.deliveryAddress2 || null,
117
- deliveryAddress3: bodyReq?.deliverTo?.deliveryAddress3 || null,
118
- deliveryAddress4: bodyReq?.deliverTo?.deliveryAddress4 || null,
119
- deliveryAddress5: bodyReq?.deliverTo?.deliveryAddress5 || null,
120
- attentionTo: bodyReq?.deliverTo?.attentionTo || null,
121
- attentionCompany: bodyReq?.deliverTo?.attentionCompany || null,
122
- city: bodyReq?.deliverTo?.city || null,
123
- state: bodyReq?.deliverTo?.state || null,
124
- postalCode: bodyReq?.deliverTo?.postalCode || null,
125
- country: bodyReq?.deliverTo?.country || null,
126
- phone1: bodyReq?.deliverTo?.phone1 || null,
127
- phone2: bodyReq?.deliverTo?.phone2 || null,
128
- email: bodyReq?.deliverTo?.email || null
129
- },
130
- orderProducts: orderInventories,
131
- files: []
132
- },
133
- context: {
134
- ...context,
135
- hasUpload: true,
136
- state: {
137
- ...context.state,
138
- customerBizplace,
139
- domain,
140
- type: 'api'
141
- }
142
- }
143
- } as any)
144
- ).data
145
- }
146
- })
147
- }
148
- )
149
-
150
- export async function checkMandatoryKey(context, params) {
151
- let noparams = ['releaseDate', 'exportOption'].filter(param => !(param in params))
152
-
153
- if ('ownTransport' in params) {
154
- if (params.ownTransport == true) {
155
- if (!params.hasOwnProperty('collectionOrderNo')) {
156
- noparams.push('collectionOrderNo')
157
- }
158
- }
159
- } else {
160
- noparams.push('ownTransport')
161
- }
162
-
163
- if ('exportOption' in params) {
164
- if (params.exportOption === true) {
165
- if (
166
- params.exportOption.filter(
167
- record =>
168
- !record.containerNo || !record.containerArrivalDate || !record.containerLeavingDate || !record.shipName
169
- ).length
170
- ) {
171
- noparams.push('exportOption')
172
- }
173
- }
174
- }
175
-
176
- if ('orderInventories' in params) {
177
- params.orderInventories.forEach((param, key) => {
178
- let noSubParams = []
179
-
180
- if (!param?.releaseQty) noSubParams.push('releaseQty')
181
-
182
- if (!param?.product) noSubParams.push('product')
183
-
184
- if (noSubParams?.length)
185
- context.throw(400, context.t('error.required param x not found', { x: `${noSubParams.join(', ')}` }))
186
- })
187
- } else {
188
- noparams.push('orderInventories')
189
- }
190
-
191
- if (noparams?.length) {
192
- context.throw(400, context.t('error.required param x not found', { x: `${noparams.join(', ')}` }))
193
- }
194
-
195
- return params
196
- }
@@ -1,196 +0,0 @@
1
- import gql from 'graphql-tag'
2
- import { EntityManager, getConnection } from 'typeorm'
3
-
4
- import { restfulApiRouter as router } from '@things-factory/api'
5
- import { Bizplace } from '@things-factory/biz-base'
6
- import { OrderInventory } from '@things-factory/sales-base'
7
-
8
- import { businessMiddleware } from '../../../../middlewares/business-middleware'
9
- import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
10
-
11
- const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:add-draft-release-order')
12
-
13
- router.post(
14
- '/v2/warehouse/:warehouseId/add-draft-release-order',
15
- businessMiddleware,
16
- warehouseMiddleware,
17
- async (context, next) => {
18
- return await getConnection().transaction(async (tx: EntityManager) => {
19
- const { client, domain } = context.state
20
- const { warehouseId: customerBizplaceId } = context.params
21
- const { t } = context
22
-
23
- if (!customerBizplaceId) context.throw(404, t('error.warehouse id not found'))
24
-
25
- let bodyReq = context.request.body
26
- if (typeof bodyReq === undefined || !Object.keys(bodyReq)?.length) {
27
- context.throw(400, t('error.invalid body request format'))
28
- }
29
- debug('post:/add-draft-release-order request.body', bodyReq)
30
- await checkMandatoryKey(context, bodyReq)
31
-
32
- // get customer company's bizplace
33
- const customerBizplace: Bizplace = await tx.getRepository(Bizplace).findOne({
34
- where: { id: customerBizplaceId }
35
- })
36
-
37
- const orderInventories: OrderInventory[] = bodyReq.orderInventories
38
-
39
- context.body = {
40
- result: (
41
- await client.mutate({
42
- mutation: gql`
43
- mutation upsertDraftReleaseGood(
44
- $draftReleaseGood: DraftReleaseGoodPatch!
45
- $orderProducts: [OrderProductPatch!]!
46
- $files: [Upload!]
47
- ) {
48
- upsertDraftReleaseGood(
49
- draftReleaseGood: $draftReleaseGood
50
- orderProducts: $orderProducts
51
- files: $files
52
- ) {
53
- id
54
- name
55
- refNo
56
- refNo2
57
- refNo3
58
- status
59
- truckNo
60
- ownTransport
61
- marketplaceOrderStatus
62
- billingAddress
63
- deliveryAddress1
64
- deliveryAddress2
65
- deliveryAddress3
66
- deliveryAddress4
67
- deliveryAddress5
68
- attentionTo
69
- attentionCompany
70
- city
71
- state
72
- postalCode
73
- country
74
- phone1
75
- phone2
76
- email
77
- type
78
- exportOption
79
- releaseDate
80
- collectionOrderNo
81
- bizplace {
82
- name
83
- }
84
- orderProducts {
85
- product {
86
- sku
87
- name
88
- description
89
- }
90
- packingType
91
- packingSize
92
- releaseQty
93
- }
94
- }
95
- }
96
- `,
97
- variables: {
98
- draftReleaseGood: {
99
- bizplace: {
100
- id: customerBizplace.id
101
- },
102
- courierOption: bodyReq.courierOption,
103
- collectionOrderNo: bodyReq.collectionOrderNo,
104
- exportOption: bodyReq.exportOption,
105
- ownTransport: bodyReq.ownTransport,
106
- packingOption: bodyReq.packingOption,
107
- refNo: bodyReq.refNo,
108
- refNo2: bodyReq?.refNo2,
109
- refNo3: bodyReq?.refNo3,
110
- releaseDate: bodyReq.releaseDate,
111
- type: bodyReq.type,
112
- marketplaceOrderStatus: bodyReq?.marketplaceOrderStatus,
113
- remark: bodyReq?.remark || null,
114
- billingAddress: bodyReq?.billTo?.billingAddress || null,
115
- deliveryAddress1: bodyReq?.deliverTo?.deliveryAddress1 || null,
116
- deliveryAddress2: bodyReq?.deliverTo?.deliveryAddress2 || null,
117
- deliveryAddress3: bodyReq?.deliverTo?.deliveryAddress3 || null,
118
- deliveryAddress4: bodyReq?.deliverTo?.deliveryAddress4 || null,
119
- deliveryAddress5: bodyReq?.deliverTo?.deliveryAddress5 || null,
120
- attentionTo: bodyReq?.deliverTo?.attentionTo || null,
121
- attentionCompany: bodyReq?.deliverTo?.attentionCompany || null,
122
- city: bodyReq?.deliverTo?.city || null,
123
- state: bodyReq?.deliverTo?.state || null,
124
- postalCode: bodyReq?.deliverTo?.postalCode || null,
125
- country: bodyReq?.deliverTo?.country || null,
126
- phone1: bodyReq?.deliverTo?.phone1 || null,
127
- phone2: bodyReq?.deliverTo?.phone2 || null,
128
- email: bodyReq?.deliverTo?.email || null
129
- },
130
- orderProducts: orderInventories,
131
- files: []
132
- },
133
- context: {
134
- ...context,
135
- hasUpload: true,
136
- state: {
137
- ...context.state,
138
- customerBizplace,
139
- domain,
140
- type: 'api'
141
- }
142
- }
143
- } as any)
144
- ).data
145
- }
146
- })
147
- }
148
- )
149
-
150
- export async function checkMandatoryKey(context, params) {
151
- let noparams = ['releaseDate', 'exportOption'].filter(param => !(param in params))
152
-
153
- if ('ownTransport' in params) {
154
- if (params.ownTransport == true) {
155
- if (!params.hasOwnProperty('collectionOrderNo')) {
156
- noparams.push('collectionOrderNo')
157
- }
158
- }
159
- } else {
160
- noparams.push('ownTransport')
161
- }
162
-
163
- if ('exportOption' in params) {
164
- if (params.exportOption === true) {
165
- if (
166
- params.exportOption.filter(
167
- record =>
168
- !record.containerNo || !record.containerArrivalDate || !record.containerLeavingDate || !record.shipName
169
- ).length
170
- ) {
171
- noparams.push('exportOption')
172
- }
173
- }
174
- }
175
-
176
- if ('orderInventories' in params) {
177
- params.orderInventories.forEach((param, key) => {
178
- let noSubParams = []
179
-
180
- if (!param?.releaseQty) noSubParams.push('releaseQty')
181
-
182
- if (!param?.product) noSubParams.push('product')
183
-
184
- if (noSubParams?.length)
185
- context.throw(400, context.t('error.required param x not found', { x: `${noSubParams.join(', ')}` }))
186
- })
187
- } else {
188
- noparams.push('orderInventories')
189
- }
190
-
191
- if (noparams?.length) {
192
- context.throw(400, context.t('error.required param x not found', { x: `${noparams.join(', ')}` }))
193
- }
194
-
195
- return params
196
- }