UNPKG

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,677 lines (1,671 loc) 60.9 kB
import { AppwriteException } from '../client.mjs'; // src/services/messaging.ts var Messaging = class { 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 AppwriteException('Missing required parameter: "messageId"'); } if (typeof subject === "undefined") { throw new AppwriteException('Missing required parameter: "subject"'); } if (typeof content === "undefined") { throw new 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 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 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 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 AppwriteException('Missing required parameter: "messageId"'); } if (typeof content === "undefined") { throw new 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 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 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 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 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 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 AppwriteException('Missing required parameter: "providerId"'); } if (typeof name === "undefined") { throw new 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 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 AppwriteException('Missing required parameter: "providerId"'); } if (typeof name === "undefined") { throw new 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 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 AppwriteException('Missing required parameter: "providerId"'); } if (typeof name === "undefined") { throw new 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 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 AppwriteException('Missing required parameter: "providerId"'); } if (typeof name === "undefined") { throw new 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 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 AppwriteException('Missing required parameter: "providerId"'); } if (typeof name === "undefined") { throw new 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 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 AppwriteException('Missing required parameter: "providerId"'); } if (typeof name === "undefined") { throw new AppwriteException('Missing required parameter: "name"'); } if (typeof host === "undefined") { throw new 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 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 AppwriteException('Missing required parameter: "providerId"'); } if (typeof name === "undefined") { throw new 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 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 AppwriteException('Missing required parameter: "providerId"'); } if (typeof name === "undefined") { throw new 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 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 AppwriteException('Missing required parameter: "providerId"'); } if (typeof name === "undefined") { throw new 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 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 AppwriteException('Missing required parameter: "providerId"'); } if (typeof name === "undefined") { throw new 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 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 AppwriteException('Missing required parameter: "providerId"'); } const apiPath = "/messaging/providers/{providerId}".replace("{providerId}", providerId); const payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); const apiHeaders = {}; return this.client.call( "get", uri