emailengine-client
Version:
A TypeScript client for the EmailEngine API
134 lines • 6.88 kB
JavaScript
;
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