pterodactyl-api-client 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -0
- package/dist/class/APIError.d.ts +8 -0
- package/dist/class/APIError.d.ts.map +1 -0
- package/dist/class/APIError.js +13 -0
- package/dist/class/HttpClient.d.ts +8 -0
- package/dist/class/HttpClient.d.ts.map +1 -0
- package/dist/class/HttpClient.js +30 -0
- package/dist/class.d.ts +12 -0
- package/dist/class.d.ts.map +1 -0
- package/dist/class.js +23 -0
- package/dist/client/account/a2f/a2f.client.d.ts +11 -0
- package/dist/client/account/a2f/a2f.client.d.ts.map +1 -0
- package/dist/client/account/a2f/a2f.client.js +15 -0
- package/dist/client/account/a2f/a2f.types.d.ts +18 -0
- package/dist/client/account/a2f/a2f.types.d.ts.map +1 -0
- package/dist/client/account/a2f/a2f.types.js +1 -0
- package/dist/client/account/account.client.d.ts +20 -0
- package/dist/client/account/account.client.d.ts.map +1 -0
- package/dist/client/account/account.client.js +28 -0
- package/dist/client/account/account.types.d.ts +17 -0
- package/dist/client/account/account.types.d.ts.map +1 -0
- package/dist/client/account/account.types.js +1 -0
- package/dist/client/account/activity/activity.client.d.ts +12 -0
- package/dist/client/account/activity/activity.client.d.ts.map +1 -0
- package/dist/client/account/activity/activity.client.js +19 -0
- package/dist/client/account/activity/activity.types.d.ts +39 -0
- package/dist/client/account/activity/activity.types.d.ts.map +1 -0
- package/dist/client/account/activity/activity.types.js +1 -0
- package/dist/client/account/api-key/api-key.client.d.ts +35 -0
- package/dist/client/account/api-key/api-key.client.d.ts.map +1 -0
- package/dist/client/account/api-key/api-key.client.js +33 -0
- package/dist/client/account/api-key/api-key.types.d.ts +33 -0
- package/dist/client/account/api-key/api-key.types.d.ts.map +1 -0
- package/dist/client/account/api-key/api-key.types.js +1 -0
- package/dist/client/account/email/email.client.d.ts +8 -0
- package/dist/client/account/email/email.client.d.ts.map +1 -0
- package/dist/client/account/email/email.client.js +9 -0
- package/dist/client/account/email/email.types.d.ts +5 -0
- package/dist/client/account/email/email.types.d.ts.map +1 -0
- package/dist/client/account/email/email.types.js +1 -0
- package/dist/client/account/index.cjs +3 -0
- package/dist/client/account/index.d.ts +15 -0
- package/dist/client/account/index.d.ts.map +1 -0
- package/dist/client/account/index.js +14 -0
- package/dist/client/account/password/password.client.d.ts +8 -0
- package/dist/client/account/password/password.client.d.ts.map +1 -0
- package/dist/client/account/password/password.client.js +13 -0
- package/dist/client/account/password/password.types.d.ts +7 -0
- package/dist/client/account/password/password.types.d.ts.map +1 -0
- package/dist/client/account/password/password.types.js +1 -0
- package/dist/client/account/ssh-key/ssh-key.client.d.ts +29 -0
- package/dist/client/account/ssh-key/ssh-key.client.d.ts.map +1 -0
- package/dist/client/account/ssh-key/ssh-key.client.js +35 -0
- package/dist/client/account/ssh-key/ssh-key.types.d.ts +24 -0
- package/dist/client/account/ssh-key/ssh-key.types.d.ts.map +1 -0
- package/dist/client/account/ssh-key/ssh-key.types.js +1 -0
- package/dist/client/client.class.d.ts +13 -0
- package/dist/client/client.class.d.ts.map +1 -0
- package/dist/client/client.class.js +15 -0
- package/dist/client/index.cjs +3 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +1 -0
- package/dist/client/server/activity/activity.client.d.ts +12 -0
- package/dist/client/server/activity/activity.client.d.ts.map +1 -0
- package/dist/client/server/activity/activity.client.js +20 -0
- package/dist/client/server/activity/activity.types.d.ts +150 -0
- package/dist/client/server/activity/activity.types.d.ts.map +1 -0
- package/dist/client/server/activity/activity.types.js +1 -0
- package/dist/client/server/allocation/allocation.client.d.ts +13 -0
- package/dist/client/server/allocation/allocation.client.d.ts.map +1 -0
- package/dist/client/server/allocation/allocation.client.js +26 -0
- package/dist/client/server/allocation/allocation.types.d.ts +13 -0
- package/dist/client/server/allocation/allocation.types.d.ts.map +1 -0
- package/dist/client/server/allocation/allocation.types.js +1 -0
- package/dist/client/server/backup/backup.client.d.ts +59 -0
- package/dist/client/server/backup/backup.client.d.ts.map +1 -0
- package/dist/client/server/backup/backup.client.js +57 -0
- package/dist/client/server/backup/backup.types.d.ts +37 -0
- package/dist/client/server/backup/backup.types.d.ts.map +1 -0
- package/dist/client/server/backup/backup.types.js +1 -0
- package/dist/client/server/backup/lock/lock.client.d.ts +7 -0
- package/dist/client/server/backup/lock/lock.client.d.ts.map +1 -0
- package/dist/client/server/backup/lock/lock.client.js +9 -0
- package/dist/client/server/console/console.client.d.ts +11 -0
- package/dist/client/server/console/console.client.d.ts.map +1 -0
- package/dist/client/server/console/console.client.js +14 -0
- package/dist/client/server/console/console.types.d.ts +6 -0
- package/dist/client/server/console/console.types.d.ts.map +1 -0
- package/dist/client/server/console/console.types.js +1 -0
- package/dist/client/server/console/websocket/websocket.console.client.d.ts +14 -0
- package/dist/client/server/console/websocket/websocket.console.client.d.ts.map +1 -0
- package/dist/client/server/console/websocket/websocket.console.client.js +57 -0
- package/dist/client/server/console/websocket/websocket.console.types.d.ts +44 -0
- package/dist/client/server/console/websocket/websocket.console.types.d.ts.map +1 -0
- package/dist/client/server/console/websocket/websocket.console.types.js +1 -0
- package/dist/client/server/database/database.client.d.ts +16 -0
- package/dist/client/server/database/database.client.d.ts.map +1 -0
- package/dist/client/server/database/database.client.js +28 -0
- package/dist/client/server/database/database.types.d.ts +38 -0
- package/dist/client/server/database/database.types.d.ts.map +1 -0
- package/dist/client/server/database/database.types.js +1 -0
- package/dist/client/server/database/password/password.client.d.ts +11 -0
- package/dist/client/server/database/password/password.client.d.ts.map +1 -0
- package/dist/client/server/database/password/password.client.js +13 -0
- package/dist/client/server/image/image.client.d.ts +8 -0
- package/dist/client/server/image/image.client.d.ts.map +1 -0
- package/dist/client/server/image/image.client.js +9 -0
- package/dist/client/server/image/image.types.d.ts +5 -0
- package/dist/client/server/image/image.types.d.ts.map +1 -0
- package/dist/client/server/image/image.types.js +1 -0
- package/dist/client/server/index.cjs +3 -0
- package/dist/client/server/index.d.ts +25 -0
- package/dist/client/server/index.d.ts.map +1 -0
- package/dist/client/server/index.js +24 -0
- package/dist/client/server/power/power.client.d.ts +10 -0
- package/dist/client/server/power/power.client.d.ts.map +1 -0
- package/dist/client/server/power/power.client.js +26 -0
- package/dist/client/server/power/power.types.d.ts +6 -0
- package/dist/client/server/power/power.types.d.ts.map +1 -0
- package/dist/client/server/power/power.types.js +1 -0
- package/dist/client/server/ressource/ressource.client.d.ts +8 -0
- package/dist/client/server/ressource/ressource.client.d.ts.map +1 -0
- package/dist/client/server/ressource/ressource.client.js +9 -0
- package/dist/client/server/ressource/ressource.types.d.ts +18 -0
- package/dist/client/server/ressource/ressource.types.d.ts.map +1 -0
- package/dist/client/server/ressource/ressource.types.js +1 -0
- package/dist/client/server/schedule/schedule.client.d.ts +111 -0
- package/dist/client/server/schedule/schedule.client.d.ts.map +1 -0
- package/dist/client/server/schedule/schedule.client.js +121 -0
- package/dist/client/server/schedule/schedule.types.d.ts +68 -0
- package/dist/client/server/schedule/schedule.types.d.ts.map +1 -0
- package/dist/client/server/schedule/schedule.types.js +1 -0
- package/dist/client/server/schedule/task/task.client.d.ts +38 -0
- package/dist/client/server/schedule/task/task.client.d.ts.map +1 -0
- package/dist/client/server/schedule/task/task.client.js +42 -0
- package/dist/client/server/schedule/task/task.types.d.ts +9 -0
- package/dist/client/server/schedule/task/task.types.d.ts.map +1 -0
- package/dist/client/server/schedule/task/task.types.js +1 -0
- package/dist/client/server/server.client.d.ts +32 -0
- package/dist/client/server/server.client.d.ts.map +1 -0
- package/dist/client/server/server.client.js +53 -0
- package/dist/client/server/server.types.d.ts +100 -0
- package/dist/client/server/server.types.d.ts.map +1 -0
- package/dist/client/server/server.types.js +1 -0
- package/dist/client/server/serveur.types.d.ts +99 -0
- package/dist/client/server/serveur.types.d.ts.map +1 -0
- package/dist/client/server/serveur.types.js +1 -0
- package/dist/client/server/startup/startup.client.d.ts +10 -0
- package/dist/client/server/startup/startup.client.d.ts.map +1 -0
- package/dist/client/server/startup/startup.client.js +12 -0
- package/dist/client/server/startup/startup.types.d.ts +15 -0
- package/dist/client/server/startup/startup.types.d.ts.map +1 -0
- package/dist/client/server/startup/startup.types.js +1 -0
- package/dist/client/server/subuser/subuser.client.d.ts +59 -0
- package/dist/client/server/subuser/subuser.client.d.ts.map +1 -0
- package/dist/client/server/subuser/subuser.client.js +52 -0
- package/dist/client/server/subuser/subuser.types.d.ts +25 -0
- package/dist/client/server/subuser/subuser.types.d.ts.map +1 -0
- package/dist/client/server/subuser/subuser.types.js +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/license +21 -0
- package/package.json +65 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import TaskClient from "./task/task.client.js";
|
|
2
|
+
export default class ScheduleClient {
|
|
3
|
+
httpClient;
|
|
4
|
+
task;
|
|
5
|
+
constructor(httpClient) {
|
|
6
|
+
this.httpClient = httpClient;
|
|
7
|
+
this.task = new TaskClient(httpClient);
|
|
8
|
+
}
|
|
9
|
+
async list(id) {
|
|
10
|
+
const res = await this.httpClient.request("GET", `/client/servers/${id}/schedules`);
|
|
11
|
+
return {
|
|
12
|
+
...res,
|
|
13
|
+
data: res.data.map((schedule) => ({
|
|
14
|
+
...schedule,
|
|
15
|
+
attributes: {
|
|
16
|
+
...schedule.attributes,
|
|
17
|
+
last_run_at: schedule.attributes.last_run_at
|
|
18
|
+
? new Date(schedule.attributes.last_run_at)
|
|
19
|
+
: null,
|
|
20
|
+
next_run_at: new Date(schedule.attributes.next_run_at),
|
|
21
|
+
created_at: new Date(schedule.attributes.created_at),
|
|
22
|
+
updated_at: new Date(schedule.attributes.updated_at),
|
|
23
|
+
relationships: {
|
|
24
|
+
tasks: {
|
|
25
|
+
...schedule.attributes.relationships.tasks,
|
|
26
|
+
data: schedule.attributes.relationships.tasks.data.map((task) => ({
|
|
27
|
+
...task,
|
|
28
|
+
attributes: {
|
|
29
|
+
...task.attributes,
|
|
30
|
+
created_at: new Date(task.attributes.created_at),
|
|
31
|
+
updated_at: new Date(task.attributes.updated_at),
|
|
32
|
+
},
|
|
33
|
+
})),
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
})),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async info(id, schedule) {
|
|
41
|
+
const res = await this.httpClient.request("GET", `/client/servers/${id}/schedules/${schedule}`);
|
|
42
|
+
return {
|
|
43
|
+
...res,
|
|
44
|
+
attributes: {
|
|
45
|
+
last_run_at: res.attributes.last_run_at
|
|
46
|
+
? new Date(res.attributes.last_run_at)
|
|
47
|
+
: null,
|
|
48
|
+
next_run_at: new Date(res.attributes.next_run_at),
|
|
49
|
+
created_at: new Date(res.attributes.created_at),
|
|
50
|
+
updated_at: new Date(res.attributes.updated_at),
|
|
51
|
+
relationships: {
|
|
52
|
+
tasks: {
|
|
53
|
+
...res.attributes.relationships.tasks,
|
|
54
|
+
data: res.attributes.relationships.tasks.data.map((task) => ({
|
|
55
|
+
...task,
|
|
56
|
+
attributes: {
|
|
57
|
+
...task.attributes,
|
|
58
|
+
created_at: new Date(task.attributes.created_at),
|
|
59
|
+
updated_at: new Date(task.attributes.updated_at),
|
|
60
|
+
},
|
|
61
|
+
})),
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
async create(id, { name, minute, hour, day_of_month, month, day_of_week, is_active, only_when_online, }) {
|
|
68
|
+
const res = await this.httpClient.request("POST", `/client/servers/${id}/schedules`, {
|
|
69
|
+
name,
|
|
70
|
+
minute,
|
|
71
|
+
hour,
|
|
72
|
+
day_of_month,
|
|
73
|
+
month,
|
|
74
|
+
day_of_week,
|
|
75
|
+
is_active,
|
|
76
|
+
only_when_online,
|
|
77
|
+
});
|
|
78
|
+
return {
|
|
79
|
+
...res,
|
|
80
|
+
attributes: {
|
|
81
|
+
last_run_at: res.attributes.last_run_at
|
|
82
|
+
? new Date(res.attributes.last_run_at)
|
|
83
|
+
: null,
|
|
84
|
+
next_run_at: new Date(res.attributes.next_run_at),
|
|
85
|
+
created_at: new Date(res.attributes.created_at),
|
|
86
|
+
updated_at: new Date(res.attributes.updated_at),
|
|
87
|
+
relationships: {
|
|
88
|
+
tasks: {
|
|
89
|
+
...res.attributes.relationships.tasks,
|
|
90
|
+
data: res.attributes.relationships.tasks.data.map((task) => ({
|
|
91
|
+
...task,
|
|
92
|
+
attributes: {
|
|
93
|
+
...task.attributes,
|
|
94
|
+
created_at: new Date(task.attributes.created_at),
|
|
95
|
+
updated_at: new Date(task.attributes.updated_at),
|
|
96
|
+
},
|
|
97
|
+
})),
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
edit(id, schedule, { name, minute, hour, day_of_month, month, day_of_week, is_active, only_when_online, }) {
|
|
104
|
+
return this.httpClient.request("POST", `/client/servers/${id}/schedules/${schedule}`, {
|
|
105
|
+
name,
|
|
106
|
+
minute,
|
|
107
|
+
hour,
|
|
108
|
+
day_of_month,
|
|
109
|
+
month,
|
|
110
|
+
day_of_week,
|
|
111
|
+
is_active,
|
|
112
|
+
only_when_online,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
delete(id, schedule) {
|
|
116
|
+
return this.httpClient.request("DELETE", `/client/servers/${id}/schedules/${schedule}`);
|
|
117
|
+
}
|
|
118
|
+
execute(id, schedule) {
|
|
119
|
+
return this.httpClient.request("POST", `/client/servers/${id}/schedules/${schedule}/execute`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { BaseArgs, List } from "../../../types.js";
|
|
2
|
+
import type { Signal, TaskAction } from "../server.types.js";
|
|
3
|
+
export type CronString = "*" | `${number}` | `*/${number}`;
|
|
4
|
+
export interface ScheduleTask<T extends string | Date, A extends TaskAction = TaskAction> {
|
|
5
|
+
object: "schedule_task";
|
|
6
|
+
attributes: {
|
|
7
|
+
id: number;
|
|
8
|
+
sequence_id: number;
|
|
9
|
+
action: A;
|
|
10
|
+
payload: A extends "power" ? Signal : string;
|
|
11
|
+
time_offset: number;
|
|
12
|
+
is_queued: boolean;
|
|
13
|
+
continue_on_failure: boolean;
|
|
14
|
+
created_at: T;
|
|
15
|
+
updated_at: T;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface ScheduleTaskList extends List {
|
|
19
|
+
data: ScheduleTask<string>[];
|
|
20
|
+
}
|
|
21
|
+
export interface Schedule<T extends string | Date> {
|
|
22
|
+
object: "server_schedule";
|
|
23
|
+
attributes: {
|
|
24
|
+
id: number;
|
|
25
|
+
name: string;
|
|
26
|
+
cron: {
|
|
27
|
+
day_of_week: CronString;
|
|
28
|
+
day_of_month: CronString;
|
|
29
|
+
month: CronString;
|
|
30
|
+
hour: CronString;
|
|
31
|
+
minute: CronString;
|
|
32
|
+
};
|
|
33
|
+
is_active: boolean;
|
|
34
|
+
is_processing: boolean;
|
|
35
|
+
only_when_online: boolean;
|
|
36
|
+
last_run_at: T | null;
|
|
37
|
+
next_run_at: T;
|
|
38
|
+
created_at: T;
|
|
39
|
+
updated_at: T;
|
|
40
|
+
relationships: {
|
|
41
|
+
tasks: ScheduleTaskList;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export interface ScheduleList extends List {
|
|
46
|
+
data: Schedule<string>[];
|
|
47
|
+
}
|
|
48
|
+
export interface CreateScheduleArgs extends BaseArgs {
|
|
49
|
+
name: string;
|
|
50
|
+
minute: CronString;
|
|
51
|
+
hour: CronString;
|
|
52
|
+
day_of_month: CronString;
|
|
53
|
+
month: CronString;
|
|
54
|
+
day_of_week: CronString;
|
|
55
|
+
is_active?: boolean | undefined;
|
|
56
|
+
only_when_online?: boolean | undefined;
|
|
57
|
+
}
|
|
58
|
+
export interface EditScheduleArgs extends BaseArgs {
|
|
59
|
+
name?: string | undefined;
|
|
60
|
+
minute?: CronString | undefined;
|
|
61
|
+
hour?: CronString | undefined;
|
|
62
|
+
day_of_month?: CronString | undefined;
|
|
63
|
+
month?: CronString | undefined;
|
|
64
|
+
day_of_week?: CronString | undefined;
|
|
65
|
+
is_active?: boolean | undefined;
|
|
66
|
+
only_when_online?: boolean | undefined;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=schedule.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule.types.d.ts","sourceRoot":"","sources":["../../../../src/client/server/schedule/schedule.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAAC;AAE3D,MAAM,WAAW,YAAY,CAC3B,CAAC,SAAS,MAAM,GAAG,IAAI,EACvB,CAAC,SAAS,UAAU,GAAG,UAAU;IAEjC,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,CAAC,CAAC;QACV,OAAO,EAAE,CAAC,SAAS,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;QAC7C,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,mBAAmB,EAAE,OAAO,CAAC;QAC7B,UAAU,EAAE,CAAC,CAAC;QACd,UAAU,EAAE,CAAC,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI;IAC5C,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI;IAC/C,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE;YACJ,WAAW,EAAE,UAAU,CAAC;YACxB,YAAY,EAAE,UAAU,CAAC;YACzB,KAAK,EAAE,UAAU,CAAC;YAClB,IAAI,EAAE,UAAU,CAAC;YACjB,MAAM,EAAE,UAAU,CAAC;SACpB,CAAC;QACF,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;QACtB,WAAW,EAAE,CAAC,CAAC;QACf,UAAU,EAAE,CAAC,CAAC;QACd,UAAU,EAAE,CAAC,CAAC;QACd,aAAa,EAAE;YACb,KAAK,EAAE,gBAAgB,CAAC;SACzB,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI;IACxC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACtC,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type HttpClient from "../../../../class/HttpClient.js";
|
|
2
|
+
import type { TaskAction } from "../../server.types.js";
|
|
3
|
+
import type { CreateScheduleTaskArgs } from "./task.types.js";
|
|
4
|
+
export default class TaskClient {
|
|
5
|
+
private httpClient;
|
|
6
|
+
constructor(httpClient: HttpClient);
|
|
7
|
+
list(id: string, schedule: number): void;
|
|
8
|
+
create<T extends TaskAction>(id: string, schedule: number, { action, continue_on_failure, payload, time_offset, }: CreateScheduleTaskArgs<T>): Promise<{
|
|
9
|
+
attributes: {
|
|
10
|
+
created_at: Date;
|
|
11
|
+
updated_at: Date;
|
|
12
|
+
id: number;
|
|
13
|
+
sequence_id: number;
|
|
14
|
+
action: TaskAction;
|
|
15
|
+
payload: string;
|
|
16
|
+
time_offset: number;
|
|
17
|
+
is_queued: boolean;
|
|
18
|
+
continue_on_failure: boolean;
|
|
19
|
+
};
|
|
20
|
+
object: "schedule_task";
|
|
21
|
+
}>;
|
|
22
|
+
edit<T extends TaskAction>(id: string, schedule: number, task: number, { action, continue_on_failure, payload, time_offset, }: CreateScheduleTaskArgs<T>): Promise<{
|
|
23
|
+
attributes: {
|
|
24
|
+
created_at: Date;
|
|
25
|
+
updated_at: Date;
|
|
26
|
+
id: number;
|
|
27
|
+
sequence_id: number;
|
|
28
|
+
action: TaskAction;
|
|
29
|
+
payload: string;
|
|
30
|
+
time_offset: number;
|
|
31
|
+
is_queued: boolean;
|
|
32
|
+
continue_on_failure: boolean;
|
|
33
|
+
};
|
|
34
|
+
object: "schedule_task";
|
|
35
|
+
}>;
|
|
36
|
+
delete(id: string, schedule: number, task: number): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=task.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.client.d.ts","sourceRoot":"","sources":["../../../../../src/client/server/schedule/task/task.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,UAAU;IACjB,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAE3B,MAAM,CAAC,CAAC,SAAS,UAAU,EAC/B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,EACE,MAAM,EACN,mBAAmB,EACnB,OAAO,EACP,WAAW,GACZ,EAAE,sBAAsB,CAAC,CAAC,CAAC;;;;;;;;;;;;;;IAqBxB,IAAI,CAAC,CAAC,SAAS,UAAU,EAC7B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,EACE,MAAM,EACN,mBAAmB,EACnB,OAAO,EACP,WAAW,GACZ,EAAE,sBAAsB,CAAC,CAAC,CAAC;;;;;;;;;;;;;;IAqB9B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAMlD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default class TaskClient {
|
|
2
|
+
httpClient;
|
|
3
|
+
constructor(httpClient) {
|
|
4
|
+
this.httpClient = httpClient;
|
|
5
|
+
}
|
|
6
|
+
list(id, schedule) { }
|
|
7
|
+
async create(id, schedule, { action, continue_on_failure, payload, time_offset, }) {
|
|
8
|
+
const res = await this.httpClient.request("POST", `/client/servers/${id}/schedules/${schedule}/tasks`, {
|
|
9
|
+
action,
|
|
10
|
+
continue_on_failure,
|
|
11
|
+
payload,
|
|
12
|
+
time_offset,
|
|
13
|
+
});
|
|
14
|
+
return {
|
|
15
|
+
...res,
|
|
16
|
+
attributes: {
|
|
17
|
+
...res.attributes,
|
|
18
|
+
created_at: new Date(res.attributes.created_at),
|
|
19
|
+
updated_at: new Date(res.attributes.updated_at),
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async edit(id, schedule, task, { action, continue_on_failure, payload, time_offset, }) {
|
|
24
|
+
const res = await this.httpClient.request("POST", `/client/servers/${id}/schedules/${schedule}/tasks/${task}`, {
|
|
25
|
+
action,
|
|
26
|
+
continue_on_failure,
|
|
27
|
+
payload,
|
|
28
|
+
time_offset,
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
...res,
|
|
32
|
+
attributes: {
|
|
33
|
+
...res.attributes,
|
|
34
|
+
created_at: new Date(res.attributes.created_at),
|
|
35
|
+
updated_at: new Date(res.attributes.updated_at),
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
delete(id, schedule, task) {
|
|
40
|
+
return this.httpClient.request("DELETE", `/client/servers/${id}/schedules/${schedule}/tasks/${task}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BaseArgs } from "../../../../types.js";
|
|
2
|
+
import type { Signal, TaskAction } from "../../server.types.js";
|
|
3
|
+
export interface CreateScheduleTaskArgs<T extends TaskAction = TaskAction> extends BaseArgs {
|
|
4
|
+
action: T;
|
|
5
|
+
payload: T extends "power" ? Signal : string;
|
|
6
|
+
time_offset: number;
|
|
7
|
+
continue_on_failure?: boolean | undefined;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=task.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.types.d.ts","sourceRoot":"","sources":["../../../../../src/client/server/schedule/task/task.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,WAAW,sBAAsB,CACrC,CAAC,SAAS,UAAU,GAAG,UAAU,CACjC,SAAQ,QAAQ;IAChB,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,SAAS,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type HttpClient from "../../class/HttpClient.js";
|
|
2
|
+
import ActivityClient from "./activity/activity.client.js";
|
|
3
|
+
import ConsoleClient from "./console/console.client.js";
|
|
4
|
+
import ImageClient from "./image/image.client.js";
|
|
5
|
+
import { AllocationClient, DatabaseClient, ScheduleClient, SubuserClient } from "./index.js";
|
|
6
|
+
import PowerClient from "./power/power.client.js";
|
|
7
|
+
import RessourceClient from "./ressource/ressource.client.js";
|
|
8
|
+
import type { EditServerArgs, ServerList } from "./server.types.js";
|
|
9
|
+
import StartupClient from "./startup/startup.client.js";
|
|
10
|
+
export default class Servers {
|
|
11
|
+
private httpClient;
|
|
12
|
+
readonly panelUrl: URL;
|
|
13
|
+
activity: ActivityClient;
|
|
14
|
+
allocation: AllocationClient;
|
|
15
|
+
console: ConsoleClient;
|
|
16
|
+
database: DatabaseClient;
|
|
17
|
+
image: ImageClient;
|
|
18
|
+
ressource: RessourceClient;
|
|
19
|
+
power: PowerClient;
|
|
20
|
+
schedule: ScheduleClient;
|
|
21
|
+
startup: StartupClient;
|
|
22
|
+
subser: SubuserClient;
|
|
23
|
+
constructor(httpClient: HttpClient, panelUrl: URL);
|
|
24
|
+
list({ page, per_page, }: {
|
|
25
|
+
page?: number | undefined;
|
|
26
|
+
per_page?: number | undefined;
|
|
27
|
+
}): Promise<ServerList>;
|
|
28
|
+
info(id: string): Promise<ServerList>;
|
|
29
|
+
edit(id: string, args: EditServerArgs): Promise<void>;
|
|
30
|
+
reinstall(id: string): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=server.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.client.d.ts","sourceRoot":"","sources":["../../../src/client/server/server.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAGxD,MAAM,CAAC,OAAO,OAAO,OAAO;IAaxB,OAAO,CAAC,UAAU;IAClB,QAAQ,CAAC,QAAQ,EAAE,GAAG;IAbjB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;gBAGnB,UAAU,EAAE,UAAU,EACrB,QAAQ,EAAE,GAAG;IAcxB,IAAI,CAAC,EACH,IAAI,EACJ,QAAQ,GACT,EAAE;QACD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,CAAC;IAOvB,IAAI,CAAC,EAAE,EAAE,MAAM;IAIf,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc;IAerC,SAAS,CAAC,EAAE,EAAE,MAAM;CAMrB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import ActivityClient from "./activity/activity.client.js";
|
|
2
|
+
import ConsoleClient from "./console/console.client.js";
|
|
3
|
+
import ImageClient from "./image/image.client.js";
|
|
4
|
+
import { AllocationClient, DatabaseClient, ScheduleClient, SubuserClient, } from "./index.js";
|
|
5
|
+
import PowerClient from "./power/power.client.js";
|
|
6
|
+
import RessourceClient from "./ressource/ressource.client.js";
|
|
7
|
+
import StartupClient from "./startup/startup.client.js";
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
export default class Servers {
|
|
10
|
+
httpClient;
|
|
11
|
+
panelUrl;
|
|
12
|
+
activity;
|
|
13
|
+
allocation;
|
|
14
|
+
console;
|
|
15
|
+
database;
|
|
16
|
+
image;
|
|
17
|
+
ressource;
|
|
18
|
+
power;
|
|
19
|
+
schedule;
|
|
20
|
+
startup;
|
|
21
|
+
subser;
|
|
22
|
+
constructor(httpClient, panelUrl) {
|
|
23
|
+
this.httpClient = httpClient;
|
|
24
|
+
this.panelUrl = panelUrl;
|
|
25
|
+
this.activity = new ActivityClient(httpClient);
|
|
26
|
+
this.allocation = new AllocationClient(httpClient);
|
|
27
|
+
this.console = new ConsoleClient(httpClient, panelUrl);
|
|
28
|
+
this.database = new DatabaseClient(httpClient);
|
|
29
|
+
this.image = new ImageClient(httpClient);
|
|
30
|
+
this.ressource = new RessourceClient(httpClient);
|
|
31
|
+
this.power = new PowerClient(httpClient);
|
|
32
|
+
this.schedule = new ScheduleClient(httpClient);
|
|
33
|
+
this.startup = new StartupClient(httpClient);
|
|
34
|
+
this.subser = new SubuserClient(httpClient);
|
|
35
|
+
}
|
|
36
|
+
list({ page, per_page, }) {
|
|
37
|
+
return this.httpClient.request("GET", `/client?page=${page ?? 1}&per_page=${per_page ?? 50}`);
|
|
38
|
+
}
|
|
39
|
+
info(id) {
|
|
40
|
+
return this.httpClient.request("GET", `/client/servers/${id}`);
|
|
41
|
+
}
|
|
42
|
+
edit(id, args) {
|
|
43
|
+
const schema = z.object({
|
|
44
|
+
name: z.string().min(1).max(255),
|
|
45
|
+
description: z.string().max(500).optional(),
|
|
46
|
+
});
|
|
47
|
+
const { name, description } = schema.parse(args);
|
|
48
|
+
return this.httpClient.request("POST", `/client/servers/${id}/settings/rename`, { name, description });
|
|
49
|
+
}
|
|
50
|
+
reinstall(id) {
|
|
51
|
+
return this.httpClient.request("POST", `/client/servers/${id}/settings/reinstall`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { BaseArgs, IP, ListwithPagination } from "../../types.js";
|
|
2
|
+
export type ServerPermissions = ServerControlPermissions | FileManagementPermissions | BackupPermissions | NetworkAllocationPermissions | DatabsePermissions | SchedulePermissions | UserManagementPermissions | StartupPermissions | AdminPermissions | "*";
|
|
3
|
+
export type ServerControlPermissions = "control.console" | "control.start" | "control.stop" | "control.restart" | "control.kill";
|
|
4
|
+
export type FileManagementPermissions = "file.create" | "file.read" | "file.update" | "file.delete" | "file.archive" | "file.sftp";
|
|
5
|
+
export type BackupPermissions = "backup.create" | "backup.read" | "backup.delete" | "backup.download" | "backup.restore";
|
|
6
|
+
export type NetworkAllocationPermissions = "allocation.read" | "allocation.create" | "allocation.update" | "allocation.delete";
|
|
7
|
+
export type DatabsePermissions = "database.read" | "database.create" | "database.update" | "database.delete";
|
|
8
|
+
export type SchedulePermissions = "schedule.read" | "schedule.create" | "schedule.update" | "schedule.delete";
|
|
9
|
+
export type UserManagementPermissions = "user.read" | "user.create" | "user.update" | "user.delete";
|
|
10
|
+
export type StartupPermissions = "startup.read" | "startup.update";
|
|
11
|
+
export type AdminPermissions = "admin.websocket.errors" | "admin.websocket.install" | "admin.websocket.transfer";
|
|
12
|
+
export interface Allocation {
|
|
13
|
+
object: "allocation";
|
|
14
|
+
attributes: {
|
|
15
|
+
id: number;
|
|
16
|
+
ip: IP;
|
|
17
|
+
ip_alias: null | string;
|
|
18
|
+
port: number;
|
|
19
|
+
notes: null | string;
|
|
20
|
+
is_default: boolean;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface EggVariable {
|
|
24
|
+
object: "egg_variable";
|
|
25
|
+
attributes: {
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
env_variable: Uppercase<string>;
|
|
29
|
+
default_value: string;
|
|
30
|
+
server_value: string;
|
|
31
|
+
is_editable: boolean;
|
|
32
|
+
rules: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface Server {
|
|
36
|
+
object: "server";
|
|
37
|
+
attributes: {
|
|
38
|
+
server_owner: boolean;
|
|
39
|
+
identifier: string;
|
|
40
|
+
internal_id: number;
|
|
41
|
+
uuid: string;
|
|
42
|
+
name: string;
|
|
43
|
+
is_node_under_maintenance: boolean;
|
|
44
|
+
description: string;
|
|
45
|
+
status: null;
|
|
46
|
+
is_suspended: boolean;
|
|
47
|
+
is_installing: boolean;
|
|
48
|
+
is_transferring: boolean;
|
|
49
|
+
node: string;
|
|
50
|
+
sftp_details: {
|
|
51
|
+
ip: string;
|
|
52
|
+
port: number;
|
|
53
|
+
};
|
|
54
|
+
invocation: string;
|
|
55
|
+
docker_image: string;
|
|
56
|
+
egg_features: string[];
|
|
57
|
+
feature_limits: {
|
|
58
|
+
databases: number;
|
|
59
|
+
allocations: number;
|
|
60
|
+
backups: number;
|
|
61
|
+
};
|
|
62
|
+
user_permissions: ServerPermissions[];
|
|
63
|
+
limits: {
|
|
64
|
+
memory: number;
|
|
65
|
+
swap: number;
|
|
66
|
+
disk: number;
|
|
67
|
+
io: number;
|
|
68
|
+
cpu: number;
|
|
69
|
+
threads: null | string;
|
|
70
|
+
oom_disabled: boolean;
|
|
71
|
+
};
|
|
72
|
+
relationships: {
|
|
73
|
+
allocations: {
|
|
74
|
+
object: "list";
|
|
75
|
+
data: Allocation[];
|
|
76
|
+
};
|
|
77
|
+
variables: {
|
|
78
|
+
object: "list";
|
|
79
|
+
data: EggVariable[];
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export interface ServerInfo extends Server {
|
|
85
|
+
meta: {
|
|
86
|
+
is_server_owner: boolean;
|
|
87
|
+
user_permissions: ServerPermissions[];
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
export interface ServerList extends ListwithPagination {
|
|
91
|
+
data: Server[];
|
|
92
|
+
}
|
|
93
|
+
export type State = "running" | "starting" | "stopping" | "offline";
|
|
94
|
+
export type Signal = "start" | "stop" | "restart" | "kill";
|
|
95
|
+
export interface EditServerArgs extends BaseArgs {
|
|
96
|
+
name: string;
|
|
97
|
+
description?: string | undefined;
|
|
98
|
+
}
|
|
99
|
+
export type TaskAction = "command" | "power" | "backup";
|
|
100
|
+
//# sourceMappingURL=server.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.types.d.ts","sourceRoot":"","sources":["../../../src/client/server/server.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,EAAE,EACF,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,iBAAiB,GACzB,wBAAwB,GACxB,yBAAyB,GACzB,iBAAiB,GACjB,4BAA4B,GAC5B,kBAAkB,GAClB,mBAAmB,GACnB,yBAAyB,GACzB,kBAAkB,GAClB,gBAAgB,GAChB,GAAG,CAAC;AAER,MAAM,MAAM,wBAAwB,GAChC,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,cAAc,CAAC;AAEnB,MAAM,MAAM,yBAAyB,GACjC,aAAa,GACb,WAAW,GACX,aAAa,GACb,aAAa,GACb,cAAc,GACd,WAAW,CAAC;AAEhB,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,gBAAgB,CAAC;AAErB,MAAM,MAAM,4BAA4B,GACpC,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,yBAAyB,GACjC,WAAW,GACX,aAAa,GACb,aAAa,GACb,aAAa,CAAC;AAElB,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEnE,MAAM,MAAM,gBAAgB,GACxB,wBAAwB,GACxB,yBAAyB,GACzB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,EAAE,CAAC;QACP,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE;QACV,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,yBAAyB,EAAE,OAAO,CAAC;QACnC,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,IAAI,CAAC;QACb,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,eAAe,EAAE,OAAO,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE;YACZ,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,cAAc,EAAE;YACd,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;QACtC,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,GAAG,EAAE,MAAM,CAAC;YACZ,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;YACvB,YAAY,EAAE,OAAO,CAAC;SACvB,CAAC;QACF,aAAa,EAAE;YACb,WAAW,EAAE;gBACX,MAAM,EAAE,MAAM,CAAC;gBACf,IAAI,EAAE,UAAU,EAAE,CAAC;aACpB,CAAC;YACF,SAAS,EAAE;gBACT,MAAM,EAAE,MAAM,CAAC;gBACf,IAAI,EAAE,WAAW,EAAE,CAAC;aACrB,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,UAAW,SAAQ,MAAM;IACxC,IAAI,EAAE;QACJ,eAAe,EAAE,OAAO,CAAC;QACzB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;KACvC,CAAC;CACH;AAED,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAEpE,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { BaseArgs, IP, ListwithPagination } from "../../types.js";
|
|
2
|
+
export type ServerPermissions = ServerControlPermissions | FileManagementPermissions | BackupPermissions | NetworkAllocationPermissions | DatabsePermissions | SchedulePermissions | UserManagementPermissions | StartupPermissions | AdminPermissions | "*";
|
|
3
|
+
export type ServerControlPermissions = "control.console" | "control.start" | "control.stop" | "control.restart" | "control.kill";
|
|
4
|
+
export type FileManagementPermissions = "file.create" | "file.read" | "file.update" | "file.delete" | "file.archive" | "file.sftp";
|
|
5
|
+
export type BackupPermissions = "backup.create" | "backup.read" | "backup.delete" | "backup.download" | "backup.restore";
|
|
6
|
+
export type NetworkAllocationPermissions = "allocation.read" | "allocation.create" | "allocation.update" | "allocation.delete";
|
|
7
|
+
export type DatabsePermissions = "database.read" | "database.create" | "database.update" | "database.delete";
|
|
8
|
+
export type SchedulePermissions = "schedule.read" | "schedule.create" | "schedule.update" | "schedule.delete";
|
|
9
|
+
export type UserManagementPermissions = "user.read" | "user.create" | "user.update" | "user.delete";
|
|
10
|
+
export type StartupPermissions = "startup.read" | "startup.update";
|
|
11
|
+
export type AdminPermissions = "admin.websocket.errors" | "admin.websocket.install" | "admin.websocket.transfer";
|
|
12
|
+
export interface Allocation {
|
|
13
|
+
object: "allocation";
|
|
14
|
+
attributes: {
|
|
15
|
+
id: number;
|
|
16
|
+
ip: IP;
|
|
17
|
+
ip_alias: null | string;
|
|
18
|
+
port: number;
|
|
19
|
+
notes: null | string;
|
|
20
|
+
is_default: boolean;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface EggVariable {
|
|
24
|
+
object: "egg_variable";
|
|
25
|
+
attributes: {
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
env_variable: Uppercase<string>;
|
|
29
|
+
default_value: string;
|
|
30
|
+
server_value: string;
|
|
31
|
+
is_editable: boolean;
|
|
32
|
+
rules: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface Server {
|
|
36
|
+
object: "server";
|
|
37
|
+
attributes: {
|
|
38
|
+
server_owner: boolean;
|
|
39
|
+
identifier: string;
|
|
40
|
+
internal_id: number;
|
|
41
|
+
uuid: string;
|
|
42
|
+
name: string;
|
|
43
|
+
is_node_under_maintenance: boolean;
|
|
44
|
+
description: string;
|
|
45
|
+
status: null;
|
|
46
|
+
is_suspended: boolean;
|
|
47
|
+
is_installing: boolean;
|
|
48
|
+
is_transferring: boolean;
|
|
49
|
+
node: string;
|
|
50
|
+
sftp_details: {
|
|
51
|
+
ip: string;
|
|
52
|
+
port: number;
|
|
53
|
+
};
|
|
54
|
+
invocation: string;
|
|
55
|
+
docker_image: string;
|
|
56
|
+
egg_features: string[];
|
|
57
|
+
feature_limits: {
|
|
58
|
+
databases: number;
|
|
59
|
+
allocations: number;
|
|
60
|
+
backups: number;
|
|
61
|
+
};
|
|
62
|
+
user_permissions: ServerPermissions[];
|
|
63
|
+
limits: {
|
|
64
|
+
memory: number;
|
|
65
|
+
swap: number;
|
|
66
|
+
disk: number;
|
|
67
|
+
io: number;
|
|
68
|
+
cpu: number;
|
|
69
|
+
threads: null | string;
|
|
70
|
+
oom_disabled: boolean;
|
|
71
|
+
};
|
|
72
|
+
relationships: {
|
|
73
|
+
allocations: {
|
|
74
|
+
object: "list";
|
|
75
|
+
data: Allocation[];
|
|
76
|
+
};
|
|
77
|
+
variables: {
|
|
78
|
+
object: "list";
|
|
79
|
+
data: EggVariable[];
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export interface ServerInfo extends Server {
|
|
85
|
+
meta: {
|
|
86
|
+
is_server_owner: boolean;
|
|
87
|
+
user_permissions: ServerPermissions[];
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
export interface ServerList extends ListwithPagination {
|
|
91
|
+
data: Server[];
|
|
92
|
+
}
|
|
93
|
+
export type State = "running" | "starting" | "stopping" | "offline";
|
|
94
|
+
export type Signal = "start" | "stop" | "restart" | "kill";
|
|
95
|
+
export interface EditServerArgs extends BaseArgs {
|
|
96
|
+
name: string;
|
|
97
|
+
description?: string | undefined;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=serveur.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serveur.types.d.ts","sourceRoot":"","sources":["../../../src/client/server/serveur.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type HttpClient from "../../../class/HttpClient.js";
|
|
2
|
+
import type { EggVariable } from "../server.types.js";
|
|
3
|
+
import type { EditEggVariable, EggVariableList } from "./startup.types.js";
|
|
4
|
+
export default class StartupClient {
|
|
5
|
+
private httpClient;
|
|
6
|
+
constructor(httpClient: HttpClient);
|
|
7
|
+
info(id: string): Promise<EggVariableList>;
|
|
8
|
+
edit(id: string, { key, value }: EditEggVariable): Promise<EggVariable>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=startup.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup.client.d.ts","sourceRoot":"","sources":["../../../../src/client/server/startup/startup.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,aAAa;IACpB,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C,IAAI,CAAC,EAAE,EAAE,MAAM;IAOf,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,eAAe;CAOjD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default class StartupClient {
|
|
2
|
+
httpClient;
|
|
3
|
+
constructor(httpClient) {
|
|
4
|
+
this.httpClient = httpClient;
|
|
5
|
+
}
|
|
6
|
+
info(id) {
|
|
7
|
+
return this.httpClient.request("GET", `/client/servers/${id}/settings/startup`);
|
|
8
|
+
}
|
|
9
|
+
edit(id, { key, value }) {
|
|
10
|
+
return this.httpClient.request("PUT", `/client/servers/${id}/settings/startup`, { key, value });
|
|
11
|
+
}
|
|
12
|
+
}
|