@infuro/cms-core 1.0.56 → 1.0.58
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/admin.cjs +1 -1
- package/dist/admin.js +1 -1
- package/dist/api.cjs +33 -33
- package/dist/api.js +2 -2
- package/dist/{chunk-LI3CUI54.js → chunk-AGU3B5JW.js} +91 -19
- package/dist/{chunk-JGR4ZUON.cjs → chunk-BHUEXLD2.cjs} +120 -48
- package/dist/{chunk-JN4AFHZ4.cjs → chunk-HXLC56ZK.cjs} +44 -1
- package/dist/{chunk-CTXBYO2J.js → chunk-HYW3MUXT.js} +43 -1
- package/dist/index.cjs +228 -228
- package/dist/index.d.cts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +4 -4
- package/dist/migrations/1782600000000-ChangeUserDeviceTokenUserVendorIds.ts +118 -0
- package/dist/migrations/1782700000000-NullableUserDeviceTokenVendorId.ts +28 -0
- package/dist/{order-notification-dispatcher-YBAWDOIO.cjs → order-notification-dispatcher-2FCZFZUD.cjs} +4 -4
- package/dist/{order-notification-dispatcher-AT4IFAGL.js → order-notification-dispatcher-64WDCHHG.js} +1 -1
- package/package.json +1 -1
package/dist/admin.cjs
CHANGED
|
@@ -887,7 +887,7 @@ var init_admin_config_context = __esm({
|
|
|
887
887
|
var CMS_VERSION;
|
|
888
888
|
var init_cms_version = __esm({
|
|
889
889
|
"src/lib/cms-version.ts"() {
|
|
890
|
-
CMS_VERSION = "1.0.
|
|
890
|
+
CMS_VERSION = "1.0.58" ;
|
|
891
891
|
}
|
|
892
892
|
});
|
|
893
893
|
function useCatalogCategories(enabled = true) {
|
package/dist/admin.js
CHANGED
|
@@ -853,7 +853,7 @@ var init_admin_config_context = __esm({
|
|
|
853
853
|
var CMS_VERSION;
|
|
854
854
|
var init_cms_version = __esm({
|
|
855
855
|
"src/lib/cms-version.ts"() {
|
|
856
|
-
CMS_VERSION = "1.0.
|
|
856
|
+
CMS_VERSION = "1.0.58" ;
|
|
857
857
|
}
|
|
858
858
|
});
|
|
859
859
|
function useCatalogCategories(enabled = true) {
|
package/dist/api.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkBHUEXLD2_cjs = require('./chunk-BHUEXLD2.cjs');
|
|
4
4
|
require('./chunk-XQ3QUHWR.cjs');
|
|
5
5
|
require('./chunk-HY3AXLOI.cjs');
|
|
6
|
-
require('./chunk-
|
|
6
|
+
require('./chunk-HXLC56ZK.cjs');
|
|
7
7
|
require('./chunk-UCKN4BBY.cjs');
|
|
8
8
|
require('./chunk-7NMT3GBR.cjs');
|
|
9
9
|
require('./chunk-V25RDUOU.cjs');
|
|
@@ -22,127 +22,127 @@ require('./chunk-USNT2KNT.cjs');
|
|
|
22
22
|
|
|
23
23
|
Object.defineProperty(exports, "createAnalyticsHandlers", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkBHUEXLD2_cjs.createAnalyticsHandlers; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "createBlogBySlugHandler", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkBHUEXLD2_cjs.createBlogBySlugHandler; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "createChangePasswordHandler", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkBHUEXLD2_cjs.createChangePasswordHandler; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "createCmsApiHandler", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkBHUEXLD2_cjs.createCmsApiHandler; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "createCrudByIdHandler", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkBHUEXLD2_cjs.createCrudByIdHandler; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "createCrudHandler", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkBHUEXLD2_cjs.createCrudHandler; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "createDashboardStatsHandler", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkBHUEXLD2_cjs.createDashboardStatsHandler; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "createEcommerceAnalyticsHandler", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkBHUEXLD2_cjs.createEcommerceAnalyticsHandler; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "createForgotPasswordHandler", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkBHUEXLD2_cjs.createForgotPasswordHandler; }
|
|
58
58
|
});
|
|
59
59
|
Object.defineProperty(exports, "createFormBySlugHandler", {
|
|
60
60
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkBHUEXLD2_cjs.createFormBySlugHandler; }
|
|
62
62
|
});
|
|
63
63
|
Object.defineProperty(exports, "createInviteAcceptHandler", {
|
|
64
64
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
65
|
+
get: function () { return chunkBHUEXLD2_cjs.createInviteAcceptHandler; }
|
|
66
66
|
});
|
|
67
67
|
Object.defineProperty(exports, "createJobScheduleHandlers", {
|
|
68
68
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
69
|
+
get: function () { return chunkBHUEXLD2_cjs.createJobScheduleHandlers; }
|
|
70
70
|
});
|
|
71
71
|
Object.defineProperty(exports, "createLlmAgentKnowledgeHandlers", {
|
|
72
72
|
enumerable: true,
|
|
73
|
-
get: function () { return
|
|
73
|
+
get: function () { return chunkBHUEXLD2_cjs.createLlmAgentKnowledgeHandlers; }
|
|
74
74
|
});
|
|
75
75
|
Object.defineProperty(exports, "createMediaZipExtractHandler", {
|
|
76
76
|
enumerable: true,
|
|
77
|
-
get: function () { return
|
|
77
|
+
get: function () { return chunkBHUEXLD2_cjs.createMediaZipExtractHandler; }
|
|
78
78
|
});
|
|
79
79
|
Object.defineProperty(exports, "createSetPasswordHandler", {
|
|
80
80
|
enumerable: true,
|
|
81
|
-
get: function () { return
|
|
81
|
+
get: function () { return chunkBHUEXLD2_cjs.createSetPasswordHandler; }
|
|
82
82
|
});
|
|
83
83
|
Object.defineProperty(exports, "createSettingsApiHandlers", {
|
|
84
84
|
enumerable: true,
|
|
85
|
-
get: function () { return
|
|
85
|
+
get: function () { return chunkBHUEXLD2_cjs.createSettingsApiHandlers; }
|
|
86
86
|
});
|
|
87
87
|
Object.defineProperty(exports, "createStorefrontApiHandler", {
|
|
88
88
|
enumerable: true,
|
|
89
|
-
get: function () { return
|
|
89
|
+
get: function () { return chunkBHUEXLD2_cjs.createStorefrontApiHandler; }
|
|
90
90
|
});
|
|
91
91
|
Object.defineProperty(exports, "createUploadHandler", {
|
|
92
92
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
93
|
+
get: function () { return chunkBHUEXLD2_cjs.createUploadHandler; }
|
|
94
94
|
});
|
|
95
95
|
Object.defineProperty(exports, "createUserAuthApiRouter", {
|
|
96
96
|
enumerable: true,
|
|
97
|
-
get: function () { return
|
|
97
|
+
get: function () { return chunkBHUEXLD2_cjs.createUserAuthApiRouter; }
|
|
98
98
|
});
|
|
99
99
|
Object.defineProperty(exports, "createUserAvatarHandler", {
|
|
100
100
|
enumerable: true,
|
|
101
|
-
get: function () { return
|
|
101
|
+
get: function () { return chunkBHUEXLD2_cjs.createUserAvatarHandler; }
|
|
102
102
|
});
|
|
103
103
|
Object.defineProperty(exports, "createUserProfileHandler", {
|
|
104
104
|
enumerable: true,
|
|
105
|
-
get: function () { return
|
|
105
|
+
get: function () { return chunkBHUEXLD2_cjs.createUserProfileHandler; }
|
|
106
106
|
});
|
|
107
107
|
Object.defineProperty(exports, "createUsersApiHandlers", {
|
|
108
108
|
enumerable: true,
|
|
109
|
-
get: function () { return
|
|
109
|
+
get: function () { return chunkBHUEXLD2_cjs.createUsersApiHandlers; }
|
|
110
110
|
});
|
|
111
111
|
Object.defineProperty(exports, "createVendorDashboardHandler", {
|
|
112
112
|
enumerable: true,
|
|
113
|
-
get: function () { return
|
|
113
|
+
get: function () { return chunkBHUEXLD2_cjs.createVendorDashboardHandler; }
|
|
114
114
|
});
|
|
115
115
|
Object.defineProperty(exports, "createVendorOnboardHandlers", {
|
|
116
116
|
enumerable: true,
|
|
117
|
-
get: function () { return
|
|
117
|
+
get: function () { return chunkBHUEXLD2_cjs.createVendorOnboardHandlers; }
|
|
118
118
|
});
|
|
119
119
|
Object.defineProperty(exports, "getPublicSettingsGroup", {
|
|
120
120
|
enumerable: true,
|
|
121
|
-
get: function () { return
|
|
121
|
+
get: function () { return chunkBHUEXLD2_cjs.getPublicSettingsGroup; }
|
|
122
122
|
});
|
|
123
123
|
Object.defineProperty(exports, "mergeGuardrailsIntoSystemPrompt", {
|
|
124
124
|
enumerable: true,
|
|
125
|
-
get: function () { return
|
|
125
|
+
get: function () { return chunkBHUEXLD2_cjs.mergeGuardrailsIntoSystemPrompt; }
|
|
126
126
|
});
|
|
127
127
|
Object.defineProperty(exports, "parseLlmAgentValidationRules", {
|
|
128
128
|
enumerable: true,
|
|
129
|
-
get: function () { return
|
|
129
|
+
get: function () { return chunkBHUEXLD2_cjs.parseLlmAgentValidationRules; }
|
|
130
130
|
});
|
|
131
131
|
Object.defineProperty(exports, "simpleDecrypt", {
|
|
132
132
|
enumerable: true,
|
|
133
|
-
get: function () { return
|
|
133
|
+
get: function () { return chunkBHUEXLD2_cjs.simpleDecrypt; }
|
|
134
134
|
});
|
|
135
135
|
Object.defineProperty(exports, "simpleEncrypt", {
|
|
136
136
|
enumerable: true,
|
|
137
|
-
get: function () { return
|
|
137
|
+
get: function () { return chunkBHUEXLD2_cjs.simpleEncrypt; }
|
|
138
138
|
});
|
|
139
139
|
Object.defineProperty(exports, "validateUserMessageAgainstAgentRules", {
|
|
140
140
|
enumerable: true,
|
|
141
|
-
get: function () { return
|
|
141
|
+
get: function () { return chunkBHUEXLD2_cjs.validateUserMessageAgainstAgentRules; }
|
|
142
142
|
});
|
|
143
143
|
Object.defineProperty(exports, "validateUserMessageAgainstStructuredRules", {
|
|
144
144
|
enumerable: true,
|
|
145
|
-
get: function () { return
|
|
145
|
+
get: function () { return chunkBHUEXLD2_cjs.validateUserMessageAgainstStructuredRules; }
|
|
146
146
|
});
|
|
147
147
|
Object.defineProperty(exports, "createCmsAuthBundle", {
|
|
148
148
|
enumerable: true,
|
package/dist/api.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { createAnalyticsHandlers, createBlogBySlugHandler, createChangePasswordHandler, createCmsApiHandler, createCrudByIdHandler, createCrudHandler, createDashboardStatsHandler, createEcommerceAnalyticsHandler, createForgotPasswordHandler, createFormBySlugHandler, createInviteAcceptHandler, createJobScheduleHandlers, createLlmAgentKnowledgeHandlers, createMediaZipExtractHandler, createSetPasswordHandler, createSettingsApiHandlers, createStorefrontApiHandler, createUploadHandler, createUserAuthApiRouter, createUserAvatarHandler, createUserProfileHandler, createUsersApiHandlers, createVendorDashboardHandler, createVendorOnboardHandlers, getPublicSettingsGroup, mergeGuardrailsIntoSystemPrompt, parseLlmAgentValidationRules, simpleDecrypt, simpleEncrypt, validateUserMessageAgainstAgentRules, validateUserMessageAgainstStructuredRules } from './chunk-
|
|
1
|
+
export { createAnalyticsHandlers, createBlogBySlugHandler, createChangePasswordHandler, createCmsApiHandler, createCrudByIdHandler, createCrudHandler, createDashboardStatsHandler, createEcommerceAnalyticsHandler, createForgotPasswordHandler, createFormBySlugHandler, createInviteAcceptHandler, createJobScheduleHandlers, createLlmAgentKnowledgeHandlers, createMediaZipExtractHandler, createSetPasswordHandler, createSettingsApiHandlers, createStorefrontApiHandler, createUploadHandler, createUserAuthApiRouter, createUserAvatarHandler, createUserProfileHandler, createUsersApiHandlers, createVendorDashboardHandler, createVendorOnboardHandlers, getPublicSettingsGroup, mergeGuardrailsIntoSystemPrompt, parseLlmAgentValidationRules, simpleDecrypt, simpleEncrypt, validateUserMessageAgainstAgentRules, validateUserMessageAgainstStructuredRules } from './chunk-AGU3B5JW.js';
|
|
2
2
|
import './chunk-GO7PPYNU.js';
|
|
3
3
|
import './chunk-3K5AIEIZ.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-HYW3MUXT.js';
|
|
5
5
|
import './chunk-HCIRL37O.js';
|
|
6
6
|
import './chunk-JXF23MPG.js';
|
|
7
7
|
import './chunk-L3525VXI.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JOB_RUNNER_QUEUE } from './chunk-GO7PPYNU.js';
|
|
2
2
|
import { validateInventoryForConfirmedOrderLines, orderStatusHoldsStock, reconcileOrderInventoryBetweenSnapshots, orderInventorySnapshotFromRow, validateInventoryForOrderBecomingConfirmed } from './chunk-3K5AIEIZ.js';
|
|
3
|
-
import { resolveChatEmailToolSettings, CHAT_EMAIL_LOG, detectChatLeadIntent, parseIntentRecipientEmails, sendChatLeadEmail, buildTranscriptForLeadEmail, buildChatbotSystemPromptWithEmailTool, sendFcmPushNotification, parseEmailRecipientsFromConfig, isWhatsAppPluginEnabled, mergeWhatsAppConfigLayers, whatsAppConfigured, WhatsAppService, registerWhatsAppQueueProcessor, emailPlugin, initWhatsappTriggerDispatcher } from './chunk-
|
|
3
|
+
import { resolveChatEmailToolSettings, CHAT_EMAIL_LOG, detectChatLeadIntent, parseIntentRecipientEmails, sendChatLeadEmail, buildTranscriptForLeadEmail, buildChatbotSystemPromptWithEmailTool, validateFcmCredentials, sendFcmPushNotification, parseEmailRecipientsFromConfig, isWhatsAppPluginEnabled, mergeWhatsAppConfigLayers, whatsAppConfigured, WhatsAppService, registerWhatsAppQueueProcessor, emailPlugin, initWhatsappTriggerDispatcher } from './chunk-HYW3MUXT.js';
|
|
4
4
|
import { inviteStatusForActivation } from './chunk-JXF23MPG.js';
|
|
5
5
|
import { queueEmail, queueVendorOnboardEmails, registerEmailQueueProcessor } from './chunk-L3525VXI.js';
|
|
6
6
|
import { mergeEmailLayoutCompanyDetails, unwrapErpReadData, mapErpPayloadToFulfillment, extractChildOrderRefsFromSalePayload, mapErpPayloadToInvoiceNumber, streamOrderInvoicePdf } from './chunk-2KUCQVAQ.js';
|
|
@@ -12,7 +12,7 @@ import { retireSoftDeletedUniqueValue, activeUniqueValueExists } from './chunk-D
|
|
|
12
12
|
import { permissionRowsToRecord, logRbac, isSuperAdmin, vendorPortalFlagsFromUser, VENDOR_SCOPED_STORE_ENTITIES, isVendorPortalUser, getPermissionableEntityKeys, VENDOR_STORE_RBAC_ENTITIES, isSuperAdminGroupName, VENDOR_RBAC_ENTITIES, VENDOR_VIEWER_ROLE_NAME, DEFAULT_VENDOR_ROLE_DEFS, VENDOR_GROUP_NAME, resolveVendorScopeFromSessionUser, canManageVendorRoles, isPlatformAdministrator, canManageVendorTeam, resolveDisabledMultiVendorScope, logEntityAccessDecision, explainSessionEntityAccess } from './chunk-JIWUVQ6B.js';
|
|
13
13
|
import { queueErp } from './chunk-SYBOCAWB.js';
|
|
14
14
|
import { __name } from './chunk-SHUYVCID.js';
|
|
15
|
-
import { PrimaryGeneratedColumn, Column, Entity,
|
|
15
|
+
import { PrimaryGeneratedColumn, Column, Entity, ManyToOne, JoinColumn, CreateDateColumn, UpdateDateColumn, Unique, OneToMany, Index, ManyToMany, JoinTable, In, ILike, Between, MoreThanOrEqual, LessThanOrEqual, Not, MoreThan, IsNull } from 'typeorm';
|
|
16
16
|
import { Country, State, City } from 'country-state-city';
|
|
17
17
|
import crypto2, { randomBytes, randomUUID, createHmac, timingSafeEqual, randomInt } from 'crypto';
|
|
18
18
|
import Parser from 'rss-parser';
|
|
@@ -12056,8 +12056,11 @@ var UserDeviceToken = class {
|
|
|
12056
12056
|
__name(this, "UserDeviceToken");
|
|
12057
12057
|
}
|
|
12058
12058
|
id;
|
|
12059
|
+
/** Staff/vendor app store. Null for customer/marketplace tokens (membership is `vendor_customers`). */
|
|
12059
12060
|
vendorId;
|
|
12061
|
+
vendor;
|
|
12060
12062
|
userId;
|
|
12063
|
+
user;
|
|
12061
12064
|
token;
|
|
12062
12065
|
platform;
|
|
12063
12066
|
deviceId;
|
|
@@ -12073,18 +12076,38 @@ _ts_decorate2([
|
|
|
12073
12076
|
], UserDeviceToken.prototype, "id", void 0);
|
|
12074
12077
|
_ts_decorate2([
|
|
12075
12078
|
Column({
|
|
12076
|
-
type: "
|
|
12077
|
-
name: "vendor_id"
|
|
12079
|
+
type: "integer",
|
|
12080
|
+
name: "vendor_id",
|
|
12081
|
+
nullable: true
|
|
12078
12082
|
}),
|
|
12079
|
-
_ts_metadata2("design:type",
|
|
12083
|
+
_ts_metadata2("design:type", Object)
|
|
12080
12084
|
], UserDeviceToken.prototype, "vendorId", void 0);
|
|
12085
|
+
_ts_decorate2([
|
|
12086
|
+
ManyToOne("Vendor", {
|
|
12087
|
+
onDelete: "CASCADE",
|
|
12088
|
+
nullable: true
|
|
12089
|
+
}),
|
|
12090
|
+
JoinColumn({
|
|
12091
|
+
name: "vendor_id"
|
|
12092
|
+
}),
|
|
12093
|
+
_ts_metadata2("design:type", Object)
|
|
12094
|
+
], UserDeviceToken.prototype, "vendor", void 0);
|
|
12081
12095
|
_ts_decorate2([
|
|
12082
12096
|
Column({
|
|
12083
|
-
type: "
|
|
12097
|
+
type: "integer",
|
|
12084
12098
|
name: "user_id"
|
|
12085
12099
|
}),
|
|
12086
|
-
_ts_metadata2("design:type",
|
|
12100
|
+
_ts_metadata2("design:type", Number)
|
|
12087
12101
|
], UserDeviceToken.prototype, "userId", void 0);
|
|
12102
|
+
_ts_decorate2([
|
|
12103
|
+
ManyToOne("User", {
|
|
12104
|
+
onDelete: "CASCADE"
|
|
12105
|
+
}),
|
|
12106
|
+
JoinColumn({
|
|
12107
|
+
name: "user_id"
|
|
12108
|
+
}),
|
|
12109
|
+
_ts_metadata2("design:type", Object)
|
|
12110
|
+
], UserDeviceToken.prototype, "user", void 0);
|
|
12088
12111
|
_ts_decorate2([
|
|
12089
12112
|
Column({
|
|
12090
12113
|
type: "text"
|
|
@@ -12159,6 +12182,22 @@ UserDeviceToken = _ts_decorate2([
|
|
|
12159
12182
|
], UserDeviceToken);
|
|
12160
12183
|
|
|
12161
12184
|
// src/api/device-tokens-handlers.ts
|
|
12185
|
+
function parseRequiredPositiveInt(value, field) {
|
|
12186
|
+
const n = parseInt(String(value ?? "").trim(), 10);
|
|
12187
|
+
if (!Number.isFinite(n) || n <= 0) {
|
|
12188
|
+
return {
|
|
12189
|
+
error: `${field} must be a positive integer`
|
|
12190
|
+
};
|
|
12191
|
+
}
|
|
12192
|
+
return n;
|
|
12193
|
+
}
|
|
12194
|
+
__name(parseRequiredPositiveInt, "parseRequiredPositiveInt");
|
|
12195
|
+
function parseOptionalVendorId(value) {
|
|
12196
|
+
if (value == null) return null;
|
|
12197
|
+
if (typeof value === "string" && value.trim() === "") return null;
|
|
12198
|
+
return parseRequiredPositiveInt(value, "vendor_id");
|
|
12199
|
+
}
|
|
12200
|
+
__name(parseOptionalVendorId, "parseOptionalVendorId");
|
|
12162
12201
|
function createDeviceTokensHandlers(config) {
|
|
12163
12202
|
const { dataSource, entityMap, json } = config;
|
|
12164
12203
|
return /* @__PURE__ */ __name(async function handleDeviceTokensApi(req, pathSegments) {
|
|
@@ -12230,18 +12269,28 @@ function createDeviceTokensHandlers(config) {
|
|
|
12230
12269
|
if (method === "POST") {
|
|
12231
12270
|
try {
|
|
12232
12271
|
const body = await req.json().catch(() => ({}));
|
|
12233
|
-
const
|
|
12234
|
-
const
|
|
12272
|
+
const vendorParsed = parseOptionalVendorId(body.vendor_id);
|
|
12273
|
+
const userParsed = parseRequiredPositiveInt(body.user_id, "user_id");
|
|
12235
12274
|
const token = body.token?.trim();
|
|
12236
12275
|
const platformRaw = body.platform?.trim().toLowerCase();
|
|
12237
|
-
if (
|
|
12276
|
+
if (vendorParsed !== null && typeof vendorParsed === "object") {
|
|
12277
|
+
return json({
|
|
12278
|
+
success: false,
|
|
12279
|
+
error: vendorParsed.error
|
|
12280
|
+
}, {
|
|
12281
|
+
status: 400
|
|
12282
|
+
});
|
|
12283
|
+
}
|
|
12284
|
+
if (typeof userParsed === "object" || !token || !platformRaw) {
|
|
12238
12285
|
return json({
|
|
12239
12286
|
success: false,
|
|
12240
|
-
error: "
|
|
12287
|
+
error: (typeof userParsed === "object" ? userParsed.error : null) || "user_id, token, and platform (android|ios) are required"
|
|
12241
12288
|
}, {
|
|
12242
12289
|
status: 400
|
|
12243
12290
|
});
|
|
12244
12291
|
}
|
|
12292
|
+
const vendorId = vendorParsed;
|
|
12293
|
+
const userId = userParsed;
|
|
12245
12294
|
if (platformRaw !== "android" && platformRaw !== "ios") {
|
|
12246
12295
|
return json({
|
|
12247
12296
|
success: false,
|
|
@@ -12307,13 +12356,35 @@ function createDeviceTokensHandlers(config) {
|
|
|
12307
12356
|
if (method === "GET") {
|
|
12308
12357
|
try {
|
|
12309
12358
|
const url = new URL(req.url);
|
|
12310
|
-
const
|
|
12311
|
-
const
|
|
12359
|
+
const userIdRaw = url.searchParams.get("userId")?.trim();
|
|
12360
|
+
const vendorIdRaw = url.searchParams.get("vendorId")?.trim();
|
|
12312
12361
|
const whereCondition = {
|
|
12313
12362
|
isActive: true
|
|
12314
12363
|
};
|
|
12315
|
-
if (
|
|
12316
|
-
|
|
12364
|
+
if (userIdRaw) {
|
|
12365
|
+
const userId = parseRequiredPositiveInt(userIdRaw, "userId");
|
|
12366
|
+
if (typeof userId === "object") {
|
|
12367
|
+
return json({
|
|
12368
|
+
success: false,
|
|
12369
|
+
error: userId.error
|
|
12370
|
+
}, {
|
|
12371
|
+
status: 400
|
|
12372
|
+
});
|
|
12373
|
+
}
|
|
12374
|
+
whereCondition.userId = userId;
|
|
12375
|
+
}
|
|
12376
|
+
if (vendorIdRaw) {
|
|
12377
|
+
const vendorId = parseRequiredPositiveInt(vendorIdRaw, "vendorId");
|
|
12378
|
+
if (typeof vendorId === "object") {
|
|
12379
|
+
return json({
|
|
12380
|
+
success: false,
|
|
12381
|
+
error: vendorId.error
|
|
12382
|
+
}, {
|
|
12383
|
+
status: 400
|
|
12384
|
+
});
|
|
12385
|
+
}
|
|
12386
|
+
whereCondition.vendorId = vendorId;
|
|
12387
|
+
}
|
|
12317
12388
|
const tokens = await tokenRepo.find({
|
|
12318
12389
|
where: whereCondition,
|
|
12319
12390
|
order: {
|
|
@@ -12340,16 +12411,17 @@ function createDeviceTokensHandlers(config) {
|
|
|
12340
12411
|
if (method === "DELETE") {
|
|
12341
12412
|
try {
|
|
12342
12413
|
const body = await req.json().catch(() => ({}));
|
|
12343
|
-
const
|
|
12414
|
+
const userParsed = parseRequiredPositiveInt(body.user_id, "user_id");
|
|
12344
12415
|
const token = body.token?.trim();
|
|
12345
|
-
if (
|
|
12416
|
+
if (typeof userParsed === "object" || !token) {
|
|
12346
12417
|
return json({
|
|
12347
12418
|
success: false,
|
|
12348
|
-
error: "user_id and token are required to deactivate"
|
|
12419
|
+
error: (typeof userParsed === "object" ? userParsed.error : null) || "user_id and token are required to deactivate"
|
|
12349
12420
|
}, {
|
|
12350
12421
|
status: 400
|
|
12351
12422
|
});
|
|
12352
12423
|
}
|
|
12424
|
+
const userId = userParsed;
|
|
12353
12425
|
await tokenRepo.update({
|
|
12354
12426
|
userId,
|
|
12355
12427
|
token
|
|
@@ -29771,7 +29843,7 @@ function createCmsApiHandler(config) {
|
|
|
29771
29843
|
status: 400
|
|
29772
29844
|
});
|
|
29773
29845
|
}
|
|
29774
|
-
const { resendOrderNotification } = await import('./order-notification-dispatcher-
|
|
29846
|
+
const { resendOrderNotification } = await import('./order-notification-dispatcher-64WDCHHG.js');
|
|
29775
29847
|
const result = await resendOrderNotification(triggerKey, orderId, {
|
|
29776
29848
|
dataSource,
|
|
29777
29849
|
entityMap,
|