@zohoim/client-sdk 1.0.0-subscription1 → 1.0.0-subscription2
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/cannedMessages/CannedMessageService.js +51 -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 +21 -0
- package/es/application/services/contacts/index.js +2 -0
- package/es/application/services/index.js +12 -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 +26 -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 +16 -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/cannedMessages/createCannedMessageRequest.js +18 -0
- package/es/domain/dto/cannedMessages/deleteCannedMessageRequest.js +13 -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/index.js +7 -0
- package/es/domain/dto/cannedMessages/updateCannedMessageRequest.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/getContactsRequest.js +11 -0
- package/es/domain/dto/contacts/index.js +1 -0
- package/es/domain/dto/index.js +12 -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 +13 -0
- package/es/domain/dto/templateMessages/getTemplateLanguagesRequest.js +7 -0
- package/es/domain/dto/templateMessages/index.js +2 -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 +41 -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/CannedMessage/CannedMessage.js +58 -0
- package/es/domain/entities/CannedMessage/index.js +2 -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 +26 -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/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/TemplateLanguage.js +22 -0
- package/es/domain/entities/TemplateMessage/index.js +3 -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 +15 -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/cannedMessage/CannedMessageStatus.js +7 -0
- package/es/domain/enum/cannedMessage/CannedMessageType.js +5 -0
- package/es/domain/enum/cannedMessage/TemplateItemButtonType.js +6 -0
- package/es/domain/enum/cannedMessage/TemplateItemFooterType.js +4 -0
- package/es/domain/enum/cannedMessage/TemplateItemHeaderType.js +7 -0
- package/es/domain/enum/cannedMessage/index.js +6 -0
- package/es/domain/enum/index.js +10 -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 +17 -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/cannedMessages/ICannedMessageRepository.js +47 -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 +17 -0
- package/es/domain/interfaces/repositories/contacts/index.js +2 -0
- package/es/domain/interfaces/repositories/index.js +12 -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 +21 -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/cannedMessage/CannedMessageSchema.js +65 -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 +2 -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 +27 -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 +14 -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/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/index.js +3 -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 +136 -0
- package/es/frameworks/managers/ModuleManager.js +67 -0
- package/es/frameworks/managers/index.js +2 -0
- package/es/frameworks/sdk/IMSDK.js +94 -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/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/cannedMessages/CannedMessageAdapter.js +34 -0
- package/es/infrastructure/adapters/cannedMessages/index.js +2 -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 +24 -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 +14 -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/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/index.js +3 -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/cannedMessages/CannedMessageAPI.js +74 -0
- package/es/infrastructure/api/cannedMessages/index.js +2 -0
- package/es/infrastructure/api/channels/ChannelAPI.js +14 -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 +14 -0
- package/es/infrastructure/api/contacts/index.js +2 -0
- package/es/infrastructure/api/index.js +12 -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/cannedMessages/cannedMessageAPIRegistry.js +42 -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 +16 -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 +12 -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 +38 -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 +18 -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 +24 -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/cannedMessages/CannedMessageRepository.js +97 -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 +49 -0
- package/es/infrastructure/repositories/contacts/index.js +2 -0
- package/es/infrastructure/repositories/index.js +12 -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 +77 -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 +1 -1
|
@@ -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';
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { SessionSchema } from '../../schema';
|
|
3
|
+
import { Actor } from '../Actor';
|
|
4
|
+
import { SessionReplyStatus, SessionStatus } from '../../enum';
|
|
5
|
+
export default class Session {
|
|
6
|
+
constructor() {
|
|
7
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8
|
+
const validatedData = validateSchema({
|
|
9
|
+
schema: SessionSchema,
|
|
10
|
+
data,
|
|
11
|
+
entityName: 'Session'
|
|
12
|
+
});
|
|
13
|
+
this.data = {
|
|
14
|
+
channelId: validatedData.channelId,
|
|
15
|
+
status: validatedData.status,
|
|
16
|
+
createdTime: validatedData.createdTime,
|
|
17
|
+
agentId: validatedData.agentId,
|
|
18
|
+
botId: validatedData.botId,
|
|
19
|
+
actor: new Actor(validatedData.actor).toJSON(),
|
|
20
|
+
subject: validatedData.subject,
|
|
21
|
+
messagesCount: validatedData.messagesCount,
|
|
22
|
+
agentLastActiveTime: validatedData.agentLastActiveTime,
|
|
23
|
+
contactLastActiveTime: validatedData.contactLastActiveTime,
|
|
24
|
+
lastActiveTime: validatedData.lastActiveTime,
|
|
25
|
+
unreadMessagesCount: validatedData.unreadMessagesCount,
|
|
26
|
+
integrationServiceId: validatedData.integrationServiceId,
|
|
27
|
+
replyStatus: validatedData.replyStatus,
|
|
28
|
+
id: validatedData.id,
|
|
29
|
+
contactId: validatedData.contactId,
|
|
30
|
+
meta: validatedData.meta,
|
|
31
|
+
assignee: validatedData.assignee ? new Actor(validatedData.assignee).toJSON() : null
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static isEnded(sessionStatus) {
|
|
36
|
+
return sessionStatus === SessionStatus.ENDED;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static isBlocked(sessionStatus) {
|
|
40
|
+
return sessionStatus === SessionStatus.BLOCKED;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static isOnProgress(sessionStatus) {
|
|
44
|
+
return sessionStatus === SessionStatus.ON_PROGRESS;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
static isOnHold(sessionStatus) {
|
|
48
|
+
return sessionStatus === SessionStatus.ON_HOLD;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
static isOpen(sessionStatus) {
|
|
52
|
+
return sessionStatus === SessionStatus.OPEN;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static isInactiveChannel(replyStatus) {
|
|
56
|
+
return replyStatus === SessionReplyStatus.CHANNEL_INACTIVE;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static isChannelDeleted(replyStatus) {
|
|
60
|
+
return replyStatus === SessionReplyStatus.CHANNEL_DELETED;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
static isReplyAccepted(replyStatus) {
|
|
64
|
+
return replyStatus === SessionReplyStatus.ACCEPTED;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static isEndUserOffline(replyStatus) {
|
|
68
|
+
return replyStatus === SessionReplyStatus.ENDUSER_OFFLINE;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
static isCreated(sessionStatus) {
|
|
72
|
+
return sessionStatus === SessionStatus.CREATED;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
static isAssignedToOtherService(replyStatus) {
|
|
76
|
+
return replyStatus === SessionReplyStatus.ASSIGNED_TO_OTHER_SERVICE;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
toJSON() {
|
|
80
|
+
return { ...this.data
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { SessionMetricsSchema } from '../../schema';
|
|
3
|
+
export default class SessionMetrics {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: SessionMetricsSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'SessionMetrics'
|
|
10
|
+
});
|
|
11
|
+
this.data = {
|
|
12
|
+
assignee: validatedData.assignee
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
toJSON() {
|
|
17
|
+
return { ...this.data
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { AddOnSchema } from '../../schema';
|
|
3
|
+
import SubscriptionInfo from './SubscriptionInfo';
|
|
4
|
+
export default class AddOn {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema({
|
|
8
|
+
schema: AddOnSchema,
|
|
9
|
+
data,
|
|
10
|
+
entityName: 'AddOn' // No I18N
|
|
11
|
+
|
|
12
|
+
});
|
|
13
|
+
this.data = {
|
|
14
|
+
name: validatedData.name,
|
|
15
|
+
type: validatedData.type,
|
|
16
|
+
module: validatedData.module,
|
|
17
|
+
cost: validatedData.cost,
|
|
18
|
+
subscriptionInfo: validatedData.subscriptionInfo ? new SubscriptionInfo(validatedData.subscriptionInfo).toJSON() : null
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
toJSON() {
|
|
23
|
+
return this.data;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { LicenseDetailsSchema } from '../../schema';
|
|
3
|
+
export default class LicenseDetails {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: LicenseDetailsSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'LicenseDetails' // No I18N
|
|
10
|
+
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
paymentSource: validatedData.paymentSource
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
toJSON() {
|
|
18
|
+
return this.data;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { SubscriptionInfoSchema } from '../../schema';
|
|
3
|
+
export default class SubscriptionInfo {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: SubscriptionInfoSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'SubscriptionInfo' // No I18N
|
|
10
|
+
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
count: validatedData.count,
|
|
14
|
+
available: validatedData.available,
|
|
15
|
+
renewalCount: validatedData.renewalCount,
|
|
16
|
+
renewalThreshold: validatedData.renewalThreshold,
|
|
17
|
+
status: validatedData.status,
|
|
18
|
+
reserved: validatedData.reserved
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
toJSON() {
|
|
23
|
+
return this.data;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { TemplateCreditExhaustStatusCode } from '../../enum';
|
|
3
|
+
import { TemplateCreditExhaustStatusSchema } from '../../schema';
|
|
4
|
+
export default class TemplateCreditExhaustStatus {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema({
|
|
8
|
+
schema: TemplateCreditExhaustStatusSchema,
|
|
9
|
+
data,
|
|
10
|
+
entityName: 'TemplateCreditExhaustStatus'
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
code: validatedData.code,
|
|
14
|
+
message: validatedData.message
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static isInSufficientCredits(code) {
|
|
19
|
+
return code === TemplateCreditExhaustStatusCode.INSUFFICIENT_CREDITS;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
toJSON() {
|
|
23
|
+
return { ...this.data
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { TemplateLanguageSchema } from '../../schema';
|
|
3
|
+
export default class TemplateLanguage {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: TemplateLanguageSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'TemplateLanguage'
|
|
10
|
+
});
|
|
11
|
+
this.data = {
|
|
12
|
+
code: validatedData.code,
|
|
13
|
+
language: validatedData.language
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
toJSON() {
|
|
18
|
+
return { ...this.data
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { UserPreferenceSchema } from '../../schema';
|
|
3
|
+
import { CollapseSidePanel } from '../../enum';
|
|
4
|
+
export default class UserPreference {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema({
|
|
8
|
+
schema: UserPreferenceSchema,
|
|
9
|
+
data,
|
|
10
|
+
entityName: 'UserPreference'
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
collapseSidePanel: validatedData.collapseSidePanel
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static isCollpseView(view) {
|
|
18
|
+
return view === CollapseSidePanel.ENABLED;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
toJSON() {
|
|
22
|
+
return { ...this.data
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { WhatsAppPricingSchema } from '../../schema';
|
|
3
|
+
import WhatsAppPricingCategory from './WhatsAppPricingCategory';
|
|
4
|
+
export default class WhatsAppPricing {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema({
|
|
8
|
+
schema: WhatsAppPricingSchema,
|
|
9
|
+
data,
|
|
10
|
+
entityName: 'WhatsAppPricing'
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
total: validatedData.total,
|
|
14
|
+
creditsCount: validatedData.creditsCount,
|
|
15
|
+
actutalCreditsAmount: validatedData.actutalCreditsAmount,
|
|
16
|
+
category: validatedData.category.map(item => new WhatsAppPricingCategory(item).toJSON())
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
toJSON() {
|
|
21
|
+
return { ...this.data
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { WhatsAppPricingCategorySchema } from '../../schema';
|
|
3
|
+
export default class WhatsAppPricingCategory {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: WhatsAppPricingCategorySchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'WhatsAppPricingCategory'
|
|
10
|
+
});
|
|
11
|
+
this.data = {
|
|
12
|
+
type: validatedData.type,
|
|
13
|
+
value: validatedData.value
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
toJSON() {
|
|
18
|
+
return { ...this.data
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|