@zohoim/client-sdk 1.0.0-rightPanelContact1 → 1.0.0-rightPanelSessionInfo-2
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/es/application/services/agents/AgentService.js +21 -0
- package/es/application/services/agents/index.js +2 -0
- package/es/application/services/bots/BotService.js +26 -0
- package/es/application/services/bots/index.js +2 -0
- package/es/application/services/calls/CallService.js +36 -0
- package/es/application/services/calls/index.js +1 -0
- package/es/application/services/cannedMessages/CannedMessageService.js +71 -0
- package/es/application/services/cannedMessages/index.js +2 -0
- package/es/application/services/channels/ChannelAgentService.js +21 -0
- package/es/application/services/channels/ChannelService.js +26 -0
- package/es/application/services/channels/index.js +3 -0
- package/es/application/services/contacts/ContactService.js +26 -0
- package/es/application/services/contacts/index.js +2 -0
- package/es/application/services/index.js +13 -0
- package/es/application/services/integrationServices/IntegrationService.js +21 -0
- package/es/application/services/integrationServices/index.js +2 -0
- package/es/application/services/messages/MessageService.js +61 -0
- package/es/application/services/messages/index.js +2 -0
- package/es/application/services/sessions/SessionService.js +61 -0
- package/es/application/services/sessions/index.js +2 -0
- package/es/application/services/subscription/SubscriptionService.js +36 -0
- package/es/application/services/subscription/index.js +2 -0
- package/es/application/services/templateMessages/TemplateMessageService.js +31 -0
- package/es/application/services/templateMessages/index.js +2 -0
- package/es/application/services/userPreferences/UserPreferenceService.js +26 -0
- package/es/application/services/userPreferences/index.js +2 -0
- package/es/application/services/whatsAppPricing/WhatsAppPricingService.js +21 -0
- package/es/application/services/whatsAppPricing/index.js +2 -0
- package/es/core/constants/ModuleNames.js +17 -0
- package/es/core/constants/ModuleTypes.js +5 -0
- package/es/core/constants/ResponseTypes.js +6 -0
- package/es/core/constants/index.js +7 -0
- package/es/core/errors/AdapterError.js +7 -0
- package/es/core/errors/ValidationError.js +7 -0
- package/es/core/errors/index.js +3 -0
- package/es/core/utils/ResponseUtils.js +24 -0
- package/es/core/utils/index.js +3 -0
- package/es/core/utils/validateSchema.js +133 -0
- package/es/domain/dto/RequestBuilder.js +44 -0
- package/es/domain/dto/agents/getAgentsRequest.js +12 -0
- package/es/domain/dto/agents/index.js +1 -0
- package/es/domain/dto/bots/getBotRequest.js +9 -0
- package/es/domain/dto/bots/getBotsRequest.js +15 -0
- package/es/domain/dto/bots/index.js +2 -0
- package/es/domain/dto/calls/getCallRequest.js +14 -0
- package/es/domain/dto/calls/getCallsRequest.js +20 -0
- package/es/domain/dto/calls/index.js +4 -0
- package/es/domain/dto/calls/initiateCallRequest.js +15 -0
- package/es/domain/dto/calls/updateCallStatusRequest.js +15 -0
- package/es/domain/dto/cannedMessages/addTranslationRequest.js +19 -0
- package/es/domain/dto/cannedMessages/createCannedMessageRequest.js +18 -0
- package/es/domain/dto/cannedMessages/deleteCannedMessageRequest.js +13 -0
- package/es/domain/dto/cannedMessages/deleteTranslationRequest.js +14 -0
- package/es/domain/dto/cannedMessages/disableCannedMessageRequest.js +13 -0
- package/es/domain/dto/cannedMessages/enableCannedMessageRequest.js +13 -0
- package/es/domain/dto/cannedMessages/getCannedMessageRequest.js +13 -0
- package/es/domain/dto/cannedMessages/getCannedMessagesRequest.js +18 -0
- package/es/domain/dto/cannedMessages/getCannedPlaceholdersRequest.js +7 -0
- package/es/domain/dto/cannedMessages/index.js +11 -0
- package/es/domain/dto/cannedMessages/updateCannedMessageRequest.js +20 -0
- package/es/domain/dto/cannedMessages/updateTranslationRequest.js +20 -0
- package/es/domain/dto/channels/agents/getChannelAgentsRequest.js +13 -0
- package/es/domain/dto/channels/agents/index.js +1 -0
- package/es/domain/dto/channels/getChannelRequest.js +13 -0
- package/es/domain/dto/channels/getChannelsRequest.js +25 -0
- package/es/domain/dto/channels/index.js +4 -0
- package/es/domain/dto/contacts/getContactRequest.js +13 -0
- package/es/domain/dto/contacts/getContactsRequest.js +11 -0
- package/es/domain/dto/contacts/index.js +2 -0
- package/es/domain/dto/index.js +13 -0
- package/es/domain/dto/integrationServices/getIntegrationsRequest.js +7 -0
- package/es/domain/dto/integrationServices/index.js +1 -0
- package/es/domain/dto/messages/deleteMessageRequest.js +14 -0
- package/es/domain/dto/messages/getFullContentRequest.js +14 -0
- package/es/domain/dto/messages/getMessageRequest.js +14 -0
- package/es/domain/dto/messages/getMessagesRequest.js +20 -0
- package/es/domain/dto/messages/index.js +9 -0
- package/es/domain/dto/messages/initiateSessionRequest.js +24 -0
- package/es/domain/dto/messages/resendMessageRequest.js +14 -0
- package/es/domain/dto/messages/searchMessagesRequest.js +22 -0
- package/es/domain/dto/messages/sendAttachmentRequest.js +19 -0
- package/es/domain/dto/messages/sendMessageRequest.js +19 -0
- package/es/domain/dto/sessions/getSessionAttachmentsRequest.js +18 -0
- package/es/domain/dto/sessions/getSessionLastMessagesRequest.js +13 -0
- package/es/domain/dto/sessions/getSessionMetricsRequest.js +16 -0
- package/es/domain/dto/sessions/getSessionRequest.js +13 -0
- package/es/domain/dto/sessions/getSessionsRequest.js +27 -0
- package/es/domain/dto/sessions/index.js +9 -0
- package/es/domain/dto/sessions/markSessionAsReadRequest.js +17 -0
- package/es/domain/dto/sessions/pickupSessionRequest.js +9 -0
- package/es/domain/dto/sessions/updateSessionAssigneeRequest.js +12 -0
- package/es/domain/dto/sessions/updateSessionStatusRequest.js +18 -0
- package/es/domain/dto/subscription/buyAddOnRequest.js +18 -0
- package/es/domain/dto/subscription/getAddOnsRequest.js +15 -0
- package/es/domain/dto/subscription/getLicenseDetailsRequest.js +7 -0
- package/es/domain/dto/subscription/index.js +4 -0
- package/es/domain/dto/subscription/modifyAddOnRequest.js +18 -0
- package/es/domain/dto/templateMessages/getTemplateCreditExhaustStatusRequest.js +14 -0
- package/es/domain/dto/templateMessages/getTemplateLanguagesRequest.js +7 -0
- package/es/domain/dto/templateMessages/getTemplateTagsRequest.js +7 -0
- package/es/domain/dto/templateMessages/index.js +3 -0
- package/es/domain/dto/userPreferences/getPreferencesRequest.js +7 -0
- package/es/domain/dto/userPreferences/index.js +2 -0
- package/es/domain/dto/userPreferences/updatePreferencesRequest.js +9 -0
- package/es/domain/dto/whatsAppPricing/calculateWhatsAppPricingRequest.js +14 -0
- package/es/domain/dto/whatsAppPricing/index.js +1 -0
- package/es/domain/entities/Actor/Actor.js +45 -0
- package/es/domain/entities/Actor/index.js +2 -0
- package/es/domain/entities/Agent/Agent.js +30 -0
- package/es/domain/entities/Agent/index.js +2 -0
- package/es/domain/entities/Attachment/Attachment.js +27 -0
- package/es/domain/entities/Attachment/index.js +2 -0
- package/es/domain/entities/Bot/Bot.js +27 -0
- package/es/domain/entities/Bot/index.js +2 -0
- package/es/domain/entities/Call/Call.js +47 -0
- package/es/domain/entities/Call/index.js +1 -0
- package/es/domain/entities/CannedMessage/CannedMessage.js +86 -0
- package/es/domain/entities/CannedMessage/Translation.js +48 -0
- package/es/domain/entities/CannedMessage/index.js +3 -0
- package/es/domain/entities/Channel/Channel.js +60 -0
- package/es/domain/entities/Channel/index.js +2 -0
- package/es/domain/entities/Contact/Contact.js +29 -0
- package/es/domain/entities/Contact/index.js +2 -0
- package/es/domain/entities/CustomReplyExtension/CustomReplyExtension.js +26 -0
- package/es/domain/entities/CustomReplyExtension/index.js +2 -0
- package/es/domain/entities/IntegrationService/IntegrationService.js +44 -0
- package/es/domain/entities/IntegrationService/index.js +2 -0
- package/es/domain/entities/Message/Action.js +29 -0
- package/es/domain/entities/Message/ExternalInfo.js +30 -0
- package/es/domain/entities/Message/Info.js +48 -0
- package/es/domain/entities/Message/InfoTarget.js +26 -0
- package/es/domain/entities/Message/Location.js +22 -0
- package/es/domain/entities/Message/Message.js +160 -0
- package/es/domain/entities/Message/MessageWithSession.js +25 -0
- package/es/domain/entities/Message/index.js +7 -0
- package/es/domain/entities/Placeholder/Placeholder.js +24 -0
- package/es/domain/entities/Placeholder/index.js +2 -0
- package/es/domain/entities/Session/Session.js +84 -0
- package/es/domain/entities/Session/SessionMetrics.js +21 -0
- package/es/domain/entities/Session/index.js +3 -0
- package/es/domain/entities/Subscription/AddOn.js +26 -0
- package/es/domain/entities/Subscription/LicenseDetails.js +21 -0
- package/es/domain/entities/Subscription/SubscriptionInfo.js +26 -0
- package/es/domain/entities/Subscription/index.js +4 -0
- package/es/domain/entities/TemplateMessage/TemplateCreditExhaustStatus.js +27 -0
- package/es/domain/entities/TemplateMessage/TemplateItemButton.js +48 -0
- package/es/domain/entities/TemplateMessage/TemplateItemFooter.js +27 -0
- package/es/domain/entities/TemplateMessage/TemplateItemHeader.js +48 -0
- package/es/domain/entities/TemplateMessage/TemplateLanguage.js +22 -0
- package/es/domain/entities/TemplateMessage/TemplateTags.js +21 -0
- package/es/domain/entities/TemplateMessage/index.js +7 -0
- package/es/domain/entities/UserPreference/UserPreference.js +26 -0
- package/es/domain/entities/UserPreference/index.js +2 -0
- package/es/domain/entities/WhatsAppPricing/WhatsAppPricing.js +25 -0
- package/es/domain/entities/WhatsAppPricing/WhatsAppPricingCategory.js +22 -0
- package/es/domain/entities/WhatsAppPricing/index.js +3 -0
- package/es/domain/entities/index.js +17 -0
- package/es/domain/enum/actor/ActorType.js +7 -0
- package/es/domain/enum/actor/index.js +2 -0
- package/es/domain/enum/attachment/AttachmentStatus.js +7 -0
- package/es/domain/enum/attachment/index.js +2 -0
- package/es/domain/enum/bot/BotServiceType.js +7 -0
- package/es/domain/enum/bot/index.js +2 -0
- package/es/domain/enum/call/CallStatus.js +8 -0
- package/es/domain/enum/call/index.js +1 -0
- package/es/domain/enum/cannedMessage/CannedMessageStatus.js +17 -0
- package/es/domain/enum/cannedMessage/CannedMessageType.js +7 -0
- package/es/domain/enum/cannedMessage/TemplateItemButtonType.js +12 -0
- package/es/domain/enum/cannedMessage/TemplateItemFooterType.js +4 -0
- package/es/domain/enum/cannedMessage/TemplateItemHeaderType.js +9 -0
- package/es/domain/enum/cannedMessage/index.js +6 -0
- package/es/domain/enum/index.js +11 -0
- package/es/domain/enum/integrationServices/IntegrationServices.js +12 -0
- package/es/domain/enum/integrationServices/index.js +2 -0
- package/es/domain/enum/message/ActionSubType.js +6 -0
- package/es/domain/enum/message/ActionType.js +6 -0
- package/es/domain/enum/message/ExternalInfoAction.js +9 -0
- package/es/domain/enum/message/InfoAction.js +20 -0
- package/es/domain/enum/message/InfoSessionStatus.js +10 -0
- package/es/domain/enum/message/InfoTargetType.js +11 -0
- package/es/domain/enum/message/MessageContentType.js +6 -0
- package/es/domain/enum/message/MessageDirection.js +6 -0
- package/es/domain/enum/message/MessageMeta.js +5 -0
- package/es/domain/enum/message/MessageStatus.js +11 -0
- package/es/domain/enum/message/MessageType.js +11 -0
- package/es/domain/enum/message/MetaMessageSourceType.js +6 -0
- package/es/domain/enum/message/MetaSystemMessageType.js +8 -0
- package/es/domain/enum/message/index.js +14 -0
- package/es/domain/enum/session/AssigneeFilter.js +6 -0
- package/es/domain/enum/session/SessionReplyStatus.js +24 -0
- package/es/domain/enum/session/SessionStatus.js +11 -0
- package/es/domain/enum/session/index.js +4 -0
- package/es/domain/enum/subscription/AddOnModule.js +5 -0
- package/es/domain/enum/subscription/AddOnName.js +5 -0
- package/es/domain/enum/subscription/AddOnType.js +5 -0
- package/es/domain/enum/subscription/SubscriptionStatus.js +4 -0
- package/es/domain/enum/subscription/index.js +5 -0
- package/es/domain/enum/templateMessage/TemplateCreditExhaustStatusCode.js +4 -0
- package/es/domain/enum/templateMessage/index.js +2 -0
- package/es/domain/enum/userPreference/CollapseSidePanel.js +5 -0
- package/es/domain/enum/userPreference/index.js +2 -0
- package/es/domain/interfaces/IAdapter.js +6 -0
- package/es/domain/interfaces/index.js +3 -0
- package/es/domain/interfaces/repositories/agents/IAgentRepository.js +17 -0
- package/es/domain/interfaces/repositories/agents/index.js +2 -0
- package/es/domain/interfaces/repositories/bots/IBotRepository.js +23 -0
- package/es/domain/interfaces/repositories/bots/index.js +2 -0
- package/es/domain/interfaces/repositories/calls/ICallRepository.js +32 -0
- package/es/domain/interfaces/repositories/calls/index.js +1 -0
- package/es/domain/interfaces/repositories/cannedMessages/ICannedMessageRepository.js +67 -0
- package/es/domain/interfaces/repositories/cannedMessages/index.js +2 -0
- package/es/domain/interfaces/repositories/channels/IChannelAgentRepository.js +17 -0
- package/es/domain/interfaces/repositories/channels/IChannelRepository.js +23 -0
- package/es/domain/interfaces/repositories/channels/index.js +3 -0
- package/es/domain/interfaces/repositories/contacts/IContactRepository.js +23 -0
- package/es/domain/interfaces/repositories/contacts/index.js +2 -0
- package/es/domain/interfaces/repositories/index.js +13 -0
- package/es/domain/interfaces/repositories/integrationServices/IIntegrationServiceRepository.js +17 -0
- package/es/domain/interfaces/repositories/integrationServices/index.js +2 -0
- package/es/domain/interfaces/repositories/messages/IMessageRepository.js +57 -0
- package/es/domain/interfaces/repositories/messages/index.js +2 -0
- package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +57 -0
- package/es/domain/interfaces/repositories/sessions/index.js +2 -0
- package/es/domain/interfaces/repositories/subscription/ISubscriptionRepository.js +32 -0
- package/es/domain/interfaces/repositories/subscription/index.js +2 -0
- package/es/domain/interfaces/repositories/templateMessages/ITemplateMessageRepository.js +27 -0
- package/es/domain/interfaces/repositories/templateMessages/index.js +2 -0
- package/es/domain/interfaces/repositories/userPreferences/IUserPreferenceRepository.js +23 -0
- package/es/domain/interfaces/repositories/userPreferences/index.js +2 -0
- package/es/domain/interfaces/repositories/whatsAppPricing/IWhatsAppPricingRepository.js +18 -0
- package/es/domain/interfaces/repositories/whatsAppPricing/index.js +2 -0
- package/es/domain/schema/actor/ActorSchema.js +37 -0
- package/es/domain/schema/actor/AgentSchema.js +45 -0
- package/es/domain/schema/actor/index.js +3 -0
- package/es/domain/schema/attachment/AttachmentSchema.js +33 -0
- package/es/domain/schema/attachment/index.js +2 -0
- package/es/domain/schema/bot/BotSchema.js +33 -0
- package/es/domain/schema/bot/index.js +2 -0
- package/es/domain/schema/call/CallSchema.js +63 -0
- package/es/domain/schema/call/index.js +1 -0
- package/es/domain/schema/cannedMessage/CannedMessageSchema.js +77 -0
- package/es/domain/schema/cannedMessage/TemplateItem/TemplateItemButtonsSchema.js +17 -0
- package/es/domain/schema/cannedMessage/TemplateItem/TemplateItemFooterSchema.js +13 -0
- package/es/domain/schema/cannedMessage/TemplateItem/TemplateItemHeaderSchema.js +19 -0
- package/es/domain/schema/cannedMessage/TemplateItem/index.js +4 -0
- package/es/domain/schema/cannedMessage/TemplateItemsSchema.js +21 -0
- package/es/domain/schema/cannedMessage/TranslationsSchema.js +43 -0
- package/es/domain/schema/cannedMessage/index.js +4 -0
- package/es/domain/schema/channel/ChannelSchema.js +83 -0
- package/es/domain/schema/channel/index.js +2 -0
- package/es/domain/schema/contact/ContactSchema.js +39 -0
- package/es/domain/schema/contact/index.js +2 -0
- package/es/domain/schema/customReplyExtension/CustomReplyExtensionSchema.js +28 -0
- package/es/domain/schema/customReplyExtension/index.js +2 -0
- package/es/domain/schema/index.js +16 -0
- package/es/domain/schema/integrationService/IntegrationServiceSchema.js +43 -0
- package/es/domain/schema/integrationService/index.js +2 -0
- package/es/domain/schema/message/ActionSchema.js +18 -0
- package/es/domain/schema/message/ExternalInfoSchema.js +9 -0
- package/es/domain/schema/message/InfoSchema.js +24 -0
- package/es/domain/schema/message/InfoTargetSchema.js +35 -0
- package/es/domain/schema/message/LocationSchema.js +11 -0
- package/es/domain/schema/message/MessageSchema.js +116 -0
- package/es/domain/schema/message/MessageWithSessionSchema.js +10 -0
- package/es/domain/schema/message/index.js +8 -0
- package/es/domain/schema/placeholder/PlaceholderSchema.js +19 -0
- package/es/domain/schema/placeholder/index.js +2 -0
- package/es/domain/schema/session/SessionMetrics/AssigneeSchema.js +20 -0
- package/es/domain/schema/session/SessionMetrics/SessionMetricsForAssigneeSchema.js +32 -0
- package/es/domain/schema/session/SessionMetrics/index.js +2 -0
- package/es/domain/schema/session/SessionMetricsSchema.js +9 -0
- package/es/domain/schema/session/SessionSchema.js +82 -0
- package/es/domain/schema/session/index.js +3 -0
- package/es/domain/schema/subscription/AddOnSchema.js +29 -0
- package/es/domain/schema/subscription/LicenseDetailsSchema.js +7 -0
- package/es/domain/schema/subscription/SubscriptionInfoSchema.js +29 -0
- package/es/domain/schema/subscription/index.js +4 -0
- package/es/domain/schema/templateMessage/TemplateCreditExhaustStatusSchema.js +11 -0
- package/es/domain/schema/templateMessage/TemplateLanguageSchema.js +11 -0
- package/es/domain/schema/templateMessage/TemplateTagsSchema.js +7 -0
- package/es/domain/schema/templateMessage/index.js +4 -0
- package/es/domain/schema/userPreference/UserPreferenceSchema.js +9 -0
- package/es/domain/schema/userPreference/index.js +2 -0
- package/es/domain/schema/whatsAppPricing/WhatsAppPricingCategorySchema.js +11 -0
- package/es/domain/schema/whatsAppPricing/WhatsAppPricingSchema.js +21 -0
- package/es/domain/schema/whatsAppPricing/index.js +3 -0
- package/es/frameworks/managers/ModuleFactory.js +147 -0
- package/es/frameworks/managers/ModuleManager.js +67 -0
- package/es/frameworks/managers/index.js +2 -0
- package/es/frameworks/sdk/IMSDK.js +99 -0
- package/es/frameworks/sdk/agents/AgentSDK.js +30 -0
- package/es/frameworks/sdk/agents/index.js +2 -0
- package/es/frameworks/sdk/bots/BotSDK.js +30 -0
- package/es/frameworks/sdk/bots/index.js +2 -0
- package/es/frameworks/sdk/calls/CallSDK.js +27 -0
- package/es/frameworks/sdk/calls/index.js +1 -0
- package/es/frameworks/sdk/cannedMessages/CannedMessageSDK.js +30 -0
- package/es/frameworks/sdk/cannedMessages/index.js +2 -0
- package/es/frameworks/sdk/channels/ChannelSDK.js +37 -0
- package/es/frameworks/sdk/channels/index.js +2 -0
- package/es/frameworks/sdk/contacts/ContactSDK.js +30 -0
- package/es/frameworks/sdk/contacts/index.js +2 -0
- package/es/frameworks/sdk/index.js +2 -0
- package/es/frameworks/sdk/integrationServices/IntegrationServiceSDK.js +30 -0
- package/es/frameworks/sdk/integrationServices/index.js +2 -0
- package/es/frameworks/sdk/messages/MessageSDK.js +32 -0
- package/es/frameworks/sdk/messages/index.js +2 -0
- package/es/frameworks/sdk/sessions/SessionSDK.js +34 -0
- package/es/frameworks/sdk/sessions/index.js +2 -0
- package/es/frameworks/sdk/subscription/SubscriptionSDK.js +32 -0
- package/es/frameworks/sdk/subscription/index.js +2 -0
- package/es/frameworks/sdk/templateMessages/TemplateMessageSDK.js +30 -0
- package/es/frameworks/sdk/templateMessages/index.js +2 -0
- package/es/frameworks/sdk/userPreferences/UserPreferencesSDK.js +30 -0
- package/es/frameworks/sdk/userPreferences/index.js +2 -0
- package/es/frameworks/sdk/whatsAppPricing/WhatsAppPricingSDK.js +28 -0
- package/es/frameworks/sdk/whatsAppPricing/index.js +2 -0
- package/es/index.html +25 -0
- package/es/index.js +12 -0
- package/es/infrastructure/adapters/agents/AgentAdapter.js +28 -0
- package/es/infrastructure/adapters/agents/index.js +2 -0
- package/es/infrastructure/adapters/attachments/AttachmentAdapter.js +25 -0
- package/es/infrastructure/adapters/attachments/index.js +2 -0
- package/es/infrastructure/adapters/bots/BotAdapter.js +25 -0
- package/es/infrastructure/adapters/bots/index.js +2 -0
- package/es/infrastructure/adapters/calls/CallAdapter.js +31 -0
- package/es/infrastructure/adapters/calls/index.js +1 -0
- package/es/infrastructure/adapters/cannedMessages/CannedMessageAdapter.js +36 -0
- package/es/infrastructure/adapters/cannedMessages/TranslationAdapter.js +27 -0
- package/es/infrastructure/adapters/cannedMessages/index.js +3 -0
- package/es/infrastructure/adapters/channels/ChannelAdapter.js +43 -0
- package/es/infrastructure/adapters/channels/ChannelAgentAdapter.js +49 -0
- package/es/infrastructure/adapters/channels/index.js +3 -0
- package/es/infrastructure/adapters/contacts/ContactAdapter.js +27 -0
- package/es/infrastructure/adapters/contacts/index.js +2 -0
- package/es/infrastructure/adapters/customReplyExtension/CustomReplyExtensionAdapter.js +24 -0
- package/es/infrastructure/adapters/customReplyExtension/index.js +2 -0
- package/es/infrastructure/adapters/index.js +16 -0
- package/es/infrastructure/adapters/integrationServices/IntegrationServiceAdapter.js +25 -0
- package/es/infrastructure/adapters/integrationServices/index.js +2 -0
- package/es/infrastructure/adapters/messages/MessageAdapter.js +45 -0
- package/es/infrastructure/adapters/messages/MessageWithSessionAdapter.js +23 -0
- package/es/infrastructure/adapters/messages/index.js +2 -0
- package/es/infrastructure/adapters/placeholders/PlaceholderAdapter.js +22 -0
- package/es/infrastructure/adapters/placeholders/index.js +2 -0
- package/es/infrastructure/adapters/sessions/SessionAdapter.js +36 -0
- package/es/infrastructure/adapters/sessions/SessionMetricsAdapter.js +19 -0
- package/es/infrastructure/adapters/sessions/index.js +3 -0
- package/es/infrastructure/adapters/subscription/AddOnAdapter.js +24 -0
- package/es/infrastructure/adapters/subscription/LicenseDetailsAdapter.js +20 -0
- package/es/infrastructure/adapters/subscription/index.js +3 -0
- package/es/infrastructure/adapters/templateMessages/TemplateCreditExhaustStatusAdapter.js +20 -0
- package/es/infrastructure/adapters/templateMessages/TemplateLanguageAdapter.js +20 -0
- package/es/infrastructure/adapters/templateMessages/TemplateTagsAdapter.js +21 -0
- package/es/infrastructure/adapters/templateMessages/index.js +4 -0
- package/es/infrastructure/adapters/userPreferences/UserPreferenceAdapter.js +19 -0
- package/es/infrastructure/adapters/userPreferences/index.js +2 -0
- package/es/infrastructure/adapters/whatsAppPricing/WhatsAppPricingAdapter.js +22 -0
- package/es/infrastructure/adapters/whatsAppPricing/index.js +2 -0
- package/es/infrastructure/api/BaseAPI.js +105 -0
- package/es/infrastructure/api/UrlBuilder.js +53 -0
- package/es/infrastructure/api/agents/AgentAPI.js +14 -0
- package/es/infrastructure/api/agents/index.js +2 -0
- package/es/infrastructure/api/bots/BotAPI.js +24 -0
- package/es/infrastructure/api/bots/index.js +2 -0
- package/es/infrastructure/api/calls/CallAPI.js +44 -0
- package/es/infrastructure/api/calls/index.js +1 -0
- package/es/infrastructure/api/cannedMessages/CannedMessageAPI.js +114 -0
- package/es/infrastructure/api/cannedMessages/index.js +2 -0
- package/es/infrastructure/api/channels/ChannelAPI.js +24 -0
- package/es/infrastructure/api/channels/ChannelAgentAPI.js +22 -0
- package/es/infrastructure/api/channels/index.js +3 -0
- package/es/infrastructure/api/contacts/ContactAPI.js +24 -0
- package/es/infrastructure/api/contacts/index.js +2 -0
- package/es/infrastructure/api/index.js +13 -0
- package/es/infrastructure/api/integrationServices/IntegrationServiceAPI.js +14 -0
- package/es/infrastructure/api/integrationServices/index.js +2 -0
- package/es/infrastructure/api/messages/MessageAPI.js +94 -0
- package/es/infrastructure/api/messages/index.js +2 -0
- package/es/infrastructure/api/registry/agents/agentAPIRegistry.js +12 -0
- package/es/infrastructure/api/registry/agents/constructAgentEndPoint.js +10 -0
- package/es/infrastructure/api/registry/agents/index.js +2 -0
- package/es/infrastructure/api/registry/bots/botAPIRegistry.js +18 -0
- package/es/infrastructure/api/registry/bots/constructBotEndPoint.js +10 -0
- package/es/infrastructure/api/registry/bots/index.js +2 -0
- package/es/infrastructure/api/registry/calls/callAPIRegistry.js +29 -0
- package/es/infrastructure/api/registry/calls/constructCallEndPoint.js +10 -0
- package/es/infrastructure/api/registry/calls/index.js +1 -0
- package/es/infrastructure/api/registry/cannedMessages/cannedMessageAPIRegistry.js +62 -0
- package/es/infrastructure/api/registry/cannedMessages/constructCannedMessageEndPoint.js +10 -0
- package/es/infrastructure/api/registry/cannedMessages/index.js +2 -0
- package/es/infrastructure/api/registry/channels/channelAPIRegistry.js +22 -0
- package/es/infrastructure/api/registry/channels/channelAgentAPIRegistry.js +12 -0
- package/es/infrastructure/api/registry/channels/constructChannelEndPoint.js +10 -0
- package/es/infrastructure/api/registry/channels/index.js +2 -0
- package/es/infrastructure/api/registry/contacts/constructContactEndPoint.js +10 -0
- package/es/infrastructure/api/registry/contacts/contactAPIRegistry.js +18 -0
- package/es/infrastructure/api/registry/contacts/index.js +2 -0
- package/es/infrastructure/api/registry/createAPIRegistry.js +7 -0
- package/es/infrastructure/api/registry/createBaseUrl.js +3 -0
- package/es/infrastructure/api/registry/createPublicBaseUrl.js +4 -0
- package/es/infrastructure/api/registry/getRegistryConfig.js +40 -0
- package/es/infrastructure/api/registry/index.js +2 -0
- package/es/infrastructure/api/registry/integrationServices/constructIntegrationServiceEndPoint.js +10 -0
- package/es/infrastructure/api/registry/integrationServices/index.js +2 -0
- package/es/infrastructure/api/registry/integrationServices/integrationServiceAPIRegistry.js +12 -0
- package/es/infrastructure/api/registry/messages/constructMessageEndPoint.js +4 -0
- package/es/infrastructure/api/registry/messages/index.js +2 -0
- package/es/infrastructure/api/registry/messages/messageAPIRegistry.js +62 -0
- package/es/infrastructure/api/registry/sessions/constructSessionEndPoint.js +10 -0
- package/es/infrastructure/api/registry/sessions/index.js +2 -0
- package/es/infrastructure/api/registry/sessions/sessionAPIRegistry.js +58 -0
- package/es/infrastructure/api/registry/subscription/constructSubscriptionEndPoint.js +10 -0
- package/es/infrastructure/api/registry/subscription/index.js +2 -0
- package/es/infrastructure/api/registry/subscription/subscriptionAPIRegistry.js +30 -0
- package/es/infrastructure/api/registry/templateMessages/constructTemplateMessageEndPoint.js +11 -0
- package/es/infrastructure/api/registry/templateMessages/index.js +2 -0
- package/es/infrastructure/api/registry/templateMessages/templateMessageAPIRegistry.js +23 -0
- package/es/infrastructure/api/registry/userPreferences/constructUserPreferencesEndPoint.js +10 -0
- package/es/infrastructure/api/registry/userPreferences/index.js +2 -0
- package/es/infrastructure/api/registry/userPreferences/userPreferenceAPIRegistry.js +17 -0
- package/es/infrastructure/api/registry/whatsAppPricing/constructWhatsAppPricingEndPoint.js +10 -0
- package/es/infrastructure/api/registry/whatsAppPricing/index.js +2 -0
- package/es/infrastructure/api/registry/whatsAppPricing/whatsAppPricingAPIRegistry.js +13 -0
- package/es/infrastructure/api/sessions/SessionAPI.js +94 -0
- package/es/infrastructure/api/sessions/index.js +2 -0
- package/es/infrastructure/api/subscription/SubscriptionAPI.js +48 -0
- package/es/infrastructure/api/subscription/index.js +2 -0
- package/es/infrastructure/api/templateMessages/TemplateMessageAPI.js +34 -0
- package/es/infrastructure/api/templateMessages/index.js +2 -0
- package/es/infrastructure/api/userPreferences/UserPreferenceAPI.js +24 -0
- package/es/infrastructure/api/userPreferences/index.js +2 -0
- package/es/infrastructure/api/whatsAppPricing/WhatsAppPricingAPI.js +14 -0
- package/es/infrastructure/api/whatsAppPricing/index.js +2 -0
- package/es/infrastructure/config/configRegistry.js +34 -0
- package/es/infrastructure/config/index.js +2 -0
- package/es/infrastructure/repositories/agents/AgentRepository.js +49 -0
- package/es/infrastructure/repositories/agents/index.js +2 -0
- package/es/infrastructure/repositories/bots/BotRepository.js +58 -0
- package/es/infrastructure/repositories/bots/index.js +2 -0
- package/es/infrastructure/repositories/calls/CallRepository.js +73 -0
- package/es/infrastructure/repositories/calls/index.js +1 -0
- package/es/infrastructure/repositories/cannedMessages/CannedMessageRepository.js +140 -0
- package/es/infrastructure/repositories/cannedMessages/index.js +2 -0
- package/es/infrastructure/repositories/channels/ChannelAgentRepository.js +49 -0
- package/es/infrastructure/repositories/channels/ChannelRepository.js +58 -0
- package/es/infrastructure/repositories/channels/index.js +3 -0
- package/es/infrastructure/repositories/contacts/ContactRepository.js +57 -0
- package/es/infrastructure/repositories/contacts/index.js +2 -0
- package/es/infrastructure/repositories/index.js +13 -0
- package/es/infrastructure/repositories/integrationServices/IntegrationServiceRepository.js +49 -0
- package/es/infrastructure/repositories/integrationServices/index.js +2 -0
- package/es/infrastructure/repositories/messages/MessageRepository.js +119 -0
- package/es/infrastructure/repositories/messages/index.js +2 -0
- package/es/infrastructure/repositories/sessions/SessionRepository.js +124 -0
- package/es/infrastructure/repositories/sessions/index.js +2 -0
- package/es/infrastructure/repositories/subscription/SubscriptionRepository.js +83 -0
- package/es/infrastructure/repositories/subscription/index.js +2 -0
- package/es/infrastructure/repositories/templateMessages/TemplateMessageRepository.js +89 -0
- package/es/infrastructure/repositories/templateMessages/index.js +2 -0
- package/es/infrastructure/repositories/userPreferences/UserPreferenceRepository.js +58 -0
- package/es/infrastructure/repositories/userPreferences/index.js +2 -0
- package/es/infrastructure/repositories/whatsAppPricing/WhatsAppPricingRepository.js +49 -0
- package/es/infrastructure/repositories/whatsAppPricing/index.js +2 -0
- package/package.json +2 -2
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { CannedMessageStatus, CannedMessageType } from '../../enum';
|
|
3
|
+
import { CannedMessageSchema } from '../../schema';
|
|
4
|
+
import { Actor } from '../Actor';
|
|
5
|
+
import Translation from './Translation';
|
|
6
|
+
export default class CannedMessage {
|
|
7
|
+
constructor() {
|
|
8
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
9
|
+
const validatedData = validateSchema({
|
|
10
|
+
schema: CannedMessageSchema,
|
|
11
|
+
data,
|
|
12
|
+
entityName: `CannedMessage${data?.id ? `_${data.id}` : ''}`
|
|
13
|
+
});
|
|
14
|
+
let {
|
|
15
|
+
createdBy,
|
|
16
|
+
translations
|
|
17
|
+
} = validatedData;
|
|
18
|
+
|
|
19
|
+
if (createdBy && typeof createdBy === 'object' && !Array.isArray(createdBy)) {
|
|
20
|
+
createdBy = new Actor(createdBy).toJSON();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (Array.isArray(translations)) {
|
|
24
|
+
translations = translations.map(item => new Translation(item).toJSON());
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.data = {
|
|
28
|
+
id: validatedData.id,
|
|
29
|
+
title: validatedData.title,
|
|
30
|
+
message: validatedData.message,
|
|
31
|
+
tags: validatedData.tags,
|
|
32
|
+
status: validatedData.status,
|
|
33
|
+
uuid: validatedData.uuid,
|
|
34
|
+
createdBy,
|
|
35
|
+
displayMessage: validatedData.displayMessage,
|
|
36
|
+
type: validatedData.type,
|
|
37
|
+
isActive: validatedData.isActive,
|
|
38
|
+
meta: validatedData.meta,
|
|
39
|
+
isPrivate: validatedData.isPrivate,
|
|
40
|
+
rejectionReason: validatedData.rejectionReason,
|
|
41
|
+
modifiedTime: validatedData.modifiedTime,
|
|
42
|
+
translations,
|
|
43
|
+
parameters: validatedData.parameters,
|
|
44
|
+
primaryLanguage: validatedData.primaryLanguage,
|
|
45
|
+
wabaId: validatedData.wabaId
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static isApproved(status) {
|
|
50
|
+
return status === CannedMessageStatus.APPROVED;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
static isRejected(status) {
|
|
54
|
+
return status === CannedMessageStatus.REJECTED;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static isPending(status) {
|
|
58
|
+
return status === CannedMessageStatus.PENDING;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
static isUnknown(status) {
|
|
62
|
+
return status === CannedMessageStatus.UNKNOWN;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static isPartiallyApproved(status) {
|
|
66
|
+
return status === CannedMessageStatus.PARTIALLY_APPROVED;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
static isDeletionInProgress(status) {
|
|
70
|
+
return status === CannedMessageStatus.DELETION_IN_PROGRESS;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
static isDeletionFailed(status) {
|
|
74
|
+
return status === CannedMessageStatus.DELETION_FAILED;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
static isTemplate(type) {
|
|
78
|
+
return type === CannedMessageType.TEMPLATE;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
toJSON() {
|
|
82
|
+
return { ...this.data
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { TranslationsSchema } from '../../schema';
|
|
3
|
+
import { TemplateItemButton, TemplateItemHeader, TemplateItemFooter } from '../TemplateMessage';
|
|
4
|
+
export default class Translation {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema({
|
|
8
|
+
schema: TranslationsSchema,
|
|
9
|
+
data,
|
|
10
|
+
entityName: `Translation${data?.id ? `_${data.id}` : ''}`
|
|
11
|
+
});
|
|
12
|
+
const {
|
|
13
|
+
templateItems
|
|
14
|
+
} = validatedData;
|
|
15
|
+
let adaptedTemplateItems = null;
|
|
16
|
+
|
|
17
|
+
if (templateItems) {
|
|
18
|
+
const {
|
|
19
|
+
header,
|
|
20
|
+
footer,
|
|
21
|
+
buttons
|
|
22
|
+
} = templateItems;
|
|
23
|
+
adaptedTemplateItems = {
|
|
24
|
+
header: header ? new TemplateItemHeader(header).toJSON() : null,
|
|
25
|
+
footer: footer ? new TemplateItemFooter(footer).toJSON() : null,
|
|
26
|
+
buttons: Array.isArray(buttons) ? buttons.map(btn => new TemplateItemButton(btn).toJSON()) : null
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
this.data = {
|
|
31
|
+
id: validatedData.id,
|
|
32
|
+
language: validatedData.language,
|
|
33
|
+
message: validatedData.message,
|
|
34
|
+
displayMessage: validatedData.displayMessage,
|
|
35
|
+
uuid: validatedData.uuid,
|
|
36
|
+
status: validatedData.status,
|
|
37
|
+
modifiedTime: validatedData.modifiedTime,
|
|
38
|
+
failedReason: validatedData.failedReason,
|
|
39
|
+
templateItems: adaptedTemplateItems
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
toJSON() {
|
|
44
|
+
return { ...this.data
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { ChannelSchema } from '../../schema';
|
|
3
|
+
export default class Channel {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: ChannelSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'Channel'
|
|
10
|
+
}); // Set required properties from schema
|
|
11
|
+
|
|
12
|
+
this.id = validatedData.id;
|
|
13
|
+
this.name = validatedData.name;
|
|
14
|
+
this.isActive = validatedData.isActive;
|
|
15
|
+
this.isDeleted = validatedData.isDeleted;
|
|
16
|
+
this.isSandBox = validatedData.isSandBox;
|
|
17
|
+
this.createdTime = validatedData.createdTime;
|
|
18
|
+
this.universalLink = validatedData.universalLink; // Set optional properties from schema
|
|
19
|
+
|
|
20
|
+
this.integrationServiceType = validatedData.integrationServiceType || '';
|
|
21
|
+
this.integrationServiceId = validatedData.integrationServiceId || '';
|
|
22
|
+
this.defaultBotId = validatedData.defaultBotId || null;
|
|
23
|
+
this.accountName = validatedData.accountName || null;
|
|
24
|
+
this.isSubscribed = validatedData.isSubscribed || false;
|
|
25
|
+
this.createdBy = validatedData.createdBy || null;
|
|
26
|
+
this.isOwner = validatedData.isOwner || false;
|
|
27
|
+
this.photoURL = validatedData.photoURL || null;
|
|
28
|
+
this.configParams = validatedData.configParams || null;
|
|
29
|
+
this.authorizationPending = validatedData.authorizationPending || false;
|
|
30
|
+
this.meta = validatedData.meta || [];
|
|
31
|
+
this.logoURL = validatedData.logoURL || null;
|
|
32
|
+
this.workspaceId = validatedData.workspaceId || '';
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
toJSON() {
|
|
36
|
+
return {
|
|
37
|
+
id: this.id,
|
|
38
|
+
integrationServiceType: this.integrationServiceType,
|
|
39
|
+
integrationServiceId: this.integrationServiceId,
|
|
40
|
+
name: this.name,
|
|
41
|
+
defaultBotId: this.defaultBotId,
|
|
42
|
+
isActive: this.isActive,
|
|
43
|
+
isDeleted: this.isDeleted,
|
|
44
|
+
isSandBox: this.isSandBox,
|
|
45
|
+
createdTime: this.createdTime,
|
|
46
|
+
accountName: this.accountName,
|
|
47
|
+
universalLink: this.universalLink,
|
|
48
|
+
isSubscribed: this.isSubscribed,
|
|
49
|
+
createdBy: this.createdBy,
|
|
50
|
+
isOwner: this.isOwner,
|
|
51
|
+
photoURL: this.photoURL,
|
|
52
|
+
configParams: this.configParams,
|
|
53
|
+
authorizationPending: this.authorizationPending,
|
|
54
|
+
meta: this.meta,
|
|
55
|
+
logoURL: this.logoURL,
|
|
56
|
+
workspaceId: this.workspaceId
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { ContactSchema } from '../../schema';
|
|
3
|
+
export default class Contact {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: ContactSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'Contact'
|
|
10
|
+
});
|
|
11
|
+
this.data = {
|
|
12
|
+
id: validatedData.id,
|
|
13
|
+
name: validatedData.name,
|
|
14
|
+
email: validatedData.email,
|
|
15
|
+
photoURL: validatedData.photoURL || null,
|
|
16
|
+
mobile: validatedData.mobile,
|
|
17
|
+
phone: validatedData.phone,
|
|
18
|
+
customFields: validatedData.customFields || {},
|
|
19
|
+
webUrl: validatedData.webUrl || '',
|
|
20
|
+
layoutId: validatedData.layoutId || ''
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
toJSON() {
|
|
25
|
+
return { ...this.data
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { CustomReplyExtensionSchema } from '../../schema';
|
|
3
|
+
export default class CustomReplyExtension {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: CustomReplyExtensionSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'CustomReplyExtension'
|
|
10
|
+
});
|
|
11
|
+
this.data = {
|
|
12
|
+
id: validatedData.id,
|
|
13
|
+
title: validatedData.title,
|
|
14
|
+
message: validatedData.message,
|
|
15
|
+
displayMessage: validatedData.displayMessage,
|
|
16
|
+
webUrl: validatedData.webUrl || null,
|
|
17
|
+
categoryName: validatedData.categoryName
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
toJSON() {
|
|
22
|
+
return { ...this.data
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { IntegrationServices } from '../../enum';
|
|
3
|
+
import { IntegrationServiceSchema } from '../../schema';
|
|
4
|
+
export default class IntegrationService {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema({
|
|
8
|
+
schema: IntegrationServiceSchema,
|
|
9
|
+
data,
|
|
10
|
+
entityName: 'IntegrationService'
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
label: validatedData.label || '',
|
|
14
|
+
id: validatedData.id || '',
|
|
15
|
+
provider: validatedData.provider || {},
|
|
16
|
+
logoURL: validatedData.logoURL || null,
|
|
17
|
+
domain: validatedData.domain || '',
|
|
18
|
+
channelAlias: validatedData.channelAlias,
|
|
19
|
+
isParentAccountNeeded: validatedData.isParentAccountNeeded
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static isWhatsApp(integrationServiceId) {
|
|
24
|
+
return integrationServiceId === IntegrationServices.WHATSAPP;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static isTwilio(integrationServiceId) {
|
|
28
|
+
return integrationServiceId === IntegrationServices.TWILIO;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static isBusinessMessaging(integrationServiceId) {
|
|
32
|
+
return integrationServiceId === IntegrationServices.IM_TALK;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static isWecom(integrationServiceId) {
|
|
36
|
+
return integrationServiceId === IntegrationServices.WECOM;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
toJSON() {
|
|
40
|
+
return { ...this.data
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { ActionType } from '../../enum';
|
|
3
|
+
import { ActionSchema } from '../../schema';
|
|
4
|
+
export default class Action {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema({
|
|
8
|
+
schema: ActionSchema,
|
|
9
|
+
data,
|
|
10
|
+
entityName: 'Action'
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
type: validatedData.type,
|
|
14
|
+
subType: validatedData.subType,
|
|
15
|
+
value: validatedData.value
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static isTransferAction() {
|
|
20
|
+
let action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
21
|
+
return action && action.type === ActionType.TRANSFER;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
toJSON() {
|
|
25
|
+
return { ...this.data
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { ExternalInfoAction } from '../../enum';
|
|
3
|
+
import { ExternalInfoSchema } from '../../schema';
|
|
4
|
+
export default class ExternalInfo {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema({
|
|
8
|
+
schema: ExternalInfoSchema,
|
|
9
|
+
data,
|
|
10
|
+
entityName: 'ExternalInfo'
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
action: validatedData.action
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static isGCConversationEnded(action) {
|
|
18
|
+
return action === ExternalInfoAction.GC_CONVERSATION_ENDED;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static isZIAConversationEnded(action) {
|
|
22
|
+
return action === ExternalInfoAction.ZIA_CONVERSATION_ENDED;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
toJSON() {
|
|
26
|
+
return { ...this.data
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { Actor } from '../Actor';
|
|
3
|
+
import { InfoSchema } from '../../schema/message';
|
|
4
|
+
import { InfoAction } from '../../enum';
|
|
5
|
+
import InfoTarget from './InfoTarget';
|
|
6
|
+
|
|
7
|
+
function adaptTargets() {
|
|
8
|
+
let targets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
9
|
+
return targets.map(target => new InfoTarget(target).toJSON());
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default class Info {
|
|
13
|
+
constructor() {
|
|
14
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
15
|
+
const validatedData = validateSchema({
|
|
16
|
+
schema: InfoSchema,
|
|
17
|
+
data,
|
|
18
|
+
entityName: 'Info'
|
|
19
|
+
});
|
|
20
|
+
this.data = {
|
|
21
|
+
actor: new Actor(validatedData.actor).toJSON(),
|
|
22
|
+
action: validatedData.action,
|
|
23
|
+
sessionStatus: validatedData.sessionStatus,
|
|
24
|
+
targets: adaptTargets(validatedData.targets)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static isEndSessionMessage() {
|
|
29
|
+
let info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
30
|
+
return info && info.action === InfoAction.END_SESSION;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static isAutoAssignMessage() {
|
|
34
|
+
let info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
35
|
+
return info && info.action === InfoAction.CHAT_AUTO_ASSIGN;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static isTransferMessage() {
|
|
39
|
+
let info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
40
|
+
return info && info.action === InfoAction.CHAT_TRANSFER;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
toJSON() {
|
|
44
|
+
return { ...this.data
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { InfoTargetSchema } from '../../schema/message';
|
|
3
|
+
export default class InfoTarget {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: InfoTargetSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'InfoTarget'
|
|
10
|
+
});
|
|
11
|
+
this.data = {
|
|
12
|
+
id: validatedData.id,
|
|
13
|
+
name: validatedData.name || null,
|
|
14
|
+
photoURL: validatedData.photoURL || null,
|
|
15
|
+
email: validatedData.email || null,
|
|
16
|
+
isReplyAllowed: validatedData.isReplyAllowed,
|
|
17
|
+
type: validatedData.type
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
toJSON() {
|
|
22
|
+
return { ...this.data
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { LocationSchema } from '../../schema';
|
|
3
|
+
export default class Location {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: LocationSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'Location'
|
|
10
|
+
});
|
|
11
|
+
this.data = {
|
|
12
|
+
latitude: validatedData.latitude,
|
|
13
|
+
longitude: validatedData.longitude
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
toJSON() {
|
|
18
|
+
return { ...this.data
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { MessageDirection, MessageStatus, MessageTypes, MessageMeta, MetaSystemMessageType, MetaMessageSourceType } from '../../enum';
|
|
3
|
+
import { MessageSchema } from '../../schema';
|
|
4
|
+
import { Actor } from '../Actor';
|
|
5
|
+
import { Attachment } from '../Attachment';
|
|
6
|
+
import Action from './Action';
|
|
7
|
+
import ExternalInfo from './ExternalInfo';
|
|
8
|
+
import Info from './Info';
|
|
9
|
+
import Location from './Location';
|
|
10
|
+
export default class Message {
|
|
11
|
+
constructor() {
|
|
12
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13
|
+
const validatedData = validateSchema({
|
|
14
|
+
schema: MessageSchema,
|
|
15
|
+
data,
|
|
16
|
+
entityName: 'Message'
|
|
17
|
+
});
|
|
18
|
+
this.data = {
|
|
19
|
+
id: validatedData.id,
|
|
20
|
+
sessionId: validatedData.sessionId,
|
|
21
|
+
displayMessage: validatedData.displayMessage,
|
|
22
|
+
statusUpdatedTime: validatedData.statusUpdatedTime,
|
|
23
|
+
actor: new Actor(validatedData.actor).toJSON(),
|
|
24
|
+
direction: validatedData.direction,
|
|
25
|
+
createdTime: validatedData.createdTime,
|
|
26
|
+
index: validatedData.index,
|
|
27
|
+
replyToMessage: validatedData.replyToMessage ? new Message(validatedData.replyToMessage).toJSON() : null,
|
|
28
|
+
status: validatedData.status,
|
|
29
|
+
info: validatedData.info ? new Info(validatedData.info).toJSON() : null,
|
|
30
|
+
location: validatedData.location ? new Location(validatedData.location).toJSON() : null,
|
|
31
|
+
externalInfo: validatedData.externalInfo ? new ExternalInfo(validatedData.externalInfo).toJSON() : null,
|
|
32
|
+
layout: validatedData.layout,
|
|
33
|
+
action: validatedData.action ? new Action(validatedData.action).toJSON() : null,
|
|
34
|
+
meta: validatedData.meta,
|
|
35
|
+
contentType: validatedData.contentType,
|
|
36
|
+
fullContentURL: validatedData.fullContentURL,
|
|
37
|
+
attachment: validatedData.attachment ? new Attachment(validatedData.attachment).toJSON() : null,
|
|
38
|
+
template: validatedData.template,
|
|
39
|
+
type: validatedData.type,
|
|
40
|
+
isRead: validatedData.isRead,
|
|
41
|
+
article: validatedData.article,
|
|
42
|
+
webUrl: validatedData.webUrl
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
static isLocation(type) {
|
|
47
|
+
return type === MessageTypes.LOCATION;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static isDeleted(status) {
|
|
51
|
+
return status === MessageStatus.DELETED;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
static isOutgoing(direction) {
|
|
55
|
+
return direction === MessageDirection.OUT;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static isIncoming(direction) {
|
|
59
|
+
return direction === MessageDirection.IN;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static isInfo(type) {
|
|
63
|
+
return type === MessageTypes.INFO;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static isExternalInfo(type) {
|
|
67
|
+
return type === MessageTypes.EXTERNAL_INFO;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
static isAttachment(type) {
|
|
71
|
+
return type === MessageTypes.ATTACHMENT;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
static isTemplate(type) {
|
|
75
|
+
return type === MessageTypes.TEMPLATE;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
static isActionMessage(type) {
|
|
79
|
+
return type === MessageTypes.ACTION;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
static getMetaValue() {
|
|
83
|
+
let meta = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
84
|
+
let key = arguments.length > 1 ? arguments[1] : undefined;
|
|
85
|
+
|
|
86
|
+
if (Array.isArray(meta) && meta.length > 0) {
|
|
87
|
+
const item = meta.find(item => item.name === key);
|
|
88
|
+
return item ? item.value : '';
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return '';
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
static getSystemMessageValue(meta) {
|
|
95
|
+
return Message.getMetaValue(meta, MessageMeta.SYSTEM_MESSAGE_TYPE);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
static isSystemMessage(meta) {
|
|
99
|
+
const systemMessageType = Message.getSystemMessageValue(meta);
|
|
100
|
+
return !!systemMessageType;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
static isHapinessRating(meta) {
|
|
104
|
+
const messageType = Message.getSystemMessageValue(meta);
|
|
105
|
+
return messageType === MetaSystemMessageType.CX_HAPPINESS_SURVEY;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
static isWelcomeMessage(meta) {
|
|
109
|
+
const messageType = Message.getSystemMessageValue(meta);
|
|
110
|
+
return messageType === MetaSystemMessageType.WELCOMEMSG;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
static isWorkflowMessage(meta) {
|
|
114
|
+
const messageType = Message.getSystemMessageValue(meta);
|
|
115
|
+
return messageType === MetaSystemMessageType.WORKFLOW_MESSAGE;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
static isWorkflowNotification(meta) {
|
|
119
|
+
const messageType = Message.getSystemMessageValue(meta);
|
|
120
|
+
return messageType === MetaSystemMessageType.WORKFLOW_NOTIFICATION;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
static isUnsupportedFile(meta) {
|
|
124
|
+
const messageType = Message.getSystemMessageValue(meta);
|
|
125
|
+
return messageType === MetaSystemMessageType.UN_SUPPORTED_FILE;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
static getMessageSourceValue(meta) {
|
|
129
|
+
return Message.getMetaValue(meta, MessageMeta.MESSAGE_SOURCE);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
static isHistoryMessage(meta) {
|
|
133
|
+
const messageType = Message.getMessageSourceValue(meta);
|
|
134
|
+
return messageType === MetaMessageSourceType.HISTORY_MESSAGE;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
static isHistoryMessageViaMobileWBApp(meta) {
|
|
138
|
+
const messageType = Message.getMessageSourceValue(meta);
|
|
139
|
+
return messageType === MetaMessageSourceType.HISTORY_MESSAGE_VIA_MOBILE_WHATSAPP_BUSINESS_APP;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
static isMessageViaMobileWBApp(meta) {
|
|
143
|
+
const messageType = Message.getMessageSourceValue(meta);
|
|
144
|
+
return messageType === MetaMessageSourceType.VIA_MOBILE_WHATSAPP_BUSINESS_APP;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
static isFailed(status) {
|
|
148
|
+
return status === MessageStatus.FAILED;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
static isAutoSent(systemMsgType) {
|
|
152
|
+
return !!systemMsgType;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
toJSON() {
|
|
156
|
+
return { ...this.data
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { MessageWithSessionSchema } from '../../schema';
|
|
3
|
+
import { Session } from '../Session';
|
|
4
|
+
import Message from './Message';
|
|
5
|
+
export default class MessageWithSession {
|
|
6
|
+
constructor() {
|
|
7
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8
|
+
const validatedData = validateSchema({
|
|
9
|
+
schema: MessageWithSessionSchema,
|
|
10
|
+
data,
|
|
11
|
+
entityName: 'MessageWithSession'
|
|
12
|
+
});
|
|
13
|
+
const messageData = new Message(validatedData).toJSON();
|
|
14
|
+
const sessionData = new Session(validatedData.session).toJSON();
|
|
15
|
+
this.data = { ...messageData,
|
|
16
|
+
session: sessionData
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
toJSON() {
|
|
21
|
+
return { ...this.data
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as Message } from './Message';
|
|
2
|
+
export { default as Info } from './Info';
|
|
3
|
+
export { default as Action } from './Action';
|
|
4
|
+
export { default as ExternalInfo } from './ExternalInfo';
|
|
5
|
+
export { default as Location } from './Location';
|
|
6
|
+
export { default as MessageWithSession } from './MessageWithSession';
|
|
7
|
+
export { default as InfoTarget } from './InfoTarget';
|