node-appwrite
Version:
Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API
1,670 lines (1,663 loc) • 61.3 kB
JavaScript
'use strict';
var client = require('../client');
class Messaging {
constructor(client) {
this.client = client;
}
/**
* Get a list of all messages from the current Appwrite project.
*
* @param {string[]} queries
* @param {string} search
* @throws {AppwriteException}
* @returns {Promise<Models.MessageList>}
*/
listMessages(queries, search) {
const apiPath = "/messaging/messages";
const payload = {};
if (typeof queries !== "undefined") {
payload["queries"] = queries;
}
if (typeof search !== "undefined") {
payload["search"] = search;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {};
return this.client.call(
"get",
uri,
apiHeaders,
payload
);
}
/**
* Create a new email message.
*
* @param {string} messageId
* @param {string} subject
* @param {string} content
* @param {string[]} topics
* @param {string[]} users
* @param {string[]} targets
* @param {string[]} cc
* @param {string[]} bcc
* @param {string[]} attachments
* @param {boolean} draft
* @param {boolean} html
* @param {string} scheduledAt
* @throws {AppwriteException}
* @returns {Promise<Models.Message>}
*/
createEmail(messageId, subject, content, topics, users, targets, cc, bcc, attachments, draft, html, scheduledAt) {
if (typeof messageId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "messageId"');
}
if (typeof subject === "undefined") {
throw new client.AppwriteException('Missing required parameter: "subject"');
}
if (typeof content === "undefined") {
throw new client.AppwriteException('Missing required parameter: "content"');
}
const apiPath = "/messaging/messages/email";
const payload = {};
if (typeof messageId !== "undefined") {
payload["messageId"] = messageId;
}
if (typeof subject !== "undefined") {
payload["subject"] = subject;
}
if (typeof content !== "undefined") {
payload["content"] = content;
}
if (typeof topics !== "undefined") {
payload["topics"] = topics;
}
if (typeof users !== "undefined") {
payload["users"] = users;
}
if (typeof targets !== "undefined") {
payload["targets"] = targets;
}
if (typeof cc !== "undefined") {
payload["cc"] = cc;
}
if (typeof bcc !== "undefined") {
payload["bcc"] = bcc;
}
if (typeof attachments !== "undefined") {
payload["attachments"] = attachments;
}
if (typeof draft !== "undefined") {
payload["draft"] = draft;
}
if (typeof html !== "undefined") {
payload["html"] = html;
}
if (typeof scheduledAt !== "undefined") {
payload["scheduledAt"] = scheduledAt;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update an email message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
*
* @param {string} messageId
* @param {string[]} topics
* @param {string[]} users
* @param {string[]} targets
* @param {string} subject
* @param {string} content
* @param {boolean} draft
* @param {boolean} html
* @param {string[]} cc
* @param {string[]} bcc
* @param {string} scheduledAt
* @param {string[]} attachments
* @throws {AppwriteException}
* @returns {Promise<Models.Message>}
*/
updateEmail(messageId, topics, users, targets, subject, content, draft, html, cc, bcc, scheduledAt, attachments) {
if (typeof messageId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "messageId"');
}
const apiPath = "/messaging/messages/email/{messageId}".replace("{messageId}", messageId);
const payload = {};
if (typeof topics !== "undefined") {
payload["topics"] = topics;
}
if (typeof users !== "undefined") {
payload["users"] = users;
}
if (typeof targets !== "undefined") {
payload["targets"] = targets;
}
if (typeof subject !== "undefined") {
payload["subject"] = subject;
}
if (typeof content !== "undefined") {
payload["content"] = content;
}
if (typeof draft !== "undefined") {
payload["draft"] = draft;
}
if (typeof html !== "undefined") {
payload["html"] = html;
}
if (typeof cc !== "undefined") {
payload["cc"] = cc;
}
if (typeof bcc !== "undefined") {
payload["bcc"] = bcc;
}
if (typeof scheduledAt !== "undefined") {
payload["scheduledAt"] = scheduledAt;
}
if (typeof attachments !== "undefined") {
payload["attachments"] = attachments;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new push notification.
*
* @param {string} messageId
* @param {string} title
* @param {string} body
* @param {string[]} topics
* @param {string[]} users
* @param {string[]} targets
* @param {object} data
* @param {string} action
* @param {string} image
* @param {string} icon
* @param {string} sound
* @param {string} color
* @param {string} tag
* @param {number} badge
* @param {boolean} draft
* @param {string} scheduledAt
* @param {boolean} contentAvailable
* @param {boolean} critical
* @param {MessagePriority} priority
* @throws {AppwriteException}
* @returns {Promise<Models.Message>}
*/
createPush(messageId, title, body, topics, users, targets, data, action, image, icon, sound, color, tag, badge, draft, scheduledAt, contentAvailable, critical, priority) {
if (typeof messageId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "messageId"');
}
const apiPath = "/messaging/messages/push";
const payload = {};
if (typeof messageId !== "undefined") {
payload["messageId"] = messageId;
}
if (typeof title !== "undefined") {
payload["title"] = title;
}
if (typeof body !== "undefined") {
payload["body"] = body;
}
if (typeof topics !== "undefined") {
payload["topics"] = topics;
}
if (typeof users !== "undefined") {
payload["users"] = users;
}
if (typeof targets !== "undefined") {
payload["targets"] = targets;
}
if (typeof data !== "undefined") {
payload["data"] = data;
}
if (typeof action !== "undefined") {
payload["action"] = action;
}
if (typeof image !== "undefined") {
payload["image"] = image;
}
if (typeof icon !== "undefined") {
payload["icon"] = icon;
}
if (typeof sound !== "undefined") {
payload["sound"] = sound;
}
if (typeof color !== "undefined") {
payload["color"] = color;
}
if (typeof tag !== "undefined") {
payload["tag"] = tag;
}
if (typeof badge !== "undefined") {
payload["badge"] = badge;
}
if (typeof draft !== "undefined") {
payload["draft"] = draft;
}
if (typeof scheduledAt !== "undefined") {
payload["scheduledAt"] = scheduledAt;
}
if (typeof contentAvailable !== "undefined") {
payload["contentAvailable"] = contentAvailable;
}
if (typeof critical !== "undefined") {
payload["critical"] = critical;
}
if (typeof priority !== "undefined") {
payload["priority"] = priority;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a push notification by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
*
* @param {string} messageId
* @param {string[]} topics
* @param {string[]} users
* @param {string[]} targets
* @param {string} title
* @param {string} body
* @param {object} data
* @param {string} action
* @param {string} image
* @param {string} icon
* @param {string} sound
* @param {string} color
* @param {string} tag
* @param {number} badge
* @param {boolean} draft
* @param {string} scheduledAt
* @param {boolean} contentAvailable
* @param {boolean} critical
* @param {MessagePriority} priority
* @throws {AppwriteException}
* @returns {Promise<Models.Message>}
*/
updatePush(messageId, topics, users, targets, title, body, data, action, image, icon, sound, color, tag, badge, draft, scheduledAt, contentAvailable, critical, priority) {
if (typeof messageId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "messageId"');
}
const apiPath = "/messaging/messages/push/{messageId}".replace("{messageId}", messageId);
const payload = {};
if (typeof topics !== "undefined") {
payload["topics"] = topics;
}
if (typeof users !== "undefined") {
payload["users"] = users;
}
if (typeof targets !== "undefined") {
payload["targets"] = targets;
}
if (typeof title !== "undefined") {
payload["title"] = title;
}
if (typeof body !== "undefined") {
payload["body"] = body;
}
if (typeof data !== "undefined") {
payload["data"] = data;
}
if (typeof action !== "undefined") {
payload["action"] = action;
}
if (typeof image !== "undefined") {
payload["image"] = image;
}
if (typeof icon !== "undefined") {
payload["icon"] = icon;
}
if (typeof sound !== "undefined") {
payload["sound"] = sound;
}
if (typeof color !== "undefined") {
payload["color"] = color;
}
if (typeof tag !== "undefined") {
payload["tag"] = tag;
}
if (typeof badge !== "undefined") {
payload["badge"] = badge;
}
if (typeof draft !== "undefined") {
payload["draft"] = draft;
}
if (typeof scheduledAt !== "undefined") {
payload["scheduledAt"] = scheduledAt;
}
if (typeof contentAvailable !== "undefined") {
payload["contentAvailable"] = contentAvailable;
}
if (typeof critical !== "undefined") {
payload["critical"] = critical;
}
if (typeof priority !== "undefined") {
payload["priority"] = priority;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new SMS message.
*
* @param {string} messageId
* @param {string} content
* @param {string[]} topics
* @param {string[]} users
* @param {string[]} targets
* @param {boolean} draft
* @param {string} scheduledAt
* @throws {AppwriteException}
* @returns {Promise<Models.Message>}
*/
createSms(messageId, content, topics, users, targets, draft, scheduledAt) {
if (typeof messageId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "messageId"');
}
if (typeof content === "undefined") {
throw new client.AppwriteException('Missing required parameter: "content"');
}
const apiPath = "/messaging/messages/sms";
const payload = {};
if (typeof messageId !== "undefined") {
payload["messageId"] = messageId;
}
if (typeof content !== "undefined") {
payload["content"] = content;
}
if (typeof topics !== "undefined") {
payload["topics"] = topics;
}
if (typeof users !== "undefined") {
payload["users"] = users;
}
if (typeof targets !== "undefined") {
payload["targets"] = targets;
}
if (typeof draft !== "undefined") {
payload["draft"] = draft;
}
if (typeof scheduledAt !== "undefined") {
payload["scheduledAt"] = scheduledAt;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
*
* @param {string} messageId
* @param {string[]} topics
* @param {string[]} users
* @param {string[]} targets
* @param {string} content
* @param {boolean} draft
* @param {string} scheduledAt
* @throws {AppwriteException}
* @returns {Promise<Models.Message>}
*/
updateSms(messageId, topics, users, targets, content, draft, scheduledAt) {
if (typeof messageId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "messageId"');
}
const apiPath = "/messaging/messages/sms/{messageId}".replace("{messageId}", messageId);
const payload = {};
if (typeof topics !== "undefined") {
payload["topics"] = topics;
}
if (typeof users !== "undefined") {
payload["users"] = users;
}
if (typeof targets !== "undefined") {
payload["targets"] = targets;
}
if (typeof content !== "undefined") {
payload["content"] = content;
}
if (typeof draft !== "undefined") {
payload["draft"] = draft;
}
if (typeof scheduledAt !== "undefined") {
payload["scheduledAt"] = scheduledAt;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Get a message by its unique ID.
*
* @param {string} messageId
* @throws {AppwriteException}
* @returns {Promise<Models.Message>}
*/
getMessage(messageId) {
if (typeof messageId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "messageId"');
}
const apiPath = "/messaging/messages/{messageId}".replace("{messageId}", messageId);
const payload = {};
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {};
return this.client.call(
"get",
uri,
apiHeaders,
payload
);
}
/**
* Delete a message. If the message is not a draft or scheduled, but has been sent, this will not recall the message.
*
* @param {string} messageId
* @throws {AppwriteException}
* @returns {Promise<{}>}
*/
delete(messageId) {
if (typeof messageId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "messageId"');
}
const apiPath = "/messaging/messages/{messageId}".replace("{messageId}", messageId);
const payload = {};
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"delete",
uri,
apiHeaders,
payload
);
}
/**
* Get the message activity logs listed by its unique ID.
*
* @param {string} messageId
* @param {string[]} queries
* @throws {AppwriteException}
* @returns {Promise<Models.LogList>}
*/
listMessageLogs(messageId, queries) {
if (typeof messageId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "messageId"');
}
const apiPath = "/messaging/messages/{messageId}/logs".replace("{messageId}", messageId);
const payload = {};
if (typeof queries !== "undefined") {
payload["queries"] = queries;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {};
return this.client.call(
"get",
uri,
apiHeaders,
payload
);
}
/**
* Get a list of the targets associated with a message.
*
* @param {string} messageId
* @param {string[]} queries
* @throws {AppwriteException}
* @returns {Promise<Models.TargetList>}
*/
listTargets(messageId, queries) {
if (typeof messageId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "messageId"');
}
const apiPath = "/messaging/messages/{messageId}/targets".replace("{messageId}", messageId);
const payload = {};
if (typeof queries !== "undefined") {
payload["queries"] = queries;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {};
return this.client.call(
"get",
uri,
apiHeaders,
payload
);
}
/**
* Get a list of all providers from the current Appwrite project.
*
* @param {string[]} queries
* @param {string} search
* @throws {AppwriteException}
* @returns {Promise<Models.ProviderList>}
*/
listProviders(queries, search) {
const apiPath = "/messaging/providers";
const payload = {};
if (typeof queries !== "undefined") {
payload["queries"] = queries;
}
if (typeof search !== "undefined") {
payload["search"] = search;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {};
return this.client.call(
"get",
uri,
apiHeaders,
payload
);
}
/**
* Create a new Apple Push Notification service provider.
*
* @param {string} providerId
* @param {string} name
* @param {string} authKey
* @param {string} authKeyId
* @param {string} teamId
* @param {string} bundleId
* @param {boolean} sandbox
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
createApnsProvider(providerId, name, authKey, authKeyId, teamId, bundleId, sandbox, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
if (typeof name === "undefined") {
throw new client.AppwriteException('Missing required parameter: "name"');
}
const apiPath = "/messaging/providers/apns";
const payload = {};
if (typeof providerId !== "undefined") {
payload["providerId"] = providerId;
}
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof authKey !== "undefined") {
payload["authKey"] = authKey;
}
if (typeof authKeyId !== "undefined") {
payload["authKeyId"] = authKeyId;
}
if (typeof teamId !== "undefined") {
payload["teamId"] = teamId;
}
if (typeof bundleId !== "undefined") {
payload["bundleId"] = bundleId;
}
if (typeof sandbox !== "undefined") {
payload["sandbox"] = sandbox;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a Apple Push Notification service provider by its unique ID.
*
* @param {string} providerId
* @param {string} name
* @param {boolean} enabled
* @param {string} authKey
* @param {string} authKeyId
* @param {string} teamId
* @param {string} bundleId
* @param {boolean} sandbox
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
updateApnsProvider(providerId, name, enabled, authKey, authKeyId, teamId, bundleId, sandbox) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
const apiPath = "/messaging/providers/apns/{providerId}".replace("{providerId}", providerId);
const payload = {};
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
if (typeof authKey !== "undefined") {
payload["authKey"] = authKey;
}
if (typeof authKeyId !== "undefined") {
payload["authKeyId"] = authKeyId;
}
if (typeof teamId !== "undefined") {
payload["teamId"] = teamId;
}
if (typeof bundleId !== "undefined") {
payload["bundleId"] = bundleId;
}
if (typeof sandbox !== "undefined") {
payload["sandbox"] = sandbox;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new Firebase Cloud Messaging provider.
*
* @param {string} providerId
* @param {string} name
* @param {object} serviceAccountJSON
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
createFcmProvider(providerId, name, serviceAccountJSON, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
if (typeof name === "undefined") {
throw new client.AppwriteException('Missing required parameter: "name"');
}
const apiPath = "/messaging/providers/fcm";
const payload = {};
if (typeof providerId !== "undefined") {
payload["providerId"] = providerId;
}
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof serviceAccountJSON !== "undefined") {
payload["serviceAccountJSON"] = serviceAccountJSON;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a Firebase Cloud Messaging provider by its unique ID.
*
* @param {string} providerId
* @param {string} name
* @param {boolean} enabled
* @param {object} serviceAccountJSON
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
updateFcmProvider(providerId, name, enabled, serviceAccountJSON) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
const apiPath = "/messaging/providers/fcm/{providerId}".replace("{providerId}", providerId);
const payload = {};
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
if (typeof serviceAccountJSON !== "undefined") {
payload["serviceAccountJSON"] = serviceAccountJSON;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new Mailgun provider.
*
* @param {string} providerId
* @param {string} name
* @param {string} apiKey
* @param {string} domain
* @param {boolean} isEuRegion
* @param {string} fromName
* @param {string} fromEmail
* @param {string} replyToName
* @param {string} replyToEmail
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
createMailgunProvider(providerId, name, apiKey, domain, isEuRegion, fromName, fromEmail, replyToName, replyToEmail, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
if (typeof name === "undefined") {
throw new client.AppwriteException('Missing required parameter: "name"');
}
const apiPath = "/messaging/providers/mailgun";
const payload = {};
if (typeof providerId !== "undefined") {
payload["providerId"] = providerId;
}
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof apiKey !== "undefined") {
payload["apiKey"] = apiKey;
}
if (typeof domain !== "undefined") {
payload["domain"] = domain;
}
if (typeof isEuRegion !== "undefined") {
payload["isEuRegion"] = isEuRegion;
}
if (typeof fromName !== "undefined") {
payload["fromName"] = fromName;
}
if (typeof fromEmail !== "undefined") {
payload["fromEmail"] = fromEmail;
}
if (typeof replyToName !== "undefined") {
payload["replyToName"] = replyToName;
}
if (typeof replyToEmail !== "undefined") {
payload["replyToEmail"] = replyToEmail;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a Mailgun provider by its unique ID.
*
* @param {string} providerId
* @param {string} name
* @param {string} apiKey
* @param {string} domain
* @param {boolean} isEuRegion
* @param {boolean} enabled
* @param {string} fromName
* @param {string} fromEmail
* @param {string} replyToName
* @param {string} replyToEmail
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
updateMailgunProvider(providerId, name, apiKey, domain, isEuRegion, enabled, fromName, fromEmail, replyToName, replyToEmail) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
const apiPath = "/messaging/providers/mailgun/{providerId}".replace("{providerId}", providerId);
const payload = {};
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof apiKey !== "undefined") {
payload["apiKey"] = apiKey;
}
if (typeof domain !== "undefined") {
payload["domain"] = domain;
}
if (typeof isEuRegion !== "undefined") {
payload["isEuRegion"] = isEuRegion;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
if (typeof fromName !== "undefined") {
payload["fromName"] = fromName;
}
if (typeof fromEmail !== "undefined") {
payload["fromEmail"] = fromEmail;
}
if (typeof replyToName !== "undefined") {
payload["replyToName"] = replyToName;
}
if (typeof replyToEmail !== "undefined") {
payload["replyToEmail"] = replyToEmail;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new MSG91 provider.
*
* @param {string} providerId
* @param {string} name
* @param {string} templateId
* @param {string} senderId
* @param {string} authKey
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
createMsg91Provider(providerId, name, templateId, senderId, authKey, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
if (typeof name === "undefined") {
throw new client.AppwriteException('Missing required parameter: "name"');
}
const apiPath = "/messaging/providers/msg91";
const payload = {};
if (typeof providerId !== "undefined") {
payload["providerId"] = providerId;
}
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof templateId !== "undefined") {
payload["templateId"] = templateId;
}
if (typeof senderId !== "undefined") {
payload["senderId"] = senderId;
}
if (typeof authKey !== "undefined") {
payload["authKey"] = authKey;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a MSG91 provider by its unique ID.
*
* @param {string} providerId
* @param {string} name
* @param {boolean} enabled
* @param {string} templateId
* @param {string} senderId
* @param {string} authKey
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
updateMsg91Provider(providerId, name, enabled, templateId, senderId, authKey) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
const apiPath = "/messaging/providers/msg91/{providerId}".replace("{providerId}", providerId);
const payload = {};
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
if (typeof templateId !== "undefined") {
payload["templateId"] = templateId;
}
if (typeof senderId !== "undefined") {
payload["senderId"] = senderId;
}
if (typeof authKey !== "undefined") {
payload["authKey"] = authKey;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new Sendgrid provider.
*
* @param {string} providerId
* @param {string} name
* @param {string} apiKey
* @param {string} fromName
* @param {string} fromEmail
* @param {string} replyToName
* @param {string} replyToEmail
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
createSendgridProvider(providerId, name, apiKey, fromName, fromEmail, replyToName, replyToEmail, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
if (typeof name === "undefined") {
throw new client.AppwriteException('Missing required parameter: "name"');
}
const apiPath = "/messaging/providers/sendgrid";
const payload = {};
if (typeof providerId !== "undefined") {
payload["providerId"] = providerId;
}
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof apiKey !== "undefined") {
payload["apiKey"] = apiKey;
}
if (typeof fromName !== "undefined") {
payload["fromName"] = fromName;
}
if (typeof fromEmail !== "undefined") {
payload["fromEmail"] = fromEmail;
}
if (typeof replyToName !== "undefined") {
payload["replyToName"] = replyToName;
}
if (typeof replyToEmail !== "undefined") {
payload["replyToEmail"] = replyToEmail;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a Sendgrid provider by its unique ID.
*
* @param {string} providerId
* @param {string} name
* @param {boolean} enabled
* @param {string} apiKey
* @param {string} fromName
* @param {string} fromEmail
* @param {string} replyToName
* @param {string} replyToEmail
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
updateSendgridProvider(providerId, name, enabled, apiKey, fromName, fromEmail, replyToName, replyToEmail) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
const apiPath = "/messaging/providers/sendgrid/{providerId}".replace("{providerId}", providerId);
const payload = {};
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
if (typeof apiKey !== "undefined") {
payload["apiKey"] = apiKey;
}
if (typeof fromName !== "undefined") {
payload["fromName"] = fromName;
}
if (typeof fromEmail !== "undefined") {
payload["fromEmail"] = fromEmail;
}
if (typeof replyToName !== "undefined") {
payload["replyToName"] = replyToName;
}
if (typeof replyToEmail !== "undefined") {
payload["replyToEmail"] = replyToEmail;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new SMTP provider.
*
* @param {string} providerId
* @param {string} name
* @param {string} host
* @param {number} port
* @param {string} username
* @param {string} password
* @param {SmtpEncryption} encryption
* @param {boolean} autoTLS
* @param {string} mailer
* @param {string} fromName
* @param {string} fromEmail
* @param {string} replyToName
* @param {string} replyToEmail
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
createSmtpProvider(providerId, name, host, port, username, password, encryption, autoTLS, mailer, fromName, fromEmail, replyToName, replyToEmail, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
if (typeof name === "undefined") {
throw new client.AppwriteException('Missing required parameter: "name"');
}
if (typeof host === "undefined") {
throw new client.AppwriteException('Missing required parameter: "host"');
}
const apiPath = "/messaging/providers/smtp";
const payload = {};
if (typeof providerId !== "undefined") {
payload["providerId"] = providerId;
}
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof host !== "undefined") {
payload["host"] = host;
}
if (typeof port !== "undefined") {
payload["port"] = port;
}
if (typeof username !== "undefined") {
payload["username"] = username;
}
if (typeof password !== "undefined") {
payload["password"] = password;
}
if (typeof encryption !== "undefined") {
payload["encryption"] = encryption;
}
if (typeof autoTLS !== "undefined") {
payload["autoTLS"] = autoTLS;
}
if (typeof mailer !== "undefined") {
payload["mailer"] = mailer;
}
if (typeof fromName !== "undefined") {
payload["fromName"] = fromName;
}
if (typeof fromEmail !== "undefined") {
payload["fromEmail"] = fromEmail;
}
if (typeof replyToName !== "undefined") {
payload["replyToName"] = replyToName;
}
if (typeof replyToEmail !== "undefined") {
payload["replyToEmail"] = replyToEmail;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a SMTP provider by its unique ID.
*
* @param {string} providerId
* @param {string} name
* @param {string} host
* @param {number} port
* @param {string} username
* @param {string} password
* @param {SmtpEncryption} encryption
* @param {boolean} autoTLS
* @param {string} mailer
* @param {string} fromName
* @param {string} fromEmail
* @param {string} replyToName
* @param {string} replyToEmail
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
updateSmtpProvider(providerId, name, host, port, username, password, encryption, autoTLS, mailer, fromName, fromEmail, replyToName, replyToEmail, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
const apiPath = "/messaging/providers/smtp/{providerId}".replace("{providerId}", providerId);
const payload = {};
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof host !== "undefined") {
payload["host"] = host;
}
if (typeof port !== "undefined") {
payload["port"] = port;
}
if (typeof username !== "undefined") {
payload["username"] = username;
}
if (typeof password !== "undefined") {
payload["password"] = password;
}
if (typeof encryption !== "undefined") {
payload["encryption"] = encryption;
}
if (typeof autoTLS !== "undefined") {
payload["autoTLS"] = autoTLS;
}
if (typeof mailer !== "undefined") {
payload["mailer"] = mailer;
}
if (typeof fromName !== "undefined") {
payload["fromName"] = fromName;
}
if (typeof fromEmail !== "undefined") {
payload["fromEmail"] = fromEmail;
}
if (typeof replyToName !== "undefined") {
payload["replyToName"] = replyToName;
}
if (typeof replyToEmail !== "undefined") {
payload["replyToEmail"] = replyToEmail;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new Telesign provider.
*
* @param {string} providerId
* @param {string} name
* @param {string} from
* @param {string} customerId
* @param {string} apiKey
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
createTelesignProvider(providerId, name, from, customerId, apiKey, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
if (typeof name === "undefined") {
throw new client.AppwriteException('Missing required parameter: "name"');
}
const apiPath = "/messaging/providers/telesign";
const payload = {};
if (typeof providerId !== "undefined") {
payload["providerId"] = providerId;
}
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof from !== "undefined") {
payload["from"] = from;
}
if (typeof customerId !== "undefined") {
payload["customerId"] = customerId;
}
if (typeof apiKey !== "undefined") {
payload["apiKey"] = apiKey;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a Telesign provider by its unique ID.
*
* @param {string} providerId
* @param {string} name
* @param {boolean} enabled
* @param {string} customerId
* @param {string} apiKey
* @param {string} from
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
updateTelesignProvider(providerId, name, enabled, customerId, apiKey, from) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
const apiPath = "/messaging/providers/telesign/{providerId}".replace("{providerId}", providerId);
const payload = {};
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
if (typeof customerId !== "undefined") {
payload["customerId"] = customerId;
}
if (typeof apiKey !== "undefined") {
payload["apiKey"] = apiKey;
}
if (typeof from !== "undefined") {
payload["from"] = from;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new Textmagic provider.
*
* @param {string} providerId
* @param {string} name
* @param {string} from
* @param {string} username
* @param {string} apiKey
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
createTextmagicProvider(providerId, name, from, username, apiKey, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
if (typeof name === "undefined") {
throw new client.AppwriteException('Missing required parameter: "name"');
}
const apiPath = "/messaging/providers/textmagic";
const payload = {};
if (typeof providerId !== "undefined") {
payload["providerId"] = providerId;
}
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof from !== "undefined") {
payload["from"] = from;
}
if (typeof username !== "undefined") {
payload["username"] = username;
}
if (typeof apiKey !== "undefined") {
payload["apiKey"] = apiKey;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a Textmagic provider by its unique ID.
*
* @param {string} providerId
* @param {string} name
* @param {boolean} enabled
* @param {string} username
* @param {string} apiKey
* @param {string} from
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
updateTextmagicProvider(providerId, name, enabled, username, apiKey, from) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
const apiPath = "/messaging/providers/textmagic/{providerId}".replace("{providerId}", providerId);
const payload = {};
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
if (typeof username !== "undefined") {
payload["username"] = username;
}
if (typeof apiKey !== "undefined") {
payload["apiKey"] = apiKey;
}
if (typeof from !== "undefined") {
payload["from"] = from;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new Twilio provider.
*
* @param {string} providerId
* @param {string} name
* @param {string} from
* @param {string} accountSid
* @param {string} authToken
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
createTwilioProvider(providerId, name, from, accountSid, authToken, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
if (typeof name === "undefined") {
throw new client.AppwriteException('Missing required parameter: "name"');
}
const apiPath = "/messaging/providers/twilio";
const payload = {};
if (typeof providerId !== "undefined") {
payload["providerId"] = providerId;
}
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof from !== "undefined") {
payload["from"] = from;
}
if (typeof accountSid !== "undefined") {
payload["accountSid"] = accountSid;
}
if (typeof authToken !== "undefined") {
payload["authToken"] = authToken;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a Twilio provider by its unique ID.
*
* @param {string} providerId
* @param {string} name
* @param {boolean} enabled
* @param {string} accountSid
* @param {string} authToken
* @param {string} from
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
updateTwilioProvider(providerId, name, enabled, accountSid, authToken, from) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
const apiPath = "/messaging/providers/twilio/{providerId}".replace("{providerId}", providerId);
const payload = {};
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
if (typeof accountSid !== "undefined") {
payload["accountSid"] = accountSid;
}
if (typeof authToken !== "undefined") {
payload["authToken"] = authToken;
}
if (typeof from !== "undefined") {
payload["from"] = from;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Create a new Vonage provider.
*
* @param {string} providerId
* @param {string} name
* @param {string} from
* @param {string} apiKey
* @param {string} apiSecret
* @param {boolean} enabled
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
createVonageProvider(providerId, name, from, apiKey, apiSecret, enabled) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
if (typeof name === "undefined") {
throw new client.AppwriteException('Missing required parameter: "name"');
}
const apiPath = "/messaging/providers/vonage";
const payload = {};
if (typeof providerId !== "undefined") {
payload["providerId"] = providerId;
}
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof from !== "undefined") {
payload["from"] = from;
}
if (typeof apiKey !== "undefined") {
payload["apiKey"] = apiKey;
}
if (typeof apiSecret !== "undefined") {
payload["apiSecret"] = apiSecret;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"post",
uri,
apiHeaders,
payload
);
}
/**
* Update a Vonage provider by its unique ID.
*
* @param {string} providerId
* @param {string} name
* @param {boolean} enabled
* @param {string} apiKey
* @param {string} apiSecret
* @param {string} from
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
updateVonageProvider(providerId, name, enabled, apiKey, apiSecret, from) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "providerId"');
}
const apiPath = "/messaging/providers/vonage/{providerId}".replace("{providerId}", providerId);
const payload = {};
if (typeof name !== "undefined") {
payload["name"] = name;
}
if (typeof enabled !== "undefined") {
payload["enabled"] = enabled;
}
if (typeof apiKey !== "undefined") {
payload["apiKey"] = apiKey;
}
if (typeof apiSecret !== "undefined") {
payload["apiSecret"] = apiSecret;
}
if (typeof from !== "undefined") {
payload["from"] = from;
}
const uri = new URL(this.client.config.endpoint + apiPath);
const apiHeaders = {
"content-type": "application/json"
};
return this.client.call(
"patch",
uri,
apiHeaders,
payload
);
}
/**
* Get a provider by its unique ID.
*
* @param {string} providerId
* @throws {AppwriteException}
* @returns {Promise<Models.Provider>}
*/
getProvider(providerId) {
if (typeof providerId === "undefined") {
throw new client.AppwriteException('Missing required parameter: "p