@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.
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +46 -46
- package/server/controllers/bizplace-initializer/codes.ts +0 -32
- package/server/controllers/bizplace-initializer/dataset/codes.ts +0 -398
- package/server/controllers/bizplace-initializer/dataset/groups.ts +0 -21
- package/server/controllers/bizplace-initializer/dataset/index.ts +0 -5
- package/server/controllers/bizplace-initializer/dataset/menus.ts +0 -500
- package/server/controllers/bizplace-initializer/dataset/roles-privileges.ts +0 -402
- package/server/controllers/bizplace-initializer/dataset/settings.ts +0 -91
- package/server/controllers/bizplace-initializer/generate-bizplace-domain-roles.ts +0 -29
- package/server/controllers/bizplace-initializer/generate-bizplace-domain.ts +0 -56
- package/server/controllers/bizplace-initializer/groups.ts +0 -19
- package/server/controllers/bizplace-initializer/index.ts +0 -5
- package/server/controllers/bizplace-initializer/menus.ts +0 -42
- package/server/controllers/bizplace-initializer/settings.ts +0 -20
- package/server/controllers/company-initializer/business-register.ts +0 -59
- package/server/controllers/company-initializer/codes.ts +0 -147
- package/server/controllers/company-initializer/generate-company-roles.ts +0 -119
- package/server/controllers/company-initializer/index.ts +0 -6
- package/server/controllers/company-initializer/menus.ts +0 -359
- package/server/controllers/company-initializer/settings.ts +0 -33
- package/server/controllers/company-initializer/transporter.ts +0 -20
- package/server/controllers/index.ts +0 -0
- package/server/controllers/invitation.ts +0 -132
- package/server/controllers/utils/make-invitation-token.ts +0 -5
- package/server/controllers/utils/save-invitation-token.ts +0 -9
- package/server/entities/index.ts +0 -0
- package/server/errors/index.ts +0 -1
- package/server/errors/validation-error.ts +0 -17
- package/server/graphql/index.ts +0 -7
- package/server/graphql/resolvers/generators/generate-bizplace.ts +0 -40
- package/server/graphql/resolvers/generators/generate-company.ts +0 -76
- package/server/graphql/resolvers/generators/index.ts +0 -9
- package/server/graphql/resolvers/generators/update-domain-extType.ts +0 -55
- package/server/graphql/resolvers/index.ts +0 -8
- package/server/graphql/resolvers/invitations/index.ts +0 -5
- package/server/graphql/resolvers/invitations/partner-invitation.ts +0 -62
- package/server/graphql/resolvers/oauth2/company-roles-by-scope.ts +0 -38
- package/server/graphql/resolvers/oauth2/index.ts +0 -5
- package/server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.ts +0 -180
- package/server/graphql/resolvers/synchronization/create-dat-shipments.ts +0 -64
- package/server/graphql/resolvers/synchronization/fetch-sync-invoices.ts +0 -52
- package/server/graphql/resolvers/synchronization/fetch-sync-products.ts +0 -99
- package/server/graphql/resolvers/synchronization/fetch-sync-purchase-orders.ts +0 -75
- package/server/graphql/resolvers/synchronization/index.ts +0 -26
- package/server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.ts +0 -91
- package/server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.ts +0 -39
- package/server/graphql/resolvers/synchronization/sync-products-from-account.ts +0 -40
- package/server/graphql/resolvers/synchronization/sync-products-to-account.ts +0 -64
- package/server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts +0 -176
- package/server/graphql/types/generators/generate-bizplace-input.ts +0 -11
- package/server/graphql/types/generators/generate-company-input.ts +0 -11
- package/server/graphql/types/generators/index.ts +0 -11
- package/server/graphql/types/generators/update-domain-type-input.ts +0 -8
- package/server/graphql/types/index.ts +0 -10
- package/server/graphql/types/invitations/index.ts +0 -5
- package/server/graphql/types/oauth2/company-role.ts +0 -8
- package/server/graphql/types/oauth2/index.ts +0 -7
- package/server/graphql/types/synchronization/index.ts +0 -33
- package/server/graphql/types/synchronization/sync-invoice-list.ts +0 -8
- package/server/graphql/types/synchronization/sync-invoice-set.ts +0 -38
- package/server/graphql/types/synchronization/sync-product-list.ts +0 -8
- package/server/graphql/types/synchronization/sync-product-set.ts +0 -8
- package/server/graphql/types/synchronization/sync-purchase-order-list.ts +0 -8
- package/server/graphql/types/synchronization/sync-purchase-order-set.ts +0 -28
- package/server/index.ts +0 -37
- package/server/middlewares/business-middleware.ts +0 -32
- package/server/middlewares/index.ts +0 -20
- package/server/middlewares/store-middleware.ts +0 -36
- package/server/middlewares/warehouse-middleware.ts +0 -36
- package/server/migrations/1597668478399-SeedBusinessDomain.ts +0 -34
- package/server/migrations/1597668478401-SeedBusinessRoles.ts +0 -377
- package/server/migrations/1608009991065-SeedUser.ts +0 -64
- package/server/migrations/index.ts +0 -9
- package/server/routers/api/index.ts +0 -3
- package/server/routers/api/restful-apis/unstable/add-contact-point.ts +0 -89
- package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +0 -198
- package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +0 -246
- package/server/routers/api/restful-apis/unstable/add-marketplace-order.ts +0 -171
- package/server/routers/api/restful-apis/unstable/add-products.ts +0 -112
- package/server/routers/api/restful-apis/unstable/add-release-order.ts +0 -1061
- package/server/routers/api/restful-apis/unstable/add-sales-invoice.ts +0 -144
- package/server/routers/api/restful-apis/unstable/bizplace.ts +0 -45
- package/server/routers/api/restful-apis/unstable/cancel-marketplace-order.ts +0 -81
- package/server/routers/api/restful-apis/unstable/cancel-release-order.ts +0 -91
- package/server/routers/api/restful-apis/unstable/get-contact-point-list.ts +0 -110
- package/server/routers/api/restful-apis/unstable/get-delivery-order-detail.ts +0 -46
- package/server/routers/api/restful-apis/unstable/get-delivery-order-list.ts +0 -121
- package/server/routers/api/restful-apis/unstable/get-delivery-orders.ts +0 -178
- package/server/routers/api/restful-apis/unstable/get-goods-received-notes.ts +0 -134
- package/server/routers/api/restful-apis/unstable/get-inbound-order-detail.ts +0 -128
- package/server/routers/api/restful-apis/unstable/get-inbound-order-list.ts +0 -126
- package/server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.ts +0 -99
- package/server/routers/api/restful-apis/unstable/get-inventory-product-group.ts +0 -107
- package/server/routers/api/restful-apis/unstable/get-marketplace-order-shipping-list.ts +0 -156
- package/server/routers/api/restful-apis/unstable/get-marketplace-store-list.ts +0 -81
- package/server/routers/api/restful-apis/unstable/get-onhand-inventories.ts +0 -125
- package/server/routers/api/restful-apis/unstable/get-partners.ts +0 -26
- package/server/routers/api/restful-apis/unstable/get-products.ts +0 -216
- package/server/routers/api/restful-apis/unstable/get-release-order-detail.ts +0 -138
- package/server/routers/api/restful-apis/unstable/get-release-order-list.ts +0 -199
- package/server/routers/api/restful-apis/unstable/get-warehouses.ts +0 -19
- package/server/routers/api/restful-apis/unstable/index.ts +0 -32
- package/server/routers/api/restful-apis/unstable/reject-inbound-order.ts +0 -46
- package/server/routers/api/restful-apis/unstable/set-marketplace-order-delivered.ts +0 -60
- package/server/routers/api/restful-apis/unstable/set-marketplace-order-failed-delivery.ts +0 -60
- package/server/routers/api/restful-apis/unstable/update-marketplace-order.ts +0 -111
- package/server/routers/api/restful-apis/unstable/update-marketplace-shipping-order.ts +0 -107
- package/server/routers/api/restful-apis/unstable/update-release-order-details.ts +0 -94
- package/server/routers/api/restful-apis/v1/add-contact-point.ts +0 -77
- package/server/routers/api/restful-apis/v1/add-draft-release-order.ts +0 -196
- package/server/routers/api/restful-apis/v1/add-inbound-order.ts +0 -243
- package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +0 -172
- package/server/routers/api/restful-apis/v1/add-products.ts +0 -112
- package/server/routers/api/restful-apis/v1/add-release-order.ts +0 -967
- package/server/routers/api/restful-apis/v1/bizplace.ts +0 -45
- package/server/routers/api/restful-apis/v1/cancel-marketplace-order.ts +0 -81
- package/server/routers/api/restful-apis/v1/cancel-release-order.ts +0 -91
- package/server/routers/api/restful-apis/v1/get-contact-point-list.ts +0 -110
- package/server/routers/api/restful-apis/v1/get-delivery-order-detail.ts +0 -46
- package/server/routers/api/restful-apis/v1/get-delivery-order-list.ts +0 -121
- package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +0 -178
- package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +0 -134
- package/server/routers/api/restful-apis/v1/get-inbound-order-detail.ts +0 -128
- package/server/routers/api/restful-apis/v1/get-inbound-order-list.ts +0 -126
- package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +0 -99
- package/server/routers/api/restful-apis/v1/get-inventory-product-group.ts +0 -112
- package/server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.ts +0 -156
- package/server/routers/api/restful-apis/v1/get-marketplace-store-list.ts +0 -81
- package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +0 -125
- package/server/routers/api/restful-apis/v1/get-partners.ts +0 -26
- package/server/routers/api/restful-apis/v1/get-products.ts +0 -216
- package/server/routers/api/restful-apis/v1/get-release-order-detail.ts +0 -134
- package/server/routers/api/restful-apis/v1/get-release-order-list.ts +0 -198
- package/server/routers/api/restful-apis/v1/get-warehouses.ts +0 -19
- package/server/routers/api/restful-apis/v1/index.ts +0 -31
- package/server/routers/api/restful-apis/v1/reject-inbound-order.ts +0 -46
- package/server/routers/api/restful-apis/v1/set-marketplace-order-delivered.ts +0 -60
- package/server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.ts +0 -60
- package/server/routers/api/restful-apis/v1/update-marketplace-order.ts +0 -111
- package/server/routers/api/restful-apis/v1/update-marketplace-shipping-order.ts +0 -104
- package/server/routers/api/restful-apis/v1/update-release-order-details.ts +0 -94
- package/server/routers/api/restful-apis/v2/add-contact-point.ts +0 -77
- package/server/routers/api/restful-apis/v2/add-draft-release-order.ts +0 -196
- package/server/routers/api/restful-apis/v2/add-inbound-order.ts +0 -243
- package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +0 -172
- package/server/routers/api/restful-apis/v2/add-products.ts +0 -112
- package/server/routers/api/restful-apis/v2/add-release-order.ts +0 -967
- package/server/routers/api/restful-apis/v2/bizplace.ts +0 -45
- package/server/routers/api/restful-apis/v2/cancel-marketplace-order.ts +0 -81
- package/server/routers/api/restful-apis/v2/cancel-release-order.ts +0 -91
- package/server/routers/api/restful-apis/v2/get-contact-point-list.ts +0 -110
- package/server/routers/api/restful-apis/v2/get-delivery-order-detail.ts +0 -46
- package/server/routers/api/restful-apis/v2/get-delivery-order-list.ts +0 -121
- package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +0 -178
- package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +0 -134
- package/server/routers/api/restful-apis/v2/get-inbound-order-detail.ts +0 -128
- package/server/routers/api/restful-apis/v2/get-inbound-order-list.ts +0 -126
- package/server/routers/api/restful-apis/v2/get-inventory-overall-product-group.ts +0 -99
- package/server/routers/api/restful-apis/v2/get-inventory-product-group.ts +0 -112
- package/server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.ts +0 -156
- package/server/routers/api/restful-apis/v2/get-marketplace-store-list.ts +0 -81
- package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +0 -125
- package/server/routers/api/restful-apis/v2/get-partners.ts +0 -26
- package/server/routers/api/restful-apis/v2/get-products.ts +0 -216
- package/server/routers/api/restful-apis/v2/get-release-order-detail.ts +0 -134
- package/server/routers/api/restful-apis/v2/get-release-order-list.ts +0 -198
- package/server/routers/api/restful-apis/v2/get-warehouses.ts +0 -19
- package/server/routers/api/restful-apis/v2/index.ts +0 -31
- package/server/routers/api/restful-apis/v2/reject-inbound-order.ts +0 -46
- package/server/routers/api/restful-apis/v2/set-marketplace-order-delivered.ts +0 -60
- package/server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.ts +0 -60
- package/server/routers/api/restful-apis/v2/update-marketplace-order.ts +0 -111
- package/server/routers/api/restful-apis/v2/update-marketplace-shipping-order.ts +0 -104
- package/server/routers/api/restful-apis/v2/update-release-order-details.ts +0 -94
- package/server/routers/auth-invitation-router.ts +0 -25
- package/server/routers/business/bizplace-register-router.ts +0 -31
- package/server/routers/business/business-register-router.ts +0 -32
- package/server/routers/business/index.ts +0 -3
- package/server/routers/business/path-base-business-router.ts +0 -15
- package/server/routes.ts +0 -28
- package/server/templates/account-unlock-email.ts +0 -64
- package/server/templates/invitation-email.ts +0 -65
- package/server/templates/reset-password-email.ts +0 -64
- package/server/templates/verification-email.ts +0 -65
- package/server/utils/build-map.ts +0 -18
- package/server/utils/get-warehouses.ts +0 -115
- package/server/utils/index.ts +0 -3
- package/server/utils/order-no-generator.ts +0 -8
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import gql from 'graphql-tag'
|
|
2
|
-
import { restfulApiRouter as router } from '@things-factory/api'
|
|
3
|
-
|
|
4
|
-
const debug = require('debug')('things-factory:operato-hub:restful-api:v1:bizplace')
|
|
5
|
-
|
|
6
|
-
router.get('/v1/bizplace/:id', async (context, next) => {
|
|
7
|
-
const { client } = context.state
|
|
8
|
-
const { id } = context.params
|
|
9
|
-
|
|
10
|
-
debug('params', context.params)
|
|
11
|
-
|
|
12
|
-
context.body = {
|
|
13
|
-
result: (
|
|
14
|
-
await client.query({
|
|
15
|
-
query: gql`
|
|
16
|
-
query bizplace($id: String!) {
|
|
17
|
-
bizplace(id: $id) {
|
|
18
|
-
id
|
|
19
|
-
name
|
|
20
|
-
description
|
|
21
|
-
address
|
|
22
|
-
postalCode
|
|
23
|
-
latlng
|
|
24
|
-
status
|
|
25
|
-
creator {
|
|
26
|
-
name
|
|
27
|
-
email
|
|
28
|
-
}
|
|
29
|
-
updater {
|
|
30
|
-
name
|
|
31
|
-
email
|
|
32
|
-
}
|
|
33
|
-
createdAt
|
|
34
|
-
updatedAt
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
`,
|
|
38
|
-
variables: {
|
|
39
|
-
id
|
|
40
|
-
},
|
|
41
|
-
context
|
|
42
|
-
} as any)
|
|
43
|
-
).data
|
|
44
|
-
}
|
|
45
|
-
})
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/** Customer list to inform when there are changes */
|
|
2
|
-
/** 1. Bridzia */
|
|
3
|
-
/** 2. Sweetmag */
|
|
4
|
-
|
|
5
|
-
import gql from 'graphql-tag'
|
|
6
|
-
|
|
7
|
-
import { restfulApiRouter as router } from '@things-factory/api'
|
|
8
|
-
|
|
9
|
-
import { businessMiddleware } from '../../../../middlewares/business-middleware'
|
|
10
|
-
import { storeMiddleware } from '../../../../middlewares/store-middleware'
|
|
11
|
-
|
|
12
|
-
const debug = require('debug')('things-factory:operato-hub:restful-api:v1:cancel-marketplace-order')
|
|
13
|
-
|
|
14
|
-
router.post(
|
|
15
|
-
'/v1/warehouse/:storeId/cancel-marketplace-order',
|
|
16
|
-
businessMiddleware,
|
|
17
|
-
storeMiddleware,
|
|
18
|
-
async (context, next) => {
|
|
19
|
-
const { client, marketplaceStore, domain } = context.state
|
|
20
|
-
const { t } = context
|
|
21
|
-
const bodyReq = context.request.body
|
|
22
|
-
|
|
23
|
-
if (typeof bodyReq === undefined || !Object.keys(bodyReq)?.length) {
|
|
24
|
-
context.throw(400, t('error.invalid body request format'))
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
await checkMandatoryKey(context, bodyReq)
|
|
28
|
-
debug('post:/cancel-marketplace-order body request', bodyReq)
|
|
29
|
-
|
|
30
|
-
const patch: any = Object.assign({}, bodyReq)
|
|
31
|
-
delete patch.orderNo
|
|
32
|
-
|
|
33
|
-
context.body = {
|
|
34
|
-
result: (
|
|
35
|
-
await client.mutate({
|
|
36
|
-
mutation: gql`
|
|
37
|
-
mutation cancelMarketplaceOrder($orderNo: String!, $patch: MarketplaceOrderPatch!) {
|
|
38
|
-
cancelMarketplaceOrder(orderNo: $orderNo, patch: $patch) {
|
|
39
|
-
id
|
|
40
|
-
orderNo
|
|
41
|
-
remark
|
|
42
|
-
status
|
|
43
|
-
marketplaceStore {
|
|
44
|
-
id
|
|
45
|
-
name
|
|
46
|
-
storeId
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
`,
|
|
51
|
-
variables: { orderNo: bodyReq.orderNo, patch },
|
|
52
|
-
context: {
|
|
53
|
-
...context,
|
|
54
|
-
state: {
|
|
55
|
-
...context.state,
|
|
56
|
-
marketplaceStore,
|
|
57
|
-
domain,
|
|
58
|
-
type: 'api'
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
} as any)
|
|
62
|
-
).data
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
export function checkMandatoryKey(context, params) {
|
|
68
|
-
let noparams = []
|
|
69
|
-
|
|
70
|
-
if (!params?.orderNo) {
|
|
71
|
-
noparams.push('orderNo')
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (!params?.remark) {
|
|
75
|
-
noparams.push('remark')
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (noparams.length > 0) {
|
|
79
|
-
context.throw(400, context.t('error.required param x not found', { x: `${noparams.join(', ')}` }))
|
|
80
|
-
}
|
|
81
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import gql from 'graphql-tag'
|
|
2
|
-
|
|
3
|
-
import { restfulApiRouter as router } from '@things-factory/api'
|
|
4
|
-
import { Bizplace } from '@things-factory/biz-base'
|
|
5
|
-
import { DraftReleaseGood, ReleaseGood } from '@things-factory/sales-base'
|
|
6
|
-
import { getRepository } from '@things-factory/shell'
|
|
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:v1:cancel-release-order')
|
|
12
|
-
|
|
13
|
-
router.post(
|
|
14
|
-
'/v1/warehouse/:warehouseId/cancel-release-order',
|
|
15
|
-
businessMiddleware,
|
|
16
|
-
warehouseMiddleware,
|
|
17
|
-
async (context, next) => {
|
|
18
|
-
const { client, domain } = context.state
|
|
19
|
-
const { warehouseId } = context.params
|
|
20
|
-
const { t } = context
|
|
21
|
-
const bodyReq = context.request.body
|
|
22
|
-
|
|
23
|
-
if (typeof bodyReq === undefined || !Object.keys(bodyReq)?.length) {
|
|
24
|
-
context.throw(400, t('error.invalid body request format'))
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const customerBizplace: Bizplace = await getRepository(Bizplace).findOne({
|
|
28
|
-
where: { id: warehouseId }
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
const releaseOrder: ReleaseGood = await getRepository(ReleaseGood).findOne({
|
|
32
|
-
where: [{ id: bodyReq.releaseOrderId }, { refNo: bodyReq.orderNo }]
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
if (!releaseOrder) {
|
|
36
|
-
const draftReleaseOrder: DraftReleaseGood = await getRepository(DraftReleaseGood).findOne({
|
|
37
|
-
where: [{ refNo: bodyReq.orderNo }]
|
|
38
|
-
})
|
|
39
|
-
if (draftReleaseOrder) {
|
|
40
|
-
context.body = {
|
|
41
|
-
result: (
|
|
42
|
-
await client.mutate({
|
|
43
|
-
mutation: gql`
|
|
44
|
-
mutation cancelDraftReleaseOrder($name: String!) {
|
|
45
|
-
cancelDraftReleaseOrder(name: $name)
|
|
46
|
-
}
|
|
47
|
-
`,
|
|
48
|
-
variables: { name: draftReleaseOrder.name },
|
|
49
|
-
context: {
|
|
50
|
-
...context,
|
|
51
|
-
state: {
|
|
52
|
-
...context.state,
|
|
53
|
-
customerBizplace,
|
|
54
|
-
domain,
|
|
55
|
-
type: 'api'
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
} as any)
|
|
59
|
-
).data
|
|
60
|
-
}
|
|
61
|
-
return
|
|
62
|
-
} else {
|
|
63
|
-
context.throw(400, t('error.release order not exist'))
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
debug('post:/cancel-release-order body request', bodyReq)
|
|
68
|
-
|
|
69
|
-
context.body = {
|
|
70
|
-
result: (
|
|
71
|
-
await client.mutate({
|
|
72
|
-
mutation: gql`
|
|
73
|
-
mutation pendingCancellationReleaseOrder($name: String!) {
|
|
74
|
-
pendingCancellationReleaseOrder(name: $name)
|
|
75
|
-
}
|
|
76
|
-
`,
|
|
77
|
-
variables: { name: releaseOrder.name },
|
|
78
|
-
context: {
|
|
79
|
-
...context,
|
|
80
|
-
state: {
|
|
81
|
-
...context.state,
|
|
82
|
-
customerBizplace,
|
|
83
|
-
domain,
|
|
84
|
-
type: 'api'
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
} as any)
|
|
88
|
-
).data
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
)
|
|
@@ -1,110 +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-contact-point-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 { companyName, name, email, paginationEntriesPerPage, paginationOffset } = context.query
|
|
17
|
-
|
|
18
|
-
if (!warehouseId) context.throw(404, t('error.warehouse id not found'))
|
|
19
|
-
|
|
20
|
-
let filters: any = []
|
|
21
|
-
let pagination: any = { page: 1, limit: 20 }
|
|
22
|
-
|
|
23
|
-
filters = await validateFilters(filters, companyName, name, email)
|
|
24
|
-
pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset)
|
|
25
|
-
|
|
26
|
-
context.body = {
|
|
27
|
-
result: (
|
|
28
|
-
await client.query({
|
|
29
|
-
query: gql`
|
|
30
|
-
query contactPoints($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
|
|
31
|
-
contactPoints(filters: $filters, pagination: $pagination, sortings: $sortings) {
|
|
32
|
-
items {
|
|
33
|
-
name
|
|
34
|
-
companyName
|
|
35
|
-
email
|
|
36
|
-
fax
|
|
37
|
-
phone
|
|
38
|
-
address
|
|
39
|
-
billingAddress
|
|
40
|
-
accountNo
|
|
41
|
-
address
|
|
42
|
-
address2
|
|
43
|
-
postalCode
|
|
44
|
-
city
|
|
45
|
-
type
|
|
46
|
-
description
|
|
47
|
-
type
|
|
48
|
-
state
|
|
49
|
-
updatedAt
|
|
50
|
-
updater {
|
|
51
|
-
name
|
|
52
|
-
description
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
total
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
`,
|
|
59
|
-
variables: {
|
|
60
|
-
filters,
|
|
61
|
-
pagination,
|
|
62
|
-
sortings: [{ name: 'name' }]
|
|
63
|
-
},
|
|
64
|
-
context: {
|
|
65
|
-
...context,
|
|
66
|
-
state: {
|
|
67
|
-
...context.state,
|
|
68
|
-
bizplace,
|
|
69
|
-
domain
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
} as any)
|
|
73
|
-
).data
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
export async function validateFilters(filters, companyName, name, email) {
|
|
79
|
-
if (companyName && companyName !== '')
|
|
80
|
-
filters = [...filters, { name: 'companyName', operator: 'i_like', value: companyName }]
|
|
81
|
-
|
|
82
|
-
if (name && name !== '') filters = [...filters, { name: 'name', operator: 'i_like', value: name }]
|
|
83
|
-
|
|
84
|
-
if (email && email !== '') filters = [...filters, { name: 'email', operator: 'eq', value: email }]
|
|
85
|
-
|
|
86
|
-
return filters
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export async function validatePagination(context, pagination, entries, offset) {
|
|
90
|
-
if (!entries) entries = ''
|
|
91
|
-
if (!offset) offset = ''
|
|
92
|
-
|
|
93
|
-
if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
|
|
94
|
-
entries = parseInt(entries)
|
|
95
|
-
offset = parseInt(offset)
|
|
96
|
-
|
|
97
|
-
if (offset < 1) context.throw(400, context.t('paginationOffset cannot be less than 1'))
|
|
98
|
-
else if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
|
|
99
|
-
else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
|
|
100
|
-
else pagination = { ...pagination, page: offset, limit: entries }
|
|
101
|
-
} else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
|
|
102
|
-
entries = parseInt(entries)
|
|
103
|
-
|
|
104
|
-
if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
|
|
105
|
-
else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
|
|
106
|
-
else pagination = { ...pagination, limit: entries }
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return pagination
|
|
110
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { restfulApiRouter as router } from '@things-factory/api'
|
|
2
|
-
import gql from 'graphql-tag'
|
|
3
|
-
import { businessMiddleware } from '../../../../middlewares/business-middleware'
|
|
4
|
-
import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
|
|
5
|
-
|
|
6
|
-
const debug = require('debug')('things-factory:operato-hub:restful-api:v1:get-delivery-order-detail')
|
|
7
|
-
|
|
8
|
-
router.get('/v1/get-delivery-order-detail/', businessMiddleware, warehouseMiddleware, async (context, next) => {
|
|
9
|
-
const { client, warehouse: bizplace, domain } = context.state
|
|
10
|
-
const { warehouseId } = context.params
|
|
11
|
-
const { t } = context
|
|
12
|
-
const { doNo } = context.query
|
|
13
|
-
|
|
14
|
-
debug('query-params', context.query)
|
|
15
|
-
debug('params', context.params)
|
|
16
|
-
|
|
17
|
-
if (!warehouseId) context.throw(404, t('error.warehouse id not found'))
|
|
18
|
-
if (!doNo) context.throw(400, t('error.required param x not found', { x: 'doNo' }))
|
|
19
|
-
|
|
20
|
-
context.body = {
|
|
21
|
-
result: (
|
|
22
|
-
await client.query({
|
|
23
|
-
query: gql`
|
|
24
|
-
query deliveryOrderByWorksheet($doNo: String!) {
|
|
25
|
-
deliveryOrderByWorksheet(name: $doNo) {
|
|
26
|
-
deliveryOrderInfo {
|
|
27
|
-
doStatus
|
|
28
|
-
ownCollection
|
|
29
|
-
truckNo
|
|
30
|
-
}
|
|
31
|
-
contactPointInfo {
|
|
32
|
-
contactName
|
|
33
|
-
address
|
|
34
|
-
phone
|
|
35
|
-
fax
|
|
36
|
-
email
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
`,
|
|
41
|
-
variables: { doNo },
|
|
42
|
-
context
|
|
43
|
-
} as any)
|
|
44
|
-
).data
|
|
45
|
-
}
|
|
46
|
-
})
|
|
@@ -1,121 +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-delivery-order-list')
|
|
9
|
-
|
|
10
|
-
router.get(
|
|
11
|
-
'/v1/warehouse/:warehouseId/get-delivery-order-list',
|
|
12
|
-
businessMiddleware,
|
|
13
|
-
warehouseMiddleware,
|
|
14
|
-
async (context, next) => {
|
|
15
|
-
const { client } = context.state
|
|
16
|
-
const { warehouseId } = context.params
|
|
17
|
-
const { t } = context
|
|
18
|
-
const { fromDate, toDate, paginationEntriesPerPage, paginationOffset } = context.query
|
|
19
|
-
|
|
20
|
-
if (!warehouseId) context.throw(404, t('error.warehouse id not found'))
|
|
21
|
-
|
|
22
|
-
debug('params', context.params)
|
|
23
|
-
|
|
24
|
-
let filters: any = [{ name: 'bizplace', operator: 'in', value: [warehouseId], relation: true }]
|
|
25
|
-
let pagination: any = { page: 1, limit: 20 }
|
|
26
|
-
|
|
27
|
-
filters = await validateFilters(context, filters, fromDate, toDate)
|
|
28
|
-
pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset)
|
|
29
|
-
|
|
30
|
-
context.body = {
|
|
31
|
-
result: (
|
|
32
|
-
await client.query({
|
|
33
|
-
query: gql`
|
|
34
|
-
query deliveryOrders($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
|
|
35
|
-
deliveryOrders(filters: $filters, pagination: $pagination, sortings: $sortings) {
|
|
36
|
-
items {
|
|
37
|
-
name
|
|
38
|
-
bizplace {
|
|
39
|
-
name
|
|
40
|
-
}
|
|
41
|
-
attachments {
|
|
42
|
-
name
|
|
43
|
-
refBy
|
|
44
|
-
path
|
|
45
|
-
}
|
|
46
|
-
to
|
|
47
|
-
deliveryDate
|
|
48
|
-
status
|
|
49
|
-
releaseGood {
|
|
50
|
-
name
|
|
51
|
-
description
|
|
52
|
-
refNo
|
|
53
|
-
}
|
|
54
|
-
ownCollection
|
|
55
|
-
createdAt
|
|
56
|
-
updatedAt
|
|
57
|
-
updater {
|
|
58
|
-
name
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
total
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
`,
|
|
65
|
-
variables: {
|
|
66
|
-
filters,
|
|
67
|
-
pagination,
|
|
68
|
-
sortings: [{ name: 'createdAt', desc: true }]
|
|
69
|
-
},
|
|
70
|
-
context
|
|
71
|
-
} as any)
|
|
72
|
-
).data
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
)
|
|
76
|
-
|
|
77
|
-
export async function validateFilters(context, filters, fromDate, toDate) {
|
|
78
|
-
if (fromDate && fromDate !== '') {
|
|
79
|
-
fromDate = new Date(`${fromDate.split(' ').join('')} 00:00:00`)
|
|
80
|
-
if (fromDate instanceof Date && !isNaN(fromDate.getTime())) fromDate = fromDate.toLocaleString()
|
|
81
|
-
else context.throw(400, context.t('fromDate is invalid'))
|
|
82
|
-
} else fromDate = ''
|
|
83
|
-
|
|
84
|
-
if (toDate && toDate !== '') {
|
|
85
|
-
toDate = new Date(`${toDate.split(' ').join('')} 23:59:59`)
|
|
86
|
-
if (toDate instanceof Date && !isNaN(toDate.getTime())) toDate = toDate.toLocaleString()
|
|
87
|
-
else context.throw(400, context.t('toDate is invalid'))
|
|
88
|
-
} else toDate = ''
|
|
89
|
-
|
|
90
|
-
if (fromDate !== '' && toDate !== '')
|
|
91
|
-
filters = [...filters, { name: 'createdAt', operator: 'between', value: [fromDate, toDate] }]
|
|
92
|
-
else if (fromDate !== '' && toDate === '')
|
|
93
|
-
filters = [...filters, { name: 'createdAt', operator: 'gte', value: fromDate }]
|
|
94
|
-
else if (fromDate === '' && toDate !== '')
|
|
95
|
-
filters = [...filters, { name: 'createdAt', operator: 'lte', value: toDate }]
|
|
96
|
-
|
|
97
|
-
return filters
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export async function validatePagination(context, pagination, entries, offset) {
|
|
101
|
-
if (!entries) entries = ''
|
|
102
|
-
if (!offset) offset = ''
|
|
103
|
-
|
|
104
|
-
if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
|
|
105
|
-
entries = parseInt(entries)
|
|
106
|
-
offset = parseInt(offset)
|
|
107
|
-
|
|
108
|
-
if (offset < 1) context.throw(400, context.t('paginationOffset cannot be less than 1'))
|
|
109
|
-
else if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
|
|
110
|
-
else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
|
|
111
|
-
else pagination = { ...pagination, page: offset, limit: entries }
|
|
112
|
-
} else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
|
|
113
|
-
entries = parseInt(entries)
|
|
114
|
-
|
|
115
|
-
if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
|
|
116
|
-
else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
|
|
117
|
-
else pagination = { ...pagination, limit: entries }
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
return pagination
|
|
121
|
-
}
|
|
@@ -1,178 +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-delivery-orders')
|
|
10
|
-
|
|
11
|
-
router.get(
|
|
12
|
-
'/v1/warehouse/:warehouseId/get-delivery-orders',
|
|
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 deliveryOrders($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
|
|
44
|
-
deliveryOrders(filters: $filters, pagination: $pagination, sortings: $sortings) {
|
|
45
|
-
items {
|
|
46
|
-
name
|
|
47
|
-
from
|
|
48
|
-
to
|
|
49
|
-
contactPointRefId
|
|
50
|
-
truckNo
|
|
51
|
-
deliveryDate
|
|
52
|
-
status
|
|
53
|
-
ownCollection
|
|
54
|
-
looseItem
|
|
55
|
-
deliveryDateTime
|
|
56
|
-
loadWeight
|
|
57
|
-
cargoType
|
|
58
|
-
urgency
|
|
59
|
-
telNo
|
|
60
|
-
refNo
|
|
61
|
-
otherDriver
|
|
62
|
-
palletQty
|
|
63
|
-
remark
|
|
64
|
-
description
|
|
65
|
-
reusablePallet
|
|
66
|
-
domain {
|
|
67
|
-
name
|
|
68
|
-
}
|
|
69
|
-
bizplace {
|
|
70
|
-
name
|
|
71
|
-
}
|
|
72
|
-
attachments {
|
|
73
|
-
name
|
|
74
|
-
refBy
|
|
75
|
-
path
|
|
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
|
-
}
|
|
104
|
-
releaseGood {
|
|
105
|
-
name
|
|
106
|
-
description
|
|
107
|
-
refNo
|
|
108
|
-
collectionOrderNo
|
|
109
|
-
truckNo
|
|
110
|
-
exportOption
|
|
111
|
-
ownTransport
|
|
112
|
-
crossDocking
|
|
113
|
-
status
|
|
114
|
-
releaseDate
|
|
115
|
-
remark
|
|
116
|
-
courierOption
|
|
117
|
-
packingOption
|
|
118
|
-
refNo2
|
|
119
|
-
refNo3
|
|
120
|
-
type
|
|
121
|
-
acceptedAt
|
|
122
|
-
marketplaceOrderStatus
|
|
123
|
-
billingAddress
|
|
124
|
-
deliveryAddress1
|
|
125
|
-
deliveryAddress2
|
|
126
|
-
deliveryAddress3
|
|
127
|
-
deliveryAddress4
|
|
128
|
-
deliveryAddress5
|
|
129
|
-
attentionTo
|
|
130
|
-
attentionCompany
|
|
131
|
-
city
|
|
132
|
-
state
|
|
133
|
-
postalCode
|
|
134
|
-
country
|
|
135
|
-
phone1
|
|
136
|
-
phone2
|
|
137
|
-
email
|
|
138
|
-
transporter
|
|
139
|
-
trackingNo
|
|
140
|
-
airwayBill
|
|
141
|
-
invoice
|
|
142
|
-
pickupAddress
|
|
143
|
-
pickupTime
|
|
144
|
-
handoverType
|
|
145
|
-
dropoffAddress
|
|
146
|
-
noOfItems
|
|
147
|
-
}
|
|
148
|
-
createdAt
|
|
149
|
-
updatedAt
|
|
150
|
-
updater {
|
|
151
|
-
name
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
total
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
`,
|
|
158
|
-
variables: {
|
|
159
|
-
filters,
|
|
160
|
-
pagination,
|
|
161
|
-
sortings: [{ name: 'createdAt', desc: true }]
|
|
162
|
-
},
|
|
163
|
-
context: {
|
|
164
|
-
...context,
|
|
165
|
-
state: {
|
|
166
|
-
...context.state,
|
|
167
|
-
bizplace,
|
|
168
|
-
domain
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
} as any)
|
|
172
|
-
).data
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
context.body = data?.result?.deliveryOrders?.items?.length == 0 ? 'No data available' : data
|
|
176
|
-
})
|
|
177
|
-
}
|
|
178
|
-
)
|