@things-factory/operato-hub 6.1.83 → 6.1.85

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 (189) hide show
  1. package/dist-server/tsconfig.tsbuildinfo +1 -1
  2. package/package.json +46 -46
  3. package/server/controllers/bizplace-initializer/codes.ts +0 -32
  4. package/server/controllers/bizplace-initializer/dataset/codes.ts +0 -398
  5. package/server/controllers/bizplace-initializer/dataset/groups.ts +0 -21
  6. package/server/controllers/bizplace-initializer/dataset/index.ts +0 -5
  7. package/server/controllers/bizplace-initializer/dataset/menus.ts +0 -500
  8. package/server/controllers/bizplace-initializer/dataset/roles-privileges.ts +0 -402
  9. package/server/controllers/bizplace-initializer/dataset/settings.ts +0 -91
  10. package/server/controllers/bizplace-initializer/generate-bizplace-domain-roles.ts +0 -29
  11. package/server/controllers/bizplace-initializer/generate-bizplace-domain.ts +0 -56
  12. package/server/controllers/bizplace-initializer/groups.ts +0 -19
  13. package/server/controllers/bizplace-initializer/index.ts +0 -5
  14. package/server/controllers/bizplace-initializer/menus.ts +0 -42
  15. package/server/controllers/bizplace-initializer/settings.ts +0 -20
  16. package/server/controllers/company-initializer/business-register.ts +0 -59
  17. package/server/controllers/company-initializer/codes.ts +0 -147
  18. package/server/controllers/company-initializer/generate-company-roles.ts +0 -119
  19. package/server/controllers/company-initializer/index.ts +0 -6
  20. package/server/controllers/company-initializer/menus.ts +0 -359
  21. package/server/controllers/company-initializer/settings.ts +0 -33
  22. package/server/controllers/company-initializer/transporter.ts +0 -20
  23. package/server/controllers/index.ts +0 -0
  24. package/server/controllers/invitation.ts +0 -132
  25. package/server/controllers/utils/make-invitation-token.ts +0 -5
  26. package/server/controllers/utils/save-invitation-token.ts +0 -9
  27. package/server/entities/index.ts +0 -0
  28. package/server/errors/index.ts +0 -1
  29. package/server/errors/validation-error.ts +0 -17
  30. package/server/graphql/index.ts +0 -7
  31. package/server/graphql/resolvers/generators/generate-bizplace.ts +0 -40
  32. package/server/graphql/resolvers/generators/generate-company.ts +0 -76
  33. package/server/graphql/resolvers/generators/index.ts +0 -9
  34. package/server/graphql/resolvers/generators/update-domain-extType.ts +0 -55
  35. package/server/graphql/resolvers/index.ts +0 -8
  36. package/server/graphql/resolvers/invitations/index.ts +0 -5
  37. package/server/graphql/resolvers/invitations/partner-invitation.ts +0 -62
  38. package/server/graphql/resolvers/oauth2/company-roles-by-scope.ts +0 -38
  39. package/server/graphql/resolvers/oauth2/index.ts +0 -5
  40. package/server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.ts +0 -180
  41. package/server/graphql/resolvers/synchronization/create-dat-shipments.ts +0 -64
  42. package/server/graphql/resolvers/synchronization/fetch-sync-invoices.ts +0 -52
  43. package/server/graphql/resolvers/synchronization/fetch-sync-products.ts +0 -99
  44. package/server/graphql/resolvers/synchronization/fetch-sync-purchase-orders.ts +0 -75
  45. package/server/graphql/resolvers/synchronization/index.ts +0 -26
  46. package/server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.ts +0 -91
  47. package/server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.ts +0 -39
  48. package/server/graphql/resolvers/synchronization/sync-products-from-account.ts +0 -40
  49. package/server/graphql/resolvers/synchronization/sync-products-to-account.ts +0 -64
  50. package/server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts +0 -176
  51. package/server/graphql/types/generators/generate-bizplace-input.ts +0 -11
  52. package/server/graphql/types/generators/generate-company-input.ts +0 -11
  53. package/server/graphql/types/generators/index.ts +0 -11
  54. package/server/graphql/types/generators/update-domain-type-input.ts +0 -8
  55. package/server/graphql/types/index.ts +0 -10
  56. package/server/graphql/types/invitations/index.ts +0 -5
  57. package/server/graphql/types/oauth2/company-role.ts +0 -8
  58. package/server/graphql/types/oauth2/index.ts +0 -7
  59. package/server/graphql/types/synchronization/index.ts +0 -33
  60. package/server/graphql/types/synchronization/sync-invoice-list.ts +0 -8
  61. package/server/graphql/types/synchronization/sync-invoice-set.ts +0 -38
  62. package/server/graphql/types/synchronization/sync-product-list.ts +0 -8
  63. package/server/graphql/types/synchronization/sync-product-set.ts +0 -8
  64. package/server/graphql/types/synchronization/sync-purchase-order-list.ts +0 -8
  65. package/server/graphql/types/synchronization/sync-purchase-order-set.ts +0 -28
  66. package/server/index.ts +0 -37
  67. package/server/middlewares/business-middleware.ts +0 -32
  68. package/server/middlewares/index.ts +0 -20
  69. package/server/middlewares/store-middleware.ts +0 -36
  70. package/server/middlewares/warehouse-middleware.ts +0 -36
  71. package/server/migrations/1597668478399-SeedBusinessDomain.ts +0 -34
  72. package/server/migrations/1597668478401-SeedBusinessRoles.ts +0 -377
  73. package/server/migrations/1608009991065-SeedUser.ts +0 -64
  74. package/server/migrations/index.ts +0 -9
  75. package/server/routers/api/index.ts +0 -3
  76. package/server/routers/api/restful-apis/unstable/add-contact-point.ts +0 -89
  77. package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +0 -198
  78. package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +0 -246
  79. package/server/routers/api/restful-apis/unstable/add-marketplace-order.ts +0 -171
  80. package/server/routers/api/restful-apis/unstable/add-products.ts +0 -112
  81. package/server/routers/api/restful-apis/unstable/add-release-order.ts +0 -1061
  82. package/server/routers/api/restful-apis/unstable/add-sales-invoice.ts +0 -144
  83. package/server/routers/api/restful-apis/unstable/bizplace.ts +0 -45
  84. package/server/routers/api/restful-apis/unstable/cancel-marketplace-order.ts +0 -81
  85. package/server/routers/api/restful-apis/unstable/cancel-release-order.ts +0 -91
  86. package/server/routers/api/restful-apis/unstable/get-contact-point-list.ts +0 -110
  87. package/server/routers/api/restful-apis/unstable/get-delivery-order-detail.ts +0 -46
  88. package/server/routers/api/restful-apis/unstable/get-delivery-order-list.ts +0 -121
  89. package/server/routers/api/restful-apis/unstable/get-delivery-orders.ts +0 -178
  90. package/server/routers/api/restful-apis/unstable/get-goods-received-notes.ts +0 -134
  91. package/server/routers/api/restful-apis/unstable/get-inbound-order-detail.ts +0 -128
  92. package/server/routers/api/restful-apis/unstable/get-inbound-order-list.ts +0 -126
  93. package/server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.ts +0 -99
  94. package/server/routers/api/restful-apis/unstable/get-inventory-product-group.ts +0 -107
  95. package/server/routers/api/restful-apis/unstable/get-marketplace-order-shipping-list.ts +0 -156
  96. package/server/routers/api/restful-apis/unstable/get-marketplace-store-list.ts +0 -81
  97. package/server/routers/api/restful-apis/unstable/get-onhand-inventories.ts +0 -125
  98. package/server/routers/api/restful-apis/unstable/get-partners.ts +0 -26
  99. package/server/routers/api/restful-apis/unstable/get-products.ts +0 -216
  100. package/server/routers/api/restful-apis/unstable/get-release-order-detail.ts +0 -138
  101. package/server/routers/api/restful-apis/unstable/get-release-order-list.ts +0 -199
  102. package/server/routers/api/restful-apis/unstable/get-warehouses.ts +0 -19
  103. package/server/routers/api/restful-apis/unstable/index.ts +0 -32
  104. package/server/routers/api/restful-apis/unstable/reject-inbound-order.ts +0 -46
  105. package/server/routers/api/restful-apis/unstable/set-marketplace-order-delivered.ts +0 -60
  106. package/server/routers/api/restful-apis/unstable/set-marketplace-order-failed-delivery.ts +0 -60
  107. package/server/routers/api/restful-apis/unstable/update-marketplace-order.ts +0 -111
  108. package/server/routers/api/restful-apis/unstable/update-marketplace-shipping-order.ts +0 -107
  109. package/server/routers/api/restful-apis/unstable/update-release-order-details.ts +0 -94
  110. package/server/routers/api/restful-apis/v1/add-contact-point.ts +0 -77
  111. package/server/routers/api/restful-apis/v1/add-draft-release-order.ts +0 -196
  112. package/server/routers/api/restful-apis/v1/add-inbound-order.ts +0 -243
  113. package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +0 -172
  114. package/server/routers/api/restful-apis/v1/add-products.ts +0 -112
  115. package/server/routers/api/restful-apis/v1/add-release-order.ts +0 -967
  116. package/server/routers/api/restful-apis/v1/bizplace.ts +0 -45
  117. package/server/routers/api/restful-apis/v1/cancel-marketplace-order.ts +0 -81
  118. package/server/routers/api/restful-apis/v1/cancel-release-order.ts +0 -91
  119. package/server/routers/api/restful-apis/v1/get-contact-point-list.ts +0 -110
  120. package/server/routers/api/restful-apis/v1/get-delivery-order-detail.ts +0 -46
  121. package/server/routers/api/restful-apis/v1/get-delivery-order-list.ts +0 -121
  122. package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +0 -178
  123. package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +0 -134
  124. package/server/routers/api/restful-apis/v1/get-inbound-order-detail.ts +0 -128
  125. package/server/routers/api/restful-apis/v1/get-inbound-order-list.ts +0 -126
  126. package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +0 -99
  127. package/server/routers/api/restful-apis/v1/get-inventory-product-group.ts +0 -112
  128. package/server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.ts +0 -156
  129. package/server/routers/api/restful-apis/v1/get-marketplace-store-list.ts +0 -81
  130. package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +0 -125
  131. package/server/routers/api/restful-apis/v1/get-partners.ts +0 -26
  132. package/server/routers/api/restful-apis/v1/get-products.ts +0 -216
  133. package/server/routers/api/restful-apis/v1/get-release-order-detail.ts +0 -134
  134. package/server/routers/api/restful-apis/v1/get-release-order-list.ts +0 -198
  135. package/server/routers/api/restful-apis/v1/get-warehouses.ts +0 -19
  136. package/server/routers/api/restful-apis/v1/index.ts +0 -31
  137. package/server/routers/api/restful-apis/v1/reject-inbound-order.ts +0 -46
  138. package/server/routers/api/restful-apis/v1/set-marketplace-order-delivered.ts +0 -60
  139. package/server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.ts +0 -60
  140. package/server/routers/api/restful-apis/v1/update-marketplace-order.ts +0 -111
  141. package/server/routers/api/restful-apis/v1/update-marketplace-shipping-order.ts +0 -104
  142. package/server/routers/api/restful-apis/v1/update-release-order-details.ts +0 -94
  143. package/server/routers/api/restful-apis/v2/add-contact-point.ts +0 -77
  144. package/server/routers/api/restful-apis/v2/add-draft-release-order.ts +0 -196
  145. package/server/routers/api/restful-apis/v2/add-inbound-order.ts +0 -243
  146. package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +0 -172
  147. package/server/routers/api/restful-apis/v2/add-products.ts +0 -112
  148. package/server/routers/api/restful-apis/v2/add-release-order.ts +0 -967
  149. package/server/routers/api/restful-apis/v2/bizplace.ts +0 -45
  150. package/server/routers/api/restful-apis/v2/cancel-marketplace-order.ts +0 -81
  151. package/server/routers/api/restful-apis/v2/cancel-release-order.ts +0 -91
  152. package/server/routers/api/restful-apis/v2/get-contact-point-list.ts +0 -110
  153. package/server/routers/api/restful-apis/v2/get-delivery-order-detail.ts +0 -46
  154. package/server/routers/api/restful-apis/v2/get-delivery-order-list.ts +0 -121
  155. package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +0 -178
  156. package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +0 -134
  157. package/server/routers/api/restful-apis/v2/get-inbound-order-detail.ts +0 -128
  158. package/server/routers/api/restful-apis/v2/get-inbound-order-list.ts +0 -126
  159. package/server/routers/api/restful-apis/v2/get-inventory-overall-product-group.ts +0 -99
  160. package/server/routers/api/restful-apis/v2/get-inventory-product-group.ts +0 -112
  161. package/server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.ts +0 -156
  162. package/server/routers/api/restful-apis/v2/get-marketplace-store-list.ts +0 -81
  163. package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +0 -125
  164. package/server/routers/api/restful-apis/v2/get-partners.ts +0 -26
  165. package/server/routers/api/restful-apis/v2/get-products.ts +0 -216
  166. package/server/routers/api/restful-apis/v2/get-release-order-detail.ts +0 -134
  167. package/server/routers/api/restful-apis/v2/get-release-order-list.ts +0 -198
  168. package/server/routers/api/restful-apis/v2/get-warehouses.ts +0 -19
  169. package/server/routers/api/restful-apis/v2/index.ts +0 -31
  170. package/server/routers/api/restful-apis/v2/reject-inbound-order.ts +0 -46
  171. package/server/routers/api/restful-apis/v2/set-marketplace-order-delivered.ts +0 -60
  172. package/server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.ts +0 -60
  173. package/server/routers/api/restful-apis/v2/update-marketplace-order.ts +0 -111
  174. package/server/routers/api/restful-apis/v2/update-marketplace-shipping-order.ts +0 -104
  175. package/server/routers/api/restful-apis/v2/update-release-order-details.ts +0 -94
  176. package/server/routers/auth-invitation-router.ts +0 -25
  177. package/server/routers/business/bizplace-register-router.ts +0 -31
  178. package/server/routers/business/business-register-router.ts +0 -32
  179. package/server/routers/business/index.ts +0 -3
  180. package/server/routers/business/path-base-business-router.ts +0 -15
  181. package/server/routes.ts +0 -28
  182. package/server/templates/account-unlock-email.ts +0 -64
  183. package/server/templates/invitation-email.ts +0 -65
  184. package/server/templates/reset-password-email.ts +0 -64
  185. package/server/templates/verification-email.ts +0 -65
  186. package/server/utils/build-map.ts +0 -18
  187. package/server/utils/get-warehouses.ts +0 -115
  188. package/server/utils/index.ts +0 -3
  189. package/server/utils/order-no-generator.ts +0 -8
@@ -1,134 +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
-
6
- import { businessMiddleware } from '../../../../middlewares/business-middleware'
7
- import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
8
-
9
- const debug = require('debug')('things-factory:operato-hub:restful-api:v1:get-goods-received-notes')
10
-
11
- router.get(
12
- '/v1/warehouse/:warehouseId/get-goods-received-notes',
13
- businessMiddleware,
14
- warehouseMiddleware,
15
- async (context, next) => {
16
- return await getConnection().transaction(async (tx: EntityManager) => {
17
- const { client, warehouse: bizplace, domain } = context.state
18
- const { warehouseId: customerBizplaceId } = context.params
19
- const { t } = context
20
-
21
- const { fromDate, toDate, limit = 10, page = 1 } = context.query
22
-
23
- if (!customerBizplaceId) context.throw(404, t('Error: Warehouse id not found'))
24
- if (!fromDate || !toDate) context.throw(400, t('Error: Date range not provided correctly'))
25
- if (limit > 100 || limit < 0) context.throw(400, t('Error: Limit value exceed 100 maximum threshold'))
26
-
27
- let noOfDays = (new Date(toDate).getTime() - new Date(fromDate).getTime()) / (1000 * 3600 * 24)
28
- if (noOfDays >= 31 || noOfDays <= 0)
29
- context.throw(400, t('Error: Date range value exceed 1 month maximum threshold'))
30
-
31
- let filters: any = [
32
- { name: 'bizplace', operator: 'in', value: [customerBizplaceId], relation: true },
33
- { name: 'createdAt', operator: 'between', value: [fromDate, toDate] },
34
- { name: 'orderProductsApi', operator: 'equal', value: true }
35
- ]
36
-
37
- let pagination: any = { page: parseInt(page), limit: parseInt(limit) }
38
-
39
- let data = {
40
- result: (
41
- await client.query({
42
- query: gql`
43
- query goodsReceivalNotes($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
44
- goodsReceivalNotes(filters: $filters, pagination: $pagination, sortings: $sortings) {
45
- items {
46
- id
47
- name
48
- refNo
49
- description
50
- customerStatus
51
- status
52
- domain {
53
- id
54
- name
55
- }
56
- arrivalNotice {
57
- id
58
- name
59
- description
60
- status
61
- refNo
62
- refNo2
63
- refNo3
64
- orderProducts {
65
- id
66
- type
67
- batchId
68
- packingType
69
- packingSize
70
- packQty
71
- actualPackQty
72
- palletQty
73
- actualPalletQty
74
- uom
75
- uomValue
76
- totalUomValue
77
- issue
78
- remark
79
- status
80
- product {
81
- id
82
- name
83
- sku
84
- packingType
85
- primaryUnit
86
- primaryValue
87
- gtin
88
- }
89
- }
90
- }
91
- bizplace {
92
- id
93
- name
94
- description
95
- }
96
- attachments {
97
- id
98
- name
99
- refBy
100
- path
101
- }
102
- createdAt
103
- updatedAt
104
- updater {
105
- id
106
- name
107
- description
108
- }
109
- }
110
- total
111
- }
112
- }
113
- `,
114
- variables: {
115
- filters,
116
- pagination,
117
- sortings: [{ name: 'createdAt', desc: true }]
118
- },
119
- context: {
120
- ...context,
121
- state: {
122
- ...context.state,
123
- bizplace,
124
- domain
125
- }
126
- }
127
- } as any)
128
- ).data
129
- }
130
-
131
- context.body = data?.result?.goodsReceivalNotes?.items?.length == 0 ? 'No data available' : data
132
- })
133
- }
134
- )
@@ -1,128 +0,0 @@
1
- import gql from 'graphql-tag'
2
-
3
- import { restfulApiRouter as router } from '@things-factory/api'
4
-
5
- import { businessMiddleware } from '../../../../middlewares/business-middleware'
6
- import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
7
-
8
- const debug = require('debug')('things-factory:operato-hub:restful-api:v1:get-inbound-order-detail')
9
-
10
- router.get(
11
- '/v1/warehouse/:warehouseId/get-inbound-order-detail',
12
- businessMiddleware,
13
- warehouseMiddleware,
14
- async (context, next) => {
15
- const { client, warehouse: bizplace, domain } = context.state
16
- const { warehouseId } = context.params
17
- const { t } = context
18
- let { ganNo, refNo } = context.query
19
-
20
- debug('query-params', context.query)
21
- debug('params', context.params)
22
-
23
- if (!warehouseId) context.throw(404, t('error.warehouse id not found'))
24
-
25
- let param: any = {}
26
-
27
- if (ganNo) param.ganNo = ganNo
28
- if (refNo) param.refNo = refNo
29
-
30
- context.body = {
31
- result: (
32
- await client.query({
33
- query: gql`
34
- query arrivalNotice($ganNo: String, $refNo: String) {
35
- arrivalNotice(name: $ganNo, refNo: $refNo) {
36
- id
37
- name
38
- bizplace {
39
- id
40
- name
41
- }
42
- containerNo
43
- containerSize
44
- ownTransport
45
- crossDocking
46
- releaseGood {
47
- id
48
- }
49
- etaDate
50
- looseItem
51
- deliveryOrderNo
52
- status
53
- truckNo
54
- refNo
55
- refNo2
56
- refNo3
57
- importCargo
58
- attachment {
59
- id
60
- name
61
- refBy
62
- path
63
- mimetype
64
- }
65
- orderProducts {
66
- id
67
- batchId
68
- batchIdRef
69
- product {
70
- id
71
- name
72
- description
73
- sku
74
- }
75
- remark
76
- unitPrice
77
- status
78
- packingType
79
- packingSize
80
- uomValue
81
- uom
82
- packQty
83
- totalUomValue
84
- palletQty
85
- manufactureDate
86
- releaseQty
87
- releaseUomValue
88
- }
89
- orderVass {
90
- vas {
91
- name
92
- operationGuide
93
- operationGuideType
94
- }
95
- set
96
- targetType
97
- targetBatchId
98
- targetProduct {
99
- id
100
- name
101
- description
102
- }
103
- packingType
104
- qty
105
- uomValue
106
- otherTarget
107
- description
108
- remark
109
- status
110
- operationGuide
111
- }
112
- }
113
- }
114
- `,
115
- variables: { ...param },
116
- context: {
117
- ...context,
118
- state: {
119
- ...context.state,
120
- bizplace,
121
- domain
122
- }
123
- }
124
- } as any)
125
- ).data
126
- }
127
- }
128
- )
@@ -1,126 +0,0 @@
1
- import gql from 'graphql-tag'
2
-
3
- import { restfulApiRouter as router } from '@things-factory/api'
4
-
5
- import { businessMiddleware } from '../../../../middlewares/business-middleware'
6
- import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
7
-
8
- router.get(
9
- '/v1/warehouse/:warehouseId/get-inbound-order-list',
10
- businessMiddleware,
11
- warehouseMiddleware,
12
- async (context, next) => {
13
- const { client, warehouse: bizplace, domain } = context.state
14
- const { warehouseId } = context.params
15
- const { t } = context
16
- const { name, refNo, status, etaDate, fromDate, toDate, paginationEntriesPerPage, paginationOffset } = context.query
17
-
18
- if (!warehouseId) context.throw(404, t('error.warehouse id not found'))
19
-
20
- let filters: any = [{ name: 'bizplace', operator: 'in', value: [warehouseId], relation: true }]
21
- let pagination: any = { page: 1, limit: 20 }
22
-
23
- filters = await validateFilters(context, filters, name, refNo, status, etaDate, fromDate, toDate)
24
- pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset)
25
-
26
- context.body = {
27
- result: (
28
- await client.query({
29
- query: gql`
30
- query arrivalNotices($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
31
- arrivalNotices(filters: $filters, pagination: $pagination, sortings: $sortings) {
32
- items {
33
- name
34
- etaDate
35
- status
36
- refNo
37
- refNo2
38
- ownTransport
39
- container
40
- crossDocking
41
- releaseGood {
42
- name
43
- }
44
- importCargo
45
- createdAt
46
- updatedAt
47
- updater {
48
- name
49
- }
50
- }
51
- total
52
- }
53
- }
54
- `,
55
- variables: {
56
- filters,
57
- pagination,
58
- sortings: [{ name: 'createdAt', desc: true }]
59
- },
60
- context: {
61
- ...context,
62
- state: {
63
- ...context.state,
64
- bizplace,
65
- domain
66
- }
67
- }
68
- } as any)
69
- ).data
70
- }
71
- }
72
- )
73
-
74
- export async function validateFilters(context, filters, name, refNo, status, etaDate, fromDate, toDate) {
75
- if (name && name !== '') filters = [...filters, { name: 'name', operator: 'i_like', value: name }]
76
-
77
- if (refNo && refNo !== '') filters = [...filters, { name: 'refNo', operator: 'i_like', value: refNo }]
78
-
79
- if (etaDate && etaDate !== '') filters = [...filters, { name: 'etaDate', operator: 'eq', value: etaDate }]
80
-
81
- if (status && status !== '') filters = [...filters, { name: 'status', operator: 'eq', value: status }]
82
-
83
- if (fromDate && fromDate !== '') {
84
- fromDate = new Date(`${fromDate.split(' ').join('')} 00:00:00`)
85
- if (fromDate instanceof Date && !isNaN(fromDate.getTime())) fromDate = fromDate.toLocaleString()
86
- else context.throw(400, context.t('fromDate is invalid'))
87
- } else fromDate = ''
88
-
89
- if (toDate && toDate !== '') {
90
- toDate = new Date(`${toDate.split(' ').join('')} 23:59:59`)
91
- if (toDate instanceof Date && !isNaN(toDate.getTime())) toDate = toDate.toLocaleString()
92
- else context.throw(400, context.t('toDate is invalid'))
93
- } else toDate = ''
94
-
95
- if (fromDate !== '' && toDate !== '')
96
- filters = [...filters, { name: 'createdAt', operator: 'between', value: [fromDate, toDate] }]
97
- else if (fromDate !== '' && toDate === '')
98
- filters = [...filters, { name: 'createdAt', operator: 'gte', value: fromDate }]
99
- else if (fromDate === '' && toDate !== '')
100
- filters = [...filters, { name: 'createdAt', operator: 'lte', value: toDate }]
101
-
102
- return filters
103
- }
104
-
105
- export async function validatePagination(context, pagination, entries, offset) {
106
- if (!entries) entries = ''
107
- if (!offset) offset = ''
108
-
109
- if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
110
- entries = parseInt(entries)
111
- offset = parseInt(offset)
112
-
113
- if (offset < 1) context.throw(400, context.t('paginationOffset cannot be less than 1'))
114
- else if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
115
- else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
116
- else pagination = { ...pagination, page: offset, limit: entries }
117
- } else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
118
- entries = parseInt(entries)
119
-
120
- if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
121
- else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
122
- else pagination = { ...pagination, limit: entries }
123
- }
124
-
125
- return pagination
126
- }
@@ -1,99 +0,0 @@
1
- import gql from 'graphql-tag'
2
-
3
- import { restfulApiRouter as router } from '@things-factory/api'
4
-
5
- import { businessMiddleware } from '../../../../middlewares/business-middleware'
6
- import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
7
-
8
- const debug = require('debug')('things-factory:operato-hub:restful-api:v1:get-inventory-product-group-open-api')
9
-
10
- router.get(
11
- '/v1/warehouse/:warehouseId/get-inventory-product-group-open-api',
12
- businessMiddleware,
13
- warehouseMiddleware,
14
- async (context, next) => {
15
- const { client, warehouse: bizplace, domain } = context.state
16
- const { warehouseId } = context.params
17
- const { t } = context
18
- const { skuId, packingType, batchId, paginationEntriesPerPage, paginationOffset } = context.query
19
-
20
- if (!warehouseId) context.throw(404, t('error.warehouse id not found'))
21
-
22
- let filters: any = [{ name: 'bizplace_id', operator: 'in', value: [warehouseId] }]
23
- let pagination: any = { page: 1, limit: 100 }
24
-
25
- filters = await validateFilters(context, filters, skuId, batchId, packingType)
26
- pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset)
27
-
28
- debug('query-params', context.query)
29
-
30
- context.body = {
31
- result: (
32
- await client.query({
33
- query: gql`
34
- query inventoryProductGroupOpenAPI($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
35
- inventoryProductGroupOpenAPI(filters: $filters, pagination: $pagination, sortings: $sortings) {
36
- items {
37
- productSKU
38
- productName
39
- packingType
40
- remainQty
41
- remainUomValue
42
- totalQty
43
- totalUomValue
44
- totalLockedQty
45
- totalLockedUomValue
46
- uom
47
- }
48
- total
49
- }
50
- }
51
- `,
52
- variables: { filters, pagination, sortings: [] },
53
- context: {
54
- ...context,
55
- state: {
56
- ...context.state,
57
- bizplace,
58
- domain
59
- }
60
- }
61
- } as any)
62
- ).data
63
- }
64
- }
65
- )
66
-
67
- export async function validateFilters(context, filters, skuId, batchId, packingType) {
68
- if (skuId) {
69
- filters = [
70
- ...filters,
71
- {
72
- name: 'productName',
73
- operator: 'i_like',
74
- value: skuId
75
- }
76
- ]
77
- }
78
-
79
- return filters
80
- }
81
-
82
- export async function validatePagination(context, pagination, entries, offset) {
83
- if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
84
- entries = parseInt(entries)
85
- offset = parseInt(offset)
86
-
87
- if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
88
- else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
89
- else pagination = { ...pagination, page: offset, limit: entries }
90
- } else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
91
- entries = parseInt(entries)
92
-
93
- if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
94
- else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
95
- else pagination = { ...pagination, limit: entries }
96
- }
97
-
98
- return pagination
99
- }
@@ -1,112 +0,0 @@
1
- import gql from 'graphql-tag'
2
-
3
- import { restfulApiRouter as router } from '@things-factory/api'
4
-
5
- import { businessMiddleware } from '../../../../middlewares/business-middleware'
6
- import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
7
-
8
- const debug = require('debug')('things-factory:operato-hub:restful-api:v1:get-inventory-product-group')
9
-
10
- router.get(
11
- '/v1/warehouse/:warehouseId/get-inventory-product-group',
12
- businessMiddleware,
13
- warehouseMiddleware,
14
- async (context, next) => {
15
- const { client, warehouse: bizplace, domain } = context.state
16
- const { warehouseId } = context.params
17
- const { t } = context
18
- const { skuId, packingType, batchId, paginationEntriesPerPage, paginationOffset } = context.query
19
-
20
- if (!warehouseId) context.throw(404, t('error.warehouse id not found'))
21
-
22
- let filters: any = [{ name: 'bizplace_id', operator: 'in', value: [warehouseId] }]
23
- let pagination: any = { page: 1, limit: 20 }
24
-
25
- filters = await validateFilters(context, filters, skuId, batchId, packingType)
26
- pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset)
27
-
28
- debug('query-params', context.query)
29
-
30
- context.body = {
31
- result: (
32
- await client.query({
33
- query: gql`
34
- query inventoryProductGroup($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
35
- inventoryProductGroup(filters: $filters, pagination: $pagination, sortings: $sortings) {
36
- items {
37
- productSKU
38
- productName
39
- packingType
40
- batchId
41
- remainQty
42
- remainUomValue
43
- uom
44
- groupType
45
- }
46
- total
47
- }
48
- }
49
- `,
50
- variables: {
51
- filters,
52
- pagination,
53
- sortings: []
54
- },
55
- context: {
56
- ...context,
57
- state: {
58
- ...context.state,
59
- bizplace,
60
- domain
61
- }
62
- }
63
- } as any)
64
- ).data
65
- }
66
- }
67
- )
68
-
69
- export async function validateFilters(context, filters, skuId, batchId, packingType) {
70
- if (skuId) {
71
- filters = [
72
- ...filters,
73
- {
74
- name: 'productName',
75
- operator: 'i_like',
76
- value: skuId
77
- }
78
- ]
79
- }
80
-
81
- if (batchId)
82
- filters = [
83
- ...filters,
84
- {
85
- name: 'batchId',
86
- operator: 'i_like',
87
- value: batchId
88
- }
89
- ]
90
-
91
- return filters
92
- }
93
-
94
- export async function validatePagination(context, pagination, entries, offset) {
95
- if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
96
- entries = parseInt(entries)
97
- offset = parseInt(offset)
98
-
99
- if (offset < 1) context.throw(400, context.t('paginationOffset cannot be less than 1'))
100
- else if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
101
- else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
102
- else pagination = { ...pagination, page: offset, limit: entries }
103
- } else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
104
- entries = parseInt(entries)
105
-
106
- if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
107
- else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
108
- else pagination = { ...pagination, limit: entries }
109
- }
110
-
111
- return pagination
112
- }