@blamejs/blamejs-shop 0.0.128 → 0.1.0
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/CHANGELOG.md +6 -0
- package/README.md +2 -0
- package/lib/admin.js +1 -2
- package/lib/affiliates.js +4 -3
- package/lib/analytics.js +3 -2
- package/lib/api-keys.js +1 -1
- package/lib/assembly-instructions.js +2 -1
- package/lib/auto-replenish.js +4 -3
- package/lib/backorder.js +2 -1
- package/lib/business-hours.js +8 -1
- package/lib/carrier-accounts.js +1 -1
- package/lib/carrier-rates.js +1 -1
- package/lib/cart-abandonment.js +3 -2
- package/lib/cart-bulk-ops.js +2 -1
- package/lib/cart-recovery.js +5 -4
- package/lib/cart.js +6 -2
- package/lib/catalog-drafts.js +1 -1
- package/lib/click-and-collect.js +3 -2
- package/lib/clickstream.js +4 -3
- package/lib/config.js +2 -1
- package/lib/cookie-consent.js +2 -1
- package/lib/credit-limits.js +2 -1
- package/lib/currency-display.js +2 -1
- package/lib/customer-activity.js +3 -2
- package/lib/customer-impersonation.js +3 -3
- package/lib/customer-merge.js +4 -3
- package/lib/customer-portal.js +4 -4
- package/lib/customer-risk-profile.js +2 -1
- package/lib/customer-segments.js +2 -1
- package/lib/customer-surveys.js +6 -3
- package/lib/delivery-estimate.js +2 -2
- package/lib/demand-forecast.js +2 -1
- package/lib/discount-analytics.js +2 -2
- package/lib/dunning.js +4 -1
- package/lib/email-warmup.js +6 -1
- package/lib/email.js +1 -8
- package/lib/error-log.js +3 -2
- package/lib/event-log.js +3 -2
- package/lib/fraud-screen.js +3 -1
- package/lib/fulfillment-sla.js +3 -1
- package/lib/index.js +11 -3
- package/lib/inventory-allocations.js +3 -0
- package/lib/inventory-snapshots.js +2 -1
- package/lib/invoice-renderer.js +2 -1
- package/lib/line-gift-wrap.js +6 -1
- package/lib/live-chat.js +2 -1
- package/lib/loyalty-redemption.js +2 -1
- package/lib/newsletter.js +6 -1
- package/lib/operator-activity-feed.js +4 -3
- package/lib/operator-sessions.js +7 -7
- package/lib/order-exchanges.js +1 -0
- package/lib/order-timeline.js +2 -1
- package/lib/payment-retries.js +2 -1
- package/lib/payment.js +5 -4
- package/lib/pixel-events.js +6 -5
- package/lib/preorder.js +2 -1
- package/lib/print-queue.js +2 -1
- package/lib/product-compare.js +2 -1
- package/lib/product-qa.js +2 -1
- package/lib/push-notifications.js +6 -5
- package/lib/recently-viewed.js +7 -2
- package/lib/recommendations.js +7 -2
- package/lib/referral-leaderboard.js +2 -1
- package/lib/refund-automation.js +1 -1
- package/lib/refund-policy.js +1 -1
- package/lib/reorder-reminders.js +2 -1
- package/lib/reorder-thresholds.js +2 -1
- package/lib/robots-config.js +1 -0
- package/lib/sales-reports.js +17 -14
- package/lib/sales-tax-filings.js +2 -1
- package/lib/save-for-later.js +2 -1
- package/lib/search-suggestions.js +1 -1
- package/lib/shipping-insurance.js +2 -1
- package/lib/shipping-labels.js +3 -2
- package/lib/shipping-zones.js +1 -0
- package/lib/shrinkage-report.js +9 -8
- package/lib/sms-dispatcher.js +6 -5
- package/lib/stock-alerts.js +1 -1
- package/lib/stock-receipts.js +2 -1
- package/lib/store-credit.js +2 -1
- package/lib/storefront-forms.js +1 -1
- package/lib/storefront.js +223 -141
- package/lib/subscription-analytics.js +7 -2
- package/lib/subscription-controls.js +9 -8
- package/lib/subscription-gifts.js +2 -1
- package/lib/subscriptions.js +2 -0
- package/lib/support-tickets.js +4 -4
- package/lib/tax-cert-renewals.js +2 -1
- package/lib/tax-remittance.js +2 -1
- package/lib/theme-assets.js +1 -1
- package/lib/vendor/MANIFEST.json +2 -2
- package/lib/vendor/blamejs/CHANGELOG.md +4 -0
- package/lib/vendor/blamejs/README.md +2 -0
- package/lib/vendor/blamejs/api-snapshot.json +122 -2
- package/lib/vendor/blamejs/index.js +2 -0
- package/lib/vendor/blamejs/lib/did.js +367 -0
- package/lib/vendor/blamejs/lib/mdoc.js +305 -0
- package/lib/vendor/blamejs/package.json +1 -1
- package/lib/vendor/blamejs/release-notes/v0.12.40.json +18 -0
- package/lib/vendor/blamejs/release-notes/v0.12.41.json +18 -0
- package/lib/vendor/blamejs/test/layer-0-primitives/codebase-patterns.test.js +27 -1
- package/lib/vendor/blamejs/test/layer-0-primitives/did.test.js +147 -0
- package/lib/vendor/blamejs/test/layer-0-primitives/mdoc.test.js +230 -0
- package/lib/vendor-invoices.js +1 -1
- package/lib/webhook-receiver.js +8 -2
- package/lib/webhook-subscriptions.js +1 -1
- package/lib/webhooks.js +6 -5
- package/lib/winback-campaigns.js +2 -1
- package/lib/wishlist-alerts.js +2 -1
- package/lib/wishlist-digest.js +2 -1
- package/package.json +1 -1
package/lib/refund-automation.js
CHANGED
|
@@ -122,7 +122,7 @@ var MAX_PRIORITY = 1000000;
|
|
|
122
122
|
var MAX_LIST_LIMIT = 200;
|
|
123
123
|
var MAX_REASONS_PER_RULE = 32;
|
|
124
124
|
var MAX_CURRENCIES_PER_RULE = 32;
|
|
125
|
-
var MS_PER_YEAR = 365
|
|
125
|
+
var MS_PER_YEAR = _b().constants.TIME.days(365);
|
|
126
126
|
|
|
127
127
|
// Slug shape matches coupon-stacking / refund-policy convention.
|
|
128
128
|
var SLUG_RE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$/;
|
package/lib/refund-policy.js
CHANGED
|
@@ -81,7 +81,7 @@ var MAX_STATUS_LEN = 64;
|
|
|
81
81
|
var MAX_WINDOW_DAYS = 36500; // ~100 years; refuses absurd values
|
|
82
82
|
var MAX_PRIORITY = 1000000;
|
|
83
83
|
var MAX_LIST_LIMIT = 200;
|
|
84
|
-
var MS_PER_DAY =
|
|
84
|
+
var MS_PER_DAY = _b().constants.TIME.days(1);
|
|
85
85
|
|
|
86
86
|
// Slug shape matches coupon-stacking / promo-banners / customer-segments
|
|
87
87
|
// convention — alnum + hyphen + underscore + dot, leading char alnum,
|
package/lib/reorder-reminders.js
CHANGED
|
@@ -101,13 +101,14 @@ function _b() {
|
|
|
101
101
|
if (!bShop) bShop = require("./index");
|
|
102
102
|
return bShop.framework;
|
|
103
103
|
}
|
|
104
|
+
var C = _b().constants;
|
|
104
105
|
|
|
105
106
|
// ---- constants ----------------------------------------------------------
|
|
106
107
|
|
|
107
108
|
var SKU_RE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
|
|
108
109
|
var SLUG_RE = /^[a-z0-9][a-z0-9._-]{0,127}$/;
|
|
109
110
|
var ID_RE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
|
|
110
|
-
var DAY_MS =
|
|
111
|
+
var DAY_MS = C.TIME.days(1);
|
|
111
112
|
var MAX_INTERVAL_DAYS = 3650; // 10 years — same envelope as supplier lead times; refuses Number.MAX_SAFE_INTEGER typos
|
|
112
113
|
var MAX_BATCH_SIZE = 500;
|
|
113
114
|
var DEFAULT_BATCH_SIZE = 100;
|
|
@@ -113,6 +113,7 @@ function _b() {
|
|
|
113
113
|
if (!bShop) bShop = require("./index");
|
|
114
114
|
return bShop.framework;
|
|
115
115
|
}
|
|
116
|
+
var C = _b().constants;
|
|
116
117
|
|
|
117
118
|
// ---- constants ----------------------------------------------------------
|
|
118
119
|
|
|
@@ -120,7 +121,7 @@ var SKU_RE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
|
|
|
120
121
|
var CODE_RE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
|
|
121
122
|
var SLUG_RE = /^[a-z0-9][a-z0-9-]{0,63}$/;
|
|
122
123
|
var ID_RE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
|
|
123
|
-
var DAY_MS =
|
|
124
|
+
var DAY_MS = C.TIME.days(1);
|
|
124
125
|
var VELOCITY_WINDOW_DAYS = 30;
|
|
125
126
|
var MAX_LIMIT = 500;
|
|
126
127
|
var MAX_LEAD_TIME_DAYS = 3650; // 10 years — high enough to cover any real-world supplier promise; low enough to refuse a Number.MAX_SAFE_INTEGER typo
|
package/lib/robots-config.js
CHANGED
|
@@ -91,6 +91,7 @@ var MAX_PATH_LEN = 512;
|
|
|
91
91
|
var MAX_PATHS_PER_RULE = 200;
|
|
92
92
|
var MAX_SITEMAP_URL_LEN = 2048;
|
|
93
93
|
var MAX_HOST_LEN = 255;
|
|
94
|
+
// allow:raw-time-literal — robots.txt Crawl-delay is a seconds value; C.TIME returns ms
|
|
94
95
|
var MAX_CRAWL_DELAY = 86400; // 24 h — anything larger is a typo
|
|
95
96
|
var MAX_PRIORITY = 1000000;
|
|
96
97
|
var MAX_RULE_ID_LEN = 80;
|
package/lib/sales-reports.js
CHANGED
|
@@ -101,10 +101,11 @@ function _b() {
|
|
|
101
101
|
if (!bShop) bShop = require("./index");
|
|
102
102
|
return bShop.framework;
|
|
103
103
|
}
|
|
104
|
+
var C = _b().constants;
|
|
104
105
|
|
|
105
|
-
var ONE_YEAR_MS = 365
|
|
106
|
-
var DEFAULT_WINDOW_MS = 30
|
|
107
|
-
var DAY_MS =
|
|
106
|
+
var ONE_YEAR_MS = C.TIME.days(365);
|
|
107
|
+
var DEFAULT_WINDOW_MS = C.TIME.days(30);
|
|
108
|
+
var DAY_MS = C.TIME.days(1);
|
|
108
109
|
|
|
109
110
|
// Cache TTL by report key. Operator can override per-call via
|
|
110
111
|
// `cache_ttl_ms`; these are the safe defaults — short enough that a
|
|
@@ -112,17 +113,17 @@ var DAY_MS = 24 * 60 * 60 * 1000;
|
|
|
112
113
|
// hammering the dashboard doesn't re-scan the orders table on every
|
|
113
114
|
// keystroke.
|
|
114
115
|
var DEFAULT_CACHE_TTL_MS = {
|
|
115
|
-
revenue_by_day:
|
|
116
|
-
revenue_by_week: 5
|
|
117
|
-
revenue_by_month: 10
|
|
118
|
-
top_products: 5
|
|
119
|
-
top_customers: 5
|
|
120
|
-
revenue_by_country: 5
|
|
121
|
-
revenue_by_payment: 5
|
|
122
|
-
customer_cohort: 15
|
|
123
|
-
aov:
|
|
124
|
-
refund_rate:
|
|
125
|
-
funnel:
|
|
116
|
+
revenue_by_day: C.TIME.minutes(1),
|
|
117
|
+
revenue_by_week: C.TIME.minutes(5),
|
|
118
|
+
revenue_by_month: C.TIME.minutes(10),
|
|
119
|
+
top_products: C.TIME.minutes(5),
|
|
120
|
+
top_customers: C.TIME.minutes(5),
|
|
121
|
+
revenue_by_country: C.TIME.minutes(5),
|
|
122
|
+
revenue_by_payment: C.TIME.minutes(5),
|
|
123
|
+
customer_cohort: C.TIME.minutes(15),
|
|
124
|
+
aov: C.TIME.minutes(1),
|
|
125
|
+
refund_rate: C.TIME.minutes(1),
|
|
126
|
+
funnel: C.TIME.minutes(1),
|
|
126
127
|
};
|
|
127
128
|
|
|
128
129
|
var CACHE_NAMESPACE = "sales-report-cache";
|
|
@@ -663,7 +664,9 @@ function create(opts) {
|
|
|
663
664
|
// Calendar-month arithmetic on the cohort string. SQLite
|
|
664
665
|
// can do this natively via the modifier shape
|
|
665
666
|
// `'YYYY-MM-01', '+N months'`.
|
|
667
|
+
// allow:raw-time-literal — SQL strftime('%s') returns unix seconds; * 1000 converts to ms in SQLite
|
|
666
668
|
var rangeStartSql = "strftime('%s', ?1 || '-01', '+' || ?2 || ' months') * 1000";
|
|
669
|
+
// allow:raw-time-literal — SQL strftime('%s') returns unix seconds; * 1000 converts to ms in SQLite
|
|
667
670
|
var rangeEndSql = "strftime('%s', ?1 || '-01', '+' || (?2 + 1) || ' months') * 1000";
|
|
668
671
|
var rangeRow = await query(
|
|
669
672
|
"SELECT " + rangeStartSql + " AS rs, " + rangeEndSql + " AS re",
|
package/lib/sales-tax-filings.js
CHANGED
|
@@ -108,6 +108,7 @@ function _b() {
|
|
|
108
108
|
if (!bShop) bShop = require("./index");
|
|
109
109
|
return bShop.framework;
|
|
110
110
|
}
|
|
111
|
+
var C = _b().constants;
|
|
111
112
|
|
|
112
113
|
// ---- constants ----------------------------------------------------------
|
|
113
114
|
|
|
@@ -766,7 +767,7 @@ function create(opts) {
|
|
|
766
767
|
}
|
|
767
768
|
var days = _daysAhead(input.days_ahead);
|
|
768
769
|
var nowTs = input.now == null ? _now() : _epoch(input.now, "now");
|
|
769
|
-
var horizon = nowTs + (days
|
|
770
|
+
var horizon = nowTs + C.TIME.days(days);
|
|
770
771
|
|
|
771
772
|
var r = await query(
|
|
772
773
|
"SELECT * FROM sales_tax_filings " +
|
package/lib/save-for-later.js
CHANGED
|
@@ -76,6 +76,7 @@ function _b() {
|
|
|
76
76
|
if (!bShop) bShop = require("./index");
|
|
77
77
|
return bShop.framework;
|
|
78
78
|
}
|
|
79
|
+
var C = _b().constants;
|
|
79
80
|
|
|
80
81
|
function _uuid(s, label) {
|
|
81
82
|
try { return _b().guardUuid.sanitize(s, { profile: "strict" }); }
|
|
@@ -649,7 +650,7 @@ function create(opts) {
|
|
|
649
650
|
// cron / scheduled-worker layer can emit a metric.
|
|
650
651
|
expireOlderThan: async function (days) {
|
|
651
652
|
_days(days);
|
|
652
|
-
var threshold = _now() - (days
|
|
653
|
+
var threshold = _now() - C.TIME.days(days);
|
|
653
654
|
var r = await query(
|
|
654
655
|
"DELETE FROM save_for_later WHERE saved_at < ?1",
|
|
655
656
|
[threshold],
|
|
@@ -76,7 +76,7 @@ var MAX_PREFIX_LEN = 100;
|
|
|
76
76
|
var MAX_DISPLAY_TEXT_LEN = 200;
|
|
77
77
|
var MAX_LINK_URL_LEN = 2048;
|
|
78
78
|
var MAX_RESULT_COUNT = 1000000;
|
|
79
|
-
var POPULAR_WINDOW_MS = 30
|
|
79
|
+
var POPULAR_WINDOW_MS = _b().constants.TIME.days(30);
|
|
80
80
|
var FEATURED_STATUSES = ["active", "expired", "draft"];
|
|
81
81
|
var ALLOWED_FEATURED_COLS = [
|
|
82
82
|
"prefix", "display_text", "link_url", "priority",
|
|
@@ -98,6 +98,7 @@ function _b() {
|
|
|
98
98
|
if (!bShop) bShop = require("./index");
|
|
99
99
|
return bShop.framework;
|
|
100
100
|
}
|
|
101
|
+
var C = _b().constants;
|
|
101
102
|
|
|
102
103
|
// ---- constants ---------------------------------------------------------
|
|
103
104
|
|
|
@@ -109,7 +110,7 @@ var MAX_NAME_LEN = 200;
|
|
|
109
110
|
var MAX_AMOUNT_MINOR = 1000000000; // $10,000,000.00 — sane upper cap
|
|
110
111
|
var MAX_RATE_BPS = 10000; // 100% — exclusive ceiling
|
|
111
112
|
var MAX_CLAIM_DAYS = 3650; // 10 years — sane upper cap
|
|
112
|
-
var DAY_MS =
|
|
113
|
+
var DAY_MS = C.TIME.days(1);
|
|
113
114
|
|
|
114
115
|
var CLAIM_TYPES = Object.freeze(["lost", "damaged", "stolen", "not_delivered"]);
|
|
115
116
|
var INSURANCE_STATUSES = Object.freeze(["active", "cancelled", "expired"]);
|
package/lib/shipping-labels.js
CHANGED
|
@@ -63,6 +63,7 @@ function _b() {
|
|
|
63
63
|
if (!bShop) bShop = require("./index");
|
|
64
64
|
return bShop.framework;
|
|
65
65
|
}
|
|
66
|
+
var C = _b().constants;
|
|
66
67
|
|
|
67
68
|
// ---- constants ----------------------------------------------------------
|
|
68
69
|
|
|
@@ -90,7 +91,7 @@ var MAX_CUSTOMS_LINES = 100;
|
|
|
90
91
|
var DEFAULT_PENDING_LIMIT = 25;
|
|
91
92
|
var MAX_PENDING_LIMIT = 200;
|
|
92
93
|
|
|
93
|
-
var VOID_WINDOW_MS = 30
|
|
94
|
+
var VOID_WINDOW_MS = C.TIME.days(30); // 30 days
|
|
94
95
|
|
|
95
96
|
// ---- validators ---------------------------------------------------------
|
|
96
97
|
|
|
@@ -407,7 +408,7 @@ function create(opts) {
|
|
|
407
408
|
// when it forwards the void to the broker.
|
|
408
409
|
if (ts - row.purchased_at > VOID_WINDOW_MS) {
|
|
409
410
|
var werr = new Error("shipping-labels.voidLabel: refused — label was purchased more than 30 days ago (" +
|
|
410
|
-
Math.floor((ts - row.purchased_at) /
|
|
411
|
+
Math.floor((ts - row.purchased_at) / C.TIME.days(1)) + " days)");
|
|
411
412
|
werr.code = "SHIPPING_LABELS_VOID_WINDOW_EXPIRED";
|
|
412
413
|
throw werr;
|
|
413
414
|
}
|
package/lib/shipping-zones.js
CHANGED
|
@@ -81,6 +81,7 @@ var REGION_RE = /^[A-Z0-9]{1,3}$/;
|
|
|
81
81
|
var MAX_RATES = 256;
|
|
82
82
|
var MAX_SERVICE_LABEL_LEN = 128;
|
|
83
83
|
|
|
84
|
+
// allow:raw-time-literal — grams (1 t), not a duration; the `* 1000` is a mass conversion
|
|
84
85
|
var MAX_WEIGHT_GRAMS = 1000 * 1000; // 1 t — generous, refuses absurd input
|
|
85
86
|
var MAX_ORDER_MINOR = 1e12; // 10 billion in the minor unit — generous
|
|
86
87
|
|
package/lib/shrinkage-report.js
CHANGED
|
@@ -134,10 +134,11 @@ function _b() {
|
|
|
134
134
|
if (!bShop) bShop = require("./index");
|
|
135
135
|
return bShop.framework;
|
|
136
136
|
}
|
|
137
|
+
var C = _b().constants;
|
|
137
138
|
|
|
138
139
|
// ---- constants ----------------------------------------------------------
|
|
139
140
|
|
|
140
|
-
var DAY_MS =
|
|
141
|
+
var DAY_MS = C.TIME.days(1);
|
|
141
142
|
var TWO_YEARS_MS = 730 * DAY_MS;
|
|
142
143
|
var MAX_LIMIT = 100;
|
|
143
144
|
var DEFAULT_LIMIT = 10;
|
|
@@ -152,13 +153,13 @@ var CACHE_NAMESPACE = "shrinkage-report-cache";
|
|
|
152
153
|
// computation is the heaviest and the operator response time on a
|
|
153
154
|
// red-flag alert is minutes-not-seconds.
|
|
154
155
|
var DEFAULT_CACHE_TTL_MS = Object.freeze({
|
|
155
|
-
report:
|
|
156
|
-
top_locations: 5
|
|
157
|
-
top_skus: 5
|
|
158
|
-
category_comparison: 5
|
|
159
|
-
monthly_trend: 10
|
|
160
|
-
reason_pie: 5
|
|
161
|
-
anomalies: 15
|
|
156
|
+
report: C.TIME.minutes(1),
|
|
157
|
+
top_locations: C.TIME.minutes(5),
|
|
158
|
+
top_skus: C.TIME.minutes(5),
|
|
159
|
+
category_comparison: C.TIME.minutes(5),
|
|
160
|
+
monthly_trend: C.TIME.minutes(10),
|
|
161
|
+
reason_pie: C.TIME.minutes(5),
|
|
162
|
+
anomalies: C.TIME.minutes(15),
|
|
162
163
|
});
|
|
163
164
|
|
|
164
165
|
// Reason-category mapping. Frozen at module load so the operator-
|
package/lib/sms-dispatcher.js
CHANGED
|
@@ -66,6 +66,7 @@ function _b() {
|
|
|
66
66
|
if (!bShop) bShop = require("./index");
|
|
67
67
|
return bShop.framework;
|
|
68
68
|
}
|
|
69
|
+
var C = _b().constants;
|
|
69
70
|
|
|
70
71
|
// ---- constants ----------------------------------------------------------
|
|
71
72
|
|
|
@@ -95,11 +96,11 @@ var MAX_PROVIDER_REF_LEN = 256;
|
|
|
95
96
|
// to compute `next_retry_at`; once the schedule is exhausted the row
|
|
96
97
|
// terminates as failed regardless of the caller's `retry` request.
|
|
97
98
|
var RETRY_BACKOFF_MS = [
|
|
98
|
-
|
|
99
|
-
5
|
|
100
|
-
30
|
|
101
|
-
2
|
|
102
|
-
12
|
|
99
|
+
C.TIME.minutes(1),
|
|
100
|
+
C.TIME.minutes(5),
|
|
101
|
+
C.TIME.minutes(30),
|
|
102
|
+
C.TIME.hours(2),
|
|
103
|
+
C.TIME.hours(12),
|
|
103
104
|
];
|
|
104
105
|
|
|
105
106
|
var SLUG_RE = /^[a-z](?:[a-z0-9-]*[a-z0-9])?$/;
|
package/lib/stock-alerts.js
CHANGED
|
@@ -57,7 +57,7 @@ var TOKEN_NAMESPACE = "stock-alert-token";
|
|
|
57
57
|
var TOKEN_BYTES = 24; // 24 raw bytes → 32 base64url chars
|
|
58
58
|
var TOKEN_LEN = 32;
|
|
59
59
|
var TOKEN_RE = /^[A-Za-z0-9_-]{32}$/;
|
|
60
|
-
var DEFAULT_TTL_MS =
|
|
60
|
+
var DEFAULT_TTL_MS = _b().constants.TIME.days(90); // 90 days
|
|
61
61
|
var SKU_RE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
|
|
62
62
|
var MAX_LIST_LIMIT = 200;
|
|
63
63
|
var DEFAULT_LIMIT = 50;
|
package/lib/stock-receipts.js
CHANGED
|
@@ -74,6 +74,7 @@ function _b() {
|
|
|
74
74
|
if (!bShop) bShop = require("./index");
|
|
75
75
|
return bShop.framework;
|
|
76
76
|
}
|
|
77
|
+
var C = _b().constants;
|
|
77
78
|
|
|
78
79
|
// ---- constants ----------------------------------------------------------
|
|
79
80
|
|
|
@@ -385,7 +386,7 @@ function create(opts) {
|
|
|
385
386
|
var plaintext = _generateToken();
|
|
386
387
|
var tokenHash = _hashToken(plaintext);
|
|
387
388
|
var nowTs = _now();
|
|
388
|
-
var expiresAt = nowTs + (expiresHours
|
|
389
|
+
var expiresAt = nowTs + C.TIME.hours(expiresHours);
|
|
389
390
|
|
|
390
391
|
if (existing) {
|
|
391
392
|
await query(
|
package/lib/store-credit.js
CHANGED
|
@@ -65,6 +65,7 @@ function _b() {
|
|
|
65
65
|
if (!bShop) bShop = require("./index");
|
|
66
66
|
return bShop.framework;
|
|
67
67
|
}
|
|
68
|
+
var C = _b().constants;
|
|
68
69
|
|
|
69
70
|
var KINDS = ["credit", "debit", "expire"];
|
|
70
71
|
var SOURCES = ["refund", "goodwill", "promotional", "manual", "loyalty_redemption"];
|
|
@@ -76,7 +77,7 @@ var MAX_SOURCE_REF_LEN = 128;
|
|
|
76
77
|
var PRINTABLE_RE = /^[^\x00-\x1f\x7f]*$/;
|
|
77
78
|
|
|
78
79
|
var MAX_BULK_IDS = 500;
|
|
79
|
-
var MS_PER_DAY =
|
|
80
|
+
var MS_PER_DAY = C.TIME.days(1);
|
|
80
81
|
|
|
81
82
|
// ---- validators ---------------------------------------------------------
|
|
82
83
|
|
package/lib/storefront-forms.js
CHANGED
|
@@ -90,7 +90,7 @@ var MAX_LIST_LIMIT = 200;
|
|
|
90
90
|
var DEFAULT_LIST_LIMIT = 50;
|
|
91
91
|
var DEFAULT_THROTTLE_LIMIT = 5;
|
|
92
92
|
var MAX_THROTTLE_LIMIT = 1000;
|
|
93
|
-
var THROTTLE_WINDOW_MS =
|
|
93
|
+
var THROTTLE_WINDOW_MS = _b().constants.TIME.minutes(1);
|
|
94
94
|
|
|
95
95
|
var SESSION_NAMESPACE = "storefront-form-session";
|
|
96
96
|
|