Skip to content

Commit 374ee7d

Browse files
committed
Add noBody to call function and fix power action functions in user api
1 parent 4d7fb09 commit 374ee7d

File tree

2 files changed

+18
-11
lines changed

2 files changed

+18
-11
lines changed

src/lib/client/ClientServer.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class ClientServer extends ClientServerModel {
8787
public powerAction(signal: 'start' | 'stop' | 'restart' | 'kill'): Promise<void> {
8888
return new Promise(async (resolve, reject) => {
8989
try {
90-
await this.api.call(`/client/servers/${this.identifier}/power`, 'POST', { signal });
90+
await this.api.call(`/client/servers/${this.identifier}/power`, 'POST', { signal }, true);
9191
resolve();
9292
} catch (error) {
9393
reject(error);
@@ -98,7 +98,7 @@ class ClientServer extends ClientServerModel {
9898
public start(): Promise<void> {
9999
return new Promise(async (resolve, reject) => {
100100
try {
101-
await this.api.call(`/client/servers/${this.identifier}/power`, 'POST', { signal: 'start' });
101+
await this.api.call(`/client/servers/${this.identifier}/power`, 'POST', { signal: 'start' }, true);
102102
resolve();
103103
} catch (error) {
104104
reject(error);
@@ -109,7 +109,7 @@ class ClientServer extends ClientServerModel {
109109
public stop(): Promise<void> {
110110
return new Promise(async (resolve, reject) => {
111111
try {
112-
await this.api.call(`/client/servers/${this.identifier}/power`, 'POST', { signal: 'stop' });
112+
await this.api.call(`/client/servers/${this.identifier}/power`, 'POST', { signal: 'stop' }, true);
113113
resolve();
114114
} catch (error) {
115115
reject(error);
@@ -120,7 +120,7 @@ class ClientServer extends ClientServerModel {
120120
public restart(): Promise<void> {
121121
return new Promise(async (resolve, reject) => {
122122
try {
123-
await this.api.call(`/client/servers/${this.identifier}/power`, 'POST', { signal: 'restart' });
123+
await this.api.call(`/client/servers/${this.identifier}/power`, 'POST', { signal: 'restart' }, true);
124124
resolve();
125125
} catch (error) {
126126
reject(error);
@@ -131,7 +131,7 @@ class ClientServer extends ClientServerModel {
131131
public kill(): Promise<void> {
132132
return new Promise(async (resolve, reject) => {
133133
try {
134-
await this.api.call(`/client/servers/${this.identifier}/power`, 'POST', { signal: 'kill' });
134+
await this.api.call(`/client/servers/${this.identifier}/power`, 'POST', { signal: 'kill' }, true);
135135
resolve();
136136
} catch (error) {
137137
reject(error);

src/lib/index.ts

+13-6
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ class PterodactylAPI {
6767
// });
6868
// }
6969

70-
public call(endpoint: string = '/', method: any = 'GET', data?: any): Promise<ResponseData> {
71-
let url = this.baseUrl + endpoint;
70+
public call(endpoint: string = '/', method: any = 'GET', data?: any, noBody: boolean = false): Promise<ResponseData> {
71+
let url = this.baseUrl + endpoint;
7272

7373
return new Promise(async (resolve, reject) => {
7474
try {
@@ -86,14 +86,21 @@ class PterodactylAPI {
8686

8787
let res = await fetch(url, options);
8888

89-
let body = await res.json();
89+
let body: any = null;
90+
let resp: any = null;
91+
let pagination: any = null;
9092

91-
if (body.errors) return reject(this.handleError(body.errors, res.status));
93+
if (!noBody) {
94+
body = await res.json();
95+
if (body.errors) return reject(this.handleError(body.errors, res.status));
96+
resp = body.data ? body.data : body;
97+
pagination = body.meta ? body.meta.pagination : null;
98+
}
9299

93100
resolve({
94101
statusCode: res.status,
95-
data: body.data ? body.data : body,
96-
pagination: body.meta ? body.meta.pagination : null,
102+
data: resp,
103+
pagination,
97104
});
98105
} catch (error) {
99106
reject(this.handleError(error));

0 commit comments

Comments
 (0)