UNPKG

emailengine-client

Version:

A TypeScript client for the EmailEngine API

134 lines 6.88 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AccountsApi = void 0; const GetAccountsOptions_1 = require("./models/GetAccountsOptions"); const RemoveAccountsOptions_1 = require("./models/RemoveAccountsOptions"); const helpers_1 = require("../../../misc/helpers"); const GetAccountInfoOptions_1 = require("./models/GetAccountInfoOptions"); const GetAccountOAuth2TokenOptions_1 = require("./models/GetAccountOAuth2TokenOptions"); const CreateAccountOptions_1 = require("./models/CreateAccountOptions"); const VerifyAccountOptions_1 = require("./models/VerifyAccountOptions"); const RequestAuthForm_1 = require("./models/RequestAuthForm"); const UpdateAccountOptions_1 = require("./models/UpdateAccountOptions"); const ReconnectAccountOptions_1 = require("./models/ReconnectAccountOptions"); const FlushAccountOptions_1 = require("./models/FlushAccountOptions"); const SyncAccountOptions_1 = require("./models/SyncAccountOptions"); class AccountsApi { constructor(client) { this.axiosInstance = client.axios; } /** * Removes an account. * @param options - The options for removing the account. * @returns A Promise that resolves with the response data. */ removeAccount(options) { return __awaiter(this, void 0, void 0, function* () { options = new RemoveAccountsOptions_1.RemoveAccountOptions(options); const response = yield this.axiosInstance.delete(`/v1/account/${options.account}`, (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } /** * Retrieves a list of accounts based on the specified options. * @param options - The options for retrieving accounts. * @returns A promise that resolves to the retrieved accounts. */ getAccounts(options) { return __awaiter(this, void 0, void 0, function* () { options = new GetAccountsOptions_1.GetAccountsOptions(options); const response = yield this.axiosInstance.get('/v1/accounts', (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } getAccountInfo(options) { return __awaiter(this, void 0, void 0, function* () { options = new GetAccountInfoOptions_1.GetAccountInfoOptions(options); const response = yield this.axiosInstance.get(`/v1/account/${options.account}`, (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } getOAuth2Token(options) { return __awaiter(this, void 0, void 0, function* () { options = new GetAccountOAuth2TokenOptions_1.GetAccountOAuth2TokenOptions(options); const response = yield this.axiosInstance.get(`/v1/account/${options.account}/oauth-token`, (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } createAccount(options) { return __awaiter(this, void 0, void 0, function* () { options = new CreateAccountOptions_1.CreateAccountOptions(options); const response = yield this.axiosInstance.post(`/v1/account`, options.body, (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } verifyAccount(options) { return __awaiter(this, void 0, void 0, function* () { options = new VerifyAccountOptions_1.VerifyAccountOptions(options); const response = yield this.axiosInstance.post(`/v1/verifyAccount`, options.body, (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } requestAuthenticationForm(options) { var _a; return __awaiter(this, void 0, void 0, function* () { options = new RequestAuthForm_1.RequestAuthForm(options); (_a = options.body) === null || _a === void 0 ? void 0 : _a.account; const response = yield this.axiosInstance.post(`/v1/authentication/form`, options.body, (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } updateAccount(options) { return __awaiter(this, void 0, void 0, function* () { options = new UpdateAccountOptions_1.UpdateAccountOptions(options); const response = yield this.axiosInstance.put(`/v1/account/${options.account}`, options.body, (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } /** * Deletes all email indexes from Redis and ElasticSearch and re-creates the index for that account. You can only run a single flush operation at a time, so you must wait until the previous flush has finished before initiating a new one. * @param options */ flush(options) { return __awaiter(this, void 0, void 0, function* () { options = new FlushAccountOptions_1.FlushAccountOptions(options); const response = yield this.axiosInstance.post(`/v1/accounts/${options.account}/flush`, options.body, (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } /** * Requests connection to be reconnected * @param options * @returns */ reconnect(options) { return __awaiter(this, void 0, void 0, function* () { options = new ReconnectAccountOptions_1.ReconnectAccountOptions(options); const response = yield this.axiosInstance.post(`/v1/accounts/${options.account}/reconnect`, options.body, (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } /** * Requests account syncing to be run immediatelly * @param options * @returns */ sync(options) { return __awaiter(this, void 0, void 0, function* () { options = new SyncAccountOptions_1.SyncAccountOptions(options); const response = yield this.axiosInstance.post(`/v1/accounts/${options.account}/sync`, options.body, (0, helpers_1.setupAxiosRequestConfig)(options)); return response.data; }); } } exports.AccountsApi = AccountsApi; //# sourceMappingURL=api.js.map