@things-factory/operato-hub 5.0.13 → 6.0.0-alpha.1

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 (217) hide show
  1. package/dist-server/controllers/bizplace-initializer/dataset/codes.js +9 -0
  2. package/dist-server/controllers/bizplace-initializer/dataset/codes.js.map +1 -1
  3. package/dist-server/controllers/bizplace-initializer/dataset/settings.js +5 -0
  4. package/dist-server/controllers/bizplace-initializer/dataset/settings.js.map +1 -1
  5. package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js +3 -3
  6. package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js.map +1 -1
  7. package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js +2 -2
  8. package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js.map +1 -1
  9. package/dist-server/controllers/bizplace-initializer/menus.js +2 -2
  10. package/dist-server/controllers/bizplace-initializer/menus.js.map +1 -1
  11. package/dist-server/controllers/company-initializer/business-register.js +6 -7
  12. package/dist-server/controllers/company-initializer/business-register.js.map +1 -1
  13. package/dist-server/controllers/company-initializer/generate-company-roles.js +4 -4
  14. package/dist-server/controllers/company-initializer/generate-company-roles.js.map +1 -1
  15. package/dist-server/controllers/invitation.js +9 -9
  16. package/dist-server/controllers/invitation.js.map +1 -1
  17. package/dist-server/controllers/utils/save-invitation-token.js +2 -2
  18. package/dist-server/controllers/utils/save-invitation-token.js.map +1 -1
  19. package/dist-server/graphql/resolvers/generators/generate-bizplace.js.map +1 -1
  20. package/dist-server/graphql/resolvers/generators/generate-company.js +4 -3
  21. package/dist-server/graphql/resolvers/generators/generate-company.js.map +1 -1
  22. package/dist-server/graphql/resolvers/generators/update-domain-extType.js +1 -1
  23. package/dist-server/graphql/resolvers/generators/update-domain-extType.js.map +1 -1
  24. package/dist-server/graphql/resolvers/invitations/partner-invitation.js +6 -6
  25. package/dist-server/graphql/resolvers/invitations/partner-invitation.js.map +1 -1
  26. package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js +5 -2
  27. package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js.map +1 -1
  28. package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js +149 -0
  29. package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js.map +1 -0
  30. package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js +58 -0
  31. package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js.map +1 -0
  32. package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js +3 -3
  33. package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js.map +1 -1
  34. package/dist-server/graphql/resolvers/synchronization/index.js +6 -2
  35. package/dist-server/graphql/resolvers/synchronization/index.js.map +1 -1
  36. package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js +68 -0
  37. package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js.map +1 -0
  38. package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js +35 -0
  39. package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js.map +1 -0
  40. package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js +1 -1
  41. package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js.map +1 -1
  42. package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js +1 -1
  43. package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js.map +1 -1
  44. package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js +4 -2
  45. package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js.map +1 -1
  46. package/dist-server/graphql/types/synchronization/index.js +4 -0
  47. package/dist-server/graphql/types/synchronization/index.js.map +1 -1
  48. package/dist-server/index.js +5 -5
  49. package/dist-server/index.js.map +1 -1
  50. package/dist-server/middlewares/business-middleware.js +2 -3
  51. package/dist-server/middlewares/business-middleware.js.map +1 -1
  52. package/dist-server/middlewares/store-middleware.js +2 -2
  53. package/dist-server/middlewares/store-middleware.js.map +1 -1
  54. package/dist-server/middlewares/warehouse-middleware.js +3 -2
  55. package/dist-server/middlewares/warehouse-middleware.js.map +1 -1
  56. package/dist-server/migrations/1597668478399-SeedBusinessDomain.js +2 -3
  57. package/dist-server/migrations/1597668478399-SeedBusinessDomain.js.map +1 -1
  58. package/dist-server/migrations/1597668478401-SeedBusinessRoles.js +2 -2
  59. package/dist-server/migrations/1597668478401-SeedBusinessRoles.js.map +1 -1
  60. package/dist-server/migrations/1608009991065-SeedUser.js +5 -6
  61. package/dist-server/migrations/1608009991065-SeedUser.js.map +1 -1
  62. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +2 -1
  63. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +1 -1
  64. package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js +5 -4
  65. package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js.map +1 -1
  66. package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js +5 -2
  67. package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js.map +1 -1
  68. package/dist-server/routers/api/restful-apis/unstable/add-products.js +32 -16
  69. package/dist-server/routers/api/restful-apis/unstable/add-products.js.map +1 -1
  70. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +149 -40
  71. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -1
  72. package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js +4 -4
  73. package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js.map +1 -1
  74. package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js +27 -11
  75. package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js.map +1 -1
  76. package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js +9 -2
  77. package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js.map +1 -1
  78. package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js +2 -2
  79. package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js.map +1 -1
  80. package/dist-server/routers/api/restful-apis/unstable/get-partners.js +5 -4
  81. package/dist-server/routers/api/restful-apis/unstable/get-partners.js.map +1 -1
  82. package/dist-server/routers/api/restful-apis/unstable/get-products.js +1 -0
  83. package/dist-server/routers/api/restful-apis/unstable/get-products.js.map +1 -1
  84. package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js +2 -2
  85. package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js.map +1 -1
  86. package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js +2 -2
  87. package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js.map +1 -1
  88. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +6 -5
  89. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +1 -1
  90. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +8 -5
  91. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +1 -1
  92. package/dist-server/routers/api/restful-apis/v1/add-products.js +32 -16
  93. package/dist-server/routers/api/restful-apis/v1/add-products.js.map +1 -1
  94. package/dist-server/routers/api/restful-apis/v1/add-release-order.js +8 -6
  95. package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +1 -1
  96. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +4 -4
  97. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +1 -1
  98. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +27 -11
  99. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +1 -1
  100. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +9 -2
  101. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +1 -1
  102. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +2 -2
  103. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +1 -1
  104. package/dist-server/routers/api/restful-apis/v1/get-partners.js +5 -4
  105. package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +1 -1
  106. package/dist-server/routers/api/restful-apis/v1/get-products.js +1 -0
  107. package/dist-server/routers/api/restful-apis/v1/get-products.js.map +1 -1
  108. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +2 -2
  109. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +1 -1
  110. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +2 -2
  111. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +1 -1
  112. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +6 -5
  113. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +1 -1
  114. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +8 -5
  115. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +1 -1
  116. package/dist-server/routers/api/restful-apis/v2/add-products.js +32 -16
  117. package/dist-server/routers/api/restful-apis/v2/add-products.js.map +1 -1
  118. package/dist-server/routers/api/restful-apis/v2/add-release-order.js +8 -6
  119. package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +1 -1
  120. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +4 -4
  121. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +1 -1
  122. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +27 -11
  123. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +1 -1
  124. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +9 -2
  125. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +1 -1
  126. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +2 -2
  127. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +1 -1
  128. package/dist-server/routers/api/restful-apis/v2/get-partners.js +5 -4
  129. package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +1 -1
  130. package/dist-server/routers/api/restful-apis/v2/get-products.js +1 -0
  131. package/dist-server/routers/api/restful-apis/v2/get-products.js.map +1 -1
  132. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +2 -2
  133. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +1 -1
  134. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +2 -2
  135. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +1 -1
  136. package/dist-server/routers/auth-invitation-router.js +2 -2
  137. package/dist-server/routers/auth-invitation-router.js.map +1 -1
  138. package/dist-server/routers/business/bizplace-register-router.js +3 -3
  139. package/dist-server/routers/business/bizplace-register-router.js.map +1 -1
  140. package/dist-server/tsconfig.tsbuildinfo +1 -1
  141. package/dist-server/utils/get-warehouses.js +15 -11
  142. package/dist-server/utils/get-warehouses.js.map +1 -1
  143. package/openapi/unstable/product.yaml +9 -3
  144. package/openapi/v1/product.yaml +9 -3
  145. package/openapi/v2/product.yaml +9 -3
  146. package/package.json +47 -47
  147. package/server/controllers/bizplace-initializer/dataset/codes.ts +9 -0
  148. package/server/controllers/bizplace-initializer/dataset/settings.ts +5 -0
  149. package/server/controllers/bizplace-initializer/generate-bizplace-domain-roles.ts +4 -2
  150. package/server/controllers/bizplace-initializer/generate-bizplace-domain.ts +4 -3
  151. package/server/controllers/bizplace-initializer/menus.ts +4 -2
  152. package/server/controllers/company-initializer/business-register.ts +5 -3
  153. package/server/controllers/company-initializer/generate-company-roles.ts +4 -3
  154. package/server/controllers/invitation.ts +11 -7
  155. package/server/controllers/utils/save-invitation-token.ts +1 -1
  156. package/server/graphql/resolvers/generators/generate-bizplace.ts +1 -1
  157. package/server/graphql/resolvers/generators/generate-company.ts +5 -4
  158. package/server/graphql/resolvers/generators/update-domain-extType.ts +7 -5
  159. package/server/graphql/resolvers/invitations/partner-invitation.ts +5 -5
  160. package/server/graphql/resolvers/oauth2/company-roles-by-scope.ts +8 -6
  161. package/server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.ts +180 -0
  162. package/server/graphql/resolvers/synchronization/create-dat-shipments.ts +64 -0
  163. package/server/graphql/resolvers/synchronization/fetch-sync-products.ts +3 -2
  164. package/server/graphql/resolvers/synchronization/index.ts +10 -2
  165. package/server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.ts +91 -0
  166. package/server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.ts +39 -0
  167. package/server/graphql/resolvers/synchronization/sync-products-from-account.ts +4 -4
  168. package/server/graphql/resolvers/synchronization/sync-products-to-account.ts +4 -4
  169. package/server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts +19 -12
  170. package/server/graphql/types/synchronization/index.ts +4 -0
  171. package/server/index.ts +7 -7
  172. package/server/middlewares/business-middleware.ts +1 -2
  173. package/server/middlewares/store-middleware.ts +1 -1
  174. package/server/middlewares/warehouse-middleware.ts +3 -2
  175. package/server/migrations/1597668478399-SeedBusinessDomain.ts +3 -2
  176. package/server/migrations/1597668478401-SeedBusinessRoles.ts +2 -2
  177. package/server/migrations/1608009991065-SeedUser.ts +5 -3
  178. package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +2 -1
  179. package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +3 -2
  180. package/server/routers/api/restful-apis/unstable/add-marketplace-order.ts +13 -2
  181. package/server/routers/api/restful-apis/unstable/add-products.ts +40 -16
  182. package/server/routers/api/restful-apis/unstable/add-release-order.ts +98 -48
  183. package/server/routers/api/restful-apis/unstable/cancel-release-order.ts +2 -2
  184. package/server/routers/api/restful-apis/unstable/get-delivery-orders.ts +27 -11
  185. package/server/routers/api/restful-apis/unstable/get-goods-received-notes.ts +9 -2
  186. package/server/routers/api/restful-apis/unstable/get-onhand-inventories.ts +1 -1
  187. package/server/routers/api/restful-apis/unstable/get-partners.ts +4 -2
  188. package/server/routers/api/restful-apis/unstable/get-products.ts +1 -0
  189. package/server/routers/api/restful-apis/unstable/get-warehouses.ts +3 -2
  190. package/server/routers/api/restful-apis/unstable/update-release-order-details.ts +1 -1
  191. package/server/routers/api/restful-apis/v1/add-inbound-order.ts +4 -3
  192. package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +17 -5
  193. package/server/routers/api/restful-apis/v1/add-products.ts +40 -16
  194. package/server/routers/api/restful-apis/v1/add-release-order.ts +10 -6
  195. package/server/routers/api/restful-apis/v1/cancel-release-order.ts +2 -2
  196. package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +27 -11
  197. package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +9 -2
  198. package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +1 -1
  199. package/server/routers/api/restful-apis/v1/get-partners.ts +4 -2
  200. package/server/routers/api/restful-apis/v1/get-products.ts +1 -0
  201. package/server/routers/api/restful-apis/v1/get-warehouses.ts +3 -2
  202. package/server/routers/api/restful-apis/v1/update-release-order-details.ts +1 -1
  203. package/server/routers/api/restful-apis/v2/add-inbound-order.ts +4 -3
  204. package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +17 -5
  205. package/server/routers/api/restful-apis/v2/add-products.ts +40 -16
  206. package/server/routers/api/restful-apis/v2/add-release-order.ts +10 -6
  207. package/server/routers/api/restful-apis/v2/cancel-release-order.ts +2 -2
  208. package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +27 -11
  209. package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +9 -2
  210. package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +1 -1
  211. package/server/routers/api/restful-apis/v2/get-partners.ts +4 -2
  212. package/server/routers/api/restful-apis/v2/get-products.ts +1 -0
  213. package/server/routers/api/restful-apis/v2/get-warehouses.ts +3 -2
  214. package/server/routers/api/restful-apis/v2/update-release-order-details.ts +1 -1
  215. package/server/routers/auth-invitation-router.ts +2 -2
  216. package/server/routers/business/bizplace-register-router.ts +3 -1
  217. package/server/utils/get-warehouses.ts +46 -36
@@ -1,7 +1,9 @@
1
+ import { MigrationInterface, QueryRunner, Repository } from 'typeorm'
2
+
1
3
  import { User, UserStatus } from '@things-factory/auth-base'
2
4
  import { Company } from '@things-factory/biz-base'
3
- import { Domain } from '@things-factory/shell'
4
- import { getRepository, MigrationInterface, QueryRunner, Repository } from 'typeorm'
5
+ import { Domain, getRepository } from '@things-factory/shell'
6
+
5
7
  import { businessRegister } from '../controllers/company-initializer'
6
8
 
7
9
  const ADMIN_USER = {
@@ -54,7 +56,7 @@ export class SeedUser1608009991065 implements MigrationInterface {
54
56
  const domainRepository = getRepository(Domain)
55
57
 
56
58
  const user = await userRepository.findOne({ where: { name: ADMIN_USER.name } })
57
- await userRepository.delete(user)
59
+ await userRepository.delete({ id: user.id })
58
60
 
59
61
  const systemDomain = await domainRepository.findOne({ where: { systemFlag: true } })
60
62
  await domainRepository.delete(systemDomain)
@@ -125,7 +125,8 @@ router.post(
125
125
  country: bodyReq?.deliverTo?.country || null,
126
126
  phone1: bodyReq?.deliverTo?.phone1 || null,
127
127
  phone2: bodyReq?.deliverTo?.phone2 || null,
128
- email: bodyReq?.deliverTo?.email || null
128
+ email: bodyReq?.deliverTo?.email || null,
129
+ packageId: bodyReq?.packageId || null
129
130
  },
130
131
  orderProducts: orderInventories,
131
132
  files: []
@@ -1,9 +1,10 @@
1
1
  import gql from 'graphql-tag'
2
- import { getRepository, In } from 'typeorm'
2
+ import { In } from 'typeorm'
3
3
 
4
4
  import { restfulApiRouter as router } from '@things-factory/api'
5
5
  import { Bizplace, ContactPoint, getCompanyBizplace } from '@things-factory/biz-base'
6
6
  import { Product, ProductDetail } from '@things-factory/product-base'
7
+ import { getRepository } from '@things-factory/shell'
7
8
 
8
9
  import { businessMiddleware } from '../../../../middlewares/business-middleware'
9
10
  import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
@@ -90,7 +91,7 @@ router.post(
90
91
  const supplierInfo = bodyReq.supplier
91
92
  const foundSupplier: ContactPoint = await getRepository(ContactPoint).findOne({
92
93
  where: {
93
- domain,
94
+ domain: { id: domain.id },
94
95
  bizplace: warehouseId,
95
96
  name: supplierInfo.name,
96
97
  companyName: supplierInfo.companyName,
@@ -3,18 +3,20 @@
3
3
  /** 2. Sweetmag */
4
4
 
5
5
  import gql from 'graphql-tag'
6
+ import { EntityManager, getConnection } from 'typeorm'
6
7
 
7
8
  import { restfulApiRouter as router } from '@things-factory/api'
8
- import { EntityManager, getConnection } from 'typeorm'
9
+ import { createPayloadLog, PayloadType } from '@things-factory/integration-base'
9
10
  import { MarketplaceOrder } from '@things-factory/marketplace-base'
10
11
 
11
12
  import { businessMiddleware } from '../../../../middlewares/business-middleware'
12
13
  import { storeMiddleware } from '../../../../middlewares/store-middleware'
13
14
 
14
15
  const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:add-marketplace-order')
16
+ const apiVersion = 'unstable'
15
17
 
16
18
  router.post(
17
- '/unstable/warehouse/:storeId/add-marketplace-order',
19
+ `/${apiVersion}/warehouse/:storeId/add-marketplace-order`,
18
20
  businessMiddleware,
19
21
  storeMiddleware,
20
22
  async (context, next) => {
@@ -120,6 +122,15 @@ router.post(
120
122
  } as any)
121
123
  ).data
122
124
  }
125
+
126
+ createPayloadLog(
127
+ marketplaceStore.id,
128
+ `/${apiVersion}/warehouse/:storeId/add-marketplace-order`,
129
+ bodyReq,
130
+ context.body.result,
131
+ context,
132
+ PayloadType.INGESTION
133
+ )
123
134
  })
124
135
  }
125
136
  )
@@ -29,6 +29,8 @@ router.post(
29
29
  await checkMandatoryKey(context, bodyReq)
30
30
  debug('post:/add-product request.body', bodyReq)
31
31
 
32
+ let products = checkProductDetails(bodyReq)
33
+
32
34
  context.body = {
33
35
  result: (
34
36
  await client.mutate({
@@ -39,7 +41,7 @@ router.post(
39
41
  }
40
42
  }
41
43
  `,
42
- variables: { products: bodyReq },
44
+ variables: { products },
43
45
  context: {
44
46
  ...context,
45
47
  state: {
@@ -66,23 +68,45 @@ export async function checkMandatoryKey(context, params) {
66
68
 
67
69
  if (param?.productDetails) {
68
70
  let noSubParams = []
69
- param.productDetails.forEach((subParam, key) => {
70
- if (!subParam.gtin) noSubParams.push('gtin')
71
-
72
- if (!subParam.packingType) noSubParams.push('packingType')
73
-
74
- if (!subParam.packingSize) noSubParams.push('packingSize')
75
-
76
- if (!subParam.uom) noSubParams.push('uom')
77
-
78
- if (!subParam.uomValue) noSubParams.push('uomValue')
79
-
80
- if (noSubParams?.length)
81
- context.throw(400, context.t('error.required param x not found', { x: `${noSubParams.join(', ')}` }))
82
- })
71
+ if (param.productDetails.length == 0) {
72
+ context.throw(
73
+ 400,
74
+ context.t('error.required param {x} not found in productDetails', {
75
+ x: 'gtin, packingType, packingSize, uom, uomValue'
76
+ })
77
+ )
78
+ } else {
79
+ param.productDetails.forEach((subParam, key) => {
80
+ if (!subParam.gtin) noSubParams.push('gtin')
81
+
82
+ if (!subParam.packingType) noSubParams.push('packingType')
83
+
84
+ if (!subParam.packingSize) noSubParams.push('packingSize')
85
+
86
+ if (!subParam.uom) noSubParams.push('uom')
87
+
88
+ if (!subParam.uomValue) noSubParams.push('uomValue')
89
+
90
+ if (noSubParams?.length)
91
+ context.throw(
92
+ 400,
93
+ context.t('error.required param {x} not found in productDetails', { x: `${noSubParams.join(', ')}` })
94
+ )
95
+ })
96
+ }
83
97
  }
84
98
 
85
99
  if (noparams?.length)
86
- context.throw(400, context.t('error.required param x not found', { x: `${noparams.join(', ')}` }))
100
+ context.throw(400, context.t('error.required param {x} not found', { x: `${noparams.join(', ')}` }))
87
101
  })
88
102
  }
103
+
104
+ function checkProductDetails(params) {
105
+ params.forEach(param => {
106
+ if (!param?.productDetails.some(pd => pd.isDefault)) {
107
+ param.productDetails[0].isDefault = true
108
+ }
109
+ })
110
+
111
+ return params
112
+ }
@@ -1,8 +1,7 @@
1
- import { EntityManager, getConnection, getRepository, In, Not, Repository, SelectQueryBuilder } from 'typeorm'
1
+ import { EntityManager, getConnection, In, Not, Repository, SelectQueryBuilder } from 'typeorm'
2
2
  import { v4 as uuidv4 } from 'uuid'
3
3
 
4
4
  import { restfulApiRouter as router } from '@things-factory/api'
5
- import { User } from '@things-factory/auth-base'
6
5
  import { Bizplace, getCompanyBizplace } from '@things-factory/biz-base'
7
6
  import { logger } from '@things-factory/env'
8
7
  import { generateId } from '@things-factory/id-rule-base'
@@ -27,7 +26,7 @@ import {
27
26
  SellercraftController
28
27
  } from '@things-factory/sales-base'
29
28
  import { Setting } from '@things-factory/setting-base'
30
- import { Domain } from '@things-factory/shell'
29
+ import { Domain, getRepository } from '@things-factory/shell'
31
30
  import { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'
32
31
 
33
32
  import { ValidationError } from '../../../../errors/index'
@@ -103,6 +102,7 @@ router.post(
103
102
  trackingNo: bodyReq?.trackingNo,
104
103
  airwayBill: bodyReq?.airwayBill,
105
104
  invoice: bodyReq?.invoice,
105
+ packageId: bodyReq?.packageId,
106
106
  storeName: bodyReq?.storeName,
107
107
  storeId: bodyReq?.storeId,
108
108
  routeId: bodyReq?.routeId,
@@ -110,7 +110,7 @@ router.post(
110
110
  }
111
111
 
112
112
  // check existing order
113
- await checkExistingOrder(releaseGood, customerBizplace, context, tx)
113
+ await checkExistingOrder(releaseGood, customerBizplace, bodyReq?.checkDuplicationValidation, context, tx)
114
114
 
115
115
  //massage data
116
116
  massagedData = await massageOrderItems(releaseGood, bodyReq.orderInventories, context)
@@ -168,29 +168,14 @@ router.post(
168
168
  })
169
169
  }
170
170
  // assignment
171
- console.time('assign')
171
+ // console.time('assign')
172
172
  let assignedOrderProducts = await assignToInventory(massagedData.orderProducts, customerBizplace, context, tx)
173
- console.timeEnd('assign')
173
+ // console.timeEnd('assign')
174
174
 
175
175
  // create order
176
- console.time('save')
176
+ // console.time('save')
177
177
  let result = await createReleaseGood(releaseGood, assignedOrderProducts, customerBizplace, context, tx)
178
- console.timeEnd('save')
179
-
180
- const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({ domain: customerBizplace.domain })
181
- if (sellercraft) {
182
- try {
183
- const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
184
- let packageInfo = await sellercraftCtrl.packOrder(sellercraft, {
185
- ...result,
186
- orderProducts: result.orderProducts
187
- })
188
-
189
- await getRepository(ReleaseGood).update({ id: result.id }, { packageId: packageInfo.packageId })
190
- } catch (error) {
191
- logger.error(`add-release-order[packageId][OrderNo: ${result.name}]: ${JSON.stringify(error)}`)
192
- }
193
- }
178
+ // console.timeEnd('save')
194
179
 
195
180
  let addReleaseGood = {
196
181
  id: result.id,
@@ -223,6 +208,7 @@ router.post(
223
208
  airwayBill: result.airwayBill,
224
209
  invoice: result.invoice,
225
210
  type: result.type,
211
+ packageId: result.packageId,
226
212
  storeName: result.storeName,
227
213
  storeId: result.storeId,
228
214
  routeId: result.routeId,
@@ -236,7 +222,6 @@ router.post(
236
222
  }
237
223
  // return body
238
224
  context.body = { result: { addReleaseGood } }
239
-
240
225
  createPayloadLog(
241
226
  customerBizplaceId,
242
227
  `/${apiVersion}/warehouse/:warehouseId/add-release-order`,
@@ -257,11 +242,49 @@ router.post(
257
242
 
258
243
  if (error.errorCode) {
259
244
  if (error.errorCode == 'INSUFFICIENT_STOCK' && requiredDraft) {
260
- await createDraftOrder(releaseGood, massagedData.orderProducts, context)
245
+ const result = await createDraftOrder(releaseGood, massagedData.orderProducts, context)
246
+ let createdDraftOrder = {
247
+ id: result.id,
248
+ name: result.name,
249
+ refNo: result.refNo,
250
+ refNo2: result.refNo2,
251
+ refNo3: result.refNo3,
252
+ status: result.status,
253
+ truckNo: result.truckNo,
254
+ ownTransport: result.ownTransport,
255
+ marketplaceOrderStatus: result.marketplaceOrderStatus,
256
+ billingAddress: result.billingAddress,
257
+ deliveryAddress1: result.deliveryAddress1,
258
+ deliveryAddress2: result.deliveryAddress2,
259
+ deliveryAddress3: result.deliveryAddress3,
260
+ deliveryAddress4: result.deliveryAddress4,
261
+ deliveryAddress5: result.deliveryAddress5,
262
+ attentionTo: result.attentionTo,
263
+ attentionCompany: result.attentionCompany,
264
+ city: result.city,
265
+ state: result.state,
266
+ postalCode: result.postalCode,
267
+ country: result.country,
268
+ phone1: result.phone1,
269
+ phone2: result.phone2,
270
+ email: result.email,
271
+ type: result.type,
272
+ packageId: result.packageId,
273
+ exportOption: result.exportOption,
274
+ releaseDate: result.releaseDate,
275
+ collectionOrderNo: result.collectionOrderNo,
276
+ bizplace: { name: result.bizplace.name },
277
+ domain: { name: result.domain.name }
278
+ }
279
+ context.body = { result: { createdDraftOrder } }
280
+ } else {
281
+ logger.error(`add-release-order: ${JSON.stringify(error)}`)
282
+ context.throw(400, context.t(error))
261
283
  }
284
+ } else {
285
+ logger.error(`add-release-order: ${JSON.stringify(error)}`)
286
+ context.throw(400, context.t(error))
262
287
  }
263
- logger.error(`add-release-order: ${JSON.stringify(error)}`)
264
- context.throw(400, context.t(error))
265
288
  }
266
289
  })
267
290
  }
@@ -315,16 +338,16 @@ async function checkMandatoryKey(context, params) {
315
338
  return params
316
339
  }
317
340
 
318
- async function checkExistingOrder(releaseGood, bizplace, context, tx) {
319
- const { domain, user }: { domain: Domain; user: User } = context.state
341
+ async function checkExistingOrder(releaseGood, bizplace, checkDuplicationValidation = true, context, tx) {
342
+ const { domain, user } = context.state
320
343
  const refNo: string = releaseGood.refNo
321
344
  const refNo2: string = releaseGood.refNo2
322
345
  const refNo3: string = releaseGood.refNo3
323
346
 
324
- if (releaseGood.type == 'b2c') {
347
+ if (checkDuplicationValidation) {
325
348
  const foundDraftReleaseGood: DraftReleaseGood = await tx.getRepository(DraftReleaseGood).findOne({
326
349
  where: {
327
- domain,
350
+ domain: { id: domain.id },
328
351
  refNo: refNo || null,
329
352
  refNo2: refNo2 || null,
330
353
  refNo3: refNo3 || null,
@@ -340,7 +363,7 @@ async function checkExistingOrder(releaseGood, bizplace, context, tx) {
340
363
  })
341
364
  }
342
365
 
343
- const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({ domain: bizplace.domain })
366
+ const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOneBy({ domain: bizplace.domain })
344
367
 
345
368
  if (sellercraft) {
346
369
  const sellercraftCtrl: SellercraftController = new SellercraftController(tx, bizplace.domain, user)
@@ -366,7 +389,7 @@ async function checkExistingOrder(releaseGood, bizplace, context, tx) {
366
389
  const refNo2: string = releaseGood.refNo2
367
390
  const foundSplittedReleaseGood = await tx.getRepository(ReleaseGood).findOne({
368
391
  where: {
369
- domain,
392
+ domain: { id: domain.id },
370
393
  refNo2,
371
394
  status: Not(In([ORDER_STATUS.CANCELLED, ORDER_STATUS.PENDING_CANCEL]))
372
395
  },
@@ -405,7 +428,7 @@ async function createReleaseGood(
405
428
  tx?: EntityManager
406
429
  ): Promise<ReleaseGood> {
407
430
  try {
408
- const { domain, user }: { domain: Domain; user: User } = context.state
431
+ const { domain, user } = context.state
409
432
  const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)
410
433
 
411
434
  if (orderProducts.length <= 0) {
@@ -421,13 +444,12 @@ async function createReleaseGood(
421
444
  // find RO number rule setting
422
445
  const roNoSetting: Setting = await settingRepo.findOne({
423
446
  where: {
424
- domain,
447
+ domain: { id: domain.id },
425
448
  name: ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
426
449
  }
427
450
  })
428
451
 
429
452
  newReleaseGood = {
430
- ...newReleaseGood,
431
453
  name: roNoSetting
432
454
  ? await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.RO_NUMBER, seed: {} })
433
455
  : OrderNoGenerator.releaseGood(),
@@ -470,6 +492,7 @@ async function createReleaseGood(
470
492
  storeId: releaseGood?.storeId,
471
493
  routeId: releaseGood?.routeId,
472
494
  stopId: releaseGood?.stopId,
495
+ packageId: releaseGood?.packageId || null,
473
496
  noOfItems: orderProducts.length,
474
497
  creator: user,
475
498
  updater: user,
@@ -501,7 +524,7 @@ async function createReleaseGood(
501
524
  bizplace: bizplace,
502
525
  releaseGood: resultReleaseGood,
503
526
  type: ORDER_TYPES.RELEASE_OF_GOODS,
504
- status: ORDER_PRODUCT_STATUS.ASSIGNED
527
+ status: ORDER_INVENTORY_STATUS.PENDING_WORKSHEET
505
528
  })
506
529
  await tx.getRepository(OrderInventory).save(orderInventory)
507
530
 
@@ -820,6 +843,10 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
820
843
  let orderProduct = orderProducts[opIdx]
821
844
 
822
845
  let assignedOrderInventories = []
846
+ const pickingProductSetting: Setting = await tx.getRepository(Setting).findOne({
847
+ where: { domain: { id: domain.id }, name: 'rule-for-picking-product' }
848
+ })
849
+
823
850
  for (let oiIdx = 0; oiIdx < orderProducts[opIdx].orderInventories.length; oiIdx++) {
824
851
  const orderInventory = orderProduct.orderInventories[oiIdx]
825
852
  let sortings: any = []
@@ -827,34 +854,58 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
827
854
  switch (orderInventory.product.pickingStrategy) {
828
855
  case 'LIFO':
829
856
  sortings.push({ name: 'iv.created_at', desc: true })
857
+ if (pickingProductSetting?.value) {
858
+ for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
859
+ sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false })
860
+ }
861
+ } else {
862
+ sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false })
863
+ }
830
864
 
831
865
  break
832
866
  case 'FEFO':
833
- sortings.push({ name: 'iv.expiration_date', desc: false })
834
- sortings.push({ name: 'iv.created_at', desc: false })
867
+ sortings.push({ name: 'iv.expiration_date', desc: false }, { name: 'iv.created_at', desc: false })
868
+ if (pickingProductSetting?.value) {
869
+ for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
870
+ sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false })
871
+ }
872
+ } else {
873
+ sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false })
874
+ }
835
875
 
836
876
  break
837
877
  case 'FMFO':
838
- sortings.push({ name: 'iv.manufacture_date', desc: false })
839
- sortings.push({ name: 'iv.created_at', desc: false })
878
+ sortings.push({ name: 'iv.manufacture_date', desc: false }, { name: 'iv.created_at', desc: false })
879
+ if (pickingProductSetting?.value) {
880
+ for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
881
+ sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false })
882
+ }
883
+ } else {
884
+ sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false })
885
+ }
840
886
 
841
887
  break
842
888
  case 'LOCATION':
843
- const pickingProductSetting: Setting = await tx.getRepository(Setting).findOne({
844
- where: { domain, name: 'rule-for-picking-product' }
845
- })
846
889
  if (pickingProductSetting?.value) {
847
890
  for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
848
891
  sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false })
849
892
  }
850
893
  } else {
851
- sortings.push({ name: 'loc.name', desc: true })
894
+ sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false })
852
895
  }
853
896
 
854
897
  break
855
898
  //Every other case includes 'FIFO' will be applicable for this case
856
899
  default:
857
900
  sortings.push({ name: 'iv.created_at', desc: false })
901
+ if (pickingProductSetting?.value) {
902
+ for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
903
+ sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false })
904
+ }
905
+ } else {
906
+ sortings.push({ name: 'loc.name', desc: false })
907
+ sortings.push({ name: 'iv.pallet_id', desc: false })
908
+ }
858
909
  break
859
910
  }
860
911
 
@@ -912,7 +963,8 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
912
963
  sum(qty - locked_qty - release_qty) over (order by sort_seq asc rows between unbounded preceding and current row) as lock_amount
913
964
  from (
914
965
  SELECT 0 as sort_seq, null as id, null as pallet_id, null as batch_id, null as batch_id_ref,
915
- null as unit, '${orderInventory.uom}' as uom, '${orderInventory.packingType}' as packing_type, '${orderInventory.packingSize
966
+ null as unit, '${orderInventory.uom}' as uom, '${orderInventory.packingType}' as packing_type, '${
967
+ orderInventory.packingSize
916
968
  }' as packing_size,
917
969
  null as manufacture_year, null as carton_id, 0 as uom_value, 0 as locked_uom_value, 0 as qty, 0 as locked_qty, null as created_at,
918
970
  '${orderInventory.releaseQty}' as release_qty, '${orderInventory.releaseUomValue}' as release_uom_value
@@ -953,8 +1005,6 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
953
1005
  ]
954
1006
  )
955
1007
 
956
- // let data = await qb.getMany()
957
-
958
1008
  let totalAssigned = updatedInventories[0].reduce((acc, inv) => {
959
1009
  return acc + inv.reserve_qty
960
1010
  }, 0)
@@ -1,9 +1,9 @@
1
1
  import gql from 'graphql-tag'
2
- import { getRepository } from 'typeorm'
3
2
 
4
3
  import { restfulApiRouter as router } from '@things-factory/api'
5
4
  import { Bizplace } from '@things-factory/biz-base'
6
- import { ReleaseGood, DraftReleaseGood } from '@things-factory/sales-base'
5
+ import { DraftReleaseGood, ReleaseGood } from '@things-factory/sales-base'
6
+ import { getRepository } from '@things-factory/shell'
7
7
 
8
8
  import { businessMiddleware } from '../../../../middlewares/business-middleware'
9
9
  import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
@@ -74,6 +74,33 @@ router.get(
74
74
  refBy
75
75
  path
76
76
  }
77
+ orderInventories {
78
+ batchId
79
+ batchIdRef
80
+ packingType
81
+ packingSize
82
+ uom
83
+ releaseQty
84
+ releaseUomValue
85
+ product {
86
+ sku
87
+ name
88
+ description
89
+ brand
90
+ brandSku
91
+ gtin
92
+ type
93
+ }
94
+ orderToteItems {
95
+ qty
96
+ orderTote {
97
+ name
98
+ orderToteSeals {
99
+ name
100
+ }
101
+ }
102
+ }
103
+ }
77
104
  releaseGood {
78
105
  name
79
106
  description
@@ -84,7 +111,6 @@ router.get(
84
111
  ownTransport
85
112
  crossDocking
86
113
  status
87
- releaseDateTime
88
114
  releaseDate
89
115
  remark
90
116
  courierOption
@@ -118,16 +144,6 @@ router.get(
118
144
  handoverType
119
145
  dropoffAddress
120
146
  noOfItems
121
- orderProducts {
122
- id
123
- type
124
- batchId
125
- packingType
126
- packingSize
127
- releaseQty
128
- releaseUomValue
129
- status
130
- }
131
147
  }
132
148
  createdAt
133
149
  updatedAt
@@ -67,8 +67,15 @@ router.get(
67
67
  batchId
68
68
  packingType
69
69
  packingSize
70
- releaseQty
71
- releaseUomValue
70
+ packQty
71
+ actualPackQty
72
+ palletQty
73
+ actualPalletQty
74
+ uom
75
+ uomValue
76
+ totalUomValue
77
+ issue
78
+ remark
72
79
  status
73
80
  product {
74
81
  id
@@ -1,8 +1,8 @@
1
1
  import gql from 'graphql-tag'
2
- import { getRepository } from 'typeorm'
3
2
 
4
3
  import { restfulApiRouter as router } from '@things-factory/api'
5
4
  import { Product } from '@things-factory/product-base'
5
+ import { getRepository } from '@things-factory/shell'
6
6
 
7
7
  import { businessMiddleware } from '../../../../middlewares/business-middleware'
8
8
  import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
@@ -1,12 +1,14 @@
1
+ import { In } from 'typeorm'
2
+
1
3
  import { restfulApiRouter as router } from '@things-factory/api'
2
4
  import { Bizplace, Partner } from '@things-factory/biz-base'
3
- import { getRepository, In } from 'typeorm'
5
+ import { getRepository } from '@things-factory/shell'
4
6
 
5
7
  const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:get-partners')
6
8
 
7
9
  router.get('/unstable/partners/:bizplaceId', async (context, next) => {
8
10
  const { bizplaceId } = context.params
9
- const bizplace: Bizplace = await getRepository(Bizplace).findOne(bizplaceId)
11
+ const bizplace: Bizplace = await getRepository(Bizplace).findOneBy({ id: bizplaceId })
10
12
  const partners: Partner[] = await getRepository(Partner).find({
11
13
  where: { partnerBizplace: bizplace },
12
14
  relations: ['domainBizplace']
@@ -40,6 +40,7 @@ router.get(
40
40
  brandSku
41
41
  isRequiredCheckExpiry
42
42
  expirationPeriod
43
+ pickingStrategy
43
44
  auxUnit1
44
45
  auxValue1
45
46
  auxUnit2
@@ -1,6 +1,7 @@
1
1
  import { restfulApiRouter as router } from '@things-factory/api'
2
2
  import { Bizplace } from '@things-factory/biz-base'
3
- import { getRepository } from 'typeorm'
3
+ import { getRepository } from '@things-factory/shell'
4
+
4
5
  import { getBizplaceAccessibleWarehouses } from '../../../../utils'
5
6
 
6
7
  const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:get-partners')
@@ -8,7 +9,7 @@ const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:
8
9
  router.get('/unstable/get-warehouses/:bizplaceId', async (context, next) => {
9
10
  try {
10
11
  const { bizplaceId } = context.params
11
- const bizplace: Bizplace = await getRepository(Bizplace).findOne(bizplaceId)
12
+ const bizplace: Bizplace = await getRepository(Bizplace).findOneBy({ id: bizplaceId })
12
13
  context.body = {
13
14
  result: await getBizplaceAccessibleWarehouses(bizplace)
14
15
  }
@@ -1,8 +1,8 @@
1
1
  import gql from 'graphql-tag'
2
- import { getRepository } from 'typeorm'
3
2
 
4
3
  import { restfulApiRouter as router } from '@things-factory/api'
5
4
  import { Bizplace } from '@things-factory/biz-base'
5
+ import { getRepository } from '@things-factory/shell'
6
6
 
7
7
  import { businessMiddleware } from '../../../../middlewares/business-middleware'
8
8
  import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
@@ -1,9 +1,10 @@
1
1
  import gql from 'graphql-tag'
2
- import { getRepository, In } from 'typeorm'
2
+ import { In } from 'typeorm'
3
3
 
4
4
  import { restfulApiRouter as router } from '@things-factory/api'
5
5
  import { Bizplace, ContactPoint, getCompanyBizplace } from '@things-factory/biz-base'
6
6
  import { Product, ProductDetail } from '@things-factory/product-base'
7
+ import { getRepository } from '@things-factory/shell'
7
8
 
8
9
  import { businessMiddleware } from '../../../../middlewares/business-middleware'
9
10
  import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
@@ -90,8 +91,8 @@ router.post(
90
91
  const supplierInfo = bodyReq.supplier
91
92
  const foundSupplier: ContactPoint = await getRepository(ContactPoint).findOne({
92
93
  where: {
93
- domain,
94
- bizplace: warehouseId,
94
+ domain: { id: domain.id },
95
+ bizplace: { id: warehouseId },
95
96
  name: supplierInfo.name,
96
97
  companyName: supplierInfo.companyName,
97
98
  email: supplierInfo.email,