pterowrap
Version:
A node.js wrapper for Pterodactyl API
52 lines (51 loc) • 1.75 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const APIKey_1 = __importDefault(require("../../../structures/client/account/APIKey"));
class APIKeyManager {
constructor(client) {
this.client = client;
}
list() {
return new Promise(async (resolve, reject) => {
try {
const list = await this.client.call({ endpoint: "account/api-keys" });
const r = [];
for (let i = 0; i < list.data.length; i++) {
r.push(new APIKey_1.default(this.client, list.data[i]));
}
resolve(r);
}
catch (e) {
reject(e);
}
});
}
get(identifier) {
return new Promise(async (resolve, reject) => {
try {
const list = await this.list();
const data = list.find((ak) => ak.identifier === identifier);
if (!data)
resolve(null);
resolve(new APIKey_1.default(this.client, data));
}
catch (e) {
reject(e);
}
});
}
create(params) {
return new Promise(async (resolve, reject) => {
try {
resolve(new APIKey_1.default(this.client, await this.client.call({ endpoint: "account/api-keys", method: "POST", body: params })));
}
catch (e) {
reject(e);
}
});
}
}
exports.default = APIKeyManager;