@things-factory/operato-hub 6.0.0 → 6.0.3
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/dist-server/entities/email-attachment.js +0 -77
- package/dist-server/entities/email-attachment.js.map +0 -1
- package/dist-server/entities/email-recipient.js +0 -69
- package/dist-server/entities/email-recipient.js.map +0 -1
- package/dist-server/entities/email.js +0 -90
- package/dist-server/entities/email.js.map +0 -1
- package/dist-server/graphql/resolvers/email/index.js +0 -6
- package/dist-server/graphql/resolvers/email/index.js.map +0 -1
- package/dist-server/graphql/resolvers/email/send-emails.js +0 -197
- package/dist-server/graphql/resolvers/email/send-emails.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +0 -200
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/index.js +0 -7
- package/dist-server/graphql/resolvers/reports/index.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js +0 -231
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +0 -1
- package/dist-server/graphql/types/reports/inbound-order-details-report-list.js +0 -14
- package/dist-server/graphql/types/reports/inbound-order-details-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/inbound-order-details-report.js +0 -59
- package/dist-server/graphql/types/reports/inbound-order-details-report.js.map +0 -1
- package/dist-server/graphql/types/reports/index.js +0 -13
- package/dist-server/graphql/types/reports/index.js.map +0 -1
- package/dist-server/graphql/types/reports/outbound-order-details-report-list.js +0 -14
- package/dist-server/graphql/types/reports/outbound-order-details-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/outbound-order-details-report.js +0 -76
- package/dist-server/graphql/types/reports/outbound-order-details-report.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js +0 -105
- package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js +0 -197
- package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/add-products.js +0 -79
- package/dist-server/routers/api/restful-apis/v1/company/add-products.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js +0 -90
- package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js +0 -49
- package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js +0 -62
- package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js +0 -98
- package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js +0 -51
- package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js +0 -88
- package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js +0 -99
- package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/index.js +0 -15
- package/dist-server/routers/api/restful-apis/v1/company/index.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js +0 -62
- package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.js +0 -40
- package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js +0 -70
- package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/middlewares/index.js +0 -40
- package/dist-server/routers/api/restful-apis/v1/middlewares/index.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js +0 -23
- package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js +0 -32
- package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js +0 -118
- package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js +0 -31
- package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/utils/error-util.js +0 -71
- package/dist-server/routers/api/restful-apis/v1/utils/error-util.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/utils/params.js +0 -563
- package/dist-server/routers/api/restful-apis/v1/utils/params.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js +0 -66
- package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js +0 -236
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js +0 -801
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js +0 -199
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js +0 -192
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js +0 -138
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js +0 -97
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js +0 -81
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js +0 -94
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js +0 -87
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js +0 -87
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js +0 -96
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js +0 -110
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/index.js +0 -16
- package/dist-server/routers/api/restful-apis/v1/warehouse/index.js.map +0 -1
- package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js +0 -71
- package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js.map +0 -1
- package/dist-server/routers/xilnex-router.js +0 -1104
- package/dist-server/routers/xilnex-router.js.map +0 -1
- package/dist-server/utils/report-query-util.js +0 -42
- package/dist-server/utils/report-query-util.js.map +0 -1
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.OutboundOrderDetailsReport = void 0;
|
|
7
|
-
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
8
|
-
exports.OutboundOrderDetailsReport = (0, graphql_tag_1.default) `
|
|
9
|
-
type OutboundOrderDetailsReport {
|
|
10
|
-
bizplace: Bizplace
|
|
11
|
-
doNo: String
|
|
12
|
-
doDeliveryDate: String
|
|
13
|
-
deliveryAddress: String
|
|
14
|
-
manifestNo: String
|
|
15
|
-
roNo: String
|
|
16
|
-
roType: String
|
|
17
|
-
status: String
|
|
18
|
-
refNo1: String
|
|
19
|
-
refNo2: String
|
|
20
|
-
refNo3: String
|
|
21
|
-
exportOption: Boolean
|
|
22
|
-
containerNo: String
|
|
23
|
-
containerSize: String
|
|
24
|
-
transportOption: String
|
|
25
|
-
vehicleNo: String
|
|
26
|
-
driverName: String
|
|
27
|
-
palletQty: Int
|
|
28
|
-
acceptedBy: String
|
|
29
|
-
acceptedAt: String
|
|
30
|
-
orderCreatedBy: String
|
|
31
|
-
orderCreatedAt: String
|
|
32
|
-
pickingStart: String
|
|
33
|
-
pickingComplete: String
|
|
34
|
-
packingStart: String
|
|
35
|
-
packingComplete: String
|
|
36
|
-
sortingStart: String
|
|
37
|
-
sortingComplete: String
|
|
38
|
-
loadingStart: String
|
|
39
|
-
loadingComplete: String
|
|
40
|
-
orderLineItem: Int
|
|
41
|
-
product: Product
|
|
42
|
-
packType: String
|
|
43
|
-
packSize: Int
|
|
44
|
-
qty: Int
|
|
45
|
-
uomValue: Float
|
|
46
|
-
returnToLocationQty: Int
|
|
47
|
-
returnToLocationUomValue: Float
|
|
48
|
-
uom: String
|
|
49
|
-
unitCost: Float
|
|
50
|
-
unitVolume: Float
|
|
51
|
-
totalVolume: Float
|
|
52
|
-
unitNettWeight: Float
|
|
53
|
-
totalUnitNettWeight: Float
|
|
54
|
-
unitGrossWeight: Float
|
|
55
|
-
totalUnitGrossWeight: Float
|
|
56
|
-
weightUnit: String
|
|
57
|
-
palletId: String
|
|
58
|
-
cartonId: String
|
|
59
|
-
batchId: String
|
|
60
|
-
batchIdRef: String
|
|
61
|
-
expirationDate: String
|
|
62
|
-
manufactureDate: String
|
|
63
|
-
pickedAt: String
|
|
64
|
-
pickedBy: String
|
|
65
|
-
packedAt: String
|
|
66
|
-
packedBy: String
|
|
67
|
-
checkedRemarkBy: String
|
|
68
|
-
checkedRemarkAt: String
|
|
69
|
-
loadedAt: String
|
|
70
|
-
loadedBy: String
|
|
71
|
-
manifestedAt: String
|
|
72
|
-
manifestedBy: String
|
|
73
|
-
dispatchedAt: String
|
|
74
|
-
}
|
|
75
|
-
`;
|
|
76
|
-
//# sourceMappingURL=outbound-order-details-report.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-order-details-report.js","sourceRoot":"","sources":["../../../../server/graphql/types/reports/outbound-order-details-report.ts"],"names":[],"mappings":";;;;;;AAAA,8DAA6B;AAEhB,QAAA,0BAA0B,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmE5C,CAAA"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const typeorm_1 = require("typeorm");
|
|
4
|
-
const api_1 = require("@things-factory/api");
|
|
5
|
-
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
-
const biz_base_2 = require("@things-factory/biz-base");
|
|
7
|
-
const error_util_1 = require("../utils/error-util");
|
|
8
|
-
const middlewares_1 = require("../middlewares");
|
|
9
|
-
api_1.restfulApiRouter.post('/v1/company/add-contact-points', middlewares_1.businessMiddleware, middlewares_1.validationMiddleware, middlewares_1.loggingMiddleware, async (context, next) => {
|
|
10
|
-
try {
|
|
11
|
-
if (!Array.isArray(context.request.body.data))
|
|
12
|
-
throw new error_util_1.ApiError('E01', 'data field is not an array');
|
|
13
|
-
if (!context.request.body.hasOwnProperty('bizplaceId'))
|
|
14
|
-
throw new error_util_1.ApiError('E03', 'bizplaceId');
|
|
15
|
-
if (!context.request.body.bizplaceId)
|
|
16
|
-
throw new error_util_1.ApiError('E01', 'bizplaceId');
|
|
17
|
-
await (0, typeorm_1.getConnection)().transaction(async (tx) => {
|
|
18
|
-
// create and format values to be inserted
|
|
19
|
-
const bizplace = await tx.getRepository(biz_base_2.Bizplace).findOne({
|
|
20
|
-
where: { id: context.request.body.bizplaceId }
|
|
21
|
-
});
|
|
22
|
-
// check if phone or email already belongs in bizplace
|
|
23
|
-
const phones = [];
|
|
24
|
-
const emails = [];
|
|
25
|
-
let values = [];
|
|
26
|
-
for (const datapoint of context.request.body.data) {
|
|
27
|
-
phones.push(datapoint.phone);
|
|
28
|
-
emails.push(datapoint.email);
|
|
29
|
-
const value = {
|
|
30
|
-
name: datapoint.name,
|
|
31
|
-
description: datapoint.description,
|
|
32
|
-
companyName: datapoint.companyName,
|
|
33
|
-
email: datapoint.email,
|
|
34
|
-
fax: datapoint.fax,
|
|
35
|
-
phone: datapoint.phone,
|
|
36
|
-
billingAddress: datapoint.billingAddress,
|
|
37
|
-
accountNo: datapoint.accountNo,
|
|
38
|
-
address: datapoint.address,
|
|
39
|
-
address2: datapoint.address2,
|
|
40
|
-
city: datapoint.city,
|
|
41
|
-
state: datapoint.state,
|
|
42
|
-
postCode: datapoint.postCode,
|
|
43
|
-
type: datapoint.type,
|
|
44
|
-
domain: context.state.domain,
|
|
45
|
-
bizplace: bizplace,
|
|
46
|
-
creator: context.state.user,
|
|
47
|
-
updater: context.state.user
|
|
48
|
-
};
|
|
49
|
-
values.push(value);
|
|
50
|
-
}
|
|
51
|
-
const checkDuplicateEmailPhone = await tx
|
|
52
|
-
.getRepository(biz_base_1.ContactPoint)
|
|
53
|
-
.createQueryBuilder('cp')
|
|
54
|
-
.where('cp.bizplace_id = :bizplaceId', { bizplaceId: context.request.body.bizplaceId })
|
|
55
|
-
.andWhere(new typeorm_1.Brackets(qb => {
|
|
56
|
-
qb.where('cp.email in(:email)', { email: emails.toString() });
|
|
57
|
-
qb.orWhere('cp.phone in(:phone)', { phone: phones.toString() });
|
|
58
|
-
}))
|
|
59
|
-
.getOne();
|
|
60
|
-
if (checkDuplicateEmailPhone)
|
|
61
|
-
throw new error_util_1.ApiError('E05', 'email or phone number');
|
|
62
|
-
// insert values to DB
|
|
63
|
-
const result = await tx
|
|
64
|
-
.getRepository(biz_base_1.ContactPoint)
|
|
65
|
-
.createQueryBuilder()
|
|
66
|
-
.insert()
|
|
67
|
-
.into(biz_base_1.ContactPoint)
|
|
68
|
-
.values(values)
|
|
69
|
-
.returning('*')
|
|
70
|
-
.execute();
|
|
71
|
-
// create and format response
|
|
72
|
-
let data = [];
|
|
73
|
-
for (const contactPoint of result.generatedMaps) {
|
|
74
|
-
const datapoint = {
|
|
75
|
-
name: contactPoint.name,
|
|
76
|
-
description: contactPoint.description,
|
|
77
|
-
companyName: contactPoint.companyName,
|
|
78
|
-
email: contactPoint.email,
|
|
79
|
-
fax: contactPoint.fax,
|
|
80
|
-
phone: contactPoint.phone,
|
|
81
|
-
billingAddress: contactPoint.billingAddress,
|
|
82
|
-
accountNo: contactPoint.accountNo,
|
|
83
|
-
address: contactPoint.address,
|
|
84
|
-
address2: contactPoint.address2,
|
|
85
|
-
city: contactPoint.city,
|
|
86
|
-
state: contactPoint.state,
|
|
87
|
-
postCode: contactPoint.postCode,
|
|
88
|
-
type: contactPoint.type,
|
|
89
|
-
createdAt: contactPoint.createdAt
|
|
90
|
-
};
|
|
91
|
-
data.push(datapoint);
|
|
92
|
-
}
|
|
93
|
-
context.body = {
|
|
94
|
-
data
|
|
95
|
-
};
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
catch (e) {
|
|
99
|
-
if (e instanceof error_util_1.ApiError)
|
|
100
|
-
(0, error_util_1.ApiErrorHandler)(context, e);
|
|
101
|
-
else
|
|
102
|
-
(0, error_util_1.throwInternalServerError)(context, e);
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
//# sourceMappingURL=add-contact-points.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-contact-points.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/company/add-contact-points.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const typeorm_1 = require("typeorm");
|
|
4
|
-
const api_1 = require("@things-factory/api");
|
|
5
|
-
const error_util_1 = require("../utils/error-util");
|
|
6
|
-
const uuid_1 = require("uuid");
|
|
7
|
-
const integration_marketplace_1 = require("@things-factory/integration-marketplace");
|
|
8
|
-
const product_base_1 = require("@things-factory/product-base");
|
|
9
|
-
const marketplace_base_1 = require("@things-factory/marketplace-base");
|
|
10
|
-
const middlewares_1 = require("../middlewares");
|
|
11
|
-
api_1.restfulApiRouter.post('/v1/company/add-marketplace-order', middlewares_1.businessMiddleware, middlewares_1.validationMiddleware, middlewares_1.loggingMiddleware, async (context, next) => {
|
|
12
|
-
try {
|
|
13
|
-
await (0, typeorm_1.getConnection)().transaction(async (tx) => {
|
|
14
|
-
var _a;
|
|
15
|
-
const { user, domain } = context.state;
|
|
16
|
-
const marketplaceOrder = context.request.body.data;
|
|
17
|
-
const marketplaceStore = await tx.getRepository(integration_marketplace_1.MarketplaceStore).findOne({
|
|
18
|
-
where: { name: marketplaceOrder.storeId, domain }
|
|
19
|
-
});
|
|
20
|
-
if (!marketplaceStore)
|
|
21
|
-
throw new error_util_1.ApiError('E04', 'storeId');
|
|
22
|
-
let invalidQty = marketplaceOrder.marketplaceOrderItems.find(itm => itm.qty <= 0);
|
|
23
|
-
if (invalidQty) {
|
|
24
|
-
throw new error_util_1.ApiError('E01', 'qty');
|
|
25
|
-
}
|
|
26
|
-
let marketplaceOrderItems = [];
|
|
27
|
-
let newMarketplaceOrder = Object.assign({}, marketplaceOrder);
|
|
28
|
-
const itemCount = (_a = marketplaceOrder.marketplaceOrderItems) === null || _a === void 0 ? void 0 : _a.length;
|
|
29
|
-
const currentDate = new Date();
|
|
30
|
-
newMarketplaceOrder.name = `MO-${currentDate.getFullYear()}${currentDate.getMonth() + 1}${currentDate.getDate()}${currentDate.getHours()}${currentDate.getMinutes()}${currentDate.getSeconds()}${currentDate.getMilliseconds()}`;
|
|
31
|
-
newMarketplaceOrder.itemCount = itemCount;
|
|
32
|
-
newMarketplaceOrder.marketplaceStore = marketplaceStore;
|
|
33
|
-
newMarketplaceOrder.domain = domain;
|
|
34
|
-
newMarketplaceOrder.creator = user;
|
|
35
|
-
newMarketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).save(newMarketplaceOrder);
|
|
36
|
-
let newMarketplaceOrderShipping;
|
|
37
|
-
if (marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceOrderShipping) {
|
|
38
|
-
const marketplaceOrderShipping = marketplaceOrder.marketplaceOrderShipping;
|
|
39
|
-
newMarketplaceOrderShipping = Object.assign({}, marketplaceOrderShipping);
|
|
40
|
-
newMarketplaceOrderShipping.name = (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.shippingId)
|
|
41
|
-
? marketplaceOrderShipping.shippingId
|
|
42
|
-
: marketplace_base_1.NoGenerator.orderShipping();
|
|
43
|
-
newMarketplaceOrderShipping.transporter =
|
|
44
|
-
(marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.transporter) === '' ? null : marketplaceOrderShipping.transporter;
|
|
45
|
-
newMarketplaceOrderShipping.ownTransporter =
|
|
46
|
-
(marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.transporter) === '' ? null : marketplaceOrderShipping.transporter;
|
|
47
|
-
newMarketplaceOrderShipping.marketplaceStore = marketplaceStore;
|
|
48
|
-
newMarketplaceOrderShipping.orderNoRef = newMarketplaceOrder.orderNo;
|
|
49
|
-
newMarketplaceOrderShipping.subOrderNoRef = newMarketplaceOrder.orderNo;
|
|
50
|
-
newMarketplaceOrderShipping.domain = domain;
|
|
51
|
-
newMarketplaceOrderShipping.creator = user;
|
|
52
|
-
newMarketplaceOrderShipping = await tx
|
|
53
|
-
.getRepository(marketplace_base_1.MarketplaceOrderShipping)
|
|
54
|
-
.save(newMarketplaceOrderShipping);
|
|
55
|
-
}
|
|
56
|
-
marketplaceOrderItems = await Promise.all(marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceOrderItems.map(async (orderItem) => {
|
|
57
|
-
let marketplaceOrderItem = Object.assign({}, orderItem);
|
|
58
|
-
const marketplaceProductVariation = orderItem.marketplaceProductVariation;
|
|
59
|
-
const qb = await tx
|
|
60
|
-
.getRepository(marketplace_base_1.MarketplaceProductVariation)
|
|
61
|
-
.createQueryBuilder('mpv')
|
|
62
|
-
.leftJoin('mpv.marketplaceProduct', 'mp')
|
|
63
|
-
.leftJoin('mp.marketplaceStore', 'ms')
|
|
64
|
-
.where('mpv.domain_id = :domainId')
|
|
65
|
-
.andWhere('mpv.variation_id = :variationId')
|
|
66
|
-
.andWhere('ms.id = :marketplaceStoreId')
|
|
67
|
-
.setParameters({
|
|
68
|
-
domainId: domain.id,
|
|
69
|
-
variationId: marketplaceProductVariation.variationId,
|
|
70
|
-
marketplaceStoreId: marketplaceStore.id
|
|
71
|
-
});
|
|
72
|
-
let foundVariation = await qb.getOne();
|
|
73
|
-
if (!foundVariation) {
|
|
74
|
-
let newVariation = Object.assign({}, marketplaceProductVariation);
|
|
75
|
-
newVariation.status = 'ACTIVE';
|
|
76
|
-
newVariation.domain = domain;
|
|
77
|
-
await tx.getRepository(marketplace_base_1.MarketplaceProductVariation).save(newVariation);
|
|
78
|
-
foundVariation = newVariation;
|
|
79
|
-
}
|
|
80
|
-
marketplaceOrderItem.marketplaceProductVariation = foundVariation;
|
|
81
|
-
marketplaceOrderItem.name = orderItem.orderItemId;
|
|
82
|
-
marketplaceOrderItem.marketplaceOrder = newMarketplaceOrder;
|
|
83
|
-
marketplaceOrderItem.domain = domain;
|
|
84
|
-
marketplaceOrderItem.creator = user;
|
|
85
|
-
return marketplaceOrderItem;
|
|
86
|
-
}));
|
|
87
|
-
marketplaceOrderItems = await tx.getRepository(marketplace_base_1.MarketplaceOrderItem).save(marketplaceOrderItems);
|
|
88
|
-
await Promise.all(marketplaceOrderItems.map(async (marketplaceOrderItem) => {
|
|
89
|
-
const marketplaceProductVariation = marketplaceOrderItem.marketplaceProductVariation;
|
|
90
|
-
let product = await tx.getRepository(product_base_1.Product).findOne({
|
|
91
|
-
where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku, deletedAt: (0, typeorm_1.IsNull)() },
|
|
92
|
-
relations: ['productDetails']
|
|
93
|
-
});
|
|
94
|
-
let productBundle;
|
|
95
|
-
if (!product) {
|
|
96
|
-
productBundle = await tx.getRepository(product_base_1.ProductBundle).findOne({
|
|
97
|
-
where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku },
|
|
98
|
-
relations: ['productBundleSettings', 'productBundleSettings.product']
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
let existingMarketplaceOrderShippingItems = await tx
|
|
102
|
-
.getRepository(marketplace_base_1.MarketplaceOrderShippingItem)
|
|
103
|
-
.find({
|
|
104
|
-
where: { domain: marketplaceStore.domain, marketplaceOrderItem }
|
|
105
|
-
});
|
|
106
|
-
if (existingMarketplaceOrderShippingItems && (existingMarketplaceOrderShippingItems === null || existingMarketplaceOrderShippingItems === void 0 ? void 0 : existingMarketplaceOrderShippingItems.length)) {
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
if (productBundle) {
|
|
110
|
-
const productBundleSettings = productBundle.productBundleSettings;
|
|
111
|
-
let marketplaceOrderShippingItems = [];
|
|
112
|
-
productBundleSettings.map(productBundleSetting => {
|
|
113
|
-
let marketplaceOrderShippingItem = new marketplace_base_1.MarketplaceOrderShippingItem();
|
|
114
|
-
marketplaceOrderShippingItem.name = (0, uuid_1.v4)();
|
|
115
|
-
marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty * productBundleSetting.bundleQty;
|
|
116
|
-
marketplaceOrderShippingItem.domain = marketplaceStore.domain;
|
|
117
|
-
marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem;
|
|
118
|
-
marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping;
|
|
119
|
-
marketplaceOrderShippingItem.product = productBundleSetting.product;
|
|
120
|
-
marketplaceOrderShippingItems.push(marketplaceOrderShippingItem);
|
|
121
|
-
});
|
|
122
|
-
await tx.getRepository(marketplace_base_1.MarketplaceOrderShippingItem).save(marketplaceOrderShippingItems);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
let marketplaceOrderShippingItem = new marketplace_base_1.MarketplaceOrderShippingItem();
|
|
126
|
-
marketplaceOrderShippingItem.name = (0, uuid_1.v4)();
|
|
127
|
-
marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty;
|
|
128
|
-
marketplaceOrderShippingItem.domain = marketplaceStore.domain;
|
|
129
|
-
marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem;
|
|
130
|
-
marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping;
|
|
131
|
-
marketplaceOrderShippingItem.product = product ? product : null;
|
|
132
|
-
await tx.getRepository(marketplace_base_1.MarketplaceOrderShippingItem).save(marketplaceOrderShippingItem);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}));
|
|
136
|
-
let marketplaceOrderItemsData = [];
|
|
137
|
-
for (const item of marketplaceOrderItems) {
|
|
138
|
-
const datapoint = {
|
|
139
|
-
marketplaceOrderVariation: {
|
|
140
|
-
variationId: item.marketplaceProductVariation.variationId,
|
|
141
|
-
sku: item.marketplaceProductVariation.sku,
|
|
142
|
-
variationSku: item.marketplaceProductVariation.variationSku,
|
|
143
|
-
variationName: item.marketplaceProductVariation.variationName
|
|
144
|
-
},
|
|
145
|
-
marketplaceOrderShipping: {
|
|
146
|
-
attentionTo: item.marketplaceOrderShipping.attentionTo,
|
|
147
|
-
address1: item.marketplaceOrderShipping.address1,
|
|
148
|
-
address2: item.marketplaceOrderShipping.address2,
|
|
149
|
-
address3: item.marketplaceOrderShipping.address3,
|
|
150
|
-
address4: item.marketplaceOrderShipping.address4,
|
|
151
|
-
address5: item.marketplaceOrderShipping.address5,
|
|
152
|
-
state: item.marketplaceOrderShipping.state,
|
|
153
|
-
city: item.marketplaceOrderShipping.city,
|
|
154
|
-
postCode: item.marketplaceOrderShipping.postCode,
|
|
155
|
-
country: item.marketplaceOrderShipping.country,
|
|
156
|
-
phone1: item.marketplaceOrderShipping.phone1,
|
|
157
|
-
phone2: item.marketplaceOrderShipping.phone2,
|
|
158
|
-
email: item.marketplaceOrderShipping.email,
|
|
159
|
-
freightType: item.marketplaceOrderShipping.freightType,
|
|
160
|
-
parcelType: item.marketplaceOrderShipping.parcelType,
|
|
161
|
-
deliveryMethod: item.marketplaceOrderShipping.deliveryMethod,
|
|
162
|
-
totalWeight: item.marketplaceOrderShipping.totalWeight,
|
|
163
|
-
totalVolume: item.marketplaceOrderShipping.totalVolume,
|
|
164
|
-
transporter: item.marketplaceOrderShipping.transporter
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
marketplaceOrderItemsData.push(datapoint);
|
|
168
|
-
}
|
|
169
|
-
const data = {
|
|
170
|
-
orderNo: newMarketplaceOrder.orderNo,
|
|
171
|
-
itemCount,
|
|
172
|
-
paymentMethod: newMarketplaceOrder.paymentMethod,
|
|
173
|
-
remark: newMarketplaceOrder.remark,
|
|
174
|
-
giftOption: newMarketplaceOrder.giftOption,
|
|
175
|
-
orderCreatedAt: newMarketplaceOrder.orderCreatedAt,
|
|
176
|
-
orderUpdatedAt: newMarketplaceOrder.orderUpdatedAt,
|
|
177
|
-
marketplaceOrderItems: marketplaceOrderItemsData,
|
|
178
|
-
orderItemId: newMarketplaceOrder.orderItemId,
|
|
179
|
-
qty: newMarketplaceOrder.qty,
|
|
180
|
-
cancelBy: newMarketplaceOrder.cancelBy,
|
|
181
|
-
returnStatus: newMarketplaceOrder.returnStatus,
|
|
182
|
-
packageId: newMarketplaceOrder.packageId,
|
|
183
|
-
status: newMarketplaceOrder.status
|
|
184
|
-
};
|
|
185
|
-
context.body = {
|
|
186
|
-
data
|
|
187
|
-
};
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
catch (e) {
|
|
191
|
-
if (e instanceof error_util_1.ApiError)
|
|
192
|
-
(0, error_util_1.ApiErrorHandler)(context, e);
|
|
193
|
-
else
|
|
194
|
-
(0, error_util_1.throwInternalServerError)(context, e);
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
//# sourceMappingURL=add-marketplace-order.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-marketplace-order.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/company/add-marketplace-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const typeorm_1 = require("typeorm");
|
|
4
|
-
const api_1 = require("@things-factory/api");
|
|
5
|
-
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
-
const product_base_1 = require("@things-factory/product-base");
|
|
7
|
-
const error_util_1 = require("../utils/error-util");
|
|
8
|
-
const middlewares_1 = require("../middlewares");
|
|
9
|
-
api_1.restfulApiRouter.post('/v1/company/add-products', middlewares_1.businessMiddleware, middlewares_1.validationMiddleware, middlewares_1.loggingMiddleware, async (context, next) => {
|
|
10
|
-
try {
|
|
11
|
-
await (0, typeorm_1.getConnection)().transaction(async (tx) => {
|
|
12
|
-
if (!Array.isArray(context.request.body.data))
|
|
13
|
-
throw new error_util_1.ApiError('E01', 'data field is not an array');
|
|
14
|
-
const products = context.request.body.data;
|
|
15
|
-
const skus = products.map(p => p.sku);
|
|
16
|
-
const { user, domain } = context.state;
|
|
17
|
-
// find bizplace
|
|
18
|
-
const bizplace = await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne({
|
|
19
|
-
where: {
|
|
20
|
-
domain
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
//check duplicate sku from request
|
|
24
|
-
let duplicateSku = skus.filter((item, index) => skus.indexOf(item) != index);
|
|
25
|
-
if ((duplicateSku === null || duplicateSku === void 0 ? void 0 : duplicateSku.length) > 0) {
|
|
26
|
-
throw new error_util_1.ApiError('E05', `duplicated products found: ${[...new Set(duplicateSku)]}`);
|
|
27
|
-
}
|
|
28
|
-
//check if sku existed in db
|
|
29
|
-
let existedProducts = await (0, typeorm_1.getRepository)(product_base_1.Product).find({
|
|
30
|
-
where: {
|
|
31
|
-
sku: (0, typeorm_1.In)(skus),
|
|
32
|
-
bizplace
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
if ((existedProducts === null || existedProducts === void 0 ? void 0 : existedProducts.length) > 0) {
|
|
36
|
-
throw new error_util_1.ApiError('E05', `existing products found: ${existedProducts.map(ep => ep.sku)}`);
|
|
37
|
-
}
|
|
38
|
-
let response = [];
|
|
39
|
-
// save product
|
|
40
|
-
await Promise.all(products.map(async (p) => {
|
|
41
|
-
let product = p;
|
|
42
|
-
const productDetails = p.productDetails;
|
|
43
|
-
product.domain = domain;
|
|
44
|
-
product.bizplace = bizplace;
|
|
45
|
-
product.creator = user;
|
|
46
|
-
product.updater = user;
|
|
47
|
-
delete product.productDetails;
|
|
48
|
-
let result = await tx.getRepository(product_base_1.Product).save(product);
|
|
49
|
-
// save product details
|
|
50
|
-
let pds = await Promise.all(productDetails.map(async (pd) => {
|
|
51
|
-
if (pd.packingSize < 0)
|
|
52
|
-
throw new error_util_1.ApiError('E01', `${pd.gtin}: packing size cannot be negative`);
|
|
53
|
-
const productDetails = pd;
|
|
54
|
-
let pdResult = await tx.getRepository(product_base_1.ProductDetail).save(Object.assign(Object.assign({}, productDetails), { name: productDetails.gtin, product: result, childProductDetail: null, childQty: 0, domain: domain, creator: user, updater: user }));
|
|
55
|
-
delete pdResult.creator;
|
|
56
|
-
delete pdResult.updater;
|
|
57
|
-
delete pdResult.product;
|
|
58
|
-
delete pdResult.domain;
|
|
59
|
-
return pdResult;
|
|
60
|
-
}));
|
|
61
|
-
delete result.creator;
|
|
62
|
-
delete result.updater;
|
|
63
|
-
delete result.bizplace;
|
|
64
|
-
delete result.domain;
|
|
65
|
-
response.push(Object.assign(Object.assign({}, result), { productDetails: pds }));
|
|
66
|
-
}));
|
|
67
|
-
context.body = {
|
|
68
|
-
data: response
|
|
69
|
-
};
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
catch (e) {
|
|
73
|
-
if (e instanceof error_util_1.ApiError)
|
|
74
|
-
(0, error_util_1.ApiErrorHandler)(context, e);
|
|
75
|
-
else
|
|
76
|
-
(0, error_util_1.throwInternalServerError)(context, e);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
//# sourceMappingURL=add-products.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-products.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/company/add-products.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const typeorm_1 = require("typeorm");
|
|
4
|
-
const api_1 = require("@things-factory/api");
|
|
5
|
-
const shell_1 = require("@things-factory/shell");
|
|
6
|
-
const marketplace_base_1 = require("@things-factory/marketplace-base");
|
|
7
|
-
const integration_marketplace_1 = require("@things-factory/integration-marketplace");
|
|
8
|
-
const error_util_1 = require("../utils/error-util");
|
|
9
|
-
const biz_base_1 = require("@things-factory/biz-base");
|
|
10
|
-
const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
|
|
11
|
-
const middlewares_1 = require("../middlewares");
|
|
12
|
-
api_1.restfulApiRouter.post('/v1/company/cancel-marketplace-order', middlewares_1.businessMiddleware, middlewares_1.validationMiddleware, middlewares_1.loggingMiddleware, async (context, next) => {
|
|
13
|
-
try {
|
|
14
|
-
const { orderNo, remark, cancelBy } = context.request.body.data;
|
|
15
|
-
const { domain, user } = context.state;
|
|
16
|
-
await (0, typeorm_1.getConnection)().transaction(async (tx) => {
|
|
17
|
-
const marketplaceStore = await tx.getRepository(integration_marketplace_1.MarketplaceStore).findOne({
|
|
18
|
-
where: { name: context.request.body.data.storeId, domain: context.state.domain }
|
|
19
|
-
});
|
|
20
|
-
if (!marketplaceStore)
|
|
21
|
-
throw new error_util_1.ApiError('E04', 'storeId');
|
|
22
|
-
let marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
|
|
23
|
-
where: { domain, orderNo, marketplaceStore },
|
|
24
|
-
relations: ['fulfillmentCenter', 'marketplaceStore', 'marketplaceOrderItems']
|
|
25
|
-
});
|
|
26
|
-
if (!marketplaceOrder)
|
|
27
|
-
throw new error_util_1.ApiError('E04', 'orderNo');
|
|
28
|
-
let marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems.map(orderItem => {
|
|
29
|
-
let marketplaceOrderItem = Object.assign({}, orderItem);
|
|
30
|
-
marketplaceOrderItem.reason = remark;
|
|
31
|
-
marketplaceOrderItem.status = 'cancelled';
|
|
32
|
-
marketplaceOrderItem.updater = user;
|
|
33
|
-
marketplaceOrderItem.cancelBy = cancelBy;
|
|
34
|
-
return marketplaceOrderItem;
|
|
35
|
-
});
|
|
36
|
-
await tx.getRepository(marketplace_base_1.MarketplaceOrderItem).save(marketplaceOrderItems);
|
|
37
|
-
marketplaceOrder.status = 'cancelled';
|
|
38
|
-
marketplaceOrder.remark = remark;
|
|
39
|
-
marketplaceOrder.updater = user;
|
|
40
|
-
marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).save(marketplaceOrder);
|
|
41
|
-
const cancelStatuses = ['cancelled', 'canceled'];
|
|
42
|
-
if (cancelStatuses.includes(marketplaceOrder.status) && (marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.releaseOrderId)) {
|
|
43
|
-
if (marketplaceOrder.isSplitted) {
|
|
44
|
-
const fulfillmentCenter = marketplaceOrder.fulfillmentCenter;
|
|
45
|
-
const centerId = fulfillmentCenter.centerId;
|
|
46
|
-
const warehouseDomain = await tx.getRepository(shell_1.Domain).findOne({ where: { subdomain: centerId } });
|
|
47
|
-
const customerBizplaces = await (0, biz_base_1.getCustomerBizplaces)(warehouseDomain);
|
|
48
|
-
const customerBizplaceId = customerBizplaces[0].id;
|
|
49
|
-
const { items: releaseOrders } = await integration_fulfillment_1.FulfillmentAPI.getOutboundOrders(fulfillmentCenter, {
|
|
50
|
-
customerBizplaceId,
|
|
51
|
-
refNo: marketplaceOrder.orderNo
|
|
52
|
-
});
|
|
53
|
-
if (releaseOrders === null || releaseOrders === void 0 ? void 0 : releaseOrders.length) {
|
|
54
|
-
for (var a = 0; a < releaseOrders.length; a++) {
|
|
55
|
-
const releaseOrderId = releaseOrders[a].id;
|
|
56
|
-
await integration_fulfillment_1.FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId });
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
const releaseOrderId = marketplaceOrder.releaseOrderId;
|
|
62
|
-
const fulfillmentCenter = marketplaceOrder.fulfillmentCenter;
|
|
63
|
-
const centerId = fulfillmentCenter.centerId;
|
|
64
|
-
const warehouseDomain = await tx.getRepository(shell_1.Domain).findOne({ where: { subdomain: centerId } });
|
|
65
|
-
const customerBizplaces = await (0, biz_base_1.getCustomerBizplaces)(warehouseDomain);
|
|
66
|
-
const customerBizplaceId = customerBizplaces[0].id;
|
|
67
|
-
await integration_fulfillment_1.FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
const data = {
|
|
71
|
-
orderNo: marketplaceOrder.orderNo,
|
|
72
|
-
status: marketplaceOrder.status,
|
|
73
|
-
remark: marketplaceOrder.remark,
|
|
74
|
-
cancelBy: cancelBy || null,
|
|
75
|
-
createdAt: marketplaceOrder.createdAt,
|
|
76
|
-
updatedAt: marketplaceOrder.updatedAt
|
|
77
|
-
};
|
|
78
|
-
context.body = {
|
|
79
|
-
data
|
|
80
|
-
};
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
catch (e) {
|
|
84
|
-
if (e instanceof error_util_1.ApiError)
|
|
85
|
-
(0, error_util_1.ApiErrorHandler)(context, e);
|
|
86
|
-
else
|
|
87
|
-
(0, error_util_1.throwInternalServerError)(context, e);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
//# sourceMappingURL=cancel-marketplace-order.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cancel-marketplace-order.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/company/cancel-marketplace-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const typeorm_1 = require("typeorm");
|
|
4
|
-
const api_1 = require("@things-factory/api");
|
|
5
|
-
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
-
const error_util_1 = require("../utils/error-util");
|
|
7
|
-
const middlewares_1 = require("../middlewares");
|
|
8
|
-
api_1.restfulApiRouter.get('/v1/company/get-bizplace-list', middlewares_1.businessMiddleware, middlewares_1.validationMiddleware, middlewares_1.loggingMiddleware, async (context, next) => {
|
|
9
|
-
try {
|
|
10
|
-
const { limit, offset } = context.query;
|
|
11
|
-
// get bizplaces for that company
|
|
12
|
-
const companyId = context.state.business.id;
|
|
13
|
-
const [bizplaces, totalCount] = await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findAndCount({
|
|
14
|
-
where: { company: companyId },
|
|
15
|
-
relations: ['domain'],
|
|
16
|
-
skip: offset,
|
|
17
|
-
take: limit,
|
|
18
|
-
order: { createdAt: 'DESC' }
|
|
19
|
-
});
|
|
20
|
-
// create and format data response
|
|
21
|
-
let data = [];
|
|
22
|
-
for (const bizplace of bizplaces) {
|
|
23
|
-
const datapoint = {
|
|
24
|
-
bizplace: {
|
|
25
|
-
id: bizplace.id,
|
|
26
|
-
name: bizplace.name,
|
|
27
|
-
description: bizplace.description,
|
|
28
|
-
address: bizplace.address,
|
|
29
|
-
postalCode: bizplace.postalCode
|
|
30
|
-
},
|
|
31
|
-
extType: bizplace.domain.extType
|
|
32
|
-
};
|
|
33
|
-
data.push(datapoint);
|
|
34
|
-
}
|
|
35
|
-
context.body = {
|
|
36
|
-
data,
|
|
37
|
-
totalCount,
|
|
38
|
-
limit,
|
|
39
|
-
offset
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
catch (e) {
|
|
43
|
-
if (e instanceof error_util_1.ApiError)
|
|
44
|
-
(0, error_util_1.ApiErrorHandler)(context, e);
|
|
45
|
-
else
|
|
46
|
-
(0, error_util_1.throwInternalServerError)(context, e);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
//# sourceMappingURL=get-bizplace-list.js.map
|