UNPKG

@enfonica/messaging

Version:

Enfonica Messaging SDK for Node.js

924 lines (864 loc) 830 kB
// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. /*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/ (function(global, factory) { /* global define, require, module */ /* AMD */ if (typeof define === 'function' && define.amd) define(["protobufjs/minimal"], factory); /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports) module.exports = factory(require("google-gax").protobufMinimal); })(this, function($protobuf) { "use strict"; // Common aliases var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; // Exported root namespace var $root = $protobuf.roots._enfonica_messaging_protos || ($protobuf.roots._enfonica_messaging_protos = {}); $root.enfonica = (function() { /** * Namespace enfonica. * @exports enfonica * @namespace */ var enfonica = {}; enfonica.messaging = (function() { /** * Namespace messaging. * @memberof enfonica * @namespace */ var messaging = {}; messaging.v1 = (function() { /** * Namespace v1. * @memberof enfonica.messaging * @namespace */ var v1 = {}; v1.Messages = (function() { /** * Constructs a new Messages service. * @memberof enfonica.messaging.v1 * @classdesc Represents a Messages * @extends $protobuf.rpc.Service * @constructor * @param {$protobuf.RPCImpl} rpcImpl RPC implementation * @param {boolean} [requestDelimited=false] Whether requests are length-delimited * @param {boolean} [responseDelimited=false] Whether responses are length-delimited */ function Messages(rpcImpl, requestDelimited, responseDelimited) { $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); } (Messages.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Messages; /** * Creates new Messages service using the specified rpc implementation. * @function create * @memberof enfonica.messaging.v1.Messages * @static * @param {$protobuf.RPCImpl} rpcImpl RPC implementation * @param {boolean} [requestDelimited=false] Whether requests are length-delimited * @param {boolean} [responseDelimited=false] Whether responses are length-delimited * @returns {Messages} RPC service. Useful where requests and/or responses are streamed. */ Messages.create = function create(rpcImpl, requestDelimited, responseDelimited) { return new this(rpcImpl, requestDelimited, responseDelimited); }; /** * Callback as used by {@link enfonica.messaging.v1.Messages|createMessage}. * @memberof enfonica.messaging.v1.Messages * @typedef CreateMessageCallback * @type {function} * @param {Error|null} error Error, if any * @param {enfonica.messaging.v1.Message} [response] Message */ /** * Calls CreateMessage. * @function createMessage * @memberof enfonica.messaging.v1.Messages * @instance * @param {enfonica.messaging.v1.ICreateMessageRequest} request CreateMessageRequest message or plain object * @param {enfonica.messaging.v1.Messages.CreateMessageCallback} callback Node-style callback called with the error, if any, and Message * @returns {undefined} * @variation 1 */ Object.defineProperty(Messages.prototype.createMessage = function createMessage(request, callback) { return this.rpcCall(createMessage, $root.enfonica.messaging.v1.CreateMessageRequest, $root.enfonica.messaging.v1.Message, request, callback); }, "name", { value: "CreateMessage" }); /** * Calls CreateMessage. * @function createMessage * @memberof enfonica.messaging.v1.Messages * @instance * @param {enfonica.messaging.v1.ICreateMessageRequest} request CreateMessageRequest message or plain object * @returns {Promise<enfonica.messaging.v1.Message>} Promise * @variation 2 */ /** * Callback as used by {@link enfonica.messaging.v1.Messages|getMessage}. * @memberof enfonica.messaging.v1.Messages * @typedef GetMessageCallback * @type {function} * @param {Error|null} error Error, if any * @param {enfonica.messaging.v1.Message} [response] Message */ /** * Calls GetMessage. * @function getMessage * @memberof enfonica.messaging.v1.Messages * @instance * @param {enfonica.messaging.v1.IGetMessageRequest} request GetMessageRequest message or plain object * @param {enfonica.messaging.v1.Messages.GetMessageCallback} callback Node-style callback called with the error, if any, and Message * @returns {undefined} * @variation 1 */ Object.defineProperty(Messages.prototype.getMessage = function getMessage(request, callback) { return this.rpcCall(getMessage, $root.enfonica.messaging.v1.GetMessageRequest, $root.enfonica.messaging.v1.Message, request, callback); }, "name", { value: "GetMessage" }); /** * Calls GetMessage. * @function getMessage * @memberof enfonica.messaging.v1.Messages * @instance * @param {enfonica.messaging.v1.IGetMessageRequest} request GetMessageRequest message or plain object * @returns {Promise<enfonica.messaging.v1.Message>} Promise * @variation 2 */ /** * Callback as used by {@link enfonica.messaging.v1.Messages|listMessages}. * @memberof enfonica.messaging.v1.Messages * @typedef ListMessagesCallback * @type {function} * @param {Error|null} error Error, if any * @param {enfonica.messaging.v1.ListMessagesResponse} [response] ListMessagesResponse */ /** * Calls ListMessages. * @function listMessages * @memberof enfonica.messaging.v1.Messages * @instance * @param {enfonica.messaging.v1.IListMessagesRequest} request ListMessagesRequest message or plain object * @param {enfonica.messaging.v1.Messages.ListMessagesCallback} callback Node-style callback called with the error, if any, and ListMessagesResponse * @returns {undefined} * @variation 1 */ Object.defineProperty(Messages.prototype.listMessages = function listMessages(request, callback) { return this.rpcCall(listMessages, $root.enfonica.messaging.v1.ListMessagesRequest, $root.enfonica.messaging.v1.ListMessagesResponse, request, callback); }, "name", { value: "ListMessages" }); /** * Calls ListMessages. * @function listMessages * @memberof enfonica.messaging.v1.Messages * @instance * @param {enfonica.messaging.v1.IListMessagesRequest} request ListMessagesRequest message or plain object * @returns {Promise<enfonica.messaging.v1.ListMessagesResponse>} Promise * @variation 2 */ return Messages; })(); v1.Message = (function() { /** * Properties of a Message. * @memberof enfonica.messaging.v1 * @interface IMessage * @property {string|null} [name] Message name * @property {string|null} [to] Message to * @property {string|null} [from] Message from * @property {string|null} [body] Message body * @property {string|null} [statusUpdateUrl] Message statusUpdateUrl * @property {string|null} [replyUrl] Message replyUrl * @property {number|null} [validityPeriodSeconds] Message validityPeriodSeconds * @property {boolean|null} [smartEncoding] Message smartEncoding * @property {Object.<string,string>|null} [labels] Message labels * @property {enfonica.messaging.v1.Message.MessageClassification|null} [classification] Message classification * @property {enfonica.messaging.v1.Message.UnsubscribeContentBehavior|null} [unsubscribeContentBehavior] Message unsubscribeContentBehavior * @property {enfonica.messaging.v1.Message.Direction|null} [direction] Message direction * @property {string|null} [errorCode] Message errorCode * @property {string|null} [errorMessage] Message errorMessage * @property {number|null} [segmentCount] Message segmentCount * @property {google.type.IMoney|null} [price] Message price * @property {enfonica.messaging.v1.Message.Status|null} [status] Message status * @property {string|null} [createIdentity] Message createIdentity * @property {google.protobuf.ITimestamp|null} [createTime] Message createTime * @property {google.protobuf.ITimestamp|null} [sendTime] Message sendTime * @property {google.protobuf.ITimestamp|null} [deliverTime] Message deliverTime * @property {enfonica.messaging.v1.Message.MessageEncoding|null} [encoding] Message encoding */ /** * Constructs a new Message. * @memberof enfonica.messaging.v1 * @classdesc Represents a Message. * @implements IMessage * @constructor * @param {enfonica.messaging.v1.IMessage=} [properties] Properties to set */ function Message(properties) { this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * Message name. * @member {string} name * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.name = ""; /** * Message to. * @member {string} to * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.to = ""; /** * Message from. * @member {string} from * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.from = ""; /** * Message body. * @member {string} body * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.body = ""; /** * Message statusUpdateUrl. * @member {string} statusUpdateUrl * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.statusUpdateUrl = ""; /** * Message replyUrl. * @member {string} replyUrl * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.replyUrl = ""; /** * Message validityPeriodSeconds. * @member {number} validityPeriodSeconds * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.validityPeriodSeconds = 0; /** * Message smartEncoding. * @member {boolean} smartEncoding * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.smartEncoding = false; /** * Message labels. * @member {Object.<string,string>} labels * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.labels = $util.emptyObject; /** * Message classification. * @member {enfonica.messaging.v1.Message.MessageClassification} classification * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.classification = 0; /** * Message unsubscribeContentBehavior. * @member {enfonica.messaging.v1.Message.UnsubscribeContentBehavior} unsubscribeContentBehavior * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.unsubscribeContentBehavior = 0; /** * Message direction. * @member {enfonica.messaging.v1.Message.Direction} direction * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.direction = 0; /** * Message errorCode. * @member {string} errorCode * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.errorCode = ""; /** * Message errorMessage. * @member {string} errorMessage * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.errorMessage = ""; /** * Message segmentCount. * @member {number} segmentCount * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.segmentCount = 0; /** * Message price. * @member {google.type.IMoney|null|undefined} price * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.price = null; /** * Message status. * @member {enfonica.messaging.v1.Message.Status} status * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.status = 0; /** * Message createIdentity. * @member {string} createIdentity * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.createIdentity = ""; /** * Message createTime. * @member {google.protobuf.ITimestamp|null|undefined} createTime * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.createTime = null; /** * Message sendTime. * @member {google.protobuf.ITimestamp|null|undefined} sendTime * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.sendTime = null; /** * Message deliverTime. * @member {google.protobuf.ITimestamp|null|undefined} deliverTime * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.deliverTime = null; /** * Message encoding. * @member {enfonica.messaging.v1.Message.MessageEncoding} encoding * @memberof enfonica.messaging.v1.Message * @instance */ Message.prototype.encoding = 0; /** * Creates a new Message instance using the specified properties. * @function create * @memberof enfonica.messaging.v1.Message * @static * @param {enfonica.messaging.v1.IMessage=} [properties] Properties to set * @returns {enfonica.messaging.v1.Message} Message instance */ Message.create = function create(properties) { return new Message(properties); }; /** * Encodes the specified Message message. Does not implicitly {@link enfonica.messaging.v1.Message.verify|verify} messages. * @function encode * @memberof enfonica.messaging.v1.Message * @static * @param {enfonica.messaging.v1.IMessage} message Message message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Message.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.to != null && Object.hasOwnProperty.call(message, "to")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.to); if (message.from != null && Object.hasOwnProperty.call(message, "from")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.from); if (message.body != null && Object.hasOwnProperty.call(message, "body")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.body); if (message.statusUpdateUrl != null && Object.hasOwnProperty.call(message, "statusUpdateUrl")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.statusUpdateUrl); if (message.replyUrl != null && Object.hasOwnProperty.call(message, "replyUrl")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.replyUrl); if (message.validityPeriodSeconds != null && Object.hasOwnProperty.call(message, "validityPeriodSeconds")) writer.uint32(/* id 7, wireType 0 =*/56).int32(message.validityPeriodSeconds); if (message.smartEncoding != null && Object.hasOwnProperty.call(message, "smartEncoding")) writer.uint32(/* id 8, wireType 0 =*/64).bool(message.smartEncoding); if (message.direction != null && Object.hasOwnProperty.call(message, "direction")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.direction); if (message.errorCode != null && Object.hasOwnProperty.call(message, "errorCode")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.errorCode); if (message.errorMessage != null && Object.hasOwnProperty.call(message, "errorMessage")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.errorMessage); if (message.segmentCount != null && Object.hasOwnProperty.call(message, "segmentCount")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.segmentCount); if (message.price != null && Object.hasOwnProperty.call(message, "price")) $root.google.type.Money.encode(message.price, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); if (message.status != null && Object.hasOwnProperty.call(message, "status")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.status); if (message.createIdentity != null && Object.hasOwnProperty.call(message, "createIdentity")) writer.uint32(/* id 16, wireType 2 =*/130).string(message.createIdentity); if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.sendTime != null && Object.hasOwnProperty.call(message, "sendTime")) $root.google.protobuf.Timestamp.encode(message.sendTime, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); if (message.deliverTime != null && Object.hasOwnProperty.call(message, "deliverTime")) $root.google.protobuf.Timestamp.encode(message.deliverTime, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); if (message.labels != null && Object.hasOwnProperty.call(message, "labels")) for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i) writer.uint32(/* id 20, wireType 2 =*/162).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim(); if (message.classification != null && Object.hasOwnProperty.call(message, "classification")) writer.uint32(/* id 21, wireType 0 =*/168).int32(message.classification); if (message.unsubscribeContentBehavior != null && Object.hasOwnProperty.call(message, "unsubscribeContentBehavior")) writer.uint32(/* id 22, wireType 0 =*/176).int32(message.unsubscribeContentBehavior); if (message.encoding != null && Object.hasOwnProperty.call(message, "encoding")) writer.uint32(/* id 23, wireType 0 =*/184).int32(message.encoding); return writer; }; /** * Encodes the specified Message message, length delimited. Does not implicitly {@link enfonica.messaging.v1.Message.verify|verify} messages. * @function encodeDelimited * @memberof enfonica.messaging.v1.Message * @static * @param {enfonica.messaging.v1.IMessage} message Message message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Message.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Message message from the specified reader or buffer. * @function decode * @memberof enfonica.messaging.v1.Message * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {enfonica.messaging.v1.Message} Message * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Message.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.enfonica.messaging.v1.Message(), key, value; while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; case 2: message.to = reader.string(); break; case 3: message.from = reader.string(); break; case 4: message.body = reader.string(); break; case 5: message.statusUpdateUrl = reader.string(); break; case 6: message.replyUrl = reader.string(); break; case 7: message.validityPeriodSeconds = reader.int32(); break; case 8: message.smartEncoding = reader.bool(); break; case 20: if (message.labels === $util.emptyObject) message.labels = {}; var end2 = reader.uint32() + reader.pos; key = ""; value = ""; while (reader.pos < end2) { var tag2 = reader.uint32(); switch (tag2 >>> 3) { case 1: key = reader.string(); break; case 2: value = reader.string(); break; default: reader.skipType(tag2 & 7); break; } } message.labels[key] = value; break; case 21: message.classification = reader.int32(); break; case 22: message.unsubscribeContentBehavior = reader.int32(); break; case 10: message.direction = reader.int32(); break; case 11: message.errorCode = reader.string(); break; case 12: message.errorMessage = reader.string(); break; case 13: message.segmentCount = reader.int32(); break; case 14: message.price = $root.google.type.Money.decode(reader, reader.uint32()); break; case 15: message.status = reader.int32(); break; case 16: message.createIdentity = reader.string(); break; case 17: message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; case 18: message.sendTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; case 19: message.deliverTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; case 23: message.encoding = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Message message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof enfonica.messaging.v1.Message * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {enfonica.messaging.v1.Message} Message * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Message.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Message message. * @function verify * @memberof enfonica.messaging.v1.Message * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Message.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.to != null && message.hasOwnProperty("to")) if (!$util.isString(message.to)) return "to: string expected"; if (message.from != null && message.hasOwnProperty("from")) if (!$util.isString(message.from)) return "from: string expected"; if (message.body != null && message.hasOwnProperty("body")) if (!$util.isString(message.body)) return "body: string expected"; if (message.statusUpdateUrl != null && message.hasOwnProperty("statusUpdateUrl")) if (!$util.isString(message.statusUpdateUrl)) return "statusUpdateUrl: string expected"; if (message.replyUrl != null && message.hasOwnProperty("replyUrl")) if (!$util.isString(message.replyUrl)) return "replyUrl: string expected"; if (message.validityPeriodSeconds != null && message.hasOwnProperty("validityPeriodSeconds")) if (!$util.isInteger(message.validityPeriodSeconds)) return "validityPeriodSeconds: integer expected"; if (message.smartEncoding != null && message.hasOwnProperty("smartEncoding")) if (typeof message.smartEncoding !== "boolean") return "smartEncoding: boolean expected"; if (message.labels != null && message.hasOwnProperty("labels")) { if (!$util.isObject(message.labels)) return "labels: object expected"; var key = Object.keys(message.labels); for (var i = 0; i < key.length; ++i) if (!$util.isString(message.labels[key[i]])) return "labels: string{k:string} expected"; } if (message.classification != null && message.hasOwnProperty("classification")) switch (message.classification) { default: return "classification: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.unsubscribeContentBehavior != null && message.hasOwnProperty("unsubscribeContentBehavior")) switch (message.unsubscribeContentBehavior) { default: return "unsubscribeContentBehavior: enum value expected"; case 0: case 1: case 2: break; } if (message.direction != null && message.hasOwnProperty("direction")) switch (message.direction) { default: return "direction: enum value expected"; case 0: case 1: case 2: break; } if (message.errorCode != null && message.hasOwnProperty("errorCode")) if (!$util.isString(message.errorCode)) return "errorCode: string expected"; if (message.errorMessage != null && message.hasOwnProperty("errorMessage")) if (!$util.isString(message.errorMessage)) return "errorMessage: string expected"; if (message.segmentCount != null && message.hasOwnProperty("segmentCount")) if (!$util.isInteger(message.segmentCount)) return "segmentCount: integer expected"; if (message.price != null && message.hasOwnProperty("price")) { var error = $root.google.type.Money.verify(message.price); if (error) return "price." + error; } if (message.status != null && message.hasOwnProperty("status")) switch (message.status) { default: return "status: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: break; } if (message.createIdentity != null && message.hasOwnProperty("createIdentity")) if (!$util.isString(message.createIdentity)) return "createIdentity: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { var error = $root.google.protobuf.Timestamp.verify(message.createTime); if (error) return "createTime." + error; } if (message.sendTime != null && message.hasOwnProperty("sendTime")) { var error = $root.google.protobuf.Timestamp.verify(message.sendTime); if (error) return "sendTime." + error; } if (message.deliverTime != null && message.hasOwnProperty("deliverTime")) { var error = $root.google.protobuf.Timestamp.verify(message.deliverTime); if (error) return "deliverTime." + error; } if (message.encoding != null && message.hasOwnProperty("encoding")) switch (message.encoding) { default: return "encoding: enum value expected"; case 0: case 1: case 2: break; } return null; }; /** * Creates a Message message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof enfonica.messaging.v1.Message * @static * @param {Object.<string,*>} object Plain object * @returns {enfonica.messaging.v1.Message} Message */ Message.fromObject = function fromObject(object) { if (object instanceof $root.enfonica.messaging.v1.Message) return object; var message = new $root.enfonica.messaging.v1.Message(); if (object.name != null) message.name = String(object.name); if (object.to != null) message.to = String(object.to); if (object.from != null) message.from = String(object.from); if (object.body != null) message.body = String(object.body); if (object.statusUpdateUrl != null) message.statusUpdateUrl = String(object.statusUpdateUrl); if (object.replyUrl != null) message.replyUrl = String(object.replyUrl); if (object.validityPeriodSeconds != null) message.validityPeriodSeconds = object.validityPeriodSeconds | 0; if (object.smartEncoding != null) message.smartEncoding = Boolean(object.smartEncoding); if (object.labels) { if (typeof object.labels !== "object") throw TypeError(".enfonica.messaging.v1.Message.labels: object expected"); message.labels = {}; for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) message.labels[keys[i]] = String(object.labels[keys[i]]); } switch (object.classification) { case "MESSAGE_CLASSIFICATION_UNSPECIFIED": case 0: message.classification = 0; break; case "UNCLASSIFIED": case 1: message.classification = 1; break; case "TRANSACTIONAL": case 2: message.classification = 2; break; case "MARKETING": case 3: message.classification = 3; break; } switch (object.unsubscribeContentBehavior) { case "UNSUBSCRIBE_CONTENT_BEHAVIOR_UNSPECIFIED": case 0: message.unsubscribeContentBehavior = 0; break; case "NONE": case 1: message.unsubscribeContentBehavior = 1; break; case "APPEND_URL": case 2: message.unsubscribeContentBehavior = 2; break; } switch (object.direction) { case "DIRECTION_UNSPECIFIED": case 0: message.direction = 0; break; case "OUTGOING": case 1: message.direction = 1; break; case "INCOMING": case 2: message.direction = 2; break; } if (object.errorCode != null) message.errorCode = String(object.errorCode); if (object.errorMessage != null) message.errorMessage = String(object.errorMessage); if (object.segmentCount != null) message.segmentCount = object.segmentCount | 0; if (object.price != null) { if (typeof object.price !== "object") throw TypeError(".enfonica.messaging.v1.Message.price: object expected"); message.price = $root.google.type.Money.fromObject(object.price); } switch (object.status) { case "STATUS_UNSPECIFIED": case 0: message.status = 0; break; case "QUEUED": case 1: message.status = 1; break; case "SENDING": case 2: message.status = 2; break; case "SENT": case 3: message.status = 3; break; case "FAILED": case 4: message.status = 4; break; case "DELIVERED": case 5: message.status = 5; break; case "UNDELIVERED": case 6: message.status = 6; break; case "RECEIVED": case 7: message.status = 7; break; } if (object.createIdentity != null) message.createIdentity = String(object.createIdentity); if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".enfonica.messaging.v1.Message.createTime: object expected"); message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); } if (object.sendTime != null) { if (typeof object.sendTime !== "object") throw TypeError(".enfonica.messaging.v1.Message.sendTime: object expected"); message.sendTime = $root.google.protobuf.Timestamp.fromObject(object.sendTime); } if (object.deliverTime != null) { if (typeof object.deliverTime !== "object") throw TypeError(".enfonica.messaging.v1.Message.deliverTime: object expected"); message.deliverTime = $root.google.protobuf.Timestamp.fromObject(object.deliverTime); } switch (object.encoding) { case "MESSAGE_ENCODING_UNSPECIFIED": case 0: message.encoding = 0; break; case "GSM7": case 1: message.encoding = 1; break; case "UCS2": case 2: message.encoding = 2; break; } return message; }; /** * Creates a plain object from a Message message. Also converts values to other types if specified. * @function toObject * @memberof enfonica.messaging.v1.Message * @static * @param {enfonica.messaging.v1.Message} message Message * @param {$protobuf.IConversionOptions} [options] Conversion options