@gymspace/shared 1.7.5 → 1.8.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/dist/index.d.mts +76 -5
- package/dist/index.d.ts +76 -5
- package/dist/index.js +111 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +105 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/constants/bulk-message-variables.ts +81 -0
- package/src/constants.ts +12 -0
- package/src/enums.ts +5 -0
- package/src/events/bulk-messaging.events.ts +18 -1
- package/src/index.ts +11 -0
- package/src/types/bulk-message.types.ts +53 -0
- package/src/types/index.ts +2 -0
- package/src/types.ts +5 -0
- package/dist/.tsbuildinfo +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -221,8 +221,13 @@ declare const PERMISSIONS: {
|
|
|
221
221
|
readonly CONTRACTS_CREATE: "CONTRACTS_CREATE";
|
|
222
222
|
readonly CONTRACTS_READ: "CONTRACTS_READ";
|
|
223
223
|
readonly CONTRACTS_UPDATE: "CONTRACTS_UPDATE";
|
|
224
|
+
readonly CONTRACTS_DELETE: "CONTRACTS_DELETE";
|
|
224
225
|
readonly CONTRACTS_APPROVE: "CONTRACTS_APPROVE";
|
|
225
226
|
readonly CONTRACTS_CANCEL: "CONTRACTS_CANCEL";
|
|
227
|
+
readonly MEMBERSHIP_PLANS_CREATE: "MEMBERSHIP_PLANS_CREATE";
|
|
228
|
+
readonly MEMBERSHIP_PLANS_READ: "MEMBERSHIP_PLANS_READ";
|
|
229
|
+
readonly MEMBERSHIP_PLANS_UPDATE: "MEMBERSHIP_PLANS_UPDATE";
|
|
230
|
+
readonly MEMBERSHIP_PLANS_DELETE: "MEMBERSHIP_PLANS_DELETE";
|
|
226
231
|
readonly CHECKINS_CREATE: "CHECKINS_CREATE";
|
|
227
232
|
readonly CHECKINS_READ: "CHECKINS_READ";
|
|
228
233
|
readonly REPORTS_VIEW: "REPORTS_VIEW";
|
|
@@ -284,12 +289,15 @@ declare const PERMISSIONS: {
|
|
|
284
289
|
readonly CATALOG_READ: "CATALOG_READ";
|
|
285
290
|
readonly CATALOG_UPDATE: "CATALOG_UPDATE";
|
|
286
291
|
readonly CATALOG_MANAGE: "CATALOG_MANAGE";
|
|
292
|
+
readonly CREDITS_READ: "CREDITS_READ";
|
|
293
|
+
readonly CREDITS_MANAGE: "CREDITS_MANAGE";
|
|
294
|
+
readonly CREDITS_ADJUST: "CREDITS_ADJUST";
|
|
287
295
|
readonly SUPER_ADMIN: "SUPER_ADMIN";
|
|
288
296
|
readonly OWNER: "OWNER";
|
|
289
297
|
readonly All: "ALL";
|
|
290
298
|
};
|
|
291
299
|
declare const ROLE_PERMISSIONS: {
|
|
292
|
-
readonly ADMIN: ("ORGANIZATIONS_CREATE" | "ORGANIZATIONS_READ" | "ORGANIZATIONS_UPDATE" | "ORGANIZATIONS_DELETE" | "GYMS_CREATE" | "GYMS_READ" | "GYMS_UPDATE" | "GYMS_DELETE" | "COLLABORATORS_CREATE" | "COLLABORATORS_READ" | "COLLABORATORS_UPDATE" | "COLLABORATORS_DELETE" | "CLIENTS_CREATE" | "CLIENTS_READ" | "CLIENTS_UPDATE" | "CLIENTS_DELETE" | "CONTRACTS_CREATE" | "CONTRACTS_READ" | "CONTRACTS_UPDATE" | "CONTRACTS_APPROVE" | "CONTRACTS_CANCEL" | "CHECKINS_CREATE" | "CHECKINS_READ" | "REPORTS_VIEW" | "REPORTS_FINANCIAL" | "SETTINGS_UPDATE" | "ASSETS_CREATE" | "ASSETS_READ" | "ASSETS_DELETE" | "FILES_CREATE" | "FILES_READ" | "FILES_DELETE" | "PRODUCTS_CREATE" | "PRODUCTS_READ" | "PRODUCTS_UPDATE" | "PRODUCTS_DELETE" | "PRODUCT_CATEGORIES_CREATE" | "PRODUCT_CATEGORIES_READ" | "PRODUCT_CATEGORIES_UPDATE" | "PRODUCT_CATEGORIES_DELETE" | "SALES_CREATE" | "SALES_READ" | "SALES_UPDATE" | "SALES_DELETE" | "SUPPLIERS_CREATE" | "SUPPLIERS_READ" | "SUPPLIERS_UPDATE" | "SUPPLIERS_DELETE" | "PAYMENT_METHODS_CREATE" | "PAYMENT_METHODS_READ" | "PAYMENT_METHODS_UPDATE" | "PAYMENT_METHODS_DELETE" | "WHATSAPP_READ" | "WHATSAPP_SEND" | "WHATSAPP_MANAGE" | "WHATSAPP_BULK_SEND" | "WHATSAPP_BULK_MANAGE" | "MESSAGES_READ" | "MESSAGES_CREATE" | "MESSAGES_RETRY" | "MESSAGES_CANCEL" | "ACTIVITIES_CREATE" | "ACTIVITIES_READ" | "ACTIVITIES_UPDATE" | "ACTIVITIES_DELETE" | "ACTIVITIES_MANAGE_NOTIFICATIONS" | "TAGS_CREATE" | "TAGS_READ" | "TAGS_UPDATE" | "TAGS_DELETE" | "COMMISSIONS_CONFIG_CREATE" | "COMMISSIONS_CONFIG_READ" | "COMMISSIONS_CONFIG_UPDATE" | "COMMISSIONS_RULES_CREATE" | "COMMISSIONS_RULES_READ" | "COMMISSIONS_RULES_UPDATE" | "COMMISSIONS_RULES_DELETE" | "COMMISSIONS_CALCULATIONS_READ" | "COMMISSIONS_REPORTS_VIEW" | "CATALOG_READ" | "CATALOG_UPDATE" | "CATALOG_MANAGE" | "SUPER_ADMIN" | "OWNER" | "ALL")[];
|
|
300
|
+
readonly ADMIN: ("ORGANIZATIONS_CREATE" | "ORGANIZATIONS_READ" | "ORGANIZATIONS_UPDATE" | "ORGANIZATIONS_DELETE" | "GYMS_CREATE" | "GYMS_READ" | "GYMS_UPDATE" | "GYMS_DELETE" | "COLLABORATORS_CREATE" | "COLLABORATORS_READ" | "COLLABORATORS_UPDATE" | "COLLABORATORS_DELETE" | "CLIENTS_CREATE" | "CLIENTS_READ" | "CLIENTS_UPDATE" | "CLIENTS_DELETE" | "CONTRACTS_CREATE" | "CONTRACTS_READ" | "CONTRACTS_UPDATE" | "CONTRACTS_DELETE" | "CONTRACTS_APPROVE" | "CONTRACTS_CANCEL" | "MEMBERSHIP_PLANS_CREATE" | "MEMBERSHIP_PLANS_READ" | "MEMBERSHIP_PLANS_UPDATE" | "MEMBERSHIP_PLANS_DELETE" | "CHECKINS_CREATE" | "CHECKINS_READ" | "REPORTS_VIEW" | "REPORTS_FINANCIAL" | "SETTINGS_UPDATE" | "ASSETS_CREATE" | "ASSETS_READ" | "ASSETS_DELETE" | "FILES_CREATE" | "FILES_READ" | "FILES_DELETE" | "PRODUCTS_CREATE" | "PRODUCTS_READ" | "PRODUCTS_UPDATE" | "PRODUCTS_DELETE" | "PRODUCT_CATEGORIES_CREATE" | "PRODUCT_CATEGORIES_READ" | "PRODUCT_CATEGORIES_UPDATE" | "PRODUCT_CATEGORIES_DELETE" | "SALES_CREATE" | "SALES_READ" | "SALES_UPDATE" | "SALES_DELETE" | "SUPPLIERS_CREATE" | "SUPPLIERS_READ" | "SUPPLIERS_UPDATE" | "SUPPLIERS_DELETE" | "PAYMENT_METHODS_CREATE" | "PAYMENT_METHODS_READ" | "PAYMENT_METHODS_UPDATE" | "PAYMENT_METHODS_DELETE" | "WHATSAPP_READ" | "WHATSAPP_SEND" | "WHATSAPP_MANAGE" | "WHATSAPP_BULK_SEND" | "WHATSAPP_BULK_MANAGE" | "MESSAGES_READ" | "MESSAGES_CREATE" | "MESSAGES_RETRY" | "MESSAGES_CANCEL" | "ACTIVITIES_CREATE" | "ACTIVITIES_READ" | "ACTIVITIES_UPDATE" | "ACTIVITIES_DELETE" | "ACTIVITIES_MANAGE_NOTIFICATIONS" | "TAGS_CREATE" | "TAGS_READ" | "TAGS_UPDATE" | "TAGS_DELETE" | "COMMISSIONS_CONFIG_CREATE" | "COMMISSIONS_CONFIG_READ" | "COMMISSIONS_CONFIG_UPDATE" | "COMMISSIONS_RULES_CREATE" | "COMMISSIONS_RULES_READ" | "COMMISSIONS_RULES_UPDATE" | "COMMISSIONS_RULES_DELETE" | "COMMISSIONS_CALCULATIONS_READ" | "COMMISSIONS_REPORTS_VIEW" | "CATALOG_READ" | "CATALOG_UPDATE" | "CATALOG_MANAGE" | "CREDITS_READ" | "CREDITS_MANAGE" | "CREDITS_ADJUST" | "SUPER_ADMIN" | "OWNER" | "ALL")[];
|
|
293
301
|
readonly MANAGER: readonly ["GYMS_READ", "COLLABORATORS_READ", "CLIENTS_CREATE", "CLIENTS_READ", "CLIENTS_UPDATE", "CONTRACTS_CREATE", "CONTRACTS_READ", "CHECKINS_CREATE", "CHECKINS_READ", "REPORTS_VIEW", "ASSETS_CREATE", "ASSETS_READ", "ASSETS_DELETE", "FILES_CREATE", "FILES_READ", "FILES_DELETE", "PRODUCTS_CREATE", "PRODUCTS_READ", "PRODUCTS_UPDATE", "PRODUCTS_DELETE", "PRODUCT_CATEGORIES_CREATE", "PRODUCT_CATEGORIES_READ", "PRODUCT_CATEGORIES_UPDATE", "PRODUCT_CATEGORIES_DELETE", "SALES_CREATE", "SALES_READ", "SALES_UPDATE", "SUPPLIERS_CREATE", "SUPPLIERS_READ", "SUPPLIERS_UPDATE", "SUPPLIERS_DELETE", "PAYMENT_METHODS_CREATE", "PAYMENT_METHODS_READ", "PAYMENT_METHODS_UPDATE", "PAYMENT_METHODS_DELETE", "COMMISSIONS_RULES_READ", "COMMISSIONS_CALCULATIONS_READ"];
|
|
294
302
|
};
|
|
295
303
|
declare const CACHE_TTL: {
|
|
@@ -415,6 +423,10 @@ declare enum MessageStatus {
|
|
|
415
423
|
FAILED = "failed",
|
|
416
424
|
CANCELLED = "cancelled"
|
|
417
425
|
}
|
|
426
|
+
declare enum FeatureType {
|
|
427
|
+
AI_GENERATION = "ai_generation",
|
|
428
|
+
BULK_WHATSAPP = "bulk_whatsapp"
|
|
429
|
+
}
|
|
418
430
|
|
|
419
431
|
/**
|
|
420
432
|
* Evento para enviar un mensaje de WhatsApp
|
|
@@ -452,6 +464,51 @@ declare const WHATSAPP_EVENTS: {
|
|
|
452
464
|
readonly CONNECTION_UPDATE: "whatsapp/connection.update";
|
|
453
465
|
};
|
|
454
466
|
|
|
467
|
+
/**
|
|
468
|
+
* Tipos de mensajes soportados en bulk messaging
|
|
469
|
+
* Extensible para futuros tipos: video, audio, document, etc.
|
|
470
|
+
*/
|
|
471
|
+
type BulkMessageType = 'text' | 'image';
|
|
472
|
+
/**
|
|
473
|
+
* Interfaz base para mensajes en bulk messaging
|
|
474
|
+
*/
|
|
475
|
+
interface BulkMessage {
|
|
476
|
+
/** Tipo de mensaje */
|
|
477
|
+
type: BulkMessageType;
|
|
478
|
+
/**
|
|
479
|
+
* Contenido del mensaje:
|
|
480
|
+
* - Para 'text': El texto del mensaje (soporta variables {{var}})
|
|
481
|
+
* - Para 'image': fileId o assetId (se resuelve a URL en el servicio)
|
|
482
|
+
*/
|
|
483
|
+
content: string;
|
|
484
|
+
/**
|
|
485
|
+
* Tipo de referencia para imágenes:
|
|
486
|
+
* - 'file': fileId del usuario
|
|
487
|
+
* - 'asset': assetId de la galería del gym
|
|
488
|
+
*/
|
|
489
|
+
mediaRef?: 'file' | 'asset';
|
|
490
|
+
/** Caption para imágenes (soporta variables) */
|
|
491
|
+
caption?: string;
|
|
492
|
+
/** Orden de envío (0-based, secuencial) */
|
|
493
|
+
order: number;
|
|
494
|
+
}
|
|
495
|
+
type BulkMessageArray = BulkMessage[];
|
|
496
|
+
/**
|
|
497
|
+
* Constantes de validación
|
|
498
|
+
*/
|
|
499
|
+
declare const MAX_MESSAGES_PER_CAMPAIGN = 10;
|
|
500
|
+
declare const MAX_IMAGES_PER_CAMPAIGN = 5;
|
|
501
|
+
declare const MAX_CAPTION_LENGTH = 1024;
|
|
502
|
+
declare const INTER_MESSAGE_DELAY_MS = 500;
|
|
503
|
+
/**
|
|
504
|
+
* Tipos de mensajes soportados (extensible)
|
|
505
|
+
*/
|
|
506
|
+
declare const SUPPORTED_MESSAGE_TYPES: BulkMessageType[];
|
|
507
|
+
/**
|
|
508
|
+
* Tipos MIME permitidos para imágenes
|
|
509
|
+
*/
|
|
510
|
+
declare const ALLOWED_IMAGE_MIMES: string[];
|
|
511
|
+
|
|
455
512
|
declare const BULK_MESSAGING_EVENTS: {
|
|
456
513
|
readonly SEND_BULK_MESSAGES: "whatsapp/bulk-messages.send";
|
|
457
514
|
};
|
|
@@ -461,7 +518,7 @@ interface BulkMessageEventData {
|
|
|
461
518
|
userId: string;
|
|
462
519
|
instanceName: string;
|
|
463
520
|
templateId?: string;
|
|
464
|
-
|
|
521
|
+
messages: BulkMessage[];
|
|
465
522
|
variableContext?: VariableContextType;
|
|
466
523
|
clients: Array<{
|
|
467
524
|
messageId?: string;
|
|
@@ -477,6 +534,21 @@ interface SendBulkMessagesEvent {
|
|
|
477
534
|
name: typeof BULK_MESSAGING_EVENTS.SEND_BULK_MESSAGES;
|
|
478
535
|
data: BulkMessageEventData;
|
|
479
536
|
}
|
|
537
|
+
interface BulkMessageStatusUpdate {
|
|
538
|
+
gymId: string;
|
|
539
|
+
sendId: string;
|
|
540
|
+
clientId: string;
|
|
541
|
+
overallStatus: 'pending' | 'sending' | 'sent' | 'partial' | 'failed';
|
|
542
|
+
messages: Array<{
|
|
543
|
+
order: number;
|
|
544
|
+
type: BulkMessageType;
|
|
545
|
+
status: 'pending' | 'sending' | 'sent' | 'failed';
|
|
546
|
+
externalMessageId?: string;
|
|
547
|
+
error?: string;
|
|
548
|
+
sentAt?: string;
|
|
549
|
+
}>;
|
|
550
|
+
timestamp: string;
|
|
551
|
+
}
|
|
480
552
|
|
|
481
553
|
declare const ACTIVITY_EVENTS: {
|
|
482
554
|
readonly SEND_ACTIVITY_NOTIFICATION: "activity/notification.send";
|
|
@@ -710,7 +782,7 @@ interface TemplateMetadata {
|
|
|
710
782
|
type UUID = string;
|
|
711
783
|
type Currency = 'USD' | 'EUR' | 'PEN' | 'MXN' | 'COP' | 'ARS' | 'CLP';
|
|
712
784
|
type EntityType = 'user' | 'organization' | 'gym' | 'collaborator' | 'client' | 'contract' | 'asset';
|
|
713
|
-
type Permission = 'SUPER_ADMIN' | 'OWNER' | 'ORGANIZATIONS_CREATE' | 'ORGANIZATIONS_READ' | 'ORGANIZATIONS_UPDATE' | 'ORGANIZATIONS_DELETE' | 'GYMS_CREATE' | 'GYMS_READ' | 'GYMS_UPDATE' | 'GYMS_DELETE' | 'COLLABORATORS_CREATE' | 'COLLABORATORS_READ' | 'COLLABORATORS_UPDATE' | 'COLLABORATORS_DELETE' | 'CLIENTS_CREATE' | 'CLIENTS_READ' | 'CLIENTS_UPDATE' | 'CLIENTS_DELETE' | 'CONTRACTS_CREATE' | 'CONTRACTS_READ' | 'CONTRACTS_UPDATE' | 'CONTRACTS_APPROVE' | 'CONTRACTS_CANCEL' | 'CHECKINS_CREATE' | 'CHECKINS_READ' | 'REPORTS_VIEW' | 'REPORTS_FINANCIAL' | 'SETTINGS_UPDATE' | 'ASSETS_CREATE' | 'ASSETS_READ' | 'ASSETS_DELETE' | 'FILES_CREATE' | 'FILES_READ' | 'FILES_DELETE' | 'PRODUCTS_CREATE' | 'PRODUCTS_READ' | 'PRODUCTS_UPDATE' | 'PRODUCTS_DELETE' | 'PRODUCT_CATEGORIES_CREATE' | 'PRODUCT_CATEGORIES_READ' | 'PRODUCT_CATEGORIES_UPDATE' | 'PRODUCT_CATEGORIES_DELETE' | 'SALES_CREATE' | 'SALES_READ' | 'SALES_UPDATE' | 'SALES_DELETE' | 'SUPPLIERS_CREATE' | 'SUPPLIERS_READ' | 'SUPPLIERS_UPDATE' | 'SUPPLIERS_DELETE' | 'PAYMENT_METHODS_CREATE' | 'PAYMENT_METHODS_READ' | 'PAYMENT_METHODS_UPDATE' | 'PAYMENT_METHODS_DELETE' | 'WHATSAPP_READ' | 'WHATSAPP_SEND' | 'WHATSAPP_MANAGE' | 'WHATSAPP_BULK_SEND' | 'WHATSAPP_BULK_MANAGE' | 'MESSAGES_READ' | 'MESSAGES_CREATE' | 'MESSAGES_RETRY' | 'MESSAGES_CANCEL' | 'ACTIVITIES_CREATE' | 'ACTIVITIES_READ' | 'ACTIVITIES_UPDATE' | 'ACTIVITIES_DELETE' | 'ACTIVITIES_MANAGE_NOTIFICATIONS' | 'TAGS_CREATE' | 'TAGS_READ' | 'TAGS_UPDATE' | 'TAGS_DELETE' | 'COMMISSIONS_CONFIG_CREATE' | 'COMMISSIONS_CONFIG_READ' | 'COMMISSIONS_CONFIG_UPDATE' | 'COMMISSIONS_RULES_CREATE' | 'COMMISSIONS_RULES_READ' | 'COMMISSIONS_RULES_UPDATE' | 'COMMISSIONS_RULES_DELETE' | 'COMMISSIONS_CALCULATIONS_READ' | 'COMMISSIONS_REPORTS_VIEW' | 'CATALOG_READ' | 'CATALOG_UPDATE' | 'CATALOG_MANAGE' | 'ALL';
|
|
785
|
+
type Permission = 'SUPER_ADMIN' | 'OWNER' | 'ORGANIZATIONS_CREATE' | 'ORGANIZATIONS_READ' | 'ORGANIZATIONS_UPDATE' | 'ORGANIZATIONS_DELETE' | 'GYMS_CREATE' | 'GYMS_READ' | 'GYMS_UPDATE' | 'GYMS_DELETE' | 'COLLABORATORS_CREATE' | 'COLLABORATORS_READ' | 'COLLABORATORS_UPDATE' | 'COLLABORATORS_DELETE' | 'CLIENTS_CREATE' | 'CLIENTS_READ' | 'CLIENTS_UPDATE' | 'CLIENTS_DELETE' | 'CONTRACTS_CREATE' | 'CONTRACTS_READ' | 'CONTRACTS_UPDATE' | 'CONTRACTS_DELETE' | 'CONTRACTS_APPROVE' | 'CONTRACTS_CANCEL' | 'MEMBERSHIP_PLANS_CREATE' | 'MEMBERSHIP_PLANS_READ' | 'MEMBERSHIP_PLANS_UPDATE' | 'MEMBERSHIP_PLANS_DELETE' | 'CHECKINS_CREATE' | 'CHECKINS_READ' | 'REPORTS_VIEW' | 'REPORTS_FINANCIAL' | 'SETTINGS_UPDATE' | 'ASSETS_CREATE' | 'ASSETS_READ' | 'ASSETS_DELETE' | 'FILES_CREATE' | 'FILES_READ' | 'FILES_DELETE' | 'PRODUCTS_CREATE' | 'PRODUCTS_READ' | 'PRODUCTS_UPDATE' | 'PRODUCTS_DELETE' | 'PRODUCT_CATEGORIES_CREATE' | 'PRODUCT_CATEGORIES_READ' | 'PRODUCT_CATEGORIES_UPDATE' | 'PRODUCT_CATEGORIES_DELETE' | 'SALES_CREATE' | 'SALES_READ' | 'SALES_UPDATE' | 'SALES_DELETE' | 'SUPPLIERS_CREATE' | 'SUPPLIERS_READ' | 'SUPPLIERS_UPDATE' | 'SUPPLIERS_DELETE' | 'PAYMENT_METHODS_CREATE' | 'PAYMENT_METHODS_READ' | 'PAYMENT_METHODS_UPDATE' | 'PAYMENT_METHODS_DELETE' | 'WHATSAPP_READ' | 'WHATSAPP_SEND' | 'WHATSAPP_MANAGE' | 'WHATSAPP_BULK_SEND' | 'WHATSAPP_BULK_MANAGE' | 'MESSAGES_READ' | 'MESSAGES_CREATE' | 'MESSAGES_RETRY' | 'MESSAGES_CANCEL' | 'ACTIVITIES_CREATE' | 'ACTIVITIES_READ' | 'ACTIVITIES_UPDATE' | 'ACTIVITIES_DELETE' | 'ACTIVITIES_MANAGE_NOTIFICATIONS' | 'TAGS_CREATE' | 'TAGS_READ' | 'TAGS_UPDATE' | 'TAGS_DELETE' | 'COMMISSIONS_CONFIG_CREATE' | 'COMMISSIONS_CONFIG_READ' | 'COMMISSIONS_CONFIG_UPDATE' | 'COMMISSIONS_RULES_CREATE' | 'COMMISSIONS_RULES_READ' | 'COMMISSIONS_RULES_UPDATE' | 'COMMISSIONS_RULES_DELETE' | 'COMMISSIONS_CALCULATIONS_READ' | 'COMMISSIONS_REPORTS_VIEW' | 'CATALOG_READ' | 'CATALOG_UPDATE' | 'CATALOG_MANAGE' | 'ALL';
|
|
714
786
|
interface AuditFields {
|
|
715
787
|
createdByUserId: UUID;
|
|
716
788
|
updatedByUserId?: UUID;
|
|
@@ -1034,7 +1106,6 @@ declare const bulkMessageSchema: z.ZodObject<{
|
|
|
1034
1106
|
suggestions?: string[] | undefined;
|
|
1035
1107
|
}>;
|
|
1036
1108
|
type BulkMessageGenerationRequest = z.infer<typeof bulkMessageGenerationRequestSchema>;
|
|
1037
|
-
type BulkMessage = z.infer<typeof bulkMessageSchema>;
|
|
1038
1109
|
|
|
1039
1110
|
declare const activityNotificationGenerationRequestSchema: z.ZodObject<{
|
|
1040
1111
|
prompt: z.ZodString;
|
|
@@ -1100,4 +1171,4 @@ declare function normalizePhoneForEvolution(phoneNumber: string): string;
|
|
|
1100
1171
|
*/
|
|
1101
1172
|
declare function isValidPeruvianPhone(phoneNumber: string): boolean;
|
|
1102
1173
|
|
|
1103
|
-
export { ACTIVITY_EVENTS, ACTIVITY_MESSAGE_VARIABLES, type AIGeneratedTemplate, type AcceptInvitationDto, type ActivityItem, type ActivityNotification, type ActivityNotificationGenerationRequest, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, type BirthdayTemplateData, type BulkMessage, type BulkMessageEventData, type BulkMessageGenerationRequest, type BulkMessageVariable, CACHE_TTL, CancellationReason, ClientStatus, type Collaborator, type CollaboratorStats, CollaboratorStatus, ContractAssetType, ContractStatus, type CreateInvitationDto, type Currency, DATE_FORMATS, type EntityType, FILE_LIMITS, HEADERS, type ICollaborator, type IGym, type IOrganization, type IRequestContext, type IRole, type ISubscription, type ISubscriptionPlan, type IUser, type Invitation, InvitationStatus, type ListCollaboratorsParams, type MembershipExpiringTemplateData, type MembershipPurchaseTemplateData, type MembershipRenewalTemplateData, MessageStatus, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, PlanType, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, type SalePaymentReminderTemplateData, type SendActivityNotificationEvent, type SendBulkMessagesEvent, type ShareCatalogTemplateData, type StatsQueryParams, SubscriptionStatus, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateCodeValue, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type TemplateTypeValue, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, VARIABLE_CONTEXT_MAP, type ValidateByCodeDto, type ValidateByTokenDto, type VariableContextType, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageRetryEventData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, activityNotificationGenerationRequestSchema, activityNotificationSchema, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, getVariablesByContext, isAdminRole, isEncargadoRole, isValidPeruvianPhone, normalizePhoneForEvolution, templateGenerationRequestSchema, validateVariablesInContext };
|
|
1174
|
+
export { ACTIVITY_EVENTS, ACTIVITY_MESSAGE_VARIABLES, type AIGeneratedTemplate, ALLOWED_IMAGE_MIMES, type AcceptInvitationDto, type ActivityItem, type ActivityNotification, type ActivityNotificationGenerationRequest, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, type BirthdayTemplateData, type BulkMessage, type BulkMessageArray, type BulkMessageEventData, type BulkMessageGenerationRequest, type BulkMessageStatusUpdate, type BulkMessageType, type BulkMessageVariable, CACHE_TTL, CancellationReason, ClientStatus, type Collaborator, type CollaboratorStats, CollaboratorStatus, ContractAssetType, ContractStatus, type CreateInvitationDto, type Currency, DATE_FORMATS, type EntityType, FILE_LIMITS, FeatureType, HEADERS, type ICollaborator, type IGym, INTER_MESSAGE_DELAY_MS, type IOrganization, type IRequestContext, type IRole, type ISubscription, type ISubscriptionPlan, type IUser, type Invitation, InvitationStatus, type ListCollaboratorsParams, MAX_CAPTION_LENGTH, MAX_IMAGES_PER_CAMPAIGN, MAX_MESSAGES_PER_CAMPAIGN, type MembershipExpiringTemplateData, type MembershipPurchaseTemplateData, type MembershipRenewalTemplateData, MessageStatus, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, PlanType, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, SUPPORTED_MESSAGE_TYPES, type SalePaymentReminderTemplateData, type SendActivityNotificationEvent, type SendBulkMessagesEvent, type ShareCatalogTemplateData, type StatsQueryParams, SubscriptionStatus, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateCodeValue, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type TemplateTypeValue, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, VARIABLE_CONTEXT_MAP, type ValidateByCodeDto, type ValidateByTokenDto, type VariableContextType, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageRetryEventData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, activityNotificationGenerationRequestSchema, activityNotificationSchema, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, getVariablesByContext, isAdminRole, isEncargadoRole, isValidPeruvianPhone, normalizePhoneForEvolution, templateGenerationRequestSchema, validateVariablesInContext };
|
package/dist/index.d.ts
CHANGED
|
@@ -221,8 +221,13 @@ declare const PERMISSIONS: {
|
|
|
221
221
|
readonly CONTRACTS_CREATE: "CONTRACTS_CREATE";
|
|
222
222
|
readonly CONTRACTS_READ: "CONTRACTS_READ";
|
|
223
223
|
readonly CONTRACTS_UPDATE: "CONTRACTS_UPDATE";
|
|
224
|
+
readonly CONTRACTS_DELETE: "CONTRACTS_DELETE";
|
|
224
225
|
readonly CONTRACTS_APPROVE: "CONTRACTS_APPROVE";
|
|
225
226
|
readonly CONTRACTS_CANCEL: "CONTRACTS_CANCEL";
|
|
227
|
+
readonly MEMBERSHIP_PLANS_CREATE: "MEMBERSHIP_PLANS_CREATE";
|
|
228
|
+
readonly MEMBERSHIP_PLANS_READ: "MEMBERSHIP_PLANS_READ";
|
|
229
|
+
readonly MEMBERSHIP_PLANS_UPDATE: "MEMBERSHIP_PLANS_UPDATE";
|
|
230
|
+
readonly MEMBERSHIP_PLANS_DELETE: "MEMBERSHIP_PLANS_DELETE";
|
|
226
231
|
readonly CHECKINS_CREATE: "CHECKINS_CREATE";
|
|
227
232
|
readonly CHECKINS_READ: "CHECKINS_READ";
|
|
228
233
|
readonly REPORTS_VIEW: "REPORTS_VIEW";
|
|
@@ -284,12 +289,15 @@ declare const PERMISSIONS: {
|
|
|
284
289
|
readonly CATALOG_READ: "CATALOG_READ";
|
|
285
290
|
readonly CATALOG_UPDATE: "CATALOG_UPDATE";
|
|
286
291
|
readonly CATALOG_MANAGE: "CATALOG_MANAGE";
|
|
292
|
+
readonly CREDITS_READ: "CREDITS_READ";
|
|
293
|
+
readonly CREDITS_MANAGE: "CREDITS_MANAGE";
|
|
294
|
+
readonly CREDITS_ADJUST: "CREDITS_ADJUST";
|
|
287
295
|
readonly SUPER_ADMIN: "SUPER_ADMIN";
|
|
288
296
|
readonly OWNER: "OWNER";
|
|
289
297
|
readonly All: "ALL";
|
|
290
298
|
};
|
|
291
299
|
declare const ROLE_PERMISSIONS: {
|
|
292
|
-
readonly ADMIN: ("ORGANIZATIONS_CREATE" | "ORGANIZATIONS_READ" | "ORGANIZATIONS_UPDATE" | "ORGANIZATIONS_DELETE" | "GYMS_CREATE" | "GYMS_READ" | "GYMS_UPDATE" | "GYMS_DELETE" | "COLLABORATORS_CREATE" | "COLLABORATORS_READ" | "COLLABORATORS_UPDATE" | "COLLABORATORS_DELETE" | "CLIENTS_CREATE" | "CLIENTS_READ" | "CLIENTS_UPDATE" | "CLIENTS_DELETE" | "CONTRACTS_CREATE" | "CONTRACTS_READ" | "CONTRACTS_UPDATE" | "CONTRACTS_APPROVE" | "CONTRACTS_CANCEL" | "CHECKINS_CREATE" | "CHECKINS_READ" | "REPORTS_VIEW" | "REPORTS_FINANCIAL" | "SETTINGS_UPDATE" | "ASSETS_CREATE" | "ASSETS_READ" | "ASSETS_DELETE" | "FILES_CREATE" | "FILES_READ" | "FILES_DELETE" | "PRODUCTS_CREATE" | "PRODUCTS_READ" | "PRODUCTS_UPDATE" | "PRODUCTS_DELETE" | "PRODUCT_CATEGORIES_CREATE" | "PRODUCT_CATEGORIES_READ" | "PRODUCT_CATEGORIES_UPDATE" | "PRODUCT_CATEGORIES_DELETE" | "SALES_CREATE" | "SALES_READ" | "SALES_UPDATE" | "SALES_DELETE" | "SUPPLIERS_CREATE" | "SUPPLIERS_READ" | "SUPPLIERS_UPDATE" | "SUPPLIERS_DELETE" | "PAYMENT_METHODS_CREATE" | "PAYMENT_METHODS_READ" | "PAYMENT_METHODS_UPDATE" | "PAYMENT_METHODS_DELETE" | "WHATSAPP_READ" | "WHATSAPP_SEND" | "WHATSAPP_MANAGE" | "WHATSAPP_BULK_SEND" | "WHATSAPP_BULK_MANAGE" | "MESSAGES_READ" | "MESSAGES_CREATE" | "MESSAGES_RETRY" | "MESSAGES_CANCEL" | "ACTIVITIES_CREATE" | "ACTIVITIES_READ" | "ACTIVITIES_UPDATE" | "ACTIVITIES_DELETE" | "ACTIVITIES_MANAGE_NOTIFICATIONS" | "TAGS_CREATE" | "TAGS_READ" | "TAGS_UPDATE" | "TAGS_DELETE" | "COMMISSIONS_CONFIG_CREATE" | "COMMISSIONS_CONFIG_READ" | "COMMISSIONS_CONFIG_UPDATE" | "COMMISSIONS_RULES_CREATE" | "COMMISSIONS_RULES_READ" | "COMMISSIONS_RULES_UPDATE" | "COMMISSIONS_RULES_DELETE" | "COMMISSIONS_CALCULATIONS_READ" | "COMMISSIONS_REPORTS_VIEW" | "CATALOG_READ" | "CATALOG_UPDATE" | "CATALOG_MANAGE" | "SUPER_ADMIN" | "OWNER" | "ALL")[];
|
|
300
|
+
readonly ADMIN: ("ORGANIZATIONS_CREATE" | "ORGANIZATIONS_READ" | "ORGANIZATIONS_UPDATE" | "ORGANIZATIONS_DELETE" | "GYMS_CREATE" | "GYMS_READ" | "GYMS_UPDATE" | "GYMS_DELETE" | "COLLABORATORS_CREATE" | "COLLABORATORS_READ" | "COLLABORATORS_UPDATE" | "COLLABORATORS_DELETE" | "CLIENTS_CREATE" | "CLIENTS_READ" | "CLIENTS_UPDATE" | "CLIENTS_DELETE" | "CONTRACTS_CREATE" | "CONTRACTS_READ" | "CONTRACTS_UPDATE" | "CONTRACTS_DELETE" | "CONTRACTS_APPROVE" | "CONTRACTS_CANCEL" | "MEMBERSHIP_PLANS_CREATE" | "MEMBERSHIP_PLANS_READ" | "MEMBERSHIP_PLANS_UPDATE" | "MEMBERSHIP_PLANS_DELETE" | "CHECKINS_CREATE" | "CHECKINS_READ" | "REPORTS_VIEW" | "REPORTS_FINANCIAL" | "SETTINGS_UPDATE" | "ASSETS_CREATE" | "ASSETS_READ" | "ASSETS_DELETE" | "FILES_CREATE" | "FILES_READ" | "FILES_DELETE" | "PRODUCTS_CREATE" | "PRODUCTS_READ" | "PRODUCTS_UPDATE" | "PRODUCTS_DELETE" | "PRODUCT_CATEGORIES_CREATE" | "PRODUCT_CATEGORIES_READ" | "PRODUCT_CATEGORIES_UPDATE" | "PRODUCT_CATEGORIES_DELETE" | "SALES_CREATE" | "SALES_READ" | "SALES_UPDATE" | "SALES_DELETE" | "SUPPLIERS_CREATE" | "SUPPLIERS_READ" | "SUPPLIERS_UPDATE" | "SUPPLIERS_DELETE" | "PAYMENT_METHODS_CREATE" | "PAYMENT_METHODS_READ" | "PAYMENT_METHODS_UPDATE" | "PAYMENT_METHODS_DELETE" | "WHATSAPP_READ" | "WHATSAPP_SEND" | "WHATSAPP_MANAGE" | "WHATSAPP_BULK_SEND" | "WHATSAPP_BULK_MANAGE" | "MESSAGES_READ" | "MESSAGES_CREATE" | "MESSAGES_RETRY" | "MESSAGES_CANCEL" | "ACTIVITIES_CREATE" | "ACTIVITIES_READ" | "ACTIVITIES_UPDATE" | "ACTIVITIES_DELETE" | "ACTIVITIES_MANAGE_NOTIFICATIONS" | "TAGS_CREATE" | "TAGS_READ" | "TAGS_UPDATE" | "TAGS_DELETE" | "COMMISSIONS_CONFIG_CREATE" | "COMMISSIONS_CONFIG_READ" | "COMMISSIONS_CONFIG_UPDATE" | "COMMISSIONS_RULES_CREATE" | "COMMISSIONS_RULES_READ" | "COMMISSIONS_RULES_UPDATE" | "COMMISSIONS_RULES_DELETE" | "COMMISSIONS_CALCULATIONS_READ" | "COMMISSIONS_REPORTS_VIEW" | "CATALOG_READ" | "CATALOG_UPDATE" | "CATALOG_MANAGE" | "CREDITS_READ" | "CREDITS_MANAGE" | "CREDITS_ADJUST" | "SUPER_ADMIN" | "OWNER" | "ALL")[];
|
|
293
301
|
readonly MANAGER: readonly ["GYMS_READ", "COLLABORATORS_READ", "CLIENTS_CREATE", "CLIENTS_READ", "CLIENTS_UPDATE", "CONTRACTS_CREATE", "CONTRACTS_READ", "CHECKINS_CREATE", "CHECKINS_READ", "REPORTS_VIEW", "ASSETS_CREATE", "ASSETS_READ", "ASSETS_DELETE", "FILES_CREATE", "FILES_READ", "FILES_DELETE", "PRODUCTS_CREATE", "PRODUCTS_READ", "PRODUCTS_UPDATE", "PRODUCTS_DELETE", "PRODUCT_CATEGORIES_CREATE", "PRODUCT_CATEGORIES_READ", "PRODUCT_CATEGORIES_UPDATE", "PRODUCT_CATEGORIES_DELETE", "SALES_CREATE", "SALES_READ", "SALES_UPDATE", "SUPPLIERS_CREATE", "SUPPLIERS_READ", "SUPPLIERS_UPDATE", "SUPPLIERS_DELETE", "PAYMENT_METHODS_CREATE", "PAYMENT_METHODS_READ", "PAYMENT_METHODS_UPDATE", "PAYMENT_METHODS_DELETE", "COMMISSIONS_RULES_READ", "COMMISSIONS_CALCULATIONS_READ"];
|
|
294
302
|
};
|
|
295
303
|
declare const CACHE_TTL: {
|
|
@@ -415,6 +423,10 @@ declare enum MessageStatus {
|
|
|
415
423
|
FAILED = "failed",
|
|
416
424
|
CANCELLED = "cancelled"
|
|
417
425
|
}
|
|
426
|
+
declare enum FeatureType {
|
|
427
|
+
AI_GENERATION = "ai_generation",
|
|
428
|
+
BULK_WHATSAPP = "bulk_whatsapp"
|
|
429
|
+
}
|
|
418
430
|
|
|
419
431
|
/**
|
|
420
432
|
* Evento para enviar un mensaje de WhatsApp
|
|
@@ -452,6 +464,51 @@ declare const WHATSAPP_EVENTS: {
|
|
|
452
464
|
readonly CONNECTION_UPDATE: "whatsapp/connection.update";
|
|
453
465
|
};
|
|
454
466
|
|
|
467
|
+
/**
|
|
468
|
+
* Tipos de mensajes soportados en bulk messaging
|
|
469
|
+
* Extensible para futuros tipos: video, audio, document, etc.
|
|
470
|
+
*/
|
|
471
|
+
type BulkMessageType = 'text' | 'image';
|
|
472
|
+
/**
|
|
473
|
+
* Interfaz base para mensajes en bulk messaging
|
|
474
|
+
*/
|
|
475
|
+
interface BulkMessage {
|
|
476
|
+
/** Tipo de mensaje */
|
|
477
|
+
type: BulkMessageType;
|
|
478
|
+
/**
|
|
479
|
+
* Contenido del mensaje:
|
|
480
|
+
* - Para 'text': El texto del mensaje (soporta variables {{var}})
|
|
481
|
+
* - Para 'image': fileId o assetId (se resuelve a URL en el servicio)
|
|
482
|
+
*/
|
|
483
|
+
content: string;
|
|
484
|
+
/**
|
|
485
|
+
* Tipo de referencia para imágenes:
|
|
486
|
+
* - 'file': fileId del usuario
|
|
487
|
+
* - 'asset': assetId de la galería del gym
|
|
488
|
+
*/
|
|
489
|
+
mediaRef?: 'file' | 'asset';
|
|
490
|
+
/** Caption para imágenes (soporta variables) */
|
|
491
|
+
caption?: string;
|
|
492
|
+
/** Orden de envío (0-based, secuencial) */
|
|
493
|
+
order: number;
|
|
494
|
+
}
|
|
495
|
+
type BulkMessageArray = BulkMessage[];
|
|
496
|
+
/**
|
|
497
|
+
* Constantes de validación
|
|
498
|
+
*/
|
|
499
|
+
declare const MAX_MESSAGES_PER_CAMPAIGN = 10;
|
|
500
|
+
declare const MAX_IMAGES_PER_CAMPAIGN = 5;
|
|
501
|
+
declare const MAX_CAPTION_LENGTH = 1024;
|
|
502
|
+
declare const INTER_MESSAGE_DELAY_MS = 500;
|
|
503
|
+
/**
|
|
504
|
+
* Tipos de mensajes soportados (extensible)
|
|
505
|
+
*/
|
|
506
|
+
declare const SUPPORTED_MESSAGE_TYPES: BulkMessageType[];
|
|
507
|
+
/**
|
|
508
|
+
* Tipos MIME permitidos para imágenes
|
|
509
|
+
*/
|
|
510
|
+
declare const ALLOWED_IMAGE_MIMES: string[];
|
|
511
|
+
|
|
455
512
|
declare const BULK_MESSAGING_EVENTS: {
|
|
456
513
|
readonly SEND_BULK_MESSAGES: "whatsapp/bulk-messages.send";
|
|
457
514
|
};
|
|
@@ -461,7 +518,7 @@ interface BulkMessageEventData {
|
|
|
461
518
|
userId: string;
|
|
462
519
|
instanceName: string;
|
|
463
520
|
templateId?: string;
|
|
464
|
-
|
|
521
|
+
messages: BulkMessage[];
|
|
465
522
|
variableContext?: VariableContextType;
|
|
466
523
|
clients: Array<{
|
|
467
524
|
messageId?: string;
|
|
@@ -477,6 +534,21 @@ interface SendBulkMessagesEvent {
|
|
|
477
534
|
name: typeof BULK_MESSAGING_EVENTS.SEND_BULK_MESSAGES;
|
|
478
535
|
data: BulkMessageEventData;
|
|
479
536
|
}
|
|
537
|
+
interface BulkMessageStatusUpdate {
|
|
538
|
+
gymId: string;
|
|
539
|
+
sendId: string;
|
|
540
|
+
clientId: string;
|
|
541
|
+
overallStatus: 'pending' | 'sending' | 'sent' | 'partial' | 'failed';
|
|
542
|
+
messages: Array<{
|
|
543
|
+
order: number;
|
|
544
|
+
type: BulkMessageType;
|
|
545
|
+
status: 'pending' | 'sending' | 'sent' | 'failed';
|
|
546
|
+
externalMessageId?: string;
|
|
547
|
+
error?: string;
|
|
548
|
+
sentAt?: string;
|
|
549
|
+
}>;
|
|
550
|
+
timestamp: string;
|
|
551
|
+
}
|
|
480
552
|
|
|
481
553
|
declare const ACTIVITY_EVENTS: {
|
|
482
554
|
readonly SEND_ACTIVITY_NOTIFICATION: "activity/notification.send";
|
|
@@ -710,7 +782,7 @@ interface TemplateMetadata {
|
|
|
710
782
|
type UUID = string;
|
|
711
783
|
type Currency = 'USD' | 'EUR' | 'PEN' | 'MXN' | 'COP' | 'ARS' | 'CLP';
|
|
712
784
|
type EntityType = 'user' | 'organization' | 'gym' | 'collaborator' | 'client' | 'contract' | 'asset';
|
|
713
|
-
type Permission = 'SUPER_ADMIN' | 'OWNER' | 'ORGANIZATIONS_CREATE' | 'ORGANIZATIONS_READ' | 'ORGANIZATIONS_UPDATE' | 'ORGANIZATIONS_DELETE' | 'GYMS_CREATE' | 'GYMS_READ' | 'GYMS_UPDATE' | 'GYMS_DELETE' | 'COLLABORATORS_CREATE' | 'COLLABORATORS_READ' | 'COLLABORATORS_UPDATE' | 'COLLABORATORS_DELETE' | 'CLIENTS_CREATE' | 'CLIENTS_READ' | 'CLIENTS_UPDATE' | 'CLIENTS_DELETE' | 'CONTRACTS_CREATE' | 'CONTRACTS_READ' | 'CONTRACTS_UPDATE' | 'CONTRACTS_APPROVE' | 'CONTRACTS_CANCEL' | 'CHECKINS_CREATE' | 'CHECKINS_READ' | 'REPORTS_VIEW' | 'REPORTS_FINANCIAL' | 'SETTINGS_UPDATE' | 'ASSETS_CREATE' | 'ASSETS_READ' | 'ASSETS_DELETE' | 'FILES_CREATE' | 'FILES_READ' | 'FILES_DELETE' | 'PRODUCTS_CREATE' | 'PRODUCTS_READ' | 'PRODUCTS_UPDATE' | 'PRODUCTS_DELETE' | 'PRODUCT_CATEGORIES_CREATE' | 'PRODUCT_CATEGORIES_READ' | 'PRODUCT_CATEGORIES_UPDATE' | 'PRODUCT_CATEGORIES_DELETE' | 'SALES_CREATE' | 'SALES_READ' | 'SALES_UPDATE' | 'SALES_DELETE' | 'SUPPLIERS_CREATE' | 'SUPPLIERS_READ' | 'SUPPLIERS_UPDATE' | 'SUPPLIERS_DELETE' | 'PAYMENT_METHODS_CREATE' | 'PAYMENT_METHODS_READ' | 'PAYMENT_METHODS_UPDATE' | 'PAYMENT_METHODS_DELETE' | 'WHATSAPP_READ' | 'WHATSAPP_SEND' | 'WHATSAPP_MANAGE' | 'WHATSAPP_BULK_SEND' | 'WHATSAPP_BULK_MANAGE' | 'MESSAGES_READ' | 'MESSAGES_CREATE' | 'MESSAGES_RETRY' | 'MESSAGES_CANCEL' | 'ACTIVITIES_CREATE' | 'ACTIVITIES_READ' | 'ACTIVITIES_UPDATE' | 'ACTIVITIES_DELETE' | 'ACTIVITIES_MANAGE_NOTIFICATIONS' | 'TAGS_CREATE' | 'TAGS_READ' | 'TAGS_UPDATE' | 'TAGS_DELETE' | 'COMMISSIONS_CONFIG_CREATE' | 'COMMISSIONS_CONFIG_READ' | 'COMMISSIONS_CONFIG_UPDATE' | 'COMMISSIONS_RULES_CREATE' | 'COMMISSIONS_RULES_READ' | 'COMMISSIONS_RULES_UPDATE' | 'COMMISSIONS_RULES_DELETE' | 'COMMISSIONS_CALCULATIONS_READ' | 'COMMISSIONS_REPORTS_VIEW' | 'CATALOG_READ' | 'CATALOG_UPDATE' | 'CATALOG_MANAGE' | 'ALL';
|
|
785
|
+
type Permission = 'SUPER_ADMIN' | 'OWNER' | 'ORGANIZATIONS_CREATE' | 'ORGANIZATIONS_READ' | 'ORGANIZATIONS_UPDATE' | 'ORGANIZATIONS_DELETE' | 'GYMS_CREATE' | 'GYMS_READ' | 'GYMS_UPDATE' | 'GYMS_DELETE' | 'COLLABORATORS_CREATE' | 'COLLABORATORS_READ' | 'COLLABORATORS_UPDATE' | 'COLLABORATORS_DELETE' | 'CLIENTS_CREATE' | 'CLIENTS_READ' | 'CLIENTS_UPDATE' | 'CLIENTS_DELETE' | 'CONTRACTS_CREATE' | 'CONTRACTS_READ' | 'CONTRACTS_UPDATE' | 'CONTRACTS_DELETE' | 'CONTRACTS_APPROVE' | 'CONTRACTS_CANCEL' | 'MEMBERSHIP_PLANS_CREATE' | 'MEMBERSHIP_PLANS_READ' | 'MEMBERSHIP_PLANS_UPDATE' | 'MEMBERSHIP_PLANS_DELETE' | 'CHECKINS_CREATE' | 'CHECKINS_READ' | 'REPORTS_VIEW' | 'REPORTS_FINANCIAL' | 'SETTINGS_UPDATE' | 'ASSETS_CREATE' | 'ASSETS_READ' | 'ASSETS_DELETE' | 'FILES_CREATE' | 'FILES_READ' | 'FILES_DELETE' | 'PRODUCTS_CREATE' | 'PRODUCTS_READ' | 'PRODUCTS_UPDATE' | 'PRODUCTS_DELETE' | 'PRODUCT_CATEGORIES_CREATE' | 'PRODUCT_CATEGORIES_READ' | 'PRODUCT_CATEGORIES_UPDATE' | 'PRODUCT_CATEGORIES_DELETE' | 'SALES_CREATE' | 'SALES_READ' | 'SALES_UPDATE' | 'SALES_DELETE' | 'SUPPLIERS_CREATE' | 'SUPPLIERS_READ' | 'SUPPLIERS_UPDATE' | 'SUPPLIERS_DELETE' | 'PAYMENT_METHODS_CREATE' | 'PAYMENT_METHODS_READ' | 'PAYMENT_METHODS_UPDATE' | 'PAYMENT_METHODS_DELETE' | 'WHATSAPP_READ' | 'WHATSAPP_SEND' | 'WHATSAPP_MANAGE' | 'WHATSAPP_BULK_SEND' | 'WHATSAPP_BULK_MANAGE' | 'MESSAGES_READ' | 'MESSAGES_CREATE' | 'MESSAGES_RETRY' | 'MESSAGES_CANCEL' | 'ACTIVITIES_CREATE' | 'ACTIVITIES_READ' | 'ACTIVITIES_UPDATE' | 'ACTIVITIES_DELETE' | 'ACTIVITIES_MANAGE_NOTIFICATIONS' | 'TAGS_CREATE' | 'TAGS_READ' | 'TAGS_UPDATE' | 'TAGS_DELETE' | 'COMMISSIONS_CONFIG_CREATE' | 'COMMISSIONS_CONFIG_READ' | 'COMMISSIONS_CONFIG_UPDATE' | 'COMMISSIONS_RULES_CREATE' | 'COMMISSIONS_RULES_READ' | 'COMMISSIONS_RULES_UPDATE' | 'COMMISSIONS_RULES_DELETE' | 'COMMISSIONS_CALCULATIONS_READ' | 'COMMISSIONS_REPORTS_VIEW' | 'CATALOG_READ' | 'CATALOG_UPDATE' | 'CATALOG_MANAGE' | 'ALL';
|
|
714
786
|
interface AuditFields {
|
|
715
787
|
createdByUserId: UUID;
|
|
716
788
|
updatedByUserId?: UUID;
|
|
@@ -1034,7 +1106,6 @@ declare const bulkMessageSchema: z.ZodObject<{
|
|
|
1034
1106
|
suggestions?: string[] | undefined;
|
|
1035
1107
|
}>;
|
|
1036
1108
|
type BulkMessageGenerationRequest = z.infer<typeof bulkMessageGenerationRequestSchema>;
|
|
1037
|
-
type BulkMessage = z.infer<typeof bulkMessageSchema>;
|
|
1038
1109
|
|
|
1039
1110
|
declare const activityNotificationGenerationRequestSchema: z.ZodObject<{
|
|
1040
1111
|
prompt: z.ZodString;
|
|
@@ -1100,4 +1171,4 @@ declare function normalizePhoneForEvolution(phoneNumber: string): string;
|
|
|
1100
1171
|
*/
|
|
1101
1172
|
declare function isValidPeruvianPhone(phoneNumber: string): boolean;
|
|
1102
1173
|
|
|
1103
|
-
export { ACTIVITY_EVENTS, ACTIVITY_MESSAGE_VARIABLES, type AIGeneratedTemplate, type AcceptInvitationDto, type ActivityItem, type ActivityNotification, type ActivityNotificationGenerationRequest, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, type BirthdayTemplateData, type BulkMessage, type BulkMessageEventData, type BulkMessageGenerationRequest, type BulkMessageVariable, CACHE_TTL, CancellationReason, ClientStatus, type Collaborator, type CollaboratorStats, CollaboratorStatus, ContractAssetType, ContractStatus, type CreateInvitationDto, type Currency, DATE_FORMATS, type EntityType, FILE_LIMITS, HEADERS, type ICollaborator, type IGym, type IOrganization, type IRequestContext, type IRole, type ISubscription, type ISubscriptionPlan, type IUser, type Invitation, InvitationStatus, type ListCollaboratorsParams, type MembershipExpiringTemplateData, type MembershipPurchaseTemplateData, type MembershipRenewalTemplateData, MessageStatus, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, PlanType, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, type SalePaymentReminderTemplateData, type SendActivityNotificationEvent, type SendBulkMessagesEvent, type ShareCatalogTemplateData, type StatsQueryParams, SubscriptionStatus, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateCodeValue, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type TemplateTypeValue, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, VARIABLE_CONTEXT_MAP, type ValidateByCodeDto, type ValidateByTokenDto, type VariableContextType, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageRetryEventData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, activityNotificationGenerationRequestSchema, activityNotificationSchema, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, getVariablesByContext, isAdminRole, isEncargadoRole, isValidPeruvianPhone, normalizePhoneForEvolution, templateGenerationRequestSchema, validateVariablesInContext };
|
|
1174
|
+
export { ACTIVITY_EVENTS, ACTIVITY_MESSAGE_VARIABLES, type AIGeneratedTemplate, ALLOWED_IMAGE_MIMES, type AcceptInvitationDto, type ActivityItem, type ActivityNotification, type ActivityNotificationGenerationRequest, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, type BirthdayTemplateData, type BulkMessage, type BulkMessageArray, type BulkMessageEventData, type BulkMessageGenerationRequest, type BulkMessageStatusUpdate, type BulkMessageType, type BulkMessageVariable, CACHE_TTL, CancellationReason, ClientStatus, type Collaborator, type CollaboratorStats, CollaboratorStatus, ContractAssetType, ContractStatus, type CreateInvitationDto, type Currency, DATE_FORMATS, type EntityType, FILE_LIMITS, FeatureType, HEADERS, type ICollaborator, type IGym, INTER_MESSAGE_DELAY_MS, type IOrganization, type IRequestContext, type IRole, type ISubscription, type ISubscriptionPlan, type IUser, type Invitation, InvitationStatus, type ListCollaboratorsParams, MAX_CAPTION_LENGTH, MAX_IMAGES_PER_CAMPAIGN, MAX_MESSAGES_PER_CAMPAIGN, type MembershipExpiringTemplateData, type MembershipPurchaseTemplateData, type MembershipRenewalTemplateData, MessageStatus, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, PlanType, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, SUPPORTED_MESSAGE_TYPES, type SalePaymentReminderTemplateData, type SendActivityNotificationEvent, type SendBulkMessagesEvent, type ShareCatalogTemplateData, type StatsQueryParams, SubscriptionStatus, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateCodeValue, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type TemplateTypeValue, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, VARIABLE_CONTEXT_MAP, type ValidateByCodeDto, type ValidateByTokenDto, type VariableContextType, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageRetryEventData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, activityNotificationGenerationRequestSchema, activityNotificationSchema, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, getVariablesByContext, isAdminRole, isEncargadoRole, isValidPeruvianPhone, normalizePhoneForEvolution, templateGenerationRequestSchema, validateVariablesInContext };
|
package/dist/index.js
CHANGED
|
@@ -219,6 +219,33 @@ var BULK_MESSAGE_VARIABLES = [
|
|
|
219
219
|
required: false,
|
|
220
220
|
formatter: "text"
|
|
221
221
|
},
|
|
222
|
+
{
|
|
223
|
+
name: "registrationDate",
|
|
224
|
+
placeholder: "{{registrationDate}}",
|
|
225
|
+
description: "Fecha de registro del cliente",
|
|
226
|
+
example: "15/10/2024",
|
|
227
|
+
category: "client",
|
|
228
|
+
required: false,
|
|
229
|
+
formatter: "date"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: "birthDate",
|
|
233
|
+
placeholder: "{{birthDate}}",
|
|
234
|
+
description: "Fecha de nacimiento del cliente",
|
|
235
|
+
example: "15/10/1990",
|
|
236
|
+
category: "client",
|
|
237
|
+
required: false,
|
|
238
|
+
formatter: "date"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
name: "age",
|
|
242
|
+
placeholder: "{{age}}",
|
|
243
|
+
description: "Edad del cliente",
|
|
244
|
+
example: "34",
|
|
245
|
+
category: "client",
|
|
246
|
+
required: false,
|
|
247
|
+
formatter: "number"
|
|
248
|
+
},
|
|
222
249
|
// Variables de Gimnasio
|
|
223
250
|
{
|
|
224
251
|
name: "gymName",
|
|
@@ -293,6 +320,60 @@ var BULK_MESSAGE_VARIABLES = [
|
|
|
293
320
|
required: false,
|
|
294
321
|
formatter: "currency"
|
|
295
322
|
},
|
|
323
|
+
{
|
|
324
|
+
name: "startDate",
|
|
325
|
+
placeholder: "{{startDate}}",
|
|
326
|
+
description: "Fecha de inicio de membres\xEDa",
|
|
327
|
+
example: "15/10/2024",
|
|
328
|
+
category: "membership",
|
|
329
|
+
required: false,
|
|
330
|
+
formatter: "date"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
name: "endDate",
|
|
334
|
+
placeholder: "{{endDate}}",
|
|
335
|
+
description: "Fecha de fin de membres\xEDa",
|
|
336
|
+
example: "15/11/2024",
|
|
337
|
+
category: "membership",
|
|
338
|
+
required: false,
|
|
339
|
+
formatter: "date"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
name: "newEndDate",
|
|
343
|
+
placeholder: "{{newEndDate}}",
|
|
344
|
+
description: "Nueva fecha de vencimiento por renovaci\xF3n",
|
|
345
|
+
example: "15/12/2024",
|
|
346
|
+
category: "membership",
|
|
347
|
+
required: false,
|
|
348
|
+
formatter: "date"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
name: "paymentFrequency",
|
|
352
|
+
placeholder: "{{paymentFrequency}}",
|
|
353
|
+
description: "Frecuencia de pago",
|
|
354
|
+
example: "Mensual",
|
|
355
|
+
category: "membership",
|
|
356
|
+
required: false,
|
|
357
|
+
formatter: "text"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
name: "daysRemaining",
|
|
361
|
+
placeholder: "{{daysRemaining}}",
|
|
362
|
+
description: "D\xEDas restantes",
|
|
363
|
+
example: "15",
|
|
364
|
+
category: "membership",
|
|
365
|
+
required: false,
|
|
366
|
+
formatter: "number"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
name: "dueDate",
|
|
370
|
+
placeholder: "{{dueDate}}",
|
|
371
|
+
description: "Fecha de vencimiento de pago",
|
|
372
|
+
example: "15/10/2024",
|
|
373
|
+
category: "membership",
|
|
374
|
+
required: false,
|
|
375
|
+
formatter: "date"
|
|
376
|
+
},
|
|
296
377
|
// Variables de Fecha/Hora
|
|
297
378
|
{
|
|
298
379
|
name: "date",
|
|
@@ -474,8 +555,14 @@ var PERMISSIONS = {
|
|
|
474
555
|
CONTRACTS_CREATE: "CONTRACTS_CREATE",
|
|
475
556
|
CONTRACTS_READ: "CONTRACTS_READ",
|
|
476
557
|
CONTRACTS_UPDATE: "CONTRACTS_UPDATE",
|
|
558
|
+
CONTRACTS_DELETE: "CONTRACTS_DELETE",
|
|
477
559
|
CONTRACTS_APPROVE: "CONTRACTS_APPROVE",
|
|
478
560
|
CONTRACTS_CANCEL: "CONTRACTS_CANCEL",
|
|
561
|
+
// Membership Plans
|
|
562
|
+
MEMBERSHIP_PLANS_CREATE: "MEMBERSHIP_PLANS_CREATE",
|
|
563
|
+
MEMBERSHIP_PLANS_READ: "MEMBERSHIP_PLANS_READ",
|
|
564
|
+
MEMBERSHIP_PLANS_UPDATE: "MEMBERSHIP_PLANS_UPDATE",
|
|
565
|
+
MEMBERSHIP_PLANS_DELETE: "MEMBERSHIP_PLANS_DELETE",
|
|
479
566
|
// Check-ins
|
|
480
567
|
CHECKINS_CREATE: "CHECKINS_CREATE",
|
|
481
568
|
CHECKINS_READ: "CHECKINS_READ",
|
|
@@ -553,6 +640,10 @@ var PERMISSIONS = {
|
|
|
553
640
|
CATALOG_READ: "CATALOG_READ",
|
|
554
641
|
CATALOG_UPDATE: "CATALOG_UPDATE",
|
|
555
642
|
CATALOG_MANAGE: "CATALOG_MANAGE",
|
|
643
|
+
// Credits
|
|
644
|
+
CREDITS_READ: "CREDITS_READ",
|
|
645
|
+
CREDITS_MANAGE: "CREDITS_MANAGE",
|
|
646
|
+
CREDITS_ADJUST: "CREDITS_ADJUST",
|
|
556
647
|
// Special permissions
|
|
557
648
|
SUPER_ADMIN: "SUPER_ADMIN",
|
|
558
649
|
OWNER: "OWNER",
|
|
@@ -750,6 +841,11 @@ var MessageStatus = /* @__PURE__ */ ((MessageStatus2) => {
|
|
|
750
841
|
MessageStatus2["CANCELLED"] = "cancelled";
|
|
751
842
|
return MessageStatus2;
|
|
752
843
|
})(MessageStatus || {});
|
|
844
|
+
var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
|
|
845
|
+
FeatureType2["AI_GENERATION"] = "ai_generation";
|
|
846
|
+
FeatureType2["BULK_WHATSAPP"] = "bulk_whatsapp";
|
|
847
|
+
return FeatureType2;
|
|
848
|
+
})(FeatureType || {});
|
|
753
849
|
|
|
754
850
|
// src/events/whatsapp.events.ts
|
|
755
851
|
var WHATSAPP_EVENTS = {
|
|
@@ -900,6 +996,14 @@ function getRoleCapabilities(roleName) {
|
|
|
900
996
|
}
|
|
901
997
|
}
|
|
902
998
|
|
|
999
|
+
// src/types/bulk-message.types.ts
|
|
1000
|
+
var MAX_MESSAGES_PER_CAMPAIGN = 10;
|
|
1001
|
+
var MAX_IMAGES_PER_CAMPAIGN = 5;
|
|
1002
|
+
var MAX_CAPTION_LENGTH = 1024;
|
|
1003
|
+
var INTER_MESSAGE_DELAY_MS = 500;
|
|
1004
|
+
var SUPPORTED_MESSAGE_TYPES = ["text", "image"];
|
|
1005
|
+
var ALLOWED_IMAGE_MIMES = ["image/jpeg", "image/jpg", "image/png", "image/webp"];
|
|
1006
|
+
|
|
903
1007
|
// src/utils/phone.utils.ts
|
|
904
1008
|
function normalizePhoneForEvolution(phoneNumber) {
|
|
905
1009
|
if (!phoneNumber) {
|
|
@@ -934,6 +1038,7 @@ function isValidPeruvianPhone(phoneNumber) {
|
|
|
934
1038
|
|
|
935
1039
|
exports.ACTIVITY_EVENTS = ACTIVITY_EVENTS;
|
|
936
1040
|
exports.ACTIVITY_MESSAGE_VARIABLES = ACTIVITY_MESSAGE_VARIABLES;
|
|
1041
|
+
exports.ALLOWED_IMAGE_MIMES = ALLOWED_IMAGE_MIMES;
|
|
937
1042
|
exports.AssetCategory = AssetCategory;
|
|
938
1043
|
exports.AssetStatus = AssetStatus;
|
|
939
1044
|
exports.BULK_MESSAGE_VARIABLES = BULK_MESSAGE_VARIABLES;
|
|
@@ -947,8 +1052,13 @@ exports.ContractAssetType = ContractAssetType;
|
|
|
947
1052
|
exports.ContractStatus = ContractStatus;
|
|
948
1053
|
exports.DATE_FORMATS = DATE_FORMATS;
|
|
949
1054
|
exports.FILE_LIMITS = FILE_LIMITS;
|
|
1055
|
+
exports.FeatureType = FeatureType;
|
|
950
1056
|
exports.HEADERS = HEADERS;
|
|
1057
|
+
exports.INTER_MESSAGE_DELAY_MS = INTER_MESSAGE_DELAY_MS;
|
|
951
1058
|
exports.InvitationStatus = InvitationStatus;
|
|
1059
|
+
exports.MAX_CAPTION_LENGTH = MAX_CAPTION_LENGTH;
|
|
1060
|
+
exports.MAX_IMAGES_PER_CAMPAIGN = MAX_IMAGES_PER_CAMPAIGN;
|
|
1061
|
+
exports.MAX_MESSAGES_PER_CAMPAIGN = MAX_MESSAGES_PER_CAMPAIGN;
|
|
952
1062
|
exports.MessageStatus = MessageStatus;
|
|
953
1063
|
exports.PAGINATION_DEFAULTS = PAGINATION_DEFAULTS;
|
|
954
1064
|
exports.PERMISSIONS = PERMISSIONS;
|
|
@@ -958,6 +1068,7 @@ exports.PlanType = PlanType;
|
|
|
958
1068
|
exports.ROLE_NAMES = ROLE_NAMES;
|
|
959
1069
|
exports.ROLE_PERMISSIONS = ROLE_PERMISSIONS;
|
|
960
1070
|
exports.RoleNames = RoleNames;
|
|
1071
|
+
exports.SUPPORTED_MESSAGE_TYPES = SUPPORTED_MESSAGE_TYPES;
|
|
961
1072
|
exports.SubscriptionStatus = SubscriptionStatus;
|
|
962
1073
|
exports.SuspensionType = SuspensionType;
|
|
963
1074
|
exports.TEMPLATE_CODES = TEMPLATE_CODES;
|