@enfonica/messaging
Version:
Enfonica Messaging SDK for Node.js
924 lines (864 loc) • 830 kB
JavaScript
// 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