@shushed/helpers 0.0.264 → 0.0.265-s2-20260217170910
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.
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.RedisConnectionError = exports.RateLimit = exports.setHeaders = exports.BCOrderHelper = exports.DatoHelper = exports.AirtableHelper = exports.CentraHelper = exports.BigQueryHelper = exports.JWKSHelper = exports.CloudTasksHelper = exports.Secrets = exports.SchedulerHelper = exports.Logging = exports.Runtime = exports.PubSubHelper = exports.EnvEngine = exports.validate = void 0;
|
|
20
|
+
exports.SitooHelper = exports.RedisConnectionError = exports.RateLimit = exports.setHeaders = exports.BCOrderHelper = exports.DatoHelper = exports.AirtableHelper = exports.CentraHelper = exports.BigQueryHelper = exports.JWKSHelper = exports.CloudTasksHelper = exports.Secrets = exports.SchedulerHelper = exports.Logging = exports.Runtime = exports.PubSubHelper = exports.EnvEngine = exports.validate = void 0;
|
|
21
21
|
var validate_1 = require("./validate");
|
|
22
22
|
Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return __importDefault(validate_1).default; } });
|
|
23
23
|
__exportStar(require("./sanitize"), exports);
|
|
@@ -53,3 +53,6 @@ var rateLimit_1 = require("./rateLimit");
|
|
|
53
53
|
Object.defineProperty(exports, "RateLimit", { enumerable: true, get: function () { return __importDefault(rateLimit_1).default; } });
|
|
54
54
|
Object.defineProperty(exports, "RedisConnectionError", { enumerable: true, get: function () { return rateLimit_1.RedisConnectionError; } });
|
|
55
55
|
__exportStar(require("./fredhopper"), exports);
|
|
56
|
+
__exportStar(require("./sitoo"), exports);
|
|
57
|
+
var sitoo_1 = require("./sitoo");
|
|
58
|
+
Object.defineProperty(exports, "SitooHelper", { enumerable: true, get: function () { return __importDefault(sitoo_1).default; } });
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SitooOrderItemType = exports.SitooPaymentState = exports.SitooOrderType = exports.SitooOrderState = void 0;
|
|
7
7
|
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
-
const
|
|
8
|
+
const lodash_1 = require("lodash");
|
|
9
9
|
const env_1 = __importDefault(require("./env"));
|
|
10
10
|
const SITOO_TR_TYPE_MANUAL_IN = 10;
|
|
11
11
|
const SITOO_TR_TYPE_MANUAL_OUT = 20;
|
|
@@ -49,8 +49,9 @@ class SitooHelper extends env_1.default {
|
|
|
49
49
|
this.baseUrl = opts.sitooBaseUrl.replace(/\/$/, '');
|
|
50
50
|
this.siteId = opts.sitooSiteId;
|
|
51
51
|
}
|
|
52
|
-
async
|
|
52
|
+
async getOrders(options) {
|
|
53
53
|
const allOrders = [];
|
|
54
|
+
let totalcount = 0;
|
|
54
55
|
const pageSize = 100;
|
|
55
56
|
let start = 0;
|
|
56
57
|
let hasMore = true;
|
|
@@ -68,12 +69,17 @@ class SitooHelper extends env_1.default {
|
|
|
68
69
|
if (options?.filterByState !== undefined) {
|
|
69
70
|
queryParams.set('orderstate', options.filterByState.toString());
|
|
70
71
|
}
|
|
72
|
+
if (options?.orderids) {
|
|
73
|
+
queryParams.set('orderids', options.orderids.join(','));
|
|
74
|
+
}
|
|
75
|
+
if (options?.orderIdFrom !== undefined) {
|
|
76
|
+
queryParams.set('orderidfrom', options.orderIdFrom.toString());
|
|
77
|
+
}
|
|
71
78
|
const url = `${this.baseUrl}/sites/${this.siteId}/orders.json?${queryParams.toString()}`;
|
|
72
79
|
const response = await fetch(url, {
|
|
73
80
|
method: 'GET',
|
|
74
81
|
headers: {
|
|
75
82
|
'Authorization': `Basic ${this.opts.accessToken}`,
|
|
76
|
-
'Content-Type': 'application/json',
|
|
77
83
|
},
|
|
78
84
|
});
|
|
79
85
|
if (!response.ok) {
|
|
@@ -82,6 +88,7 @@ class SitooHelper extends env_1.default {
|
|
|
82
88
|
}
|
|
83
89
|
const envelope = await response.json();
|
|
84
90
|
allOrders.push(...envelope.items);
|
|
91
|
+
totalcount = envelope.totalcount;
|
|
85
92
|
if (envelope.items.length < pageSize) {
|
|
86
93
|
hasMore = false;
|
|
87
94
|
}
|
|
@@ -89,7 +96,11 @@ class SitooHelper extends env_1.default {
|
|
|
89
96
|
start += envelope.items.length;
|
|
90
97
|
}
|
|
91
98
|
}
|
|
92
|
-
return allOrders;
|
|
99
|
+
return { items: allOrders, totalcount };
|
|
100
|
+
}
|
|
101
|
+
async getAllOrders(options) {
|
|
102
|
+
const { items } = await this.getOrders(options);
|
|
103
|
+
return items;
|
|
93
104
|
}
|
|
94
105
|
async getSitooWarehouses() {
|
|
95
106
|
const url = `${this.baseUrl}/sites/${this.siteId}/warehouses.json`;
|
|
@@ -97,7 +108,6 @@ class SitooHelper extends env_1.default {
|
|
|
97
108
|
method: 'GET',
|
|
98
109
|
headers: {
|
|
99
110
|
'Authorization': `Basic ${this.opts.accessToken}`,
|
|
100
|
-
'Content-Type': 'application/json',
|
|
101
111
|
},
|
|
102
112
|
});
|
|
103
113
|
if (!response.ok) {
|
|
@@ -131,7 +141,6 @@ class SitooHelper extends env_1.default {
|
|
|
131
141
|
method: 'GET',
|
|
132
142
|
headers: {
|
|
133
143
|
'Authorization': `Basic ${this.opts.accessToken}`,
|
|
134
|
-
'Content-Type': 'application/json',
|
|
135
144
|
},
|
|
136
145
|
});
|
|
137
146
|
if (!response.ok) {
|
|
@@ -278,19 +287,19 @@ class SitooHelper extends env_1.default {
|
|
|
278
287
|
const hasMissingEntries = batches[0].length > 0;
|
|
279
288
|
if (!options?.preview && hasMissingEntries) {
|
|
280
289
|
for (let i = 0; i < batches.length; i++) {
|
|
281
|
-
const warehouseEntities = (0,
|
|
290
|
+
const warehouseEntities = (0, lodash_1.groupBy)(batches[i], (e) => `${locationCodeToWarehouse[e.location_code]}-${e.quantity > 0 ? 'positive' : 'negative'}`);
|
|
282
291
|
const entryNosInBatches = {};
|
|
283
292
|
const transactionsToCreate = [];
|
|
284
293
|
for (const k in warehouseEntities) {
|
|
285
294
|
const entriesToCreate = warehouseEntities[k];
|
|
286
295
|
const warehouseId = locationCodeToWarehouse[entriesToCreate[0].location_code];
|
|
287
296
|
const entryType = entriesToCreate[0].quantity > 0 ? SITOO_TR_TYPE_MANUAL_IN : SITOO_TR_TYPE_MANUAL_OUT;
|
|
288
|
-
entryNosInBatches[transactionsToCreate.length] = entriesToCreate.map(e => e.entry_no);
|
|
297
|
+
entryNosInBatches[transactionsToCreate.length] = entriesToCreate.map((e) => e.entry_no);
|
|
289
298
|
transactionsToCreate.push({
|
|
290
299
|
warehouseid: warehouseId,
|
|
291
300
|
transactiontype: entryType,
|
|
292
|
-
description: entriesToCreate.map(e => `'${e.entry_no}'`).join(', '),
|
|
293
|
-
items: entriesToCreate.map(e => ({
|
|
301
|
+
description: entriesToCreate.map((e) => `'${e.entry_no}'`).join(', '),
|
|
302
|
+
items: entriesToCreate.map((e) => ({
|
|
294
303
|
sku: [e.style_id, e.colour_id, e.size_code].filter(Boolean).join('-'),
|
|
295
304
|
decimalquantity: `${e.quantity.toFixed(3)}`,
|
|
296
305
|
moneypricein: (((e.unit_cost?.value ?? 0) / 100) * e.quantity).toFixed(2),
|
|
@@ -18,3 +18,5 @@ export { type CentraError, type CentraErrors, type BasicCentraCountry, type Basi
|
|
|
18
18
|
export { default as RateLimit, RedisConnectionError } from './rateLimit';
|
|
19
19
|
export { type TriggerOnCreateOptions, type TriggerOnExecuteOptions, type NodeOptions, type RNConfiguration, type TriggerExtraOptions } from './types';
|
|
20
20
|
export * from './fredhopper';
|
|
21
|
+
export * from './sitoo';
|
|
22
|
+
export { default as SitooHelper } from './sitoo';
|
|
@@ -46,6 +46,8 @@ export interface SitooOrderItem {
|
|
|
46
46
|
productattributes?: string;
|
|
47
47
|
externalid?: string | null;
|
|
48
48
|
externalidaliased?: string | null;
|
|
49
|
+
externalinput?: string;
|
|
50
|
+
externalinputtitle?: string;
|
|
49
51
|
unitlabel?: string;
|
|
50
52
|
decimalunitquantity?: string;
|
|
51
53
|
quantity: number;
|
|
@@ -53,10 +55,22 @@ export interface SitooOrderItem {
|
|
|
53
55
|
moneyrowprice: SitooMoney;
|
|
54
56
|
moneyrowdiscount?: SitooMoney;
|
|
55
57
|
moneyrow: SitooMoney;
|
|
58
|
+
moneynetpriceperunit?: string;
|
|
59
|
+
moneynetpriceperquantity?: string;
|
|
60
|
+
moneypriceorg?: string;
|
|
61
|
+
moneyitemtotal_net?: string;
|
|
62
|
+
moneyitemtotal_vat?: string;
|
|
63
|
+
moneyoriginalprice?: string;
|
|
64
|
+
moneydiscountedprice?: string;
|
|
65
|
+
moneydiscount?: string;
|
|
56
66
|
vatvalue?: number;
|
|
57
67
|
deliveryinfo?: string | null;
|
|
68
|
+
voucherid?: number;
|
|
69
|
+
vouchercode?: string;
|
|
70
|
+
vouchername?: string;
|
|
58
71
|
salestaxes?: SitooOrderItemSalesTax[];
|
|
59
72
|
additionaldata?: Record<string, string>;
|
|
73
|
+
decimalquantitytotal?: string;
|
|
60
74
|
}
|
|
61
75
|
export interface SitooOrderPayment {
|
|
62
76
|
name: string;
|
|
@@ -81,6 +95,7 @@ export interface SitooOrderReservedPayment {
|
|
|
81
95
|
export interface SitooOrder {
|
|
82
96
|
orderid: number;
|
|
83
97
|
orderstate: SitooOrderState;
|
|
98
|
+
orderstateid?: number;
|
|
84
99
|
ordertype: SitooOrderType;
|
|
85
100
|
paymentstate: SitooPaymentState;
|
|
86
101
|
datecreated: number;
|
|
@@ -105,6 +120,8 @@ export interface SitooOrder {
|
|
|
105
120
|
moneyrounding?: SitooMoney;
|
|
106
121
|
moneytotalpayments?: SitooMoney;
|
|
107
122
|
moneytotalreservedpayments?: SitooMoney;
|
|
123
|
+
moneyfinal_net?: string;
|
|
124
|
+
moneyfinal_vat?: string;
|
|
108
125
|
orderitems?: SitooOrderItem[];
|
|
109
126
|
payments?: SitooOrderPayment[];
|
|
110
127
|
reservedpayments?: SitooOrderReservedPayment[];
|
|
@@ -129,6 +146,8 @@ export interface GetAllOrdersOptions {
|
|
|
129
146
|
fromTimestamp?: number;
|
|
130
147
|
untilTimestamp?: number;
|
|
131
148
|
filterByState?: SitooOrderState;
|
|
149
|
+
orderids?: number[];
|
|
150
|
+
orderIdFrom?: number;
|
|
132
151
|
}
|
|
133
152
|
export interface SitooOrdersEnvelope {
|
|
134
153
|
totalcount: number;
|
|
@@ -236,6 +255,7 @@ export default class SitooHelper extends EnvEngine {
|
|
|
236
255
|
sitooBaseUrl: string;
|
|
237
256
|
sitooSiteId: number;
|
|
238
257
|
});
|
|
258
|
+
getOrders(options?: GetAllOrdersOptions): Promise<SitooOrdersEnvelope>;
|
|
239
259
|
getAllOrders(options?: GetAllOrdersOptions): Promise<SitooOrder[]>;
|
|
240
260
|
getSitooWarehouses(): Promise<{
|
|
241
261
|
nameToId: Record<string, number>;
|