@vendasta/conversation 0.9.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../conversation_sdk/src/lib/_internal/enums/message.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/conversation.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/participant.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/api.enum.ts","../../../conversation_sdk/src/lib/_internal/objects/message.ts","../../../conversation_sdk/src/lib/_internal/objects/conversation.ts","../../../conversation_sdk/src/lib/_internal/objects/participant.ts","../../../conversation_sdk/src/lib/_internal/objects/api.ts","../../../conversation_sdk/src/lib/_generated/host.service.ts","../../../conversation_sdk/src/lib/_internal/conversation.api.service.ts"],"names":["MessageStatus","MessageType","ConversationChannel","PlatformLocation","ParticipantType","MetadataIdentifier","enumStringToValue","enumRef","value","Message","kwargs","Object","assign","this","fromProto","proto","m","type","e.MessageType","created","Date","updated","deleted","prototype","toApiJson","toReturn","messageId","externalMessageId","conversationId","participantId","body","error","media","ParticipantMessageStatus","status","e.MessageStatus","Conversation","channel","e.ConversationChannel","latestMsgSentTime","originLocation","e.PlatformLocation","externalConversationId","participantIds","originLocationExternalId","Participant","location","participantType","e.ParticipantType","internalParticipantId","partnerId","accountGroupId","externalParticipantId","name","email","phoneNumber","LookupConversationsResponseConversations","conversation","participants","map","CreateConversationRequest","CreateConversationResponse","CreateMultiMessagesRequest","messages","lastSeen","MetadataDataEntry","key","DeleteConversationRequest","DeleteMessageRequest","GetMultiConversationDetailsResponseDetailedConversation","latestMessage","GetMessageRequest","GetMultiConversationDetailsRequest","conversationIds","GetMultiConversationDetailsResponse","conversations","GetMultiMessagesRequest","messageIds","GetMultiMessagesResponse","GetMultiParticipantsRequest","GetMultiParticipantsResponse","ListMessagesRequestListMessagesFilters","ListMessagesRequest","filters","pagingOptions","PagedRequestOptions","ListMessagesResponse","pagingMetadata","PagedResponseMetadata","LookupConversationsRequestLookupConversationsFilters","LookupConversationsRequest","LookupConversationsResponse","Metadata","identifier","e.MetadataIdentifier","data","keys","reduce","obj","k","ReceiveMessageRequestMetadataEntry","cursor","pageSize","nextCursor","hasMore","ReceiveMessageRequest","metadata","senderId","recipientId","SendMessageRequest","sender","recipient","SendMessageResponse","workflowId","UpdateMessageStatusRequest","HostService","environmentService","host","_host","getEnvironment","Environment","LOCAL","TEST","DEMO","PROD","httpsHost","_httpsHost","hostWithScheme","httpsHostWithScheme","Injectable","args","providedIn","EnvironmentService","ConversationApiService","http","hostService","apiOptions","headers","HttpHeaders","Content-Type","withCredentials","sendMessage","r","request","post","pipe","resp","share","getMessage","listMessages","deleteMessage","observe","updateMessageStatus","lookupConversations","createConversation","deleteConversation","receiveMessage","getMultiMessages","createMultiMessages","getMultiConversationDetails","getMultiParticipants","HttpClient"],"mappings":"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","sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MessageStatus {\n MESSAGE_STATUS_NOT_READ = 0,\n MESSAGE_STATUS_READ = 1,\n MESSAGE_STATUS_SENT = 2,\n MESSAGE_STATUS_DELIVERED = 3,\n MESSAGE_STATUS_FAILED = 4,\n MESSAGE_STATUS_UNDELIVERED = 5,\n}\n\nexport enum MessageType {\n MESSAGE_TYPE_MESSAGE = 0,\n MESSAGE_TYPE_MEDIA = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ConversationChannel {\n CONVERSATION_CHANNEL_UNDEFINED = 0,\n CONVERSATION_CHANNEL_INTERNAL = 1,\n CONVERSATION_CHANNEL_SMS = 2,\n CONVERSATION_CHANNEL_FACEBOOK = 3,\n CONVERSATION_CHANNEL_GOOGLE_MESSAGES = 4,\n}\n\nexport enum PlatformLocation {\n PLATFORM_LOCATION_UNDEFINED = 0,\n PLATFORM_LOCATION_BUSINESS_APP = 1,\n PLATFORM_LOCATION_PARTNER_CENTER = 2,\n PLATFORM_LOCATION_VENDOR_CENTER = 3,\n PLATFORM_LOCATION_TASK_MANAGER = 4,\n PLATFORM_LOCATION_PROPOSAL_BUILDER = 5,\n PLATFORM_LOCATION_SALES_CENTER = 6,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ParticipantType {\n PARTICIPANT_TYPE_UNDEFINED = 0,\n PARTICIPANT_TYPE_CUSTOMER = 1,\n PARTICIPANT_TYPE_IAM_USER = 2,\n PARTICIPANT_TYPE_ACCOUNT_GROUP = 3,\n PARTICIPANT_TYPE_PARTNER = 4,\n PARTICIPANT_TYPE_IAM_TEMPORARY_SUBJECT = 5,\n PARTICIPANT_TYPE_DIGITAL_AGENT = 6,\n PARTICIPANT_TYPE_VENDOR = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MetadataIdentifier {\n METADATA_IDENTIFIER_UNDEFINED = 0,\n METADATA_IDENTIFIER_RECIPIENT = 1,\n METADATA_IDENTIFIER_SENDER = 2,\n METADATA_IDENTIFIER_CONVERSATION = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Message implements i.MessageInterface {\n messageId: string;\n externalMessageId: string;\n conversationId: string;\n participantId: string;\n type: e.MessageType;\n body: string;\n error: string;\n created: Date;\n updated: Date;\n deleted: Date;\n media: string[];\n\n static fromProto(proto: any): Message {\n let m = new Message();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n return m;\n }\n\n constructor(kwargs?: i.MessageInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.externalMessageId !== 'undefined') {toReturn['externalMessageId'] = this.externalMessageId;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.error !== 'undefined') {toReturn['error'] = this.error;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.media !== 'undefined') {toReturn['media'] = this.media;}\n return toReturn;\n }\n}\n\nexport class ParticipantMessageStatus implements i.ParticipantMessageStatusInterface {\n participantId: string;\n messageId: string;\n status: e.MessageStatus;\n updated: Date;\n\n static fromProto(proto: any): ParticipantMessageStatus {\n let m = new ParticipantMessageStatus();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.MessageStatus>(e.MessageStatus, proto.status);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n return m;\n }\n\n constructor(kwargs?: i.ParticipantMessageStatusInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Conversation implements i.ConversationInterface {\n conversationId: string;\n channel: e.ConversationChannel;\n externalConversationId: string;\n created: Date;\n updated: Date;\n deleted: Date;\n participantIds: string[];\n latestMsgSentTime: Date;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): Conversation {\n let m = new Conversation();\n m = Object.assign(m, proto);\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n if (proto.latestMsgSentTime) {m.latestMsgSentTime = new Date(proto.latestMsgSentTime);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.ConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.participantIds !== 'undefined') {toReturn['participantIds'] = this.participantIds;}\n if (typeof this.latestMsgSentTime !== 'undefined' && this.latestMsgSentTime !== null) {toReturn['latestMsgSentTime'] = 'toApiJson' in this.latestMsgSentTime ? (this.latestMsgSentTime as any).toApiJson() : this.latestMsgSentTime;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Participant implements i.ParticipantInterface {\n participantId: string;\n internalParticipantId: string;\n partnerId: string;\n accountGroupId: string;\n location: e.PlatformLocation;\n channel: e.ConversationChannel;\n externalParticipantId: string;\n name: string;\n created: Date;\n updated: Date;\n deleted: Date;\n participantType: e.ParticipantType;\n email: string;\n phoneNumber: string;\n\n static fromProto(proto: any): Participant {\n let m = new Participant();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n if (proto.participantType) {m.participantType = enumStringToValue<e.ParticipantType>(e.ParticipantType, proto.participantType);}\n return m;\n }\n\n constructor(kwargs?: i.ParticipantInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.internalParticipantId !== 'undefined') {toReturn['internalParticipantId'] = this.internalParticipantId;}\n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalParticipantId !== 'undefined') {toReturn['externalParticipantId'] = this.externalParticipantId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.participantType !== 'undefined') {toReturn['participantType'] = this.participantType;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Conversation } from './conversation';\nimport { Message } from './message';\nimport { Participant } from './participant';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class LookupConversationsResponseConversations implements i.LookupConversationsResponseConversationsInterface {\n conversation: Conversation;\n participants: Participant[];\n\n static fromProto(proto: any): LookupConversationsResponseConversations {\n let m = new LookupConversationsResponseConversations();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsResponseConversationsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class CreateConversationRequest implements i.CreateConversationRequestInterface {\n participants: Participant[];\n channel: e.ConversationChannel;\n externalConversationId: string;\n created: Date;\n updated: Date;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): CreateConversationRequest {\n let m = new CreateConversationRequest();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.CreateConversationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\nexport class CreateConversationResponse implements i.CreateConversationResponseInterface {\n conversation: Conversation;\n participants: Participant[];\n\n static fromProto(proto: any): CreateConversationResponse {\n let m = new CreateConversationResponse();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CreateConversationResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class CreateMultiMessagesRequest implements i.CreateMultiMessagesRequestInterface {\n messages: Message[];\n lastSeen: Date;\n\n static fromProto(proto: any): CreateMultiMessagesRequest {\n let m = new CreateMultiMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n if (proto.lastSeen) {m.lastSeen = new Date(proto.lastSeen);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMultiMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n if (typeof this.lastSeen !== 'undefined' && this.lastSeen !== null) {toReturn['lastSeen'] = 'toApiJson' in this.lastSeen ? (this.lastSeen as any).toApiJson() : this.lastSeen;}\n return toReturn;\n }\n}\n\nexport class MetadataDataEntry implements i.MetadataDataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): MetadataDataEntry {\n let m = new MetadataDataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MetadataDataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class DeleteConversationRequest implements i.DeleteConversationRequestInterface {\n conversationId: string;\n\n static fromProto(proto: any): DeleteConversationRequest {\n let m = new DeleteConversationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteConversationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n return toReturn;\n }\n}\n\nexport class DeleteMessageRequest implements i.DeleteMessageRequestInterface {\n messageId: string;\n\n static fromProto(proto: any): DeleteMessageRequest {\n let m = new DeleteMessageRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsResponseDetailedConversation implements i.GetMultiConversationDetailsResponseDetailedConversationInterface {\n conversation: Conversation;\n latestMessage: Message;\n participants: Participant[];\n\n static fromProto(proto: any): GetMultiConversationDetailsResponseDetailedConversation {\n let m = new GetMultiConversationDetailsResponseDetailedConversation();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.latestMessage) {m.latestMessage = Message.fromProto(proto.latestMessage);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsResponseDetailedConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.latestMessage !== 'undefined' && this.latestMessage !== null) {toReturn['latestMessage'] = 'toApiJson' in this.latestMessage ? (this.latestMessage as any).toApiJson() : this.latestMessage;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class GetMessageRequest implements i.GetMessageRequestInterface {\n messageId: string;\n\n static fromProto(proto: any): GetMessageRequest {\n let m = new GetMessageRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsRequest implements i.GetMultiConversationDetailsRequestInterface {\n conversationIds: string[];\n\n static fromProto(proto: any): GetMultiConversationDetailsRequest {\n let m = new GetMultiConversationDetailsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationIds !== 'undefined') {toReturn['conversationIds'] = this.conversationIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsResponse implements i.GetMultiConversationDetailsResponseInterface {\n conversations: GetMultiConversationDetailsResponseDetailedConversation[];\n\n static fromProto(proto: any): GetMultiConversationDetailsResponse {\n let m = new GetMultiConversationDetailsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(GetMultiConversationDetailsResponseDetailedConversation.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n return toReturn;\n }\n}\n\nexport class GetMultiMessagesRequest implements i.GetMultiMessagesRequestInterface {\n messageIds: string[];\n\n static fromProto(proto: any): GetMultiMessagesRequest {\n let m = new GetMultiMessagesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageIds !== 'undefined') {toReturn['messageIds'] = this.messageIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiMessagesResponse implements i.GetMultiMessagesResponseInterface {\n messages: Message[];\n\n static fromProto(proto: any): GetMultiMessagesResponse {\n let m = new GetMultiMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiMessagesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n return toReturn;\n }\n}\n\nexport class GetMultiParticipantsRequest implements i.GetMultiParticipantsRequestInterface {\n participantIds: string[];\n\n static fromProto(proto: any): GetMultiParticipantsRequest {\n let m = new GetMultiParticipantsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiParticipantsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantIds !== 'undefined') {toReturn['participantIds'] = this.participantIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiParticipantsResponse implements i.GetMultiParticipantsResponseInterface {\n participants: Participant[];\n\n static fromProto(proto: any): GetMultiParticipantsResponse {\n let m = new GetMultiParticipantsResponse();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiParticipantsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class ListMessagesRequestListMessagesFilters implements i.ListMessagesRequestListMessagesFiltersInterface {\n conversationId: string;\n\n static fromProto(proto: any): ListMessagesRequestListMessagesFilters {\n let m = new ListMessagesRequestListMessagesFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesRequestListMessagesFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n return toReturn;\n }\n}\n\nexport class ListMessagesRequest implements i.ListMessagesRequestInterface {\n filters: ListMessagesRequestListMessagesFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListMessagesRequest {\n let m = new ListMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListMessagesRequestListMessagesFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListMessagesResponse implements i.ListMessagesResponseInterface {\n messages: Message[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListMessagesResponse {\n let m = new ListMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsRequestLookupConversationsFilters implements i.LookupConversationsRequestLookupConversationsFiltersInterface {\n internalParticipantId: string[];\n location: e.PlatformLocation;\n channel: e.ConversationChannel;\n accountGroupId: string;\n externalConversationId: string;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): LookupConversationsRequestLookupConversationsFilters {\n let m = new LookupConversationsRequestLookupConversationsFilters();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsRequestLookupConversationsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.internalParticipantId !== 'undefined') {toReturn['internalParticipantId'] = this.internalParticipantId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsRequest implements i.LookupConversationsRequestInterface {\n filters: LookupConversationsRequestLookupConversationsFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): LookupConversationsRequest {\n let m = new LookupConversationsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = LookupConversationsRequestLookupConversationsFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsResponse implements i.LookupConversationsResponseInterface {\n conversations: LookupConversationsResponseConversations[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): LookupConversationsResponse {\n let m = new LookupConversationsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(LookupConversationsResponseConversations.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Metadata implements i.MetadataInterface {\n identifier: e.MetadataIdentifier;\n data: {[key: string]: string};\n\n static fromProto(proto: any): Metadata {\n let m = new Metadata();\n m = Object.assign(m, proto);\n if (proto.identifier) {m.identifier = enumStringToValue<e.MetadataIdentifier>(e.MetadataIdentifier, proto.identifier);}\n if (proto.data) {m.data = Object.keys(proto.data).reduce<any>((obj, k) => { obj[k] = proto.data[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.MetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.identifier !== 'undefined') {toReturn['identifier'] = this.identifier;}\n if (typeof this.data !== 'undefined' && this.data !== null) {toReturn['data'] = 'toApiJson' in this.data ? (this.data as any).toApiJson() : this.data;}\n return toReturn;\n }\n}\n\nexport class ReceiveMessageRequestMetadataEntry implements i.ReceiveMessageRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): ReceiveMessageRequestMetadataEntry {\n let m = new ReceiveMessageRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ReceiveMessageRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n cursor: string;\n pageSize: number;\n\n static fromProto(proto: any): PagedRequestOptions {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedRequestOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n return toReturn;\n }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): PagedResponseMetadata {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedResponseMetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class ReceiveMessageRequest implements i.ReceiveMessageRequestInterface {\n senderId: string;\n recipientId: string;\n conversationId: string;\n messageId: string;\n body: string;\n channel: e.ConversationChannel;\n type: e.MessageType;\n location: e.PlatformLocation;\n partnerId: string;\n accountGroupId: string;\n metadata: {[key: string]: string};\n media: string[];\n\n static fromProto(proto: any): ReceiveMessageRequest {\n let m = new ReceiveMessageRequest();\n m = Object.assign(m, proto);\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.ReceiveMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.senderId !== 'undefined') {toReturn['senderId'] = this.senderId;}\n if (typeof this.recipientId !== 'undefined') {toReturn['recipientId'] = this.recipientId;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.media !== 'undefined') {toReturn['media'] = this.media;}\n return toReturn;\n }\n}\n\nexport class SendMessageRequest implements i.SendMessageRequestInterface {\n sender: Participant;\n recipient: Participant;\n conversationId: string;\n type: e.MessageType;\n body: string;\n metadata: Metadata[];\n\n static fromProto(proto: any): SendMessageRequest {\n let m = new SendMessageRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {m.sender = Participant.fromProto(proto.sender);}\n if (proto.recipient) {m.recipient = Participant.fromProto(proto.recipient);}\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.metadata) {m.metadata = proto.metadata.map(Metadata.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SendMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sender !== 'undefined' && this.sender !== null) {toReturn['sender'] = 'toApiJson' in this.sender ? (this.sender as any).toApiJson() : this.sender;}\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {toReturn['recipient'] = 'toApiJson' in this.recipient ? (this.recipient as any).toApiJson() : this.recipient;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class SendMessageResponse implements i.SendMessageResponseInterface {\n workflowId: string;\n\n static fromProto(proto: any): SendMessageResponse {\n let m = new SendMessageResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendMessageResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.workflowId !== 'undefined') {toReturn['workflowId'] = this.workflowId;}\n return toReturn;\n }\n}\n\nexport class UpdateMessageStatusRequest implements i.UpdateMessageStatusRequestInterface {\n messageId: string;\n participantId: string;\n status: e.MessageStatus;\n\n static fromProto(proto: any): UpdateMessageStatusRequest {\n let m = new UpdateMessageStatusRequest();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.MessageStatus>(e.MessageStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMessageStatusRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport { EnvironmentService, Environment } from '@vendasta/core';\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n private _host: string;\n private _httpsHost: string;\n\n constructor(private environmentService: EnvironmentService) {\n }\n\n host(): string {\n if (this._host) {\n return this._host;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._host = 'conversation-api.vendasta-local.com';\n break;\n case Environment.TEST:\n this._host = '';\n break;\n case Environment.DEMO:\n this._host = 'conversation-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._host = 'conversation-prod.apigateway.co';\n break;\n }\n return this._host;\n }\n\n httpsHost(): string {\n if (this._httpsHost) {\n return this._httpsHost;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._httpsHost = 'conversation.vendasta-local.com';\n break;\n case Environment.TEST:\n this._httpsHost = '';\n break;\n case Environment.DEMO:\n this._httpsHost = 'conversation-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._httpsHost = 'conversation-prod.apigateway.co';\n break;\n }\n return this._httpsHost;\n }\n\n hostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.host()\n }\n\n httpsHostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.httpsHost()\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateConversationRequest,\n CreateConversationResponse,\n CreateMultiMessagesRequest,\n DeleteConversationRequest,\n DeleteMessageRequest,\n GetMessageRequest,\n GetMultiConversationDetailsRequest,\n GetMultiConversationDetailsResponse,\n GetMultiMessagesRequest,\n GetMultiMessagesResponse,\n GetMultiParticipantsRequest,\n GetMultiParticipantsResponse,\n ListMessagesRequest,\n ListMessagesResponse,\n LookupConversationsRequest,\n LookupConversationsResponse,\n Message,\n ReceiveMessageRequest,\n SendMessageRequest,\n SendMessageResponse,\n UpdateMessageStatusRequest,\n} from './objects/';\nimport {\n CreateConversationRequestInterface,\n CreateConversationResponseInterface,\n CreateMultiMessagesRequestInterface,\n DeleteConversationRequestInterface,\n DeleteMessageRequestInterface,\n GetMessageRequestInterface,\n GetMultiConversationDetailsRequestInterface,\n GetMultiConversationDetailsResponseInterface,\n GetMultiMessagesRequestInterface,\n GetMultiMessagesResponseInterface,\n GetMultiParticipantsRequestInterface,\n GetMultiParticipantsResponseInterface,\n ListMessagesRequestInterface,\n ListMessagesResponseInterface,\n LookupConversationsRequestInterface,\n LookupConversationsResponseInterface,\n MessageInterface,\n ReceiveMessageRequestInterface,\n SendMessageRequestInterface,\n SendMessageResponseInterface,\n UpdateMessageStatusRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ConversationApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n sendMessage(r: SendMessageRequest | SendMessageRequestInterface): Observable<SendMessageResponse> {\n const request = ((<SendMessageRequest>r).toApiJson) ? (<SendMessageRequest>r) : new SendMessageRequest(r);\n return this.http.post<SendMessageResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/SendMessage\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => SendMessageResponse.fromProto(resp)),\n share()\n );\n }\n getMessage(r: GetMessageRequest | GetMessageRequestInterface): Observable<Message> {\n const request = ((<GetMessageRequest>r).toApiJson) ? (<GetMessageRequest>r) : new GetMessageRequest(r);\n return this.http.post<MessageInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMessage\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => Message.fromProto(resp)),\n share()\n );\n }\n listMessages(r: ListMessagesRequest | ListMessagesRequestInterface): Observable<ListMessagesResponse> {\n const request = ((<ListMessagesRequest>r).toApiJson) ? (<ListMessagesRequest>r) : new ListMessagesRequest(r);\n return this.http.post<ListMessagesResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/ListMessages\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListMessagesResponse.fromProto(resp)),\n share()\n );\n }\n deleteMessage(r: DeleteMessageRequest | DeleteMessageRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteMessageRequest>r).toApiJson) ? (<DeleteMessageRequest>r) : new DeleteMessageRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/DeleteMessage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n updateMessageStatus(r: UpdateMessageStatusRequest | UpdateMessageStatusRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMessageStatusRequest>r).toApiJson) ? (<UpdateMessageStatusRequest>r) : new UpdateMessageStatusRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/UpdateMessageStatus\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n lookupConversations(r: LookupConversationsRequest | LookupConversationsRequestInterface): Observable<LookupConversationsResponse> {\n const request = ((<LookupConversationsRequest>r).toApiJson) ? (<LookupConversationsRequest>r) : new LookupConversationsRequest(r);\n return this.http.post<LookupConversationsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/LookupConversations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => LookupConversationsResponse.fromProto(resp)),\n share()\n );\n }\n createConversation(r: CreateConversationRequest | CreateConversationRequestInterface): Observable<CreateConversationResponse> {\n const request = ((<CreateConversationRequest>r).toApiJson) ? (<CreateConversationRequest>r) : new CreateConversationRequest(r);\n return this.http.post<CreateConversationResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/CreateConversation\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateConversationResponse.fromProto(resp)),\n share()\n );\n }\n deleteConversation(r: DeleteConversationRequest | DeleteConversationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteConversationRequest>r).toApiJson) ? (<DeleteConversationRequest>r) : new DeleteConversationRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/DeleteConversation\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n receiveMessage(r: ReceiveMessageRequest | ReceiveMessageRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ReceiveMessageRequest>r).toApiJson) ? (<ReceiveMessageRequest>r) : new ReceiveMessageRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/ReceiveMessage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiMessages(r: GetMultiMessagesRequest | GetMultiMessagesRequestInterface): Observable<GetMultiMessagesResponse> {\n const request = ((<GetMultiMessagesRequest>r).toApiJson) ? (<GetMultiMessagesRequest>r) : new GetMultiMessagesRequest(r);\n return this.http.post<GetMultiMessagesResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiMessages\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiMessagesResponse.fromProto(resp)),\n share()\n );\n }\n createMultiMessages(r: CreateMultiMessagesRequest | CreateMultiMessagesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateMultiMessagesRequest>r).toApiJson) ? (<CreateMultiMessagesRequest>r) : new CreateMultiMessagesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/CreateMultiMessages\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiConversationDetails(r: GetMultiConversationDetailsRequest | GetMultiConversationDetailsRequestInterface): Observable<GetMultiConversationDetailsResponse> {\n const request = ((<GetMultiConversationDetailsRequest>r).toApiJson) ? (<GetMultiConversationDetailsRequest>r) : new GetMultiConversationDetailsRequest(r);\n return this.http.post<GetMultiConversationDetailsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiConversationDetails\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiConversationDetailsResponse.fromProto(resp)),\n share()\n );\n }\n getMultiParticipants(r: GetMultiParticipantsRequest | GetMultiParticipantsRequestInterface): Observable<GetMultiParticipantsResponse> {\n const request = ((<GetMultiParticipantsRequest>r).toApiJson) ? (<GetMultiParticipantsRequest>r) : new GetMultiParticipantsRequest(r);\n return this.http.post<GetMultiParticipantsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiParticipants\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiParticipantsResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n"]}
1
+ {"version":3,"sources":["../../../conversation_sdk/src/lib/_internal/enums/message.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/conversation.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/participant.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/api.enum.ts","../../../conversation_sdk/src/lib/_internal/objects/message.ts","../../../conversation_sdk/src/lib/_internal/objects/conversation.ts","../../../conversation_sdk/src/lib/_internal/objects/participant.ts","../../../conversation_sdk/src/lib/_internal/objects/api.ts","../../../conversation_sdk/src/lib/_generated/host.service.ts","../../../conversation_sdk/src/lib/_internal/conversation.api.service.ts"],"names":["MessageStatus","MessageType","ConversationChannel","PlatformLocation","ParticipantType","MetadataIdentifier","enumStringToValue","enumRef","value","Message","kwargs","Object","assign","this","fromProto","proto","m","type","e.MessageType","created","Date","updated","deleted","prototype","toApiJson","toReturn","messageId","externalMessageId","conversationId","participantId","body","error","media","ParticipantMessageStatus","status","e.MessageStatus","Conversation","channel","e.ConversationChannel","latestMsgSentTime","originLocation","e.PlatformLocation","externalConversationId","participantIds","originLocationExternalId","Address","firstLineAddress","secondLineAddress","city","state","country","zipCode","Participant","location","participantType","e.ParticipantType","address","internalParticipantId","partnerId","accountGroupId","externalParticipantId","name","email","phoneNumber","AddMultiParticipantsRequest","participants","map","AddMultiParticipantsResponse","ConversationMessageCount","count","parseInt","LookupConversationsResponseConversations","conversation","GetMultiConversationMessageCountResponseCountsEntry","key","CreateConversationRequest","CreateConversationResponse","CreateMultiMessagesRequest","messages","lastSeen","MetadataDataEntry","DeleteConversationRequest","DeleteMessageRequest","GetMultiConversationDetailsResponseDetailedConversation","latestMessage","SearchConversationsResponseDetailedConversation","GetMessageRequest","GetMultiConversationDetailsRequest","conversationIds","GetMultiConversationDetailsResponse","conversations","GetMultiConversationMessageCountRequest","GetMultiConversationMessageCountResponse","messageCounts","counts","keys","reduce","obj","k","GetMultiMessagesRequest","messageIds","GetMultiMessagesResponse","GetMultiParticipantsRequest","GetMultiParticipantsResponse","ListMessagesRequestListMessagesFilters","ListMessagesRequest","filters","pagingOptions","PagedRequestOptions","ListMessagesResponse","pagingMetadata","PagedResponseMetadata","LookupConversationsRequestLookupConversationsFilters","LookupConversationsRequest","LookupConversationsResponse","Metadata","identifier","e.MetadataIdentifier","data","ReceiveMessageRequestMetadataEntry","cursor","pageSize","nextCursor","hasMore","ReceiveMessageRequest","metadata","senderId","recipientId","SearchConversationsRequest","searchTerm","SearchConversationsResponse","SendMessageRequest","sender","recipient","SendMessageResponse","workflowId","UpdateMessageStatusRequest","HostService","environmentService","host","_host","getEnvironment","Environment","LOCAL","TEST","DEMO","PROD","httpsHost","_httpsHost","hostWithScheme","httpsHostWithScheme","Injectable","args","providedIn","EnvironmentService","ConversationApiService","http","hostService","apiOptions","headers","HttpHeaders","Content-Type","withCredentials","sendMessage","r","request","post","pipe","resp","share","getMessage","listMessages","deleteMessage","observe","updateMessageStatus","lookupConversations","createConversation","deleteConversation","receiveMessage","getMultiMessages","createMultiMessages","getMultiConversationDetails","getMultiParticipants","searchConversations","getMultiConversationMessageCount","addMultiParticipants","HttpClient"],"mappings":"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","sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MessageStatus {\n MESSAGE_STATUS_NOT_READ = 0,\n MESSAGE_STATUS_READ = 1,\n MESSAGE_STATUS_SENT = 2,\n MESSAGE_STATUS_DELIVERED = 3,\n MESSAGE_STATUS_FAILED = 4,\n MESSAGE_STATUS_UNDELIVERED = 5,\n}\n\nexport enum MessageType {\n MESSAGE_TYPE_MESSAGE = 0,\n MESSAGE_TYPE_MEDIA = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ConversationChannel {\n CONVERSATION_CHANNEL_UNDEFINED = 0,\n CONVERSATION_CHANNEL_INTERNAL = 1,\n CONVERSATION_CHANNEL_SMS = 2,\n CONVERSATION_CHANNEL_FACEBOOK = 3,\n CONVERSATION_CHANNEL_GOOGLE_MESSAGES = 4,\n}\n\nexport enum PlatformLocation {\n PLATFORM_LOCATION_UNDEFINED = 0,\n PLATFORM_LOCATION_BUSINESS_APP = 1,\n PLATFORM_LOCATION_PARTNER_CENTER = 2,\n PLATFORM_LOCATION_VENDOR_CENTER = 3,\n PLATFORM_LOCATION_TASK_MANAGER = 4,\n PLATFORM_LOCATION_PROPOSAL_BUILDER = 5,\n PLATFORM_LOCATION_SALES_CENTER = 6,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ParticipantType {\n PARTICIPANT_TYPE_UNDEFINED = 0,\n PARTICIPANT_TYPE_CUSTOMER = 1,\n PARTICIPANT_TYPE_IAM_USER = 2,\n PARTICIPANT_TYPE_ACCOUNT_GROUP = 3,\n PARTICIPANT_TYPE_PARTNER = 4,\n PARTICIPANT_TYPE_IAM_TEMPORARY_SUBJECT = 5,\n PARTICIPANT_TYPE_DIGITAL_AGENT = 6,\n PARTICIPANT_TYPE_VENDOR = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MetadataIdentifier {\n METADATA_IDENTIFIER_UNDEFINED = 0,\n METADATA_IDENTIFIER_RECIPIENT = 1,\n METADATA_IDENTIFIER_SENDER = 2,\n METADATA_IDENTIFIER_CONVERSATION = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Message implements i.MessageInterface {\n messageId: string;\n externalMessageId: string;\n conversationId: string;\n participantId: string;\n type: e.MessageType;\n body: string;\n error: string;\n created: Date;\n updated: Date;\n deleted: Date;\n media: string[];\n\n static fromProto(proto: any): Message {\n let m = new Message();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n return m;\n }\n\n constructor(kwargs?: i.MessageInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.externalMessageId !== 'undefined') {toReturn['externalMessageId'] = this.externalMessageId;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.error !== 'undefined') {toReturn['error'] = this.error;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.media !== 'undefined') {toReturn['media'] = this.media;}\n return toReturn;\n }\n}\n\nexport class ParticipantMessageStatus implements i.ParticipantMessageStatusInterface {\n participantId: string;\n messageId: string;\n status: e.MessageStatus;\n updated: Date;\n\n static fromProto(proto: any): ParticipantMessageStatus {\n let m = new ParticipantMessageStatus();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.MessageStatus>(e.MessageStatus, proto.status);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n return m;\n }\n\n constructor(kwargs?: i.ParticipantMessageStatusInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Conversation implements i.ConversationInterface {\n conversationId: string;\n channel: e.ConversationChannel;\n externalConversationId: string;\n created: Date;\n updated: Date;\n deleted: Date;\n participantIds: string[];\n latestMsgSentTime: Date;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): Conversation {\n let m = new Conversation();\n m = Object.assign(m, proto);\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n if (proto.latestMsgSentTime) {m.latestMsgSentTime = new Date(proto.latestMsgSentTime);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.ConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.participantIds !== 'undefined') {toReturn['participantIds'] = this.participantIds;}\n if (typeof this.latestMsgSentTime !== 'undefined' && this.latestMsgSentTime !== null) {toReturn['latestMsgSentTime'] = 'toApiJson' in this.latestMsgSentTime ? (this.latestMsgSentTime as any).toApiJson() : this.latestMsgSentTime;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Address implements i.AddressInterface {\n firstLineAddress: string;\n secondLineAddress: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n\n static fromProto(proto: any): Address {\n let m = new Address();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AddressInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstLineAddress !== 'undefined') {toReturn['firstLineAddress'] = this.firstLineAddress;}\n if (typeof this.secondLineAddress !== 'undefined') {toReturn['secondLineAddress'] = this.secondLineAddress;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n return toReturn;\n }\n}\n\nexport class Participant implements i.ParticipantInterface {\n participantId: string;\n internalParticipantId: string;\n partnerId: string;\n accountGroupId: string;\n location: e.PlatformLocation;\n channel: e.ConversationChannel;\n externalParticipantId: string;\n name: string;\n created: Date;\n updated: Date;\n deleted: Date;\n participantType: e.ParticipantType;\n email: string;\n phoneNumber: string;\n address: Address;\n\n static fromProto(proto: any): Participant {\n let m = new Participant();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n if (proto.participantType) {m.participantType = enumStringToValue<e.ParticipantType>(e.ParticipantType, proto.participantType);}\n if (proto.address) {m.address = Address.fromProto(proto.address);}\n return m;\n }\n\n constructor(kwargs?: i.ParticipantInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.internalParticipantId !== 'undefined') {toReturn['internalParticipantId'] = this.internalParticipantId;}\n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalParticipantId !== 'undefined') {toReturn['externalParticipantId'] = this.externalParticipantId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.participantType !== 'undefined') {toReturn['participantType'] = this.participantType;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.address !== 'undefined' && this.address !== null) {toReturn['address'] = 'toApiJson' in this.address ? (this.address as any).toApiJson() : this.address;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport {Conversation} from './conversation';\nimport {Message} from './message';\nimport {Participant} from './participant';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AddMultiParticipantsRequest implements i.AddMultiParticipantsRequestInterface {\n conversationId: string;\n participants: Participant[];\n\n static fromProto(proto: any): AddMultiParticipantsRequest {\n let m = new AddMultiParticipantsRequest();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AddMultiParticipantsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class AddMultiParticipantsResponse implements i.AddMultiParticipantsResponseInterface {\n participants: Participant[];\n\n static fromProto(proto: any): AddMultiParticipantsResponse {\n let m = new AddMultiParticipantsResponse();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AddMultiParticipantsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class ConversationMessageCount implements i.ConversationMessageCountInterface {\n conversationId: string;\n count: number;\n\n static fromProto(proto: any): ConversationMessageCount {\n let m = new ConversationMessageCount();\n m = Object.assign(m, proto);\n if (proto.count) {m.count = parseInt(proto.count, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ConversationMessageCountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.count !== 'undefined') {toReturn['count'] = this.count;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsResponseConversations implements i.LookupConversationsResponseConversationsInterface {\n conversation: Conversation;\n participants: Participant[];\n\n static fromProto(proto: any): LookupConversationsResponseConversations {\n let m = new LookupConversationsResponseConversations();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsResponseConversationsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationMessageCountResponseCountsEntry implements i.GetMultiConversationMessageCountResponseCountsEntryInterface {\n key: string;\n value: number;\n\n static fromProto(proto: any): GetMultiConversationMessageCountResponseCountsEntry {\n let m = new GetMultiConversationMessageCountResponseCountsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationMessageCountResponseCountsEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class CreateConversationRequest implements i.CreateConversationRequestInterface {\n participants: Participant[];\n channel: e.ConversationChannel;\n externalConversationId: string;\n created: Date;\n updated: Date;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): CreateConversationRequest {\n let m = new CreateConversationRequest();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.CreateConversationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\nexport class CreateConversationResponse implements i.CreateConversationResponseInterface {\n conversation: Conversation;\n participants: Participant[];\n\n static fromProto(proto: any): CreateConversationResponse {\n let m = new CreateConversationResponse();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CreateConversationResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class CreateMultiMessagesRequest implements i.CreateMultiMessagesRequestInterface {\n messages: Message[];\n lastSeen: Date;\n\n static fromProto(proto: any): CreateMultiMessagesRequest {\n let m = new CreateMultiMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n if (proto.lastSeen) {m.lastSeen = new Date(proto.lastSeen);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMultiMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n if (typeof this.lastSeen !== 'undefined' && this.lastSeen !== null) {toReturn['lastSeen'] = 'toApiJson' in this.lastSeen ? (this.lastSeen as any).toApiJson() : this.lastSeen;}\n return toReturn;\n }\n}\n\nexport class MetadataDataEntry implements i.MetadataDataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): MetadataDataEntry {\n let m = new MetadataDataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MetadataDataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class DeleteConversationRequest implements i.DeleteConversationRequestInterface {\n conversationId: string;\n\n static fromProto(proto: any): DeleteConversationRequest {\n let m = new DeleteConversationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteConversationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n return toReturn;\n }\n}\n\nexport class DeleteMessageRequest implements i.DeleteMessageRequestInterface {\n messageId: string;\n\n static fromProto(proto: any): DeleteMessageRequest {\n let m = new DeleteMessageRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsResponseDetailedConversation implements i.GetMultiConversationDetailsResponseDetailedConversationInterface {\n conversation: Conversation;\n latestMessage: Message;\n participants: Participant[];\n\n static fromProto(proto: any): GetMultiConversationDetailsResponseDetailedConversation {\n let m = new GetMultiConversationDetailsResponseDetailedConversation();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.latestMessage) {m.latestMessage = Message.fromProto(proto.latestMessage);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsResponseDetailedConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.latestMessage !== 'undefined' && this.latestMessage !== null) {toReturn['latestMessage'] = 'toApiJson' in this.latestMessage ? (this.latestMessage as any).toApiJson() : this.latestMessage;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class SearchConversationsResponseDetailedConversation implements i.SearchConversationsResponseDetailedConversationInterface {\n conversation: Conversation;\n latestMessage: Message;\n participants: Participant[];\n\n static fromProto(proto: any): SearchConversationsResponseDetailedConversation {\n let m = new SearchConversationsResponseDetailedConversation();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.latestMessage) {m.latestMessage = Message.fromProto(proto.latestMessage);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SearchConversationsResponseDetailedConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.latestMessage !== 'undefined' && this.latestMessage !== null) {toReturn['latestMessage'] = 'toApiJson' in this.latestMessage ? (this.latestMessage as any).toApiJson() : this.latestMessage;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class GetMessageRequest implements i.GetMessageRequestInterface {\n messageId: string;\n\n static fromProto(proto: any): GetMessageRequest {\n let m = new GetMessageRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsRequest implements i.GetMultiConversationDetailsRequestInterface {\n conversationIds: string[];\n\n static fromProto(proto: any): GetMultiConversationDetailsRequest {\n let m = new GetMultiConversationDetailsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationIds !== 'undefined') {toReturn['conversationIds'] = this.conversationIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsResponse implements i.GetMultiConversationDetailsResponseInterface {\n conversations: GetMultiConversationDetailsResponseDetailedConversation[];\n\n static fromProto(proto: any): GetMultiConversationDetailsResponse {\n let m = new GetMultiConversationDetailsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(GetMultiConversationDetailsResponseDetailedConversation.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationMessageCountRequest implements i.GetMultiConversationMessageCountRequestInterface {\n conversationIds: string[];\n\n static fromProto(proto: any): GetMultiConversationMessageCountRequest {\n let m = new GetMultiConversationMessageCountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationMessageCountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationIds !== 'undefined') {toReturn['conversationIds'] = this.conversationIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationMessageCountResponse implements i.GetMultiConversationMessageCountResponseInterface {\n messageCounts: ConversationMessageCount[];\n counts: {[key: string]: number};\n\n static fromProto(proto: any): GetMultiConversationMessageCountResponse {\n let m = new GetMultiConversationMessageCountResponse();\n m = Object.assign(m, proto);\n if (proto.messageCounts) {m.messageCounts = proto.messageCounts.map(ConversationMessageCount.fromProto);}\n if (proto.counts) {m.counts = Object.keys(proto.counts).reduce<any>((obj, k) => { obj[k] = parseInt(proto.counts[k], 10); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationMessageCountResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageCounts !== 'undefined' && this.messageCounts !== null) {toReturn['messageCounts'] = 'toApiJson' in this.messageCounts ? (this.messageCounts as any).toApiJson() : this.messageCounts;}\n if (typeof this.counts !== 'undefined' && this.counts !== null) {toReturn['counts'] = 'toApiJson' in this.counts ? (this.counts as any).toApiJson() : this.counts;}\n return toReturn;\n }\n}\n\nexport class GetMultiMessagesRequest implements i.GetMultiMessagesRequestInterface {\n messageIds: string[];\n\n static fromProto(proto: any): GetMultiMessagesRequest {\n let m = new GetMultiMessagesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageIds !== 'undefined') {toReturn['messageIds'] = this.messageIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiMessagesResponse implements i.GetMultiMessagesResponseInterface {\n messages: Message[];\n\n static fromProto(proto: any): GetMultiMessagesResponse {\n let m = new GetMultiMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiMessagesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n return toReturn;\n }\n}\n\nexport class GetMultiParticipantsRequest implements i.GetMultiParticipantsRequestInterface {\n participantIds: string[];\n\n static fromProto(proto: any): GetMultiParticipantsRequest {\n let m = new GetMultiParticipantsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiParticipantsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantIds !== 'undefined') {toReturn['participantIds'] = this.participantIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiParticipantsResponse implements i.GetMultiParticipantsResponseInterface {\n participants: Participant[];\n\n static fromProto(proto: any): GetMultiParticipantsResponse {\n let m = new GetMultiParticipantsResponse();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiParticipantsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class ListMessagesRequestListMessagesFilters implements i.ListMessagesRequestListMessagesFiltersInterface {\n conversationId: string;\n\n static fromProto(proto: any): ListMessagesRequestListMessagesFilters {\n let m = new ListMessagesRequestListMessagesFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesRequestListMessagesFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n return toReturn;\n }\n}\n\nexport class ListMessagesRequest implements i.ListMessagesRequestInterface {\n filters: ListMessagesRequestListMessagesFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListMessagesRequest {\n let m = new ListMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListMessagesRequestListMessagesFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListMessagesResponse implements i.ListMessagesResponseInterface {\n messages: Message[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListMessagesResponse {\n let m = new ListMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsRequestLookupConversationsFilters implements i.LookupConversationsRequestLookupConversationsFiltersInterface {\n internalParticipantId: string[];\n location: e.PlatformLocation;\n channel: e.ConversationChannel;\n accountGroupId: string;\n externalConversationId: string;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): LookupConversationsRequestLookupConversationsFilters {\n let m = new LookupConversationsRequestLookupConversationsFilters();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsRequestLookupConversationsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.internalParticipantId !== 'undefined') {toReturn['internalParticipantId'] = this.internalParticipantId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsRequest implements i.LookupConversationsRequestInterface {\n filters: LookupConversationsRequestLookupConversationsFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): LookupConversationsRequest {\n let m = new LookupConversationsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = LookupConversationsRequestLookupConversationsFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsResponse implements i.LookupConversationsResponseInterface {\n conversations: LookupConversationsResponseConversations[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): LookupConversationsResponse {\n let m = new LookupConversationsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(LookupConversationsResponseConversations.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Metadata implements i.MetadataInterface {\n identifier: e.MetadataIdentifier;\n data: {[key: string]: string};\n\n static fromProto(proto: any): Metadata {\n let m = new Metadata();\n m = Object.assign(m, proto);\n if (proto.identifier) {m.identifier = enumStringToValue<e.MetadataIdentifier>(e.MetadataIdentifier, proto.identifier);}\n if (proto.data) {m.data = Object.keys(proto.data).reduce<any>((obj, k) => { obj[k] = proto.data[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.MetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.identifier !== 'undefined') {toReturn['identifier'] = this.identifier;}\n if (typeof this.data !== 'undefined' && this.data !== null) {toReturn['data'] = 'toApiJson' in this.data ? (this.data as any).toApiJson() : this.data;}\n return toReturn;\n }\n}\n\nexport class ReceiveMessageRequestMetadataEntry implements i.ReceiveMessageRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): ReceiveMessageRequestMetadataEntry {\n let m = new ReceiveMessageRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ReceiveMessageRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n cursor: string;\n pageSize: number;\n\n static fromProto(proto: any): PagedRequestOptions {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedRequestOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n return toReturn;\n }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): PagedResponseMetadata {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedResponseMetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class ReceiveMessageRequest implements i.ReceiveMessageRequestInterface {\n senderId: string;\n recipientId: string;\n conversationId: string;\n messageId: string;\n body: string;\n channel: e.ConversationChannel;\n type: e.MessageType;\n location: e.PlatformLocation;\n partnerId: string;\n accountGroupId: string;\n metadata: {[key: string]: string};\n media: string[];\n\n static fromProto(proto: any): ReceiveMessageRequest {\n let m = new ReceiveMessageRequest();\n m = Object.assign(m, proto);\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.ReceiveMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.senderId !== 'undefined') {toReturn['senderId'] = this.senderId;}\n if (typeof this.recipientId !== 'undefined') {toReturn['recipientId'] = this.recipientId;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.media !== 'undefined') {toReturn['media'] = this.media;}\n return toReturn;\n }\n}\n\nexport class SearchConversationsRequest implements i.SearchConversationsRequestInterface {\n partnerId: string;\n accountGroupId: string;\n location: e.PlatformLocation;\n searchTerm: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): SearchConversationsRequest {\n let m = new SearchConversationsRequest();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.SearchConversationsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class SearchConversationsResponse implements i.SearchConversationsResponseInterface {\n conversations: SearchConversationsResponseDetailedConversation[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): SearchConversationsResponse {\n let m = new SearchConversationsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(SearchConversationsResponseDetailedConversation.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.SearchConversationsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class SendMessageRequest implements i.SendMessageRequestInterface {\n sender: Participant;\n recipient: Participant;\n conversationId: string;\n type: e.MessageType;\n body: string;\n metadata: Metadata[];\n\n static fromProto(proto: any): SendMessageRequest {\n let m = new SendMessageRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {m.sender = Participant.fromProto(proto.sender);}\n if (proto.recipient) {m.recipient = Participant.fromProto(proto.recipient);}\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.metadata) {m.metadata = proto.metadata.map(Metadata.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SendMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sender !== 'undefined' && this.sender !== null) {toReturn['sender'] = 'toApiJson' in this.sender ? (this.sender as any).toApiJson() : this.sender;}\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {toReturn['recipient'] = 'toApiJson' in this.recipient ? (this.recipient as any).toApiJson() : this.recipient;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class SendMessageResponse implements i.SendMessageResponseInterface {\n workflowId: string;\n\n static fromProto(proto: any): SendMessageResponse {\n let m = new SendMessageResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendMessageResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.workflowId !== 'undefined') {toReturn['workflowId'] = this.workflowId;}\n return toReturn;\n }\n}\n\nexport class UpdateMessageStatusRequest implements i.UpdateMessageStatusRequestInterface {\n messageId: string;\n participantId: string;\n status: e.MessageStatus;\n\n static fromProto(proto: any): UpdateMessageStatusRequest {\n let m = new UpdateMessageStatusRequest();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.MessageStatus>(e.MessageStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMessageStatusRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport { EnvironmentService, Environment } from '@vendasta/core';\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n private _host: string;\n private _httpsHost: string;\n\n constructor(private environmentService: EnvironmentService) {\n }\n\n host(): string {\n if (this._host) {\n return this._host;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._host = 'conversation-api.vendasta-local.com';\n break;\n case Environment.TEST:\n this._host = '';\n break;\n case Environment.DEMO:\n this._host = 'conversation-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._host = 'conversation-prod.apigateway.co';\n break;\n }\n return this._host;\n }\n\n httpsHost(): string {\n if (this._httpsHost) {\n return this._httpsHost;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._httpsHost = 'conversation.vendasta-local.com';\n break;\n case Environment.TEST:\n this._httpsHost = '';\n break;\n case Environment.DEMO:\n this._httpsHost = 'conversation-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._httpsHost = 'conversation-prod.apigateway.co';\n break;\n }\n return this._httpsHost;\n }\n\n hostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.host()\n }\n\n httpsHostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.httpsHost()\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n AddMultiParticipantsRequest,\n AddMultiParticipantsResponse,\n CreateConversationRequest,\n CreateConversationResponse,\n CreateMultiMessagesRequest,\n DeleteConversationRequest,\n DeleteMessageRequest,\n GetMessageRequest,\n GetMultiConversationDetailsRequest,\n GetMultiConversationDetailsResponse,\n GetMultiConversationMessageCountRequest,\n GetMultiConversationMessageCountResponse,\n GetMultiMessagesRequest,\n GetMultiMessagesResponse,\n GetMultiParticipantsRequest,\n GetMultiParticipantsResponse,\n ListMessagesRequest,\n ListMessagesResponse,\n LookupConversationsRequest,\n LookupConversationsResponse,\n Message,\n ReceiveMessageRequest,\n SearchConversationsRequest,\n SearchConversationsResponse,\n SendMessageRequest,\n SendMessageResponse,\n UpdateMessageStatusRequest,\n} from './objects/';\nimport {\n AddMultiParticipantsRequestInterface,\n AddMultiParticipantsResponseInterface,\n CreateConversationRequestInterface,\n CreateConversationResponseInterface,\n CreateMultiMessagesRequestInterface,\n DeleteConversationRequestInterface,\n DeleteMessageRequestInterface,\n GetMessageRequestInterface,\n GetMultiConversationDetailsRequestInterface,\n GetMultiConversationDetailsResponseInterface,\n GetMultiConversationMessageCountRequestInterface,\n GetMultiConversationMessageCountResponseInterface,\n GetMultiMessagesRequestInterface,\n GetMultiMessagesResponseInterface,\n GetMultiParticipantsRequestInterface,\n GetMultiParticipantsResponseInterface,\n ListMessagesRequestInterface,\n ListMessagesResponseInterface,\n LookupConversationsRequestInterface,\n LookupConversationsResponseInterface,\n MessageInterface,\n ReceiveMessageRequestInterface,\n SearchConversationsRequestInterface,\n SearchConversationsResponseInterface,\n SendMessageRequestInterface,\n SendMessageResponseInterface,\n UpdateMessageStatusRequestInterface,\n} from './interfaces/';\nimport {HttpClient, HttpHeaders, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ConversationApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n sendMessage(r: SendMessageRequest | SendMessageRequestInterface): Observable<SendMessageResponse> {\n const request = ((<SendMessageRequest>r).toApiJson) ? (<SendMessageRequest>r) : new SendMessageRequest(r);\n return this.http.post<SendMessageResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/SendMessage\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => SendMessageResponse.fromProto(resp)),\n share()\n );\n }\n getMessage(r: GetMessageRequest | GetMessageRequestInterface): Observable<Message> {\n const request = ((<GetMessageRequest>r).toApiJson) ? (<GetMessageRequest>r) : new GetMessageRequest(r);\n return this.http.post<MessageInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMessage\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => Message.fromProto(resp)),\n share()\n );\n }\n listMessages(r: ListMessagesRequest | ListMessagesRequestInterface): Observable<ListMessagesResponse> {\n const request = ((<ListMessagesRequest>r).toApiJson) ? (<ListMessagesRequest>r) : new ListMessagesRequest(r);\n return this.http.post<ListMessagesResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/ListMessages\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListMessagesResponse.fromProto(resp)),\n share()\n );\n }\n deleteMessage(r: DeleteMessageRequest | DeleteMessageRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteMessageRequest>r).toApiJson) ? (<DeleteMessageRequest>r) : new DeleteMessageRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/DeleteMessage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n updateMessageStatus(r: UpdateMessageStatusRequest | UpdateMessageStatusRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMessageStatusRequest>r).toApiJson) ? (<UpdateMessageStatusRequest>r) : new UpdateMessageStatusRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/UpdateMessageStatus\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n lookupConversations(r: LookupConversationsRequest | LookupConversationsRequestInterface): Observable<LookupConversationsResponse> {\n const request = ((<LookupConversationsRequest>r).toApiJson) ? (<LookupConversationsRequest>r) : new LookupConversationsRequest(r);\n return this.http.post<LookupConversationsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/LookupConversations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => LookupConversationsResponse.fromProto(resp)),\n share()\n );\n }\n createConversation(r: CreateConversationRequest | CreateConversationRequestInterface): Observable<CreateConversationResponse> {\n const request = ((<CreateConversationRequest>r).toApiJson) ? (<CreateConversationRequest>r) : new CreateConversationRequest(r);\n return this.http.post<CreateConversationResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/CreateConversation\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateConversationResponse.fromProto(resp)),\n share()\n );\n }\n deleteConversation(r: DeleteConversationRequest | DeleteConversationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteConversationRequest>r).toApiJson) ? (<DeleteConversationRequest>r) : new DeleteConversationRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/DeleteConversation\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n receiveMessage(r: ReceiveMessageRequest | ReceiveMessageRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ReceiveMessageRequest>r).toApiJson) ? (<ReceiveMessageRequest>r) : new ReceiveMessageRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/ReceiveMessage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiMessages(r: GetMultiMessagesRequest | GetMultiMessagesRequestInterface): Observable<GetMultiMessagesResponse> {\n const request = ((<GetMultiMessagesRequest>r).toApiJson) ? (<GetMultiMessagesRequest>r) : new GetMultiMessagesRequest(r);\n return this.http.post<GetMultiMessagesResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiMessages\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiMessagesResponse.fromProto(resp)),\n share()\n );\n }\n createMultiMessages(r: CreateMultiMessagesRequest | CreateMultiMessagesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateMultiMessagesRequest>r).toApiJson) ? (<CreateMultiMessagesRequest>r) : new CreateMultiMessagesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/CreateMultiMessages\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiConversationDetails(r: GetMultiConversationDetailsRequest | GetMultiConversationDetailsRequestInterface): Observable<GetMultiConversationDetailsResponse> {\n const request = ((<GetMultiConversationDetailsRequest>r).toApiJson) ? (<GetMultiConversationDetailsRequest>r) : new GetMultiConversationDetailsRequest(r);\n return this.http.post<GetMultiConversationDetailsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiConversationDetails\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiConversationDetailsResponse.fromProto(resp)),\n share()\n );\n }\n getMultiParticipants(r: GetMultiParticipantsRequest | GetMultiParticipantsRequestInterface): Observable<GetMultiParticipantsResponse> {\n const request = ((<GetMultiParticipantsRequest>r).toApiJson) ? (<GetMultiParticipantsRequest>r) : new GetMultiParticipantsRequest(r);\n return this.http.post<GetMultiParticipantsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiParticipants\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiParticipantsResponse.fromProto(resp)),\n share()\n );\n }\n searchConversations(r: SearchConversationsRequest | SearchConversationsRequestInterface): Observable<SearchConversationsResponse> {\n const request = ((<SearchConversationsRequest>r).toApiJson) ? (<SearchConversationsRequest>r) : new SearchConversationsRequest(r);\n return this.http.post<SearchConversationsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/SearchConversations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => SearchConversationsResponse.fromProto(resp)),\n share()\n );\n }\n getMultiConversationMessageCount(r: GetMultiConversationMessageCountRequest | GetMultiConversationMessageCountRequestInterface): Observable<GetMultiConversationMessageCountResponse> {\n const request = ((<GetMultiConversationMessageCountRequest>r).toApiJson) ? (<GetMultiConversationMessageCountRequest>r) : new GetMultiConversationMessageCountRequest(r);\n return this.http.post<GetMultiConversationMessageCountResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiConversationMessageCount\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiConversationMessageCountResponse.fromProto(resp)),\n share()\n );\n }\n addMultiParticipants(r: AddMultiParticipantsRequest | AddMultiParticipantsRequestInterface): Observable<AddMultiParticipantsResponse> {\n const request = ((<AddMultiParticipantsRequest>r).toApiJson) ? (<AddMultiParticipantsRequest>r) : new AddMultiParticipantsRequest(r);\n return this.http.post<AddMultiParticipantsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/AddMultiParticipants\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddMultiParticipantsResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n"]}