@infuro/cms-core 1.0.50 → 1.0.52

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.
Files changed (31) hide show
  1. package/dist/admin.cjs +843 -402
  2. package/dist/admin.d.cts +13 -1
  3. package/dist/admin.d.ts +13 -1
  4. package/dist/admin.js +843 -402
  5. package/dist/api.cjs +35 -35
  6. package/dist/api.js +4 -4
  7. package/dist/auth.cjs +44 -43
  8. package/dist/auth.d.cts +2 -3
  9. package/dist/auth.d.ts +2 -3
  10. package/dist/auth.js +2 -1
  11. package/dist/{chunk-JCMOOPNX.cjs → chunk-3BPD5NGU.cjs} +210 -90
  12. package/dist/chunk-7L6KWI7S.cjs +212 -0
  13. package/dist/{chunk-YV5PK4JW.cjs → chunk-BC22I7C7.cjs} +45 -247
  14. package/dist/{chunk-WRKV6MHB.js → chunk-BNKZNLEX.js} +2 -196
  15. package/dist/{chunk-IPDHT2UV.js → chunk-CTXBYO2J.js} +94 -104
  16. package/dist/{chunk-UUWAUHUW.cjs → chunk-JN4AFHZ4.cjs} +94 -105
  17. package/dist/{chunk-JE22VP6S.js → chunk-MXIWUFBP.js} +1 -1
  18. package/dist/{chunk-LT2WOPKA.js → chunk-UO5Q5RXB.js} +181 -61
  19. package/dist/{chunk-KOTXDSQB.cjs → chunk-UQWZUZ5X.cjs} +1 -1
  20. package/dist/chunk-WUQAOTHA.js +203 -0
  21. package/dist/{emit-order-notification-trigger-6XX7LSC4.js → emit-order-notification-trigger-HZQPPSFB.js} +1 -1
  22. package/dist/{emit-order-notification-trigger-NASG7ZEO.cjs → emit-order-notification-trigger-NR3VN6C6.cjs} +3 -3
  23. package/dist/index.cjs +334 -299
  24. package/dist/index.d.cts +6 -4
  25. package/dist/index.d.ts +6 -4
  26. package/dist/index.js +59 -24
  27. package/dist/middleware.cjs +15 -0
  28. package/dist/middleware.js +2 -0
  29. package/dist/{order-notification-dispatcher-3TA4ETYJ.js → order-notification-dispatcher-AT4IFAGL.js} +2 -2
  30. package/dist/{order-notification-dispatcher-ZEAZ5SHV.cjs → order-notification-dispatcher-YBAWDOIO.cjs} +5 -5
  31. package/package.json +6 -1
package/dist/index.d.cts CHANGED
@@ -5,7 +5,6 @@ import { ClassValue } from 'clsx';
5
5
  import { Metadata } from 'next';
6
6
  import { EventEmitter } from 'events';
7
7
  import { NextAuthOptions } from 'next-auth';
8
- import { getToken } from 'next-auth/jwt';
9
8
 
10
9
  interface PluginContext {
11
10
  dataSource: unknown;
@@ -2843,6 +2842,7 @@ interface OrderTriggerPayload {
2843
2842
  currency: string;
2844
2843
  vendorId?: number | null;
2845
2844
  refundAmount?: number | null;
2845
+ extraVariables?: Record<string, string>;
2846
2846
  }
2847
2847
  declare class NotificationTriggerEmitter extends EventEmitter {
2848
2848
  emitTrigger(triggerKey: string, payload: OrderTriggerPayload): void;
@@ -2880,6 +2880,8 @@ type VendorOnboardedKind = 'vendor_onboard' | 'team_invite';
2880
2880
 
2881
2881
  interface EntityMapLike {
2882
2882
  configs: unknown;
2883
+ users?: unknown;
2884
+ vendors?: unknown;
2883
2885
  }
2884
2886
  interface SendVendorOnboardEmailInput {
2885
2887
  vendorName: string;
@@ -2898,7 +2900,7 @@ interface SendVendorOnboardEmailDeps {
2898
2900
  entityMap: EntityMapLike;
2899
2901
  getCms: () => Promise<CmsAppLike$3>;
2900
2902
  }
2901
- /** After vendor onboard / team invite: email owner + platform team from plugin settings. */
2903
+ /** After vendor onboard / team invite: email owner + platform super admins (excluding vendor emails). */
2902
2904
  declare function sendVendorOnboardEmails(input: SendVendorOnboardEmailInput, deps: SendVendorOnboardEmailDeps): Promise<{
2903
2905
  ownerEmailSent: boolean;
2904
2906
  }>;
@@ -4130,9 +4132,9 @@ interface CmsMiddlewareRequest {
4130
4132
  };
4131
4133
  /**
4132
4134
  * Full Next.js request (e.g. `NextRequest`). When provided, session is resolved via
4133
- * `getToken()` so chunked `next-auth.session-token.N` cookies work.
4135
+ * cookie presence or `getToken()`.
4134
4136
  */
4135
- req?: Parameters<typeof getToken>[0]['req'];
4137
+ req?: unknown;
4136
4138
  }
4137
4139
  interface CmsMiddlewareConfig {
4138
4140
  publicAdminPaths?: string[];
package/dist/index.d.ts CHANGED
@@ -5,7 +5,6 @@ import { ClassValue } from 'clsx';
5
5
  import { Metadata } from 'next';
6
6
  import { EventEmitter } from 'events';
7
7
  import { NextAuthOptions } from 'next-auth';
8
- import { getToken } from 'next-auth/jwt';
9
8
 
10
9
  interface PluginContext {
11
10
  dataSource: unknown;
@@ -2843,6 +2842,7 @@ interface OrderTriggerPayload {
2843
2842
  currency: string;
2844
2843
  vendorId?: number | null;
2845
2844
  refundAmount?: number | null;
2845
+ extraVariables?: Record<string, string>;
2846
2846
  }
2847
2847
  declare class NotificationTriggerEmitter extends EventEmitter {
2848
2848
  emitTrigger(triggerKey: string, payload: OrderTriggerPayload): void;
@@ -2880,6 +2880,8 @@ type VendorOnboardedKind = 'vendor_onboard' | 'team_invite';
2880
2880
 
2881
2881
  interface EntityMapLike {
2882
2882
  configs: unknown;
2883
+ users?: unknown;
2884
+ vendors?: unknown;
2883
2885
  }
2884
2886
  interface SendVendorOnboardEmailInput {
2885
2887
  vendorName: string;
@@ -2898,7 +2900,7 @@ interface SendVendorOnboardEmailDeps {
2898
2900
  entityMap: EntityMapLike;
2899
2901
  getCms: () => Promise<CmsAppLike$3>;
2900
2902
  }
2901
- /** After vendor onboard / team invite: email owner + platform team from plugin settings. */
2903
+ /** After vendor onboard / team invite: email owner + platform super admins (excluding vendor emails). */
2902
2904
  declare function sendVendorOnboardEmails(input: SendVendorOnboardEmailInput, deps: SendVendorOnboardEmailDeps): Promise<{
2903
2905
  ownerEmailSent: boolean;
2904
2906
  }>;
@@ -4130,9 +4132,9 @@ interface CmsMiddlewareRequest {
4130
4132
  };
4131
4133
  /**
4132
4134
  * Full Next.js request (e.g. `NextRequest`). When provided, session is resolved via
4133
- * `getToken()` so chunked `next-auth.session-token.N` cookies work.
4135
+ * cookie presence or `getToken()`.
4134
4136
  */
4135
- req?: Parameters<typeof getToken>[0]['req'];
4137
+ req?: unknown;
4136
4138
  }
4137
4139
  interface CmsMiddlewareConfig {
4138
4140
  publicAdminPaths?: string[];
package/dist/index.js CHANGED
@@ -1,29 +1,30 @@
1
- export { emitOrderNotificationTrigger, fireOrderNotificationTrigger } from './chunk-JE22VP6S.js';
2
- import { checkMultiVendorEnabled, loadUserVendorContext, getPublicSettingsGroup, BlogGeneratorService } from './chunk-LT2WOPKA.js';
3
- export { Address, Attendee, Attribute, BLOG_GENERATOR_AGENT_NAME, BLOG_GENERATOR_DEFAULT_SYSTEM_INSTRUCTION, BLOG_GENERATOR_DEFAULT_VALIDATION_RULES, BLOG_GENERATOR_LLM_AGENT_SLUG, BLOG_GENERATOR_MARKDOWN_ARTICLE_SEPARATOR, BLOG_METADATA_ENRICHER_AGENT_NAME, BLOG_METADATA_ENRICHER_DEFAULT_SYSTEM_INSTRUCTION, BLOG_METADATA_ENRICHER_DEFAULT_VALIDATION_RULES, BLOG_METADATA_ENRICHER_LLM_AGENT_SLUG, Blog, BlogGeneratorService, Brand, CMS_ENTITY_MAP, Cart, CartItem, Category, ChatConversation, ChatMessage, Collection, Combo, ComboItem, Comment, Config, Contact, Currency, CurrencyExchange, Customer, Customer_Contacts, Discount, DiscountRules, Event, EventProduct, Form, FormField, FormSubmission, JobSchedule, JobScheduleRun, KnowledgeBaseChunk, KnowledgeBaseDocument, LlmAgent, LlmAgentKnowledgeDocument, Media, MessageTemplate, Order, OrderAddresses, OrderDiscounts, OrderItem, OrderNotificationBinding, OrderNotificationTrigger, OtpChallenge, Page, PasswordResetToken, Payment, Permission, Product, ProductAttribute, ProductCategory, ProductConfig, ProductVariant, RefundPolicy, RefundRequest, RssArticle, RssFeed, Seo, Tag, Tax, User, UserDeviceToken, UserGroup, Vendor, VendorCustomer, VendorRole, VendorRolePermission, VendorUser, VendorUserProfile, Wishlist, WishlistItem, ZIP_MIME_TYPES, applyApprovalStatusSideEffects, applyEventApprovalStatusSideEffects, applyRotatingVendorInvite, applyVendorCustomersContactFilter, applyVendorEventCreateApproval, applyVendorProductCreateApproval, assertCaptchaOk, assertContactAllowedForVendorOrder, assertEventApprovalUpdate, assertProductApprovalUpdate, buildBlogMetadataUserPrompt, buildCronFromSchedule, buildRssUserPromptFromFeeds, buildUserInviteLink, buildVendorInviteLink, calculateOrderRefundPreview, calculateRefundFromPolicy, checkAndIncrementDiscountUsage, checkEventsEnabled, checkMultiVendorEnabled, completeUserInviteAccept, consumeAppliedDiscountUsages, contactIsVendorCustomer, countDiscountOrdersForContact, countRecentOtpSends, createAnalyticsHandlers, createBlogBySlugHandler, createChangePasswordHandler, createCmsApiHandler, createCmsApp, createCmsAppWithMessaging, createCrudByIdHandler, createCrudHandler, createDashboardStatsHandler, createEcommerceAnalyticsHandler, createEventOrderMessageTemplateHandlers, createForgotPasswordHandler, createFormBySlugHandler, createInviteAcceptHandler, createJobScheduleHandlers, createLlmAgentKnowledgeHandlers, createMediaZipExtractHandler, createMessageTemplateRowLoader, createOtpChallenge, createSetPasswordHandler, createSettingsApiHandlers, createSocialMediaHandlers, createStorefrontApiHandler, createUploadHandler, createUserAuthApiRouter, createUserAvatarHandler, createUserProfileHandler, createUsersApiHandlers, createVendorDashboardHandler, createVendorOnboardHandlers, daysBeforeEventStart, decrementDiscountUsage, describeEventTierPolicy, ensureMessagingPluginsOnCms, ensureScheduleQueueWorker, ensureVendorCustomerForOrderContact, ensureVendorCustomersForOrder, findActiveRefundPolicyForVendor, findUserByInviteToken, findVendorByInviteToken, formatTierRange, generateNumericOtp, getPublicSettingsGroup, getRequireEventApproval, getRequireProductApproval, getRssArticleSummaryFromItem, getVendorCatalogCreateFlags, hashOtpCode, hydrateVendorSessionUser, invalidateEventsCache, invalidateMultiVendorCache, invalidateRequireEventApprovalCache, invalidateRequireProductApprovalCache, invalidateVendorCatalogCreateFlagsCache, isCustomerTypeContact, isMaxPerUserUsageReached, isMaxTotalUsageReached, isZipMedia, llmAgentToChatAgentOptions, loadSettingsGroupFromDb, loadUserVendorContext, mergeGuardrailsIntoSystemPrompt, messagingPlugins, metaFetchUserManagedPages, metaPostPageFeed, metaPostPagePhoto, metaResolvePageAccessToken, newUserInviteToken, normalizePhoneE164, normalizeRefundTiers, overlayCmsPlugins, parseBlogGeneratorAgentContent, parseBlogGeneratorModelOutput, parseBlogMetadataEnrichmentJson, parseLlmAgentValidationRules, pgBossScheduleNameForId, queueErpCreateContactIfEnabled, queueJobScheduleNow, queuePlugin, queueSms, recordDiscountUsage, registerJobRunnerWorker, registerMessagingQueueProcessors, registerSmsQueueProcessor, relativePathFromMediaParentId, resolveBlogCategoryIdByName, resolveSettingsEncryptionKey, resolveVendorIdForContactCheck, sanitizeMediaFolderPath, sanitizeStorageSegment, sendVendorOnboardEmails, simpleDecrypt, simpleEncrypt, syncJobScheduleToPgBoss, validateRefundTiers, validateScheduleInput, validateUserMessageAgainstAgentRules, validateUserMessageAgainstStructuredRules, verifyAndConsumeOtpChallenge, verifyOtpCodeHash, whatsappPlugin, wrapGetCmsWithMessaging } from './chunk-LT2WOPKA.js';
1
+ export { emitOrderNotificationTrigger, fireOrderNotificationTrigger } from './chunk-MXIWUFBP.js';
2
+ import { checkMultiVendorEnabled, loadUserVendorContext, getPublicSettingsGroup, BlogGeneratorService } from './chunk-UO5Q5RXB.js';
3
+ export { Address, Attendee, Attribute, BLOG_GENERATOR_AGENT_NAME, BLOG_GENERATOR_DEFAULT_SYSTEM_INSTRUCTION, BLOG_GENERATOR_DEFAULT_VALIDATION_RULES, BLOG_GENERATOR_LLM_AGENT_SLUG, BLOG_GENERATOR_MARKDOWN_ARTICLE_SEPARATOR, BLOG_METADATA_ENRICHER_AGENT_NAME, BLOG_METADATA_ENRICHER_DEFAULT_SYSTEM_INSTRUCTION, BLOG_METADATA_ENRICHER_DEFAULT_VALIDATION_RULES, BLOG_METADATA_ENRICHER_LLM_AGENT_SLUG, Blog, BlogGeneratorService, Brand, CMS_ENTITY_MAP, Cart, CartItem, Category, ChatConversation, ChatMessage, Collection, Combo, ComboItem, Comment, Config, Contact, Currency, CurrencyExchange, Customer, Customer_Contacts, Discount, DiscountRules, Event, EventProduct, Form, FormField, FormSubmission, JobSchedule, JobScheduleRun, KnowledgeBaseChunk, KnowledgeBaseDocument, LlmAgent, LlmAgentKnowledgeDocument, Media, MessageTemplate, Order, OrderAddresses, OrderDiscounts, OrderItem, OrderNotificationBinding, OrderNotificationTrigger, OtpChallenge, Page, PasswordResetToken, Payment, Permission, Product, ProductAttribute, ProductCategory, ProductConfig, ProductVariant, RefundPolicy, RefundRequest, RssArticle, RssFeed, Seo, Tag, Tax, User, UserDeviceToken, UserGroup, Vendor, VendorCustomer, VendorRole, VendorRolePermission, VendorUser, VendorUserProfile, Wishlist, WishlistItem, ZIP_MIME_TYPES, applyApprovalStatusSideEffects, applyEventApprovalStatusSideEffects, applyRotatingVendorInvite, applyVendorCustomersContactFilter, applyVendorEventCreateApproval, applyVendorProductCreateApproval, assertCaptchaOk, assertContactAllowedForVendorOrder, assertEventApprovalUpdate, assertProductApprovalUpdate, buildBlogMetadataUserPrompt, buildCronFromSchedule, buildRssUserPromptFromFeeds, buildUserInviteLink, buildVendorInviteLink, calculateOrderRefundPreview, calculateRefundFromPolicy, checkAndIncrementDiscountUsage, checkEventsEnabled, checkMultiVendorEnabled, completeUserInviteAccept, consumeAppliedDiscountUsages, contactIsVendorCustomer, countDiscountOrdersForContact, countRecentOtpSends, createAnalyticsHandlers, createBlogBySlugHandler, createChangePasswordHandler, createCmsApiHandler, createCmsApp, createCmsAppWithMessaging, createCrudByIdHandler, createCrudHandler, createDashboardStatsHandler, createEcommerceAnalyticsHandler, createEventOrderMessageTemplateHandlers, createForgotPasswordHandler, createFormBySlugHandler, createInviteAcceptHandler, createJobScheduleHandlers, createLlmAgentKnowledgeHandlers, createMediaZipExtractHandler, createMessageTemplateRowLoader, createOtpChallenge, createSetPasswordHandler, createSettingsApiHandlers, createSocialMediaHandlers, createStorefrontApiHandler, createUploadHandler, createUserAuthApiRouter, createUserAvatarHandler, createUserProfileHandler, createUsersApiHandlers, createVendorDashboardHandler, createVendorOnboardHandlers, daysBeforeEventStart, decrementDiscountUsage, describeEventTierPolicy, ensureMessagingPluginsOnCms, ensureScheduleQueueWorker, ensureVendorCustomerForOrderContact, ensureVendorCustomersForOrder, findActiveRefundPolicyForVendor, findUserByInviteToken, findVendorByInviteToken, formatTierRange, generateNumericOtp, getPublicSettingsGroup, getRequireEventApproval, getRequireProductApproval, getRssArticleSummaryFromItem, getVendorCatalogCreateFlags, hashOtpCode, hydrateVendorSessionUser, invalidateEventsCache, invalidateMultiVendorCache, invalidateRequireEventApprovalCache, invalidateRequireProductApprovalCache, invalidateVendorCatalogCreateFlagsCache, isCustomerTypeContact, isMaxPerUserUsageReached, isMaxTotalUsageReached, isZipMedia, llmAgentToChatAgentOptions, loadSettingsGroupFromDb, loadUserVendorContext, mergeGuardrailsIntoSystemPrompt, messagingPlugins, metaFetchUserManagedPages, metaPostPageFeed, metaPostPagePhoto, metaResolvePageAccessToken, newUserInviteToken, normalizePhoneE164, normalizeRefundTiers, overlayCmsPlugins, parseBlogGeneratorAgentContent, parseBlogGeneratorModelOutput, parseBlogMetadataEnrichmentJson, parseLlmAgentValidationRules, pgBossScheduleNameForId, queueErpCreateContactIfEnabled, queueJobScheduleNow, queuePlugin, queueSms, recordDiscountUsage, registerJobRunnerWorker, registerMessagingQueueProcessors, registerSmsQueueProcessor, relativePathFromMediaParentId, resolveBlogCategoryIdByName, resolveSettingsEncryptionKey, resolveVendorIdForContactCheck, sanitizeMediaFolderPath, sanitizeStorageSegment, sendVendorOnboardEmails, simpleDecrypt, simpleEncrypt, syncJobScheduleToPgBoss, validateRefundTiers, validateScheduleInput, validateUserMessageAgainstAgentRules, validateUserMessageAgainstStructuredRules, verifyAndConsumeOtpChallenge, verifyOtpCodeHash, whatsappPlugin, wrapGetCmsWithMessaging } from './chunk-UO5Q5RXB.js';
4
+ import { PgBossService } from './chunk-GO7PPYNU.js';
5
+ export { JOB_RUNNER_QUEUE, PgBossService } from './chunk-GO7PPYNU.js';
4
6
  export { deductInventoryForConfirmedOrder, mergeInventoryLines, orderInventorySnapshotFromRow, orderStatusHoldsStock, reconcileOrderInventoryBetweenSnapshots, restoreInventoryForCancelledOrder, validateInventoryForConfirmedOrderLines, validateInventoryForOrderBecomingConfirmed } from './chunk-3K5AIEIZ.js';
5
- import { parseEmailRecipientsFromConfig } from './chunk-IPDHT2UV.js';
6
- export { EmailService, buildEventOrderTemplateVariables, emailPlugin, emailTemplates, initWhatsappTriggerDispatcher, joinRecipientsForSend, parseEmailRecipientsFromConfig, queueWhatsApp, registerWhatsAppQueueProcessor, renderEmail, renderLayout, resendOrderNotification, serializeEmailRecipients } from './chunk-IPDHT2UV.js';
7
+ import { parseEmailRecipientsFromConfig } from './chunk-CTXBYO2J.js';
8
+ export { EmailService, buildEventOrderTemplateVariables, emailPlugin, emailTemplates, initWhatsappTriggerDispatcher, joinRecipientsForSend, parseEmailRecipientsFromConfig, queueWhatsApp, registerWhatsAppQueueProcessor, renderEmail, renderLayout, resendOrderNotification, serializeEmailRecipients } from './chunk-CTXBYO2J.js';
7
9
  export { KNOWN_NOTIFICATION_TRIGGERS, notificationTriggerEmitter } from './chunk-HCIRL37O.js';
8
10
  import './chunk-JXF23MPG.js';
9
11
  import { queueOrderPlacedEmails } from './chunk-L3525VXI.js';
10
12
  export { queueEmail, queueOrderPlacedEmails, queueVendorOnboardEmails, registerEmailQueueProcessor } from './chunk-L3525VXI.js';
11
13
  import { mergeEmailLayoutCompanyDetails } from './chunk-2KUCQVAQ.js';
12
14
  export { INVOICE_TEMPLATE_IDS, INVOICE_TEMPLATE_OPTIONS, buildLocalInvoicePdfForOrder, generateLocalInvoicePdf, getCompanyDetailsFromSettings, isOrderEligibleForInvoiceEmail, mergeEmailLayoutCompanyDetails, normalizeInvoiceTemplateId, resolveInvoiceAssetUrl, resolveOrderInvoicePdfBytes, streamOrderInvoicePdf } from './chunk-2KUCQVAQ.js';
15
+ import './chunk-JC6DLWTE.js';
13
16
  import './chunk-MQBT33IV.js';
14
17
  import './chunk-CRFV5WJK.js';
15
18
  export { EVENT_ORDER_MESSAGE_TEMPLATE_DEFAULTS, EVENT_ORDER_TEMPLATE_KEY, EVENT_ORDER_TEMPLATE_VARIABLES, resolveEventOrderTemplate } from './chunk-AYERBA7I.js';
16
- import { PgBossService } from './chunk-GO7PPYNU.js';
17
- export { JOB_RUNNER_QUEUE, PgBossService } from './chunk-GO7PPYNU.js';
18
- export { AUTH_PROVIDERS_SETTINGS_GROUP, buildNextAuthOptions, buildStorefrontNextAuthOptions, createCmsMiddleware, createCustomerUserFromGoogleOAuth, defaultPublicApiMethods, getNextAuthOptions, getStorefrontNextAuthOptions, googleOAuthRedirectUri, isAuthDebugClientEnabled, isAuthDebugEnabled, isGoogleAuthPubliclyEnabled, logAuth, logAuthClient, nextAuthCookieDebugInfo, resolveGoogleAuthConfig, seedAdministratorPermissions, summarizeSessionUserForLog } from './chunk-WRKV6MHB.js';
19
+ export { AUTH_PROVIDERS_SETTINGS_GROUP, buildNextAuthOptions, buildStorefrontNextAuthOptions, createCustomerUserFromGoogleOAuth, getNextAuthOptions, getStorefrontNextAuthOptions, googleOAuthRedirectUri, isGoogleAuthPubliclyEnabled, resolveGoogleAuthConfig, seedAdministratorPermissions } from './chunk-BNKZNLEX.js';
19
20
  export { OPEN_ENDPOINTS, PERMISSION_REQUIRED_ENDPOINTS, RBAC_ADMIN_ONLY_ENTITIES, canManageRoles, createAuthHelpers, createCmsAuthBundle, customerPhoneForEmail, customerPhoneForUser, ensureCustomerForUser, ensureCustomerRecord, getRequiredPermission, isOpenEndpoint, isPublicMethod, isSyntheticCustomerPhone, linkUnclaimedContactToUser, normalizeCustomerPhone, sessionHasEntityAccess } from './chunk-RK5ETF2I.js';
20
21
  export { activeUniqueValueExists, retireSoftDeletedUniqueValue } from './chunk-DBPSJYLZ.js';
21
22
  import { isSuperAdmin, isVendorGroupName } from './chunk-JIWUVQ6B.js';
22
23
  export { ADMIN_GROUP_NAME, SUPER_ADMIN_GROUP_ID, VENDOR_ADMIN_GROUP_ID, VENDOR_GROUP_NAME, VENDOR_OWNER_GROUP_NAME, VENDOR_SCOPED_STORE_ENTITIES, VENDOR_STORE_RBAC_ENTITIES, canManageVendorRoles, canManageVendorTeam, canOnboardVendors, explainSessionEntityAccess, getPermissionableEntityKeys, hasEntityPermission, isPlatformAdministrator, isRbacDebugEnabled, isSuperAdmin, isSuperAdminGroupName, isVendorAdmin, isVendorGroupName, isVendorOwner, isVendorPortalUser, isVendorStaff, logEntityAccessDecision, logRbac, permissionRowsToRecord, resolveVendorScopeFromSessionUser, summarizeEntityPerms, vendorPortalFlagsFromUser } from './chunk-JIWUVQ6B.js';
24
+ export { createCmsMiddleware, defaultPublicApiMethods, isAuthDebugClientEnabled, isAuthDebugEnabled, logAuth, logAuthClient, nextAuthCookieDebugInfo, summarizeSessionUserForLog } from './chunk-WUQAOTHA.js';
23
25
  export { queueErpPaidOrderForOrderId } from './chunk-TDV6EJHV.js';
24
26
  import { erpSafeWebhookUrl, logErp, warnErp, errorErp } from './chunk-SYBOCAWB.js';
25
27
  export { queueErp, registerErpQueueProcessor } from './chunk-SYBOCAWB.js';
26
- import './chunk-JC6DLWTE.js';
27
28
  import { __name } from './chunk-SHUYVCID.js';
28
29
  import { google } from 'googleapis';
29
30
  import Redis from 'ioredis';
@@ -2253,6 +2254,21 @@ async function sendOrderPlacedEmailsAfterConfirmation(orderId, deps) {
2253
2254
  hsn: r.hsn && String(r.hsn).trim() ? r.hsn : void 0
2254
2255
  };
2255
2256
  });
2257
+ const attendeeEmails = /* @__PURE__ */ new Set();
2258
+ try {
2259
+ const rows = await ds.query(`SELECT DISTINCT email FROM order_attendees WHERE "orderId" = $1 AND email IS NOT NULL AND TRIM(email) != ''`, [
2260
+ orderId
2261
+ ]).catch(() => []);
2262
+ if (Array.isArray(rows)) {
2263
+ for (const r of rows) {
2264
+ const e = String(r.email ?? "").trim().toLowerCase();
2265
+ if (e && e !== customerEmail?.toLowerCase()) {
2266
+ attendeeEmails.add(e);
2267
+ }
2268
+ }
2269
+ }
2270
+ } catch {
2271
+ }
2256
2272
  const [branding, emailSettings] = await Promise.all([
2257
2273
  getSettingsGroup(deps, "branding"),
2258
2274
  getSettingsGroup(deps, "email")
@@ -2260,21 +2276,40 @@ async function sendOrderPlacedEmailsAfterConfirmation(orderId, deps) {
2260
2276
  const companyDetails = mergeEmailLayoutCompanyDetails(branding, emailSettings);
2261
2277
  const salesTeamEmails = parseEmailRecipientsFromConfig(emailSettings.salesTeamEmails ?? emailSettings.salesTeamEmail);
2262
2278
  const cms = await deps.getCms();
2263
- await queueOrderPlacedEmails(cms, {
2264
- orderId,
2265
- orderNumber: o.orderNumber,
2266
- total: o.total,
2267
- subtotal: o.subtotal,
2268
- tax: o.tax,
2269
- currency: o.currency,
2270
- customerName,
2271
- customerEmail,
2272
- salesTeamEmails,
2273
- companyDetails,
2274
- lineItems,
2275
- billingAddress: addrToRecord2(o.billingAddress),
2276
- shippingAddress: addrToRecord2(o.shippingAddress)
2277
- });
2279
+ if (customerEmail) {
2280
+ await queueOrderPlacedEmails(cms, {
2281
+ orderId,
2282
+ orderNumber: o.orderNumber,
2283
+ total: o.total,
2284
+ subtotal: o.subtotal,
2285
+ tax: o.tax,
2286
+ currency: o.currency,
2287
+ customerName,
2288
+ customerEmail,
2289
+ salesTeamEmails,
2290
+ companyDetails,
2291
+ lineItems,
2292
+ billingAddress: addrToRecord2(o.billingAddress),
2293
+ shippingAddress: addrToRecord2(o.shippingAddress)
2294
+ });
2295
+ }
2296
+ for (const attendeeEmail of attendeeEmails) {
2297
+ await queueOrderPlacedEmails(cms, {
2298
+ orderId,
2299
+ orderNumber: o.orderNumber,
2300
+ total: o.total,
2301
+ subtotal: o.subtotal,
2302
+ tax: o.tax,
2303
+ currency: o.currency,
2304
+ customerName: void 0,
2305
+ customerEmail: attendeeEmail,
2306
+ salesTeamEmails: [],
2307
+ companyDetails,
2308
+ lineItems,
2309
+ billingAddress: addrToRecord2(o.billingAddress),
2310
+ shippingAddress: addrToRecord2(o.shippingAddress)
2311
+ });
2312
+ }
2278
2313
  } catch {
2279
2314
  }
2280
2315
  }
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var chunk7L6KWI7S_cjs = require('./chunk-7L6KWI7S.cjs');
4
+ require('./chunk-USNT2KNT.cjs');
5
+
6
+
7
+
8
+ Object.defineProperty(exports, "createCmsMiddleware", {
9
+ enumerable: true,
10
+ get: function () { return chunk7L6KWI7S_cjs.createCmsMiddleware; }
11
+ });
12
+ Object.defineProperty(exports, "defaultPublicApiMethods", {
13
+ enumerable: true,
14
+ get: function () { return chunk7L6KWI7S_cjs.defaultPublicApiMethods; }
15
+ });
@@ -0,0 +1,2 @@
1
+ export { createCmsMiddleware, defaultPublicApiMethods } from './chunk-WUQAOTHA.js';
2
+ import './chunk-SHUYVCID.js';
@@ -1,7 +1,7 @@
1
- export { getSettingsGroup, initWhatsappTriggerDispatcher, resendOrderNotification } from './chunk-IPDHT2UV.js';
1
+ export { getSettingsGroup, initWhatsappTriggerDispatcher, resendOrderNotification } from './chunk-CTXBYO2J.js';
2
2
  import './chunk-HCIRL37O.js';
3
3
  import './chunk-L3525VXI.js';
4
4
  import './chunk-2KUCQVAQ.js';
5
- import './chunk-CRFV5WJK.js';
6
5
  import './chunk-JC6DLWTE.js';
6
+ import './chunk-CRFV5WJK.js';
7
7
  import './chunk-SHUYVCID.js';
@@ -1,24 +1,24 @@
1
1
  'use strict';
2
2
 
3
- var chunkUUWAUHUW_cjs = require('./chunk-UUWAUHUW.cjs');
3
+ var chunkJN4AFHZ4_cjs = require('./chunk-JN4AFHZ4.cjs');
4
4
  require('./chunk-UCKN4BBY.cjs');
5
5
  require('./chunk-V25RDUOU.cjs');
6
6
  require('./chunk-BXYZDMTZ.cjs');
7
- require('./chunk-OOTLNH63.cjs');
8
7
  require('./chunk-UPLVMVRX.cjs');
8
+ require('./chunk-OOTLNH63.cjs');
9
9
  require('./chunk-USNT2KNT.cjs');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "getSettingsGroup", {
14
14
  enumerable: true,
15
- get: function () { return chunkUUWAUHUW_cjs.getSettingsGroup; }
15
+ get: function () { return chunkJN4AFHZ4_cjs.getSettingsGroup; }
16
16
  });
17
17
  Object.defineProperty(exports, "initWhatsappTriggerDispatcher", {
18
18
  enumerable: true,
19
- get: function () { return chunkUUWAUHUW_cjs.initWhatsappTriggerDispatcher; }
19
+ get: function () { return chunkJN4AFHZ4_cjs.initWhatsappTriggerDispatcher; }
20
20
  });
21
21
  Object.defineProperty(exports, "resendOrderNotification", {
22
22
  enumerable: true,
23
- get: function () { return chunkUUWAUHUW_cjs.resendOrderNotification; }
23
+ get: function () { return chunkJN4AFHZ4_cjs.resendOrderNotification; }
24
24
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infuro/cms-core",
3
- "version": "1.0.50",
3
+ "version": "1.0.52",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -36,6 +36,11 @@
36
36
  "import": "./dist/auth.js",
37
37
  "require": "./dist/auth.cjs"
38
38
  },
39
+ "./middleware": {
40
+ "types": "./dist/middleware.d.ts",
41
+ "import": "./dist/middleware.js",
42
+ "require": "./dist/middleware.cjs"
43
+ },
39
44
  "./admin": {
40
45
  "types": "./dist/admin.d.ts",
41
46
  "import": "./dist/admin.js",