pterowrap
Version:
A node.js wrapper for Pterodactyl API
58 lines (57 loc) • 2.14 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Task_1 = __importDefault(require("../../../structures/client/server/Task"));
class TaskManager {
constructor(client, _parentServer, _parentSchedule) {
this.client = client;
this._parentServer = _parentServer;
this._parentSchedule = _parentSchedule;
}
create(params) {
return new Promise(async (resolve, reject) => {
try {
const data = await this.client.call({
endpoint: `servers/${this._parentServer.identifier}/schedules/${this._parentSchedule.id}/tasks`,
method: "POST",
body: params,
});
resolve(new Task_1.default(this.client, data, this._parentServer, this._parentSchedule));
}
catch (e) {
reject(e);
}
});
}
update(id, params) {
return new Promise(async (resolve, reject) => {
try {
const data = await this.client.call({
endpoint: `servers/${this._parentServer.identifier}/schedules/${this._parentSchedule.id}/tasks/${id}`,
method: "POST",
body: params,
});
resolve(new Task_1.default(this.client, data, this._parentServer, this._parentSchedule));
}
catch (e) {
reject(e);
}
});
}
delete(id) {
return new Promise(async (resolve, reject) => {
try {
resolve(await this.client.call({
endpoint: `servers/${this._parentServer.identifier}/schedules/${this._parentSchedule.id}/tasks/${id}`,
method: "DELETE",
}));
}
catch (e) {
reject(e);
}
});
}
}
exports.default = TaskManager;