@pelican.ts/sdk 0.2.2 → 0.2.3
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/dist/index.d.mts +661 -0
- package/dist/index.d.ts +657 -5
- package/dist/index.js +1053 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1017 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +3 -3
- package/dist/api/application/client.d.ts +0 -8
- package/dist/api/application/client.d.ts.map +0 -1
- package/dist/api/application/client.js +0 -14
- package/dist/api/application/client.js.map +0 -1
- package/dist/api/application/nodes.d.ts +0 -36
- package/dist/api/application/nodes.d.ts.map +0 -1
- package/dist/api/application/nodes.js +0 -47
- package/dist/api/application/nodes.js.map +0 -1
- package/dist/api/application/nodes_allocations.d.ts +0 -11
- package/dist/api/application/nodes_allocations.d.ts.map +0 -1
- package/dist/api/application/nodes_allocations.js +0 -36
- package/dist/api/application/nodes_allocations.js.map +0 -1
- package/dist/api/application/types/container.d.ts +0 -12
- package/dist/api/application/types/container.d.ts.map +0 -1
- package/dist/api/application/types/container.js +0 -3
- package/dist/api/application/types/container.js.map +0 -1
- package/dist/api/application/types/location.d.ts +0 -8
- package/dist/api/application/types/location.d.ts.map +0 -1
- package/dist/api/application/types/location.js +0 -3
- package/dist/api/application/types/location.js.map +0 -1
- package/dist/api/application/types/node.d.ts +0 -32
- package/dist/api/application/types/node.d.ts.map +0 -1
- package/dist/api/application/types/node.js +0 -3
- package/dist/api/application/types/node.js.map +0 -1
- package/dist/api/application/types/server.d.ts +0 -23
- package/dist/api/application/types/server.d.ts.map +0 -1
- package/dist/api/application/types/server.js +0 -3
- package/dist/api/application/types/server.js.map +0 -1
- package/dist/api/application/types/user.d.ts +0 -20
- package/dist/api/application/types/user.d.ts.map +0 -1
- package/dist/api/application/types/user.js +0 -3
- package/dist/api/application/types/user.js.map +0 -1
- package/dist/api/application/users.d.ts +0 -38
- package/dist/api/application/users.d.ts.map +0 -1
- package/dist/api/application/users.js +0 -54
- package/dist/api/application/users.js.map +0 -1
- package/dist/api/base/request.d.ts +0 -8
- package/dist/api/base/request.d.ts.map +0 -1
- package/dist/api/base/request.js +0 -33
- package/dist/api/base/request.js.map +0 -1
- package/dist/api/base/types.d.ts +0 -40
- package/dist/api/base/types.d.ts.map +0 -1
- package/dist/api/base/types.js +0 -14
- package/dist/api/base/types.js.map +0 -1
- package/dist/api/client/account.d.ts +0 -31
- package/dist/api/client/account.d.ts.map +0 -1
- package/dist/api/client/account.js +0 -70
- package/dist/api/client/account.js.map +0 -1
- package/dist/api/client/client.d.ts +0 -14
- package/dist/api/client/client.d.ts.map +0 -1
- package/dist/api/client/client.js +0 -37
- package/dist/api/client/client.js.map +0 -1
- package/dist/api/client/server.d.ts +0 -33
- package/dist/api/client/server.d.ts.map +0 -1
- package/dist/api/client/server.js +0 -62
- package/dist/api/client/server.js.map +0 -1
- package/dist/api/client/server_activity.d.ts +0 -9
- package/dist/api/client/server_activity.d.ts.map +0 -1
- package/dist/api/client/server_activity.js +0 -22
- package/dist/api/client/server_activity.js.map +0 -1
- package/dist/api/client/server_allocations.d.ts +0 -13
- package/dist/api/client/server_allocations.d.ts.map +0 -1
- package/dist/api/client/server_allocations.js +0 -32
- package/dist/api/client/server_allocations.js.map +0 -1
- package/dist/api/client/server_backups.d.ts +0 -18
- package/dist/api/client/server_backups.d.ts.map +0 -1
- package/dist/api/client/server_backups.js +0 -50
- package/dist/api/client/server_backups.js.map +0 -1
- package/dist/api/client/server_databases.d.ts +0 -12
- package/dist/api/client/server_databases.d.ts.map +0 -1
- package/dist/api/client/server_databases.js +0 -36
- package/dist/api/client/server_databases.js.map +0 -1
- package/dist/api/client/server_files.d.ts +0 -34
- package/dist/api/client/server_files.d.ts.map +0 -1
- package/dist/api/client/server_files.js +0 -86
- package/dist/api/client/server_files.js.map +0 -1
- package/dist/api/client/server_schedules.d.ts +0 -38
- package/dist/api/client/server_schedules.d.ts.map +0 -1
- package/dist/api/client/server_schedules.js +0 -59
- package/dist/api/client/server_schedules.js.map +0 -1
- package/dist/api/client/server_settings.d.ts +0 -12
- package/dist/api/client/server_settings.d.ts.map +0 -1
- package/dist/api/client/server_settings.js +0 -30
- package/dist/api/client/server_settings.js.map +0 -1
- package/dist/api/client/server_startup.d.ts +0 -11
- package/dist/api/client/server_startup.d.ts.map +0 -1
- package/dist/api/client/server_startup.js +0 -25
- package/dist/api/client/server_startup.js.map +0 -1
- package/dist/api/client/server_users.d.ts +0 -13
- package/dist/api/client/server_users.d.ts.map +0 -1
- package/dist/api/client/server_users.js +0 -32
- package/dist/api/client/server_users.js.map +0 -1
- package/dist/api/client/server_websocket.d.ts +0 -60
- package/dist/api/client/server_websocket.d.ts.map +0 -1
- package/dist/api/client/server_websocket.js +0 -431
- package/dist/api/client/server_websocket.js.map +0 -1
- package/dist/api/client/types/server.d.ts +0 -64
- package/dist/api/client/types/server.d.ts.map +0 -1
- package/dist/api/client/types/server.js +0 -3
- package/dist/api/client/types/server.js.map +0 -1
- package/dist/api/client/types/server_subuser.d.ts +0 -14
- package/dist/api/client/types/server_subuser.d.ts.map +0 -1
- package/dist/api/client/types/server_subuser.js +0 -3
- package/dist/api/client/types/server_subuser.js.map +0 -1
- package/dist/api/client/types/user.d.ts +0 -31
- package/dist/api/client/types/user.d.ts.map +0 -1
- package/dist/api/client/types/user.js +0 -3
- package/dist/api/client/types/user.js.map +0 -1
- package/dist/api/client/types/websocket.d.ts +0 -116
- package/dist/api/client/types/websocket.d.ts.map +0 -1
- package/dist/api/client/types/websocket.js +0 -37
- package/dist/api/client/types/websocket.js.map +0 -1
- package/dist/api/client/websocket_old.d.ts +0 -171
- package/dist/api/client/websocket_old.d.ts.map +0 -1
- package/dist/api/client/websocket_old.js +0 -319
- package/dist/api/client/websocket_old.js.map +0 -1
- package/dist/api/common/types/egg.d.ts +0 -10
- package/dist/api/common/types/egg.d.ts.map +0 -1
- package/dist/api/common/types/egg.js +0 -3
- package/dist/api/common/types/egg.js.map +0 -1
- package/dist/api/common/types/server_allocations.d.ts +0 -18
- package/dist/api/common/types/server_allocations.d.ts.map +0 -1
- package/dist/api/common/types/server_allocations.js +0 -3
- package/dist/api/common/types/server_allocations.js.map +0 -1
- package/dist/api/common/types/server_backup.d.ts +0 -13
- package/dist/api/common/types/server_backup.d.ts.map +0 -1
- package/dist/api/common/types/server_backup.js +0 -3
- package/dist/api/common/types/server_backup.js.map +0 -1
- package/dist/api/common/types/server_database.d.ts +0 -18
- package/dist/api/common/types/server_database.d.ts.map +0 -1
- package/dist/api/common/types/server_database.js +0 -3
- package/dist/api/common/types/server_database.js.map +0 -1
- package/dist/api/common/types/server_files.d.ts +0 -12
- package/dist/api/common/types/server_files.d.ts.map +0 -1
- package/dist/api/common/types/server_files.js +0 -3
- package/dist/api/common/types/server_files.js.map +0 -1
- package/dist/api/common/types/server_limits.d.ts +0 -17
- package/dist/api/common/types/server_limits.d.ts.map +0 -1
- package/dist/api/common/types/server_limits.js +0 -3
- package/dist/api/common/types/server_limits.js.map +0 -1
- package/dist/api/common/types/server_power.d.ts +0 -2
- package/dist/api/common/types/server_power.d.ts.map +0 -1
- package/dist/api/common/types/server_power.js +0 -3
- package/dist/api/common/types/server_power.js.map +0 -1
- package/dist/api/common/types/server_schedule.d.ts +0 -34
- package/dist/api/common/types/server_schedule.d.ts.map +0 -1
- package/dist/api/common/types/server_schedule.js +0 -3
- package/dist/api/common/types/server_schedule.js.map +0 -1
- package/dist/api/common/types/server_startup.d.ts +0 -14
- package/dist/api/common/types/server_startup.d.ts.map +0 -1
- package/dist/api/common/types/server_startup.js +0 -3
- package/dist/api/common/types/server_startup.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/pterodactyl.d.ts +0 -8
- package/dist/pterodactyl.d.ts.map +0 -1
- package/dist/pterodactyl.js +0 -20
- package/dist/pterodactyl.js.map +0 -1
- package/dist/utils/sized.d.ts +0 -10
- package/dist/utils/sized.d.ts.map +0 -1
- package/dist/utils/sized.js +0 -15
- package/dist/utils/sized.js.map +0 -1
- package/dist/utils/transform.d.ts +0 -9
- package/dist/utils/transform.d.ts.map +0 -1
- package/dist/utils/transform.js +0 -19
- package/dist/utils/transform.js.map +0 -1
- package/dist/utils/types.d.ts +0 -14
- package/dist/utils/types.d.ts.map +0 -1
- package/dist/utils/types.js +0 -3
- package/dist/utils/types.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/api/client/account.ts","../src/api/client/client.ts","../src/api/client/server_databases.ts","../src/api/client/server_files.ts","../src/api/client/server_schedules.ts","../src/api/client/server_allocations.ts","../src/api/client/server_users.ts","../src/api/client/server_backups.ts","../src/api/client/server_startup.ts","../src/api/client/server_settings.ts","../src/api/client/server_websocket.ts","../src/api/client/server_activity.ts","../src/api/client/server.ts","../src/api/application/users.ts","../src/utils/transform.ts","../src/api/application/client.ts","../src/api/base/request.ts","../src/api/base/types.ts","../src/index.ts"],"sourcesContent":["import {AxiosInstance} from \"axios\";\nimport {APIKey, SSHKey, User} from \"@/api/client/types/user\";\nimport {GenericListResponse, GenericResponse} from \"@/api/base/types\";\nimport z from \"zod\";\n\n\nexport class Account {\n private readonly r: AxiosInstance\n\n constructor(requester: AxiosInstance) {\n this.r = requester\n }\n\n info = async (): Promise<User> => {\n const {data} = await this.r.get<GenericResponse<User, \"user\">>(\"/account\")\n return data.attributes\n }\n\n updateEmail = async (newEmail: string, password: string): Promise<void> => {\n newEmail = z.email().parse(newEmail)\n await this.r.put(\"/account/email\", {email: newEmail, password})\n }\n\n updatePassword = async (newPassword: string): Promise<void> => {\n newPassword = z.string().min(8).parse(newPassword)\n await this.r.put(\"/account/password\", {\n password: newPassword,\n password_confirmation: newPassword\n })\n }\n\n apiKeys = {\n list: async (): Promise<APIKey[]> => {\n const {data} = await this.r.get<\n GenericListResponse<GenericResponse<APIKey, \"api_key\">>\n >(\"/account/api-keys\")\n return data.data.map(k => k.attributes)\n },\n\n create: async (description: string, allowed_ips?: string[]): Promise<APIKey & { secret_token: string }> => {\n allowed_ips = z.array(z.ipv4()).optional().parse(allowed_ips)\n const {data} = await this.r.post<\n GenericResponse<APIKey, \"api_key\", { secret_token: string }>\n >(\"/account/api-keys\", {description, allowed_ips})\n return {...data.attributes, secret_token: data.meta!.secret_token}\n },\n\n delete: async (identifier: string): Promise<void> => {\n await this.r.delete(`/account/api-keys/${identifier}`)\n }\n }\n\n sshKeys = {\n list: async (): Promise<SSHKey[]> => {\n const {data} = await this.r.get<\n GenericListResponse<GenericResponse<SSHKey, \"ssh_key\">>\n >(\"/account/ssh-keys\")\n return data.data.map(k => k.attributes)\n },\n\n create: async (name: string, public_key: string): Promise<SSHKey> => {\n const {data} = await this.r.post<\n GenericResponse<SSHKey, \"ssh_key\">\n >(\"/account/ssh-keys\", {name, public_key})\n return data.attributes\n },\n\n delete: async (fingerprint: string): Promise<void> => {\n await this.r.post(`/account/ssh-keys/remove`, {fingerprint})\n }\n }\n\n twoFactor = {\n info: async (): Promise<{ image_url_data: string }> => {\n const {data} = await this.r.get<\n Awaited<ReturnType<typeof this.twoFactor.info>>\n >(\"/account/two-factor\")\n return data\n },\n\n enable: async (code: string): Promise<{ tokens: string[] }> => {\n const {data} = await this.r.post<\n Awaited<ReturnType<typeof this.twoFactor.enable>>\n >(\"/account/two-factor\", {code})\n return data\n },\n\n disable: async (password: string): Promise<void> => {\n await this.r.delete(\"/account/two-factor\", {data: {password}})\n }\n }\n}","import {Account} from \"@/api/client/account\";\nimport {AxiosInstance} from \"axios\";\nimport {Permission} from \"@/api/client/types/user\";\nimport {GenericListResponse, GenericResponse} from \"@/api/base/types\";\nimport {Server} from \"@/api/client/types/server\";\nimport z from \"zod\";\nimport {ServerClient} from \"@/api/client/server\";\n\n\nexport class Client {\n account: Account\n\n private readonly r: AxiosInstance\n\n constructor(requester: AxiosInstance) {\n this.r = requester\n this.account = new Account(requester)\n }\n\n listPermissions = async (): Promise<Record<string, Permission>> => {\n const {data} = await this.r.get<\n GenericResponse<{ permissions: Record<string, Permission> }, \"system_permissions\">\n >(\"/permissions\")\n\n return data.attributes.permissions\n }\n\n listServers = async (\n type: \"accessible\" | \"mine\" | \"admin\" | \"admin-all\" = \"accessible\",\n page: number = 1,\n per_page: number = 50,\n include?: (\"egg\" | \"subusers\")[],\n ): Promise<Server[]> => {\n z.number().positive().parse(page)\n const {data} = await this.r.get<\n GenericListResponse<GenericResponse<Server, \"server\">>\n >(\"/servers\", {\n params: {type, page, include: include?.join(\",\")}\n })\n return data.data.map(s => s.attributes)\n }\n\n server = (uuid: string): ServerClient => new ServerClient(this.r, uuid)\n\n}\n\n\n/*\nInclude: ?include=param1,param2\nAvail: ?param1=val1¶m2=val2\nFilters: ?filter[param1]=val1&filter[param2]=val2\nSort: ?sort=-param, param=asc, -param=desc\n*/","import {AxiosInstance} from \"axios\";\nimport z from \"zod\";\nimport {GenericListResponse, GenericResponse} from \"@/api/base/types\";\nimport {Database} from \"@/api/common/types/server_database\";\n// TODO: Check for validity\n\nexport class ServerDatabases {\n private readonly r: AxiosInstance\n private readonly id: string\n\n constructor(requester: AxiosInstance, id: string) {\n this.r = requester\n this.id = id\n }\n\n list = async (\n include?: (\"password\")[], page: number = 1\n ): Promise<Database[]> => {\n z.number().positive().parse(page)\n const {data} = await this.r.get<\n GenericListResponse<GenericResponse<Database, \"server_database\">>\n >(`/servers/${this.id}/databases`, {\n params: {include: include?.join(\",\"), page}\n })\n return data.data.map(d => d.attributes)\n }\n\n create = async (database: string, remote: string): Promise<Database> => {\n const {data} = await this.r.post<\n GenericResponse<Database, \"server_database\">\n >(`/servers/${this.id}/databases`, {database, remote})\n return data.attributes\n }\n\n rotatePassword = async (database_id: string): Promise<Database> => {\n const {data} = await this.r.post<\n GenericResponse<Database, \"server_database\">\n >(`/servers/${this.id}/databases/${database_id}/rotate-password`)\n return data.attributes\n }\n\n delete = async (database_id: string): Promise<void> => {\n await this.r.delete(`/servers/${this.id}/databases/${database_id}`)\n }\n}","import axios, {AxiosInstance} from \"axios\";\nimport {string} from \"zod\";\nimport {FileObject} from \"@/api/common/types/server_files\";\nimport {GenericListResponse, GenericResponse} from \"@/api/base/types\";\n\n\nexport class ServerFiles {\n private readonly r: AxiosInstance\n private readonly id: string\n\n constructor(requester: AxiosInstance, id: string) {\n this.r = requester\n this.id = id\n }\n\n list = async (path?: string): Promise<FileObject[]> => {\n const {data} = await this.r.get<\n GenericListResponse<GenericResponse<FileObject, \"file_object\">>\n >(`/servers/${this.id}/files/list`, {\n params: {directory: path}\n })\n return data.data.map(r => r.attributes)\n }\n\n /**\n * Return the contents of a file. To read binary file (non-editable) use {@link download} instead\n */\n contents = async (path: string): Promise<string> => {\n const {data} = await this.r.get<string>(`/servers/${this.id}/files/contents`, {\n params: {file: path}\n })\n return data\n }\n\n downloadGetUrl = async (path: string): Promise<string> => {\n const {data} = await this.r.get<\n GenericResponse<{ url: string }, \"signed_url\">\n >(`/servers/${this.id}/files/download`, {\n params: {file: path}\n })\n return data.attributes.url\n }\n\n download = async (path: string): Promise<ArrayBuffer> => {\n const url = await this.downloadGetUrl(path)\n const {data} = await axios.get<ArrayBuffer>(url, {responseType: \"arraybuffer\"})\n return data\n }\n\n rename = async (\n root: string = \"/\",\n files: { from: string, to: string }[]\n ): Promise<void> => {\n await this.r.put(`/servers/${this.id}/files/rename`, {root, files})\n }\n\n copy = async (location: string): Promise<void> => {\n await this.r.post(`/servers/${this.id}/files/copy`, {location})\n }\n\n write = async (path: string, content: string): Promise<void> => {\n await this.r.post(`/servers/${this.id}/files/write`, content, {\n params: {file: path},\n })\n }\n\n compress = async (\n root: string = \"/\",\n files: string[],\n archive_name?: string,\n extension?: \"zip\" | \"tgz\" | \"tar.gz\" | \"txz\" | \"tar.xz\" | \"tbz2\" | \"tar.bz2\"\n ): Promise<void> => {\n await this.r.post(`/servers/${this.id}/files/compress`, {root, files, archive_name, extension})\n }\n\n decompress = async (\n root: string = \"/\",\n file: string,\n ): Promise<void> => {\n await this.r.post(`/servers/${this.id}/files/decompress`, {root, file})\n }\n\n delete = async (\n root: string = \"/\",\n files: string[],\n ): Promise<void> => {\n await this.r.post(`/servers/${this.id}/files/delete`, {root, files})\n }\n\n createFolder = async (\n root: string = \"/\",\n name: string,\n ): Promise<void> => {\n await this.r.post(`/servers/${this.id}/files/create-folder`, {root, name})\n }\n\n chmod = async (\n root: string = \"/\",\n files: Array<{ file: string, mode: number }>\n ): Promise<void> => {\n await this.r.post(`/servers/${this.id}/files/chmod`, {root, files})\n }\n\n pullFromRemote = async (\n url: string,\n directory?: string,\n filename?: string, // Unused\n use_header: boolean = false, // Unused\n foreground: boolean = false // Unused\n ): Promise<void> => {\n await this.r.post(`/servers/${this.id}/files/pull`, {url, directory, filename, use_header, foreground})\n }\n\n uploadGetUrl = async (): Promise<string> => {\n const {data} = await this.r.get<\n GenericResponse<{ url: string }, \"signed_url\">\n >(`/servers/${this.id}/files/upload`)\n return data.attributes.url\n }\n\n upload = async (file: File, root: string = \"/\"): Promise<void> => {\n const url = await this.uploadGetUrl()\n await axios.post(url, {files: file}, {\n headers: {\"Content-Type\": \"multipart/form-data\"},\n params: {directory: root}\n })\n }\n}","import {AxiosInstance} from \"axios\";\nimport {Schedule, ScheduleTask} from \"@/api/common/types/server_schedule\";\nimport {GenericListResponse, GenericResponse} from \"@/api/base/types\";\nimport {PartialBy} from \"@/utils/types\";\n\nexport class ServerSchedules {\n private readonly r: AxiosInstance\n private readonly id: string\n\n constructor(requester: AxiosInstance, id: string) {\n this.r = requester\n this.id = id\n }\n\n list = async (): Promise<Schedule[]> => {\n const {data} = await this.r.get<\n GenericListResponse<GenericResponse<Schedule, \"server_schedule\">>\n >(`/servers/${this.id}/schedules`)\n return data.data.map(d => d.attributes)\n }\n\n create = async (params: ScheduleCreateParams): Promise<Schedule> => {\n const {data} = await this.r.post<\n GenericResponse<Schedule, \"server_schedule\">\n >(`/servers/${this.id}/schedules`, params)\n return data.attributes\n }\n\n control = (sched_id: number) => new ScheduleControl(this.r, this.id, sched_id)\n}\n\ntype ScheduleCreateParams = {\n name: string,\n is_active?: boolean,\n only_when_online?: boolean,\n minute: string,\n hour: string,\n day_of_week: string,\n month: string,\n day_of_month: string\n}\n\nclass ScheduleControl {\n private r: AxiosInstance\n private readonly id: string\n private readonly sched_id: number\n\n constructor(requester: AxiosInstance, id: string, sched_id: number) {\n this.r = requester\n this.id = id\n this.sched_id = sched_id\n }\n\n info = async (): Promise<Schedule> => {\n const {data} = await this.r.get<\n GenericResponse<Schedule, \"server_schedule\">\n >(`/servers/${this.id}/schedules/${this.sched_id}`)\n return data.attributes\n }\n\n update = async (params: ScheduleCreateParams): Promise<Schedule> => {\n const {data} = await this.r.post<\n GenericResponse<Schedule, \"server_schedule\">\n >(`/servers/${this.id}/schedules/${this.sched_id}`, params)\n return data.attributes\n }\n\n delete = async (): Promise<void> => {\n await this.r.delete(`/servers/${this.id}/schedules/${this.sched_id}`)\n }\n\n execute = async (): Promise<void> => {\n await this.r.post(`/servers/${this.id}/schedules/${this.sched_id}/execute`)\n }\n\n tasks = {\n create: async (\n opts: PartialBy<\n Pick<ScheduleTask, \"action\" | \"payload\" | \"time_offset\" | \"sequence_id\" | \"continue_on_failure\">,\n \"payload\" | \"sequence_id\" | \"continue_on_failure\"\n >\n ): Promise<ScheduleTask> => {\n const {data} = await this.r.post<\n GenericResponse<ScheduleTask, \"server_schedule_task\">\n >(`/servers/${this.id}/schedules/${this.sched_id}/tasks`, opts)\n return data.attributes\n },\n\n update: async <T extends \"command\" | \"power\" | \"backup\" | \"delete_files\">(\n task_id: number,\n opts: PartialBy<\n Pick<ScheduleTask, \"action\" | \"payload\" | \"time_offset\" | \"sequence_id\" | \"continue_on_failure\">,\n \"payload\" | \"sequence_id\" | \"continue_on_failure\"\n >\n ): Promise<ScheduleTask> => {\n const {data} = await this.r.post<\n GenericResponse<ScheduleTask, \"server_schedule_task\">\n >(`/servers/${this.id}/schedules/${this.sched_id}/tasks/${task_id}`, opts)\n return data.attributes\n },\n\n delete: async (task_id: number): Promise<void> => {\n await this.r.delete(`/servers/${this.id}/schedules/${this.sched_id}/tasks/${task_id}`)\n }\n }\n}","import {AxiosInstance} from \"axios\";\nimport {GenericListResponse, GenericResponse} from \"@/api/base/types\";\nimport {Allocation} from \"@/api/common/types/server_allocations\";\n\nexport class ServerAllocations {\n private readonly r: AxiosInstance\n private readonly id: string\n\n constructor(requester: AxiosInstance, id: string) {\n this.r = requester\n this.id = id\n }\n\n list = async (): Promise<Allocation[]> => {\n const {data} = await this.r.get<\n GenericListResponse<GenericResponse<Allocation, \"allocation\">>\n >(`/servers/${this.id}/network/allocations`)\n return data.data.map(r => r.attributes)\n }\n\n autoAssign = async (): Promise<Allocation> => {\n const {data} = await this.r.post<\n GenericResponse<Allocation, \"allocation\">\n >(`/servers/${this.id}/network/allocations`)\n return data.attributes\n }\n\n setNotes = async (alloc_id: number, notes: string): Promise<Allocation> => {\n const {data} = await this.r.post<\n GenericResponse<Allocation, \"allocation\">\n >(`/servers/${this.id}/network/allocations/${alloc_id}`, {notes})\n return data.attributes\n }\n\n setPrimary = async (alloc_id: number): Promise<Allocation> => {\n const {data} = await this.r.post<\n GenericResponse<Allocation, \"allocation\">\n >(`/servers/${this.id}/network/allocations/${alloc_id}/primary`)\n return data.attributes\n }\n\n unassign = async (alloc_id: number): Promise<void> => {\n await this.r.delete(`/servers/${this.id}/network/allocations/${alloc_id}`)\n }\n}","import {AxiosInstance} from \"axios\";\nimport {GenericListResponse, GenericResponse} from \"@/api/base/types\";\nimport {ServerSubuser, SubuserPermission} from \"@/api/client/types/server_subuser\";\n\nexport class ServerUsers {\n private readonly r: AxiosInstance\n private readonly id: string\n\n constructor(requester: AxiosInstance, id: string) {\n this.r = requester\n this.id = id\n }\n\n list = async (): Promise<ServerSubuser[]> => {\n const {data} = await this.r.get<\n GenericListResponse<GenericResponse<ServerSubuser, \"user\">>\n >(`/servers/${this.id}/users`)\n return data.data.map(d => d.attributes)\n }\n\n create = async (email: string, permissions: SubuserPermission[] | string[]): Promise<ServerSubuser> => {\n const {data} = await this.r.post<\n GenericResponse<ServerSubuser, \"user\">\n >(`/servers/${this.id}/users`, {email, permissions})\n return data.attributes\n }\n\n info = async (user_id: number): Promise<ServerSubuser> => {\n const {data} = await this.r.get<\n GenericResponse<ServerSubuser, \"user\">\n >(`/servers/${this.id}/users/${user_id}`)\n return data.attributes\n }\n\n update = async (user_id: number, permissions: SubuserPermission[] | string[]): Promise<ServerSubuser> => {\n const {data} = await this.r.put<\n GenericResponse<ServerSubuser, \"user\">\n >(`/servers/${this.id}/users/${user_id}`, {permissions})\n return data.attributes\n }\n\n delete = async (user_id: number): Promise<void> => {\n await this.r.delete(`/servers/${this.id}/users/${user_id}`)\n }\n\n}","import axios, {AxiosInstance} from \"axios\";\nimport {Backup} from \"@/api/common/types/server_backup\";\nimport z, {string} from \"zod\";\nimport {GenericListResponse, GenericResponse} from \"@/api/base/types\";\n\n\nexport class ServerBackups {\n private readonly r: AxiosInstance\n private readonly id: string\n\n constructor(requester: AxiosInstance, id: string) {\n this.r = requester\n this.id = id\n }\n\n list = async (page: number = 1): Promise<Backup[]> => {\n z.number().positive().parse(page)\n const {data} = await this.r.get<\n GenericListResponse<GenericResponse<Backup, \"backup\">>\n >(`/servers/${this.id}/backups`, {\n params: {page}\n })\n\n return data.data.map(d=>d.attributes)\n }\n\n create = async (args: {\n name?: string,\n is_locked: boolean,\n ignored_files: string[],\n }): Promise<Backup> => {\n args.name = z.string().max(255).optional().parse(args.name)\n const {data} = await this.r.post<\n GenericResponse<Backup, \"backup\">\n >(`/servers/${this.id}/backups`, {\n name: args.name,\n is_locked: args.is_locked,\n ignored_files: args.ignored_files.join(\"\\n\")\n })\n return data.attributes\n }\n\n info = async (backup_uuid: string): Promise<Backup> => {\n const {data} = await this.r.get<\n GenericResponse<Backup, \"backup\">\n >(`/servers/${this.id}/backups/${backup_uuid}`)\n return data.attributes\n }\n\n downloadGetUrl = async (backup_uuid: string): Promise<string> => {\n const {data} = await this.r.get<\n GenericResponse<{ url: string }, \"signed_url\">\n >(`/servers/${this.id}/backups/${backup_uuid}/download`)\n return data.attributes.url\n }\n\n download = async (backup_uuid: string): Promise<ArrayBuffer> => {\n const url = await this.downloadGetUrl(backup_uuid)\n const {data} = await axios.get<ArrayBuffer>(url, {responseType: \"arraybuffer\"})\n return data\n }\n\n delete = async (backup_uuid: string): Promise<void> => {\n await this.r.delete(`/servers/${this.id}/backups/${backup_uuid}`)\n }\n\n}","import {AxiosInstance} from \"axios\";\nimport {CustomListResponse, GenericListResponse, GenericResponse} from \"@/api/base/types\";\nimport {StartupMeta, StartupParams} from \"@/api/common/types/server_startup\";\n\n\nexport class ServerStartup {\n private readonly r: AxiosInstance\n private readonly id: string\n\n constructor(requester: AxiosInstance, id: string) {\n this.r = requester\n this.id = id\n }\n\n list = async (): Promise<CustomListResponse<StartupParams, StartupMeta>> => {\n const {data} = await this.r.get<\n CustomListResponse<GenericResponse<StartupParams, \"egg_variable\">, StartupMeta>\n >(`/servers/${this.id}/startup`)\n\n return {\n object: \"list\",\n meta: data.meta,\n data: data.data.map(d=>d.attributes)\n }\n }\n\n set = async (key: string, value: string): Promise<StartupParams> => {\n const {data} = await this.r.put<\n GenericResponse<StartupParams, \"egg_variable\">\n >(`/servers/${this.id}/startup/variable`, {key, value})\n return data.attributes\n }\n}","import {AxiosInstance} from \"axios\";\nimport z from \"zod\";\nimport {Nullable} from \"@/utils/types\";\n\n\nexport class ServerSettings {\n private readonly r: AxiosInstance\n private readonly id: string\n\n constructor(requester: AxiosInstance, id: string) {\n this.r = requester\n this.id = id\n }\n\n rename = async (name: string): Promise<void> => {\n name = z.string().max(255).parse(name)\n await this.r.post(`/servers/${this.id}/settings/rename`, {name})\n }\n\n updateDescription = async (description: Nullable<string>): Promise<void> => {\n await this.r.post(`/servers/${this.id}/settings/description`, {description})\n }\n\n reinstall = async (): Promise<void> => {\n await this.r.post(`/servers/${this.id}/settings/reinstall`)\n }\n\n changeDockerImage = async (image: string): Promise<void> => {\n await this.r.post(`/servers/${this.id}/settings/docker-image`, {image})\n }\n}","import {AxiosInstance} from \"axios\"\nimport {EventEmitter} from \"events\"\nimport WebSocket from \"isomorphic-ws\"\nimport stripColor from \"strip-color\"\nimport {\n BackupCompletedJson,\n PowerState,\n SOCKET_EVENT,\n StatsWsJson,\n WebsocketEvent\n} from \"@/api/client/types/websocket\";\nimport {ServerSignalOption} from \"@/api/common/types/server_power\";\n\nconst isBrowser = typeof window !== \"undefined\"\n\n\ntype WebsocketHandshakePayload = {\n data: {\n token: string\n socket: string\n }\n}\n\ntype SocketEventPayloadMap = {\n [SOCKET_EVENT.AUTH_SUCCESS]: undefined\n [SOCKET_EVENT.STATUS]: PowerState\n [SOCKET_EVENT.CONSOLE_OUTPUT]: string\n [SOCKET_EVENT.STATS]: StatsWsJson\n [SOCKET_EVENT.DAEMON_ERROR]: undefined\n [SOCKET_EVENT.DAEMON_MESSAGE]: string\n [SOCKET_EVENT.INSTALL_OUTPUT]: string\n [SOCKET_EVENT.INSTALL_STARTED]: undefined\n [SOCKET_EVENT.INSTALL_COMPLETED]: undefined\n [SOCKET_EVENT.TRANSFER_LOGS]: string\n [SOCKET_EVENT.TRANSFER_STATUS]: string\n [SOCKET_EVENT.BACKUP_COMPLETED]: BackupCompletedJson\n [SOCKET_EVENT.BACKUP_RESTORE_COMPLETED]: undefined\n [SOCKET_EVENT.TOKEN_EXPIRING]: undefined\n [SOCKET_EVENT.TOKEN_EXPIRED]: undefined\n [SOCKET_EVENT.JWT_ERROR]: string\n}\n\ntype Listener<E extends SOCKET_EVENT> = SocketEventPayloadMap[E] extends undefined\n ? () => void\n : (payload: SocketEventPayloadMap[E]) => void\n\ntype MessageEventLike = {data?: unknown}\n\ntype CloseEventLike = Parameters<NonNullable<WebSocket[\"onclose\"]>>[0]\n\ntype ErrorEventLike = Parameters<NonNullable<WebSocket[\"onerror\"]>>[0]\n\nconst RECONNECT_ERRORS = new Set([\n \"jwt: exp claim is invalid\",\n \"jwt: created too far in past (denylist)\",\n])\n\nconst FALLBACK_LOG_MESSAGE = \"No logs - is the server online?\"\n\nexport class ServerWebsocket {\n private readonly r: AxiosInstance\n private readonly serverId: string\n private socket?: WebSocket\n private currentToken?: string\n private readonly bus = new EventEmitter()\n private debugLogging = false\n private stripColors: boolean\n private detachMessageListener?: () => void\n\n constructor(requester: AxiosInstance, id: string, stripColors: boolean = false) {\n this.r = requester\n this.serverId = id\n this.stripColors = stripColors\n }\n\n public on<E extends SOCKET_EVENT>(event: E, listener: Listener<E>): () => void {\n const handler = listener as (...args: unknown[]) => void\n this.bus.on(event, handler)\n return () => {\n this.bus.removeListener(event, handler)\n }\n }\n\n public deregister<E extends SOCKET_EVENT>(event: E, listener: Listener<E>): void {\n const handler = listener as (...args: unknown[]) => void\n this.bus.removeListener(event, handler)\n }\n\n private emit<E extends SOCKET_EVENT>(event: E, ...args: SocketEventPayloadMap[E] extends undefined ? [] : [SocketEventPayloadMap[E]]): void {\n if (args.length === 0) {\n this.bus.emit(event)\n } else {\n this.bus.emit(event, args[0])\n }\n }\n\n public async connect(resumable?: boolean, debugLogging?: boolean): Promise<void> {\n this.debugLogging = debugLogging ?? false\n\n if (this.socket) {\n return\n }\n\n const socketUrl = await this.refreshCredentials()\n\n this.socket = isBrowser\n ? new WebSocket(socketUrl)\n : new WebSocket(socketUrl, undefined, {origin: new URL(socketUrl).origin})\n\n await new Promise<void>((resolve, reject) => {\n const socket = this.socket\n if (!socket) {\n reject(new Error(\"Failed to create socket connection\"))\n return\n }\n\n socket.onopen = async () => {\n try {\n await this.authenticate()\n this.attachMessageListener()\n socket.onopen = null\n socket.onerror = null\n resolve()\n } catch (error) {\n socket.onopen = null\n socket.onerror = null\n reject(error instanceof Error ? error : new Error(\"Websocket authentication failed\"))\n }\n }\n\n socket.onerror = (event: ErrorEventLike) => {\n socket.onopen = null\n socket.onerror = null\n reject(event instanceof Error ? event : new Error(\"Websocket connection error\"))\n }\n })\n\n if (resumable) {\n this.makeResumable(true)\n }\n }\n\n public onSocketDisconnect(handler: (event: CloseEventLike) => void): void {\n if (!this.socket) {\n console.error(new Error(\"No socket connection\"))\n return\n }\n\n this.socket.onclose = handler\n }\n\n public onSocketError(handler: (event: ErrorEventLike) => void): void {\n if (!this.socket) {\n console.error(new Error(\"No socket connection\"))\n return\n }\n\n this.socket.onerror = handler\n }\n\n public makeResumable(disconnectsToo: boolean): void {\n const scheduleReconnect = () => {\n setTimeout(() => {\n const previous = this.socket\n this.detachMessageListener?.()\n this.detachMessageListener = undefined\n this.socket = undefined\n previous?.close()\n void this.connect(true, this.debugLogging)\n }, 1000)\n }\n\n this.onSocketError(() => scheduleReconnect())\n\n if (disconnectsToo) {\n this.onSocketDisconnect(() => scheduleReconnect())\n }\n }\n\n private attachMessageListener(): void {\n if (!this.socket) {\n throw new Error(\"No socket connection\")\n }\n\n this.detachMessageListener?.()\n\n const handler = (event: unknown) => {\n void this.handleIncomingMessage(event)\n }\n\n if (typeof this.socket.addEventListener === \"function\") {\n this.socket.addEventListener(\"message\", handler as (event: MessageEventLike) => void)\n this.detachMessageListener = () => {\n this.socket?.removeEventListener?.(\"message\", handler as (event: MessageEventLike) => void)\n }\n } else {\n const fallback = (data: unknown) => handler({data} satisfies MessageEventLike)\n const socket = this.socket as unknown as {\n on?: (event: string, listener: (data: unknown) => void) => void\n off?: (event: string, listener: (data: unknown) => void) => void\n removeListener?: (event: string, listener: (data: unknown) => void) => void\n }\n\n socket.on?.(\"message\", fallback)\n this.detachMessageListener = () => {\n const target = this.socket as unknown as typeof socket | undefined\n if (!target) {\n return\n }\n\n if (typeof target.off === \"function\") {\n target.off(\"message\", fallback)\n } else if (typeof target.removeListener === \"function\") {\n target.removeListener(\"message\", fallback)\n }\n }\n }\n }\n\n private async handleIncomingMessage(event: unknown): Promise<void> {\n const message = this.parseMessage(event)\n if (!message) {\n return\n }\n\n try {\n await this.dispatchMessage(message)\n } catch (error) {\n if (this.debugLogging) {\n console.error(\"Error while handling websocket message\", error)\n }\n }\n }\n\n private parseMessage(event: unknown): WebsocketEvent | null {\n const payload = this.normalisePayload(event)\n if (!payload) {\n return null\n }\n\n try {\n return JSON.parse(payload) as WebsocketEvent\n } catch (error) {\n if (this.debugLogging) {\n console.warn(\"Failed to parse websocket payload\", error)\n }\n return null\n }\n }\n\n private normalisePayload(event: unknown): string | null {\n if (typeof event === \"string\") {\n return event\n }\n\n if (typeof event === \"object\" && event !== null && \"data\" in event) {\n return this.normalisePayload((event as MessageEventLike).data)\n }\n\n if (typeof Buffer !== \"undefined\" && Buffer.isBuffer(event)) {\n return event.toString(\"utf8\")\n }\n\n if (typeof ArrayBuffer !== \"undefined\" && event instanceof ArrayBuffer) {\n if (typeof TextDecoder !== \"undefined\") {\n return new TextDecoder().decode(new Uint8Array(event))\n }\n\n if (typeof Buffer !== \"undefined\") {\n return Buffer.from(event).toString(\"utf8\")\n }\n }\n\n return null\n }\n\n private async dispatchMessage(message: WebsocketEvent): Promise<void> {\n switch (message.event) {\n case SOCKET_EVENT.AUTH_SUCCESS: {\n if (this.debugLogging) {\n console.debug(\"Auth success\")\n }\n this.emit(SOCKET_EVENT.AUTH_SUCCESS)\n break\n }\n case SOCKET_EVENT.STATUS: {\n if (this.debugLogging) {\n console.debug(\"Received status event\", message.args[0])\n }\n this.emit(SOCKET_EVENT.STATUS, message.args[0])\n break\n }\n case SOCKET_EVENT.CONSOLE_OUTPUT: {\n let output = message.args[0]\n if (this.stripColors) {\n output = stripColor(output)\n }\n if (this.debugLogging) {\n console.debug(\"Received console output\", output)\n }\n this.emit(SOCKET_EVENT.CONSOLE_OUTPUT, output)\n break\n }\n case SOCKET_EVENT.STATS: {\n try {\n const payload = JSON.parse(message.args[0]) as StatsWsJson\n this.emit(SOCKET_EVENT.STATS, payload)\n } catch (error) {\n if (this.debugLogging) {\n console.warn(\"Failed to parse stats payload\", error)\n }\n }\n break\n }\n case SOCKET_EVENT.DAEMON_ERROR: {\n this.emit(SOCKET_EVENT.DAEMON_ERROR)\n break\n }\n case SOCKET_EVENT.BACKUP_COMPLETED: {\n try {\n const payload = JSON.parse(message.args[0]) as BackupCompletedJson\n this.emit(SOCKET_EVENT.BACKUP_COMPLETED, payload)\n } catch (error) {\n if (this.debugLogging) {\n console.warn(\"Failed to parse backup payload\", error)\n }\n }\n break\n }\n case SOCKET_EVENT.DAEMON_MESSAGE: {\n let output = message.args[0]\n if (this.stripColors) {\n output = stripColor(output)\n }\n this.emit(SOCKET_EVENT.DAEMON_MESSAGE, output)\n break\n }\n case SOCKET_EVENT.INSTALL_OUTPUT: {\n let output = message.args[0]\n if (this.stripColors) {\n output = stripColor(output)\n }\n this.emit(SOCKET_EVENT.INSTALL_OUTPUT, output)\n break\n }\n case SOCKET_EVENT.BACKUP_RESTORE_COMPLETED: {\n this.emit(SOCKET_EVENT.BACKUP_RESTORE_COMPLETED)\n break\n }\n case SOCKET_EVENT.INSTALL_COMPLETED: {\n this.emit(SOCKET_EVENT.INSTALL_COMPLETED)\n break\n }\n case SOCKET_EVENT.INSTALL_STARTED: {\n this.emit(SOCKET_EVENT.INSTALL_STARTED)\n break\n }\n case SOCKET_EVENT.TRANSFER_LOGS: {\n this.emit(SOCKET_EVENT.TRANSFER_LOGS, message.args[0])\n break\n }\n case SOCKET_EVENT.TRANSFER_STATUS: {\n this.emit(SOCKET_EVENT.TRANSFER_STATUS, message.args[0])\n break\n }\n case SOCKET_EVENT.TOKEN_EXPIRING: {\n this.emit(SOCKET_EVENT.TOKEN_EXPIRING)\n if (this.debugLogging) {\n console.warn(\"Token expiring, renewing...\")\n }\n await this.refreshCredentials()\n await this.authenticate()\n break\n }\n case SOCKET_EVENT.TOKEN_EXPIRED: {\n this.emit(SOCKET_EVENT.TOKEN_EXPIRED)\n throw new Error(\"Token expired\")\n }\n case SOCKET_EVENT.JWT_ERROR: {\n const reason = message.args[0]\n if (RECONNECT_ERRORS.has(reason)) {\n this.emit(SOCKET_EVENT.TOKEN_EXPIRING)\n if (this.debugLogging) {\n console.warn(\"Token expiring (JWT error), renewing...\")\n }\n await this.refreshCredentials()\n await this.authenticate()\n } else {\n this.emit(SOCKET_EVENT.JWT_ERROR, reason)\n throw new Error(\"Token expired\")\n }\n break\n }\n default: {\n if (this.debugLogging) {\n console.warn(\"Unknown websocket event\", message)\n }\n break\n }\n }\n }\n\n private async refreshCredentials(): Promise<string> {\n const {data} = await this.r.get<WebsocketHandshakePayload>(`/servers/${this.serverId}/websocket`)\n this.currentToken = data.data.token\n return data.data.socket\n }\n\n private async authenticate(): Promise<void> {\n if (!this.socket) {\n throw new Error(\"No socket connection\")\n }\n\n if (!this.currentToken) {\n throw new Error(\"Missing websocket token\")\n }\n\n this.socket.send(JSON.stringify({event: \"auth\", args: [this.currentToken]}))\n }\n\n public disconnect(): void {\n this.detachMessageListener?.()\n this.detachMessageListener = undefined\n if (this.socket) {\n this.socket.close()\n this.socket = undefined\n }\n }\n\n public requestStats(): void {\n this.send(\"send stats\", [null])\n }\n\n public requestLogs(): void {\n this.send(\"send logs\", [null])\n }\n\n private send(event: string, args: unknown[]): void {\n if (!this.socket) {\n if (this.debugLogging) {\n console.warn(`Attempted to send \"${event}\" without an active websocket connection`)\n }\n return\n }\n\n this.socket.send(JSON.stringify({event, args}))\n }\n\n public getStats(): Promise<StatsWsJson> {\n return new Promise((resolve, reject) => {\n if (!this.socket) {\n reject(new Error(\"No socket connection\"))\n return\n }\n\n let off: (() => void) | undefined\n const timeout = setTimeout(() => {\n off?.()\n reject(new Error(\"Timed out waiting for stats\"))\n }, 5000)\n\n off = this.on(SOCKET_EVENT.STATS, (payload) => {\n clearTimeout(timeout)\n off?.()\n resolve(payload)\n })\n\n this.requestStats()\n })\n }\n\n public getLogs(): Promise<string[]> {\n return new Promise((resolve, reject) => {\n if (!this.socket) {\n reject(new Error(\"No socket connection\"))\n return\n }\n\n const lines: string[] = []\n let off: (() => void) | undefined\n let initialTimeout: ReturnType<typeof setTimeout> | undefined\n let idleTimeout: ReturnType<typeof setTimeout> | undefined\n\n const finalize = (payload: string[]) => {\n off?.()\n if (initialTimeout) {\n clearTimeout(initialTimeout)\n }\n if (idleTimeout) {\n clearTimeout(idleTimeout)\n }\n resolve(payload)\n }\n\n initialTimeout = setTimeout(() => {\n finalize(lines.length > 0 ? lines : [FALLBACK_LOG_MESSAGE])\n }, 5000)\n\n off = this.on(SOCKET_EVENT.CONSOLE_OUTPUT, (line) => {\n lines.push(line)\n if (initialTimeout) {\n clearTimeout(initialTimeout)\n initialTimeout = undefined\n }\n if (idleTimeout) {\n clearTimeout(idleTimeout)\n }\n idleTimeout = setTimeout(() => {\n finalize(lines)\n }, 1000)\n })\n\n this.requestLogs()\n })\n }\n\n public sendPoweraction(action: ServerSignalOption): void {\n this.send(\"set state\", [action])\n }\n\n public sendCommand(cmd: string): void {\n this.send(\"send command\", [cmd])\n }\n}\n","import {AxiosInstance} from \"axios\";\nimport {ServerActivityLog} from \"@/api/client/types/server\";\nimport {GenericListResponse, GenericResponse} from \"@/api/base/types\";\n\nexport class ServerActivity {\n private readonly r: AxiosInstance\n private readonly id: string\n\n constructor(r: AxiosInstance, id: string) {\n this.r = r\n this.id = id\n }\n\n list = async (\n page: number = 1,\n per_page: number = 25,\n ): Promise<ServerActivityLog[]> => {\n const {data} = await this.r.get<GenericListResponse<GenericResponse<ServerActivityLog, \"activity_log\">>>(`/server/${this.id}/activity`, {\n params: {\n page,\n per_page,\n },\n })\n return data.data.map(log => log.attributes)\n }\n}","import {AxiosInstance} from \"axios\";\nimport {GenericResponse} from \"@/api/base/types\";\nimport {Server, ServerStats} from \"@/api/client/types/server\";\nimport {ServerDatabases} from \"@/api/client/server_databases\";\nimport {ServerFiles} from \"@/api/client/server_files\";\nimport {ServerSchedules} from \"@/api/client/server_schedules\";\nimport {ServerAllocations} from \"@/api/client/server_allocations\";\nimport {ServerUsers} from \"@/api/client/server_users\";\nimport {ServerBackups} from \"@/api/client/server_backups\";\nimport {ServerStartup} from \"@/api/client/server_startup\";\nimport {ServerSettings} from \"@/api/client/server_settings\";\nimport {ServerWebsocket} from \"@/api/client/server_websocket\";\nimport {ServerActivity} from \"@/api/client/server_activity\";\n\n\nexport class ServerClient {\n private readonly r: AxiosInstance\n private readonly id: string\n\n activity: ServerActivity\n databases: ServerDatabases\n files: ServerFiles\n schedules: ServerSchedules\n allocations: ServerAllocations\n users: ServerUsers\n backups: ServerBackups\n startup: ServerStartup\n variables: ServerStartup\n settings: ServerSettings\n\n constructor(requester: AxiosInstance, id: string) {\n this.r = requester\n this.id = id\n\n this.activity = new ServerActivity(requester, id)\n this.databases = new ServerDatabases(requester, id)\n this.files = new ServerFiles(requester, id)\n this.schedules = new ServerSchedules(requester, id)\n this.allocations = new ServerAllocations(requester, id)\n this.users = new ServerUsers(requester, id)\n this.backups = new ServerBackups(requester, id)\n this.startup = new ServerStartup(requester, id)\n this.variables = this.startup // preferable\n this.settings = new ServerSettings(requester, id)\n }\n\n info = async (include?: (\"egg\" | \"subusers\")[]): Promise<Server> => {\n const {data} = await this.r.get<GenericResponse<Server, \"server\">>(`/servers/${this.id}`, {\n params: {include: include?.join(\",\")}\n })\n return data.attributes\n }\n\n websocket = (stripColors: boolean = false): ServerWebsocket => {\n return new ServerWebsocket(this.r, this.id, stripColors)\n }\n\n resources = async (): Promise<ServerStats> => {\n const {data} = await this.r.get<GenericResponse<ServerStats, \"stats\">>(`/servers/${this.id}/resources`)\n return data.attributes\n }\n\n command = async (command: string): Promise<void> => {\n await this.r.post(`/servers/${this.id}/command`, {command})\n }\n\n power = async (signal: \"start\" | \"stop\" | \"restart\" | \"kill\"): Promise<void> => {\n await this.r.post(`/servers/${this.id}/power`, {signal})\n }\n}","import {AxiosInstance} from \"axios\";\nimport z from \"zod\";\nimport {GenericListResponse, GenericResponse} from \"@/api/base/types\";\nimport {User} from \"@/api/application/types/user\";\nimport {ArrayQueryParams, SortParam} from \"@/utils/transform\";\nimport {ExactlyOneKey} from \"@/utils/types\";\n\n\nexport class Users {\n private readonly r: AxiosInstance\n\n constructor(requester: AxiosInstance) {\n this.r = requester\n }\n\n list = async (\n {...opts}: ListType,\n page: number = 1\n ): Promise<User[]> => {\n z.number().positive().parse(page)\n const {data} = await this.r.get<\n GenericListResponse<GenericResponse<User, \"user\">>\n >(\"/users\", {\n params: {\n include: opts.include?.join(\",\"),\n page,\n ...ArrayQueryParams({filters: opts.filters || {}}),\n sort: opts.sort?.id\n ? SortParam(\"id\", opts.sort?.id)\n : SortParam(\"uuid\", opts.sort?.uuid!)\n }\n })\n\n return data.data.map(d => d.attributes)\n }\n\n info = async (\n id: number,\n {include}: { include?: (\"servers\")[] }\n ): Promise<User> => {\n z.number().positive().parse(id)\n const {data} = await this.r.get<\n GenericResponse<User, \"user\">\n >(`/users/${id}`, {\n params: {include: include?.join(\",\")}\n })\n return data.attributes\n }\n\n infoByExternal = async (\n external_id: string,\n {include}: { include?: (\"servers\")[] }\n ): Promise<User> => {\n const {data} = await this.r.get<\n GenericResponse<User, \"user\">\n >(`/users/external/${external_id}`)\n return data.attributes\n }\n\n create = async (user: CreateType): Promise<User> => {\n const {data} = await this.r.post<\n GenericResponse<User, \"user\">\n >(\"/users\", user)\n return data.attributes\n }\n\n update = async (id: number, user: UpdateType): Promise<User> => {\n z.number().positive().parse(id)\n const {data} = await this.r.put<\n GenericResponse<User, \"user\">\n >(`/users/${id}`, user)\n return data.attributes\n }\n\n delete = async (id: number): Promise<void> => {\n z.number().positive().parse(id)\n await this.r.delete(`/users/${id}`)\n }\n\n}\n\ntype ListType = {\n include?: (\"servers\")[],\n filters?: ListFilters,\n sort?: ListSort\n}\ntype ListFilters = {\n [key in \"email\" | \"uuid\" | \"username\" | \"external_id\"]: string;\n};\n\ntype ListSort = ExactlyOneKey<\"id\" | \"uuid\", \"asc\" | \"desc\">\n\ntype CreateType = {\n email: string,\n username: string,\n first_name: string,\n last_name: string\n}\n\ntype UpdateType = CreateType & {\n language: string\n password: string\n}","import {string} from \"zod\";\n\n\nexport const ArrayQueryParams = (p: {\n [key: string]: {\n [key: string]: string\n }\n}): {\n [key: string]: string\n} => {\n const params = new URLSearchParams()\n\n const o: ReturnType<typeof ArrayQueryParams> = {}\n\n for (const [param, value] of Object.entries(p)) {\n for (const [key, val] of Object.entries(value)) {\n o[`${param}[${key}]`] = val\n }\n }\n\n return o\n}\n\nexport const SortParam = (key: string, p: \"asc\" | \"desc\"): string => {\n return `${p===\"desc\" ? \"-\" : \"\"}${key}`\n}","import {AxiosInstance} from \"axios\";\nimport {Users} from \"@/api/application/users\";\n\nexport class Client {\n private readonly r: AxiosInstance\n users: Users\n\n constructor(requester: AxiosInstance) {\n this.r = requester\n\n this.users = new Users(requester)\n }\n}","import z from \"zod\"\nimport axios, {AxiosInstance, AxiosResponse} from \"axios\";\nimport {PterodactylError, PterodactylException} from \"@/api/base/types\";\n\nexport class Agent {\n private readonly base_url: string\n private readonly token: string\n readonly requester: AxiosInstance\n\n constructor(url: string, token: string, type: \"client\" | \"application\") {\n this.base_url = z.url(\"Invalid URL Schema\").parse(url)\n this.token = z.string().regex(/^(ptl[ac]|pacc|papp)_.+$/, \"Invalid token type\").parse(token)\n\n this.requester = axios.create({\n baseURL: this.base_url.replace(/\\/+$/, \"\")+`/api/${type}`,\n timeout: 3000,\n headers: {\n Authorization: `Bearer ${this.token}`\n }\n })\n\n this.requester.interceptors.response.use(undefined, (error: any)=>{\n if (error.response && error.response.status === 400) {\n return Promise.reject(new PterodactylException(\n 'Invalid request data',\n error.response.data as PterodactylError[],\n error.response.status\n ));\n }\n return Promise.reject(error);\n })\n }\n}","export type GenericResponse<T, N extends string = string, M = undefined> = {\n object: N,\n attributes: T,\n meta?: M\n}\n\ntype PaginationMeta = {\n total: number,\n count: number,\n per_page: number,\n current_page: number,\n total_pages: number,\n links: any\n}\n\nexport type GenericListResponse<T> = {\n object: \"list\",\n data: T[],\n meta?: { pagination: PaginationMeta }\n}\n\nexport type CustomListResponse<T, M> = {\n object: \"list\",\n data: T[],\n meta?: M\n}\n\n\nexport class PterodactylException extends Error {\n data: PterodactylError[]\n status: number\n\n constructor(message: string, data: PterodactylError[], status: number) {\n super(message)\n this.data = data\n this.status = status\n }\n}\n\nexport type PterodactylError = {\n code: string,\n status?: number,\n detail: string,\n source?: {\n [key: string]: string\n }\n}","import {Client as UserClient} from \"@/api/client/client\";\nimport {Client as AppClient} from \"@/api/application/client\";\nimport {Agent} from \"@/api/base/request\";\n\nexport class PelicanClient extends UserClient{\n constructor(url: string, token: string) {\n const ax = new Agent(url, token, \"client\")\n super(ax.requester)\n }\n}\n\nexport class PelicanApplication extends AppClient{\n constructor(url: string, token: string) {\n const ax = new Agent(url, token, \"application\")\n super(ax.requester)\n }\n}"],"mappings":"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","names":["z","z","axios","z","z","z","z","z","Client","z","axios","z","axios","Client"]}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pelican.ts/sdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Pelican panel SDK for TypeScript",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"scripts": {
|
|
9
|
-
"build": "
|
|
10
|
-
"
|
|
9
|
+
"build": "tsup src/index.ts --format esm,cjs --dts --sourcemap --target esnext",
|
|
10
|
+
"pub": "npm publish --access=public"
|
|
11
11
|
},
|
|
12
12
|
"keywords": ["pterodactyl", "pterodactyl.ts", "pterodactyl.js", "pelican", "pelican.ts", "pelican.js"],
|
|
13
13
|
"author": "M41den",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/application/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAC,KAAK,EAAC,MAAM,yBAAyB,CAAC;AAE9C,qBAAa,MAAM;IACf,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAe;IACjC,KAAK,EAAE,KAAK,CAAA;gBAEA,SAAS,EAAE,aAAa;CAKvC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Client = void 0;
|
|
4
|
-
const users_1 = require("../../api/application/users");
|
|
5
|
-
class Client {
|
|
6
|
-
r;
|
|
7
|
-
users;
|
|
8
|
-
constructor(requester) {
|
|
9
|
-
this.r = requester;
|
|
10
|
-
this.users = new users_1.Users(requester);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.Client = Client;
|
|
14
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/application/client.ts"],"names":[],"mappings":";;;AACA,mDAA8C;AAE9C,MAAa,MAAM;IACE,CAAC,CAAe;IACjC,KAAK,CAAO;IAEZ,YAAY,SAAwB;QAChC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;QAElB,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,SAAS,CAAC,CAAA;IACrC,CAAC;CACJ;AATD,wBASC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { AxiosInstance } from "axios";
|
|
2
|
-
import { NodesAllocations } from "../../api/application/nodes_allocations";
|
|
3
|
-
import { Node } from "../../api/application/types/node";
|
|
4
|
-
export declare class Nodes {
|
|
5
|
-
private readonly r;
|
|
6
|
-
constructor(requester: AxiosInstance);
|
|
7
|
-
list: (include?: ("allocations" | "location" | "servers")[], page?: number) => Promise<Node[]>;
|
|
8
|
-
info: (id: number, include?: ("allocations" | "location" | "servers")[]) => Promise<Node>;
|
|
9
|
-
show_configuration: (id: number) => Promise<any>;
|
|
10
|
-
create: (node: NodeCreate) => Promise<NodeUpdated>;
|
|
11
|
-
update: (id: number, node: Node) => Promise<NodeUpdated>;
|
|
12
|
-
delete: (id: number) => Promise<void>;
|
|
13
|
-
allocations: (server_id: number) => NodesAllocations;
|
|
14
|
-
}
|
|
15
|
-
type NodeCreate = {
|
|
16
|
-
name: string;
|
|
17
|
-
location_id: number;
|
|
18
|
-
fqdn: string;
|
|
19
|
-
scheme: "https" | "http";
|
|
20
|
-
memory: number;
|
|
21
|
-
memory_overallocate: number;
|
|
22
|
-
disk: number;
|
|
23
|
-
disk_overallocate: number;
|
|
24
|
-
upload_size: number;
|
|
25
|
-
daemon_listen: number;
|
|
26
|
-
daemon_sftp: number;
|
|
27
|
-
};
|
|
28
|
-
type NodeAllocatedResources = {
|
|
29
|
-
memory: number;
|
|
30
|
-
disk: number;
|
|
31
|
-
};
|
|
32
|
-
type NodeUpdated = Node & {
|
|
33
|
-
allocated_resources: NodeAllocatedResources;
|
|
34
|
-
};
|
|
35
|
-
export {};
|
|
36
|
-
//# sourceMappingURL=nodes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/api/application/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAIrE,OAAO,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAC;AAGlD,qBAAa,KAAK;IACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAe;gBAErB,SAAS,EAAE,aAAa;IAIpC,IAAI,GACA,UAAU,CAAC,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,EACpD,OAAM,MAAU,KACjB,OAAO,CAAC,IAAI,EAAE,CAAC,CAQjB;IAED,IAAI,GACA,IAAI,MAAM,EACV,UAAU,CAAC,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KACjD,OAAO,CAAC,IAAI,CAAC,CAOnB;IAED,kBAAkB,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,GAAG,CAAC,CAIpD;IAED,MAAM,GAAU,MAAM,UAAU,KAAG,OAAO,CAAC,WAAW,CAAC,CAQtD;IAED,MAAM,GAAU,IAAI,MAAM,EAAE,MAAM,IAAI,KAAG,OAAO,CAAC,WAAW,CAAC,CAS5D;IAED,MAAM,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAGzC;IAED,WAAW,GAAI,WAAW,MAAM,KAAG,gBAAgB,CAElD;CACJ;AAED,KAAK,UAAU,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,WAAW,GAAG,IAAI,GAAG;IAAC,mBAAmB,EAAE,sBAAsB,CAAA;CAAC,CAAA"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Nodes = void 0;
|
|
7
|
-
const nodes_allocations_1 = require("../../api/application/nodes_allocations");
|
|
8
|
-
const zod_1 = __importDefault(require("zod"));
|
|
9
|
-
class Nodes {
|
|
10
|
-
r;
|
|
11
|
-
constructor(requester) {
|
|
12
|
-
this.r = requester;
|
|
13
|
-
}
|
|
14
|
-
list = async (include, page = 1) => {
|
|
15
|
-
zod_1.default.number().positive().parse(page);
|
|
16
|
-
const { data } = await this.r.get("/nodes", {
|
|
17
|
-
params: { include: include?.join(","), page }
|
|
18
|
-
});
|
|
19
|
-
return data.data.map(s => s.attributes);
|
|
20
|
-
};
|
|
21
|
-
info = async (id, include) => {
|
|
22
|
-
zod_1.default.number().positive().parse(id);
|
|
23
|
-
const { data } = await this.r.get(`/nodes/${id}`, { params: { include: include?.join(",") } });
|
|
24
|
-
return data.attributes;
|
|
25
|
-
};
|
|
26
|
-
show_configuration = async (id) => {
|
|
27
|
-
zod_1.default.number().positive().parse(id);
|
|
28
|
-
const { data } = await this.r.get(`/nodes/${id}/configuration`);
|
|
29
|
-
return data;
|
|
30
|
-
};
|
|
31
|
-
create = async (node) => {
|
|
32
|
-
const { data } = await this.r.post("/nodes", node);
|
|
33
|
-
return data.attributes;
|
|
34
|
-
};
|
|
35
|
-
update = async (id, node) => {
|
|
36
|
-
zod_1.default.number().positive().parse(id);
|
|
37
|
-
const { data } = await this.r.put(`/nodes/${id}`, node);
|
|
38
|
-
return data.attributes;
|
|
39
|
-
};
|
|
40
|
-
delete = async (id) => {
|
|
41
|
-
zod_1.default.number().positive().parse(id);
|
|
42
|
-
await this.r.delete(`/nodes/${id}`);
|
|
43
|
-
};
|
|
44
|
-
allocations = (server_id) => (new nodes_allocations_1.NodesAllocations(this.r, server_id));
|
|
45
|
-
}
|
|
46
|
-
exports.Nodes = Nodes;
|
|
47
|
-
//# sourceMappingURL=nodes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/api/application/nodes.ts"],"names":[],"mappings":";;;;;;AACA,2EAAqE;AAGrE,8CAAoB;AAIpB,MAAa,KAAK;IACG,CAAC,CAAe;IAEjC,YAAY,SAAwB;QAChC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IACtB,CAAC;IAED,IAAI,GAAG,KAAK,EACR,OAAoD,EACpD,OAAe,CAAC,EACD,EAAE;QACjB,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAE7B,QAAQ,EAAE;YACR,MAAM,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAC;SAC9C,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC,CAAA;IAED,IAAI,GAAG,KAAK,EACR,EAAU,EACV,OAAoD,EACnC,EAAE;QACnB,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/B,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAC3B,UAAU,EAAE,EAAE,EACd,EAAC,MAAM,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAC,EAAC,CAC1C,CAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC,CAAA;IAED,kBAAkB,GAAG,KAAK,EAAE,EAAU,EAAgB,EAAE;QACpD,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/B,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,MAAM,GAAG,KAAK,EAAE,IAAgB,EAAwB,EAAE;QACtD,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAG5B,QAAQ,EACR,IAAI,CACP,CAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,GAAG,KAAK,EAAE,EAAU,EAAE,IAAU,EAAwB,EAAE;QAC5D,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/B,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAG3B,UAAU,EAAE,EAAE,EACd,IAAI,CACP,CAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,GAAG,KAAK,EAAE,EAAU,EAAiB,EAAE;QACzC,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/B,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,WAAW,GAAG,CAAC,SAAiB,EAAoB,EAAE,CAAC,CACnD,IAAI,oCAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAC1C,CAAA;CACJ;AAnED,sBAmEC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { AxiosInstance } from "axios";
|
|
2
|
-
import { AllocationRel } from "../../api/common/types/server_allocations";
|
|
3
|
-
export declare class NodesAllocations {
|
|
4
|
-
private readonly r;
|
|
5
|
-
private readonly id;
|
|
6
|
-
constructor(requester: AxiosInstance, id: number);
|
|
7
|
-
list: (include?: ("node" | "server")[]) => Promise<AllocationRel[]>;
|
|
8
|
-
create: (ip: string, ports: number[] | string, alias?: string) => Promise<void>;
|
|
9
|
-
delete: (alloc_id: number) => Promise<void>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=nodes_allocations.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodes_allocations.d.ts","sourceRoot":"","sources":["../../../src/api/application/nodes_allocations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAa,aAAa,EAAC,MAAM,uCAAuC,CAAC;AAKhF,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAe;IACjC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAQ;gBAEf,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM;IAKhD,IAAI,GAAU,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,KAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAQvE;IAED,MAAM,GACF,IAAI,MAAM,EACV,OAAO,MAAM,EAAE,GAAG,MAAM,EACxB,QAAQ,MAAM,KACf,OAAO,CAAC,IAAI,CAAC,CAUf;IAED,MAAM,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;CACJ"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.NodesAllocations = void 0;
|
|
7
|
-
const zod_1 = __importDefault(require("zod"));
|
|
8
|
-
class NodesAllocations {
|
|
9
|
-
r;
|
|
10
|
-
id;
|
|
11
|
-
constructor(requester, id) {
|
|
12
|
-
this.r = requester;
|
|
13
|
-
this.id = id;
|
|
14
|
-
}
|
|
15
|
-
list = async (include) => {
|
|
16
|
-
const { data } = await this.r.get(`/nodes/${this.id}/allocations`, {
|
|
17
|
-
params: { include: include?.join(",") }
|
|
18
|
-
});
|
|
19
|
-
return data.data.map(d => d.attributes);
|
|
20
|
-
};
|
|
21
|
-
create = async (ip, ports, alias) => {
|
|
22
|
-
zod_1.default.ipv4().parse(ip);
|
|
23
|
-
zod_1.default.ipv4().or(zod_1.default.url()).optional().parse(alias);
|
|
24
|
-
zod_1.default.array(zod_1.default.number()).or(zod_1.default.string().regex(/\d+-\d+/)).parse(ports);
|
|
25
|
-
await this.r.post(`/nodes/${this.id}/allocations`, {
|
|
26
|
-
ip,
|
|
27
|
-
ports,
|
|
28
|
-
alias
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
delete = async (alloc_id) => {
|
|
32
|
-
await this.r.delete(`/nodes/${this.id}/allocations/${alloc_id}`);
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
exports.NodesAllocations = NodesAllocations;
|
|
36
|
-
//# sourceMappingURL=nodes_allocations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodes_allocations.js","sourceRoot":"","sources":["../../../src/api/application/nodes_allocations.ts"],"names":[],"mappings":";;;;;;AAGA,8CAAoB;AAGpB,MAAa,gBAAgB;IACR,CAAC,CAAe;IAChB,EAAE,CAAQ;IAE3B,YAAY,SAAwB,EAAE,EAAU;QAC5C,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;QAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,IAAI,GAAG,KAAK,EAAE,OAA+B,EAA4B,EAAE;QACvE,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAE7B,UAAU,IAAI,CAAC,EAAE,cAAc,EAAE;YAC/B,MAAM,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAC;SACxC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC,CAAA;IAED,MAAM,GAAG,KAAK,EACV,EAAU,EACV,KAAwB,EACxB,KAAc,EACD,EAAE;QACf,aAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAClB,aAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,aAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC5C,aAAC,CAAC,KAAK,CAAC,aAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,aAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAEhE,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,cAAc,EAAE;YAC/C,EAAE;YACF,KAAK;YACL,KAAK;SACR,CAAC,CAAA;IACN,CAAC,CAAA;IAED,MAAM,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;QAC/C,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,gBAAgB,QAAQ,EAAE,CAAC,CAAA;IACpE,CAAC,CAAA;CACJ;AAtCD,4CAsCC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type Container = {
|
|
2
|
-
startup_command: string;
|
|
3
|
-
image: string;
|
|
4
|
-
installed: number;
|
|
5
|
-
environment: {
|
|
6
|
-
[key: string]: string | number;
|
|
7
|
-
};
|
|
8
|
-
ports: number[];
|
|
9
|
-
volumes: string[];
|
|
10
|
-
network_mode: string;
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=container.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../src/api/application/types/container.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,SAAS,GAAG;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KACjC,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../src/api/application/types/container.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../../src/api/application/types/location.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"location.js","sourceRoot":"","sources":["../../../../src/api/application/types/location.ts"],"names":[],"mappings":""}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { GenericListResponse, GenericResponse } from "../../../api/base/types";
|
|
2
|
-
import { Allocation } from "../../../api/common/types/server_allocations";
|
|
3
|
-
import { Location } from "../../../api/application/types/location";
|
|
4
|
-
import { Server } from "../../../api/application/types/server";
|
|
5
|
-
export type Node = {
|
|
6
|
-
id: number;
|
|
7
|
-
uuid: string;
|
|
8
|
-
public: boolean;
|
|
9
|
-
name: string;
|
|
10
|
-
description: string;
|
|
11
|
-
location_id: number;
|
|
12
|
-
fqdn: string;
|
|
13
|
-
scheme: "https" | "http";
|
|
14
|
-
behind_proxy: boolean;
|
|
15
|
-
maintenance_mode: boolean;
|
|
16
|
-
memory: number;
|
|
17
|
-
memory_overallocate: number;
|
|
18
|
-
disk: number;
|
|
19
|
-
disk_overallocate: number;
|
|
20
|
-
upload_size: number;
|
|
21
|
-
daemon_listen: number;
|
|
22
|
-
daemon_sftp: number;
|
|
23
|
-
daemon_base: string;
|
|
24
|
-
created_at: string;
|
|
25
|
-
updated_at: string | null;
|
|
26
|
-
relationships?: {
|
|
27
|
-
allocations?: GenericListResponse<GenericResponse<Allocation, "allocation">>;
|
|
28
|
-
location?: GenericResponse<Location, "location">;
|
|
29
|
-
servers?: GenericListResponse<GenericResponse<Server, "server">>;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=node.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../../src/api/application/types/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAC,UAAU,EAAC,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAC,QAAQ,EAAC,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AAGtD,MAAM,MAAM,IAAI,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAC7E,QAAQ,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjD,OAAO,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;KACnE,CAAA;CACJ,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/api/application/types/node.ts"],"names":[],"mappings":""}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { FeatureLimits, ServerLimits } from "../../../api/common/types/server_limits";
|
|
2
|
-
import { Container } from "../../../api/application/types/container";
|
|
3
|
-
export type Server = {
|
|
4
|
-
id: number;
|
|
5
|
-
external_id: string | null;
|
|
6
|
-
uuid: string;
|
|
7
|
-
identifier: string;
|
|
8
|
-
name: string;
|
|
9
|
-
description: string;
|
|
10
|
-
status: any | null;
|
|
11
|
-
suspended: boolean;
|
|
12
|
-
limits: ServerLimits;
|
|
13
|
-
feature_limits: FeatureLimits;
|
|
14
|
-
user: number;
|
|
15
|
-
node: number;
|
|
16
|
-
allocation: number;
|
|
17
|
-
nest: number;
|
|
18
|
-
egg: number;
|
|
19
|
-
container: Container;
|
|
20
|
-
created_at: string;
|
|
21
|
-
updated_at: string | null;
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/api/application/types/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAG5D,MAAM,MAAM,MAAM,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,aAAa,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/api/application/types/server.ts"],"names":[],"mappings":""}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { GenericListResponse, GenericResponse } from "../../../api/base/types";
|
|
2
|
-
import { Server } from "../../../api/application/types/server";
|
|
3
|
-
export type User = {
|
|
4
|
-
id: number;
|
|
5
|
-
external_id: string | null;
|
|
6
|
-
uuid: string;
|
|
7
|
-
username: string;
|
|
8
|
-
email: string;
|
|
9
|
-
first_name: string;
|
|
10
|
-
last_name: string;
|
|
11
|
-
language: string;
|
|
12
|
-
root_admin: string;
|
|
13
|
-
"2fa": boolean;
|
|
14
|
-
created_at: string;
|
|
15
|
-
updated_at: string;
|
|
16
|
-
relationships?: {
|
|
17
|
-
servers: GenericListResponse<GenericResponse<Server>>;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=user.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/api/application/types/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AAEtD,MAAM,MAAM,IAAI,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE;QACZ,OAAO,EAAE,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;KACxD,CAAA;CACJ,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/api/application/types/user.ts"],"names":[],"mappings":""}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { AxiosInstance } from "axios";
|
|
2
|
-
import { User } from "../../api/application/types/user";
|
|
3
|
-
import { ExactlyOneKey } from "../../utils/types";
|
|
4
|
-
export declare class Users {
|
|
5
|
-
private readonly r;
|
|
6
|
-
constructor(requester: AxiosInstance);
|
|
7
|
-
list: ({ ...opts }: ListType, page?: number) => Promise<User[]>;
|
|
8
|
-
info: (id: number, { include }: {
|
|
9
|
-
include?: ("servers")[];
|
|
10
|
-
}) => Promise<User>;
|
|
11
|
-
infoByExternal: (external_id: string, { include }: {
|
|
12
|
-
include?: ("servers")[];
|
|
13
|
-
}) => Promise<User>;
|
|
14
|
-
create: (user: CreateType) => Promise<User>;
|
|
15
|
-
update: (id: number, user: UpdateType) => Promise<User>;
|
|
16
|
-
delete: (id: number) => Promise<void>;
|
|
17
|
-
}
|
|
18
|
-
type ListType = {
|
|
19
|
-
include?: ("servers")[];
|
|
20
|
-
filters?: ListFilters;
|
|
21
|
-
sort?: ListSort;
|
|
22
|
-
};
|
|
23
|
-
type ListFilters = {
|
|
24
|
-
[key in "email" | "uuid" | "username" | "external_id"]: string;
|
|
25
|
-
};
|
|
26
|
-
type ListSort = ExactlyOneKey<"id" | "uuid", "asc" | "desc">;
|
|
27
|
-
type CreateType = {
|
|
28
|
-
email: string;
|
|
29
|
-
username: string;
|
|
30
|
-
first_name: string;
|
|
31
|
-
last_name: string;
|
|
32
|
-
};
|
|
33
|
-
type UpdateType = CreateType & {
|
|
34
|
-
language: string;
|
|
35
|
-
password: string;
|
|
36
|
-
};
|
|
37
|
-
export {};
|
|
38
|
-
//# sourceMappingURL=users.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/api/application/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAC;AAElD,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAG5C,qBAAa,KAAK;IACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAe;gBAErB,SAAS,EAAE,aAAa;IAIpC,IAAI,GACA,aAAW,QAAQ,EACnB,OAAM,MAAU,KACjB,OAAO,CAAC,IAAI,EAAE,CAAC,CAgBjB;IAED,IAAI,GACA,IAAI,MAAM,EACV,aAAW;QAAE,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAA;KAAE,KACvC,OAAO,CAAC,IAAI,CAAC,CAQf;IAED,cAAc,GACV,aAAa,MAAM,EACnB,aAAW;QAAE,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAA;KAAE,KACnC,OAAO,CAAC,IAAI,CAAC,CAKnB;IAED,MAAM,GAAU,MAAM,UAAU,KAAG,OAAO,CAAC,IAAI,CAAC,CAK/C;IAED,MAAM,GAAU,IAAI,MAAM,EAAE,MAAM,UAAU,KAAG,OAAO,CAAC,IAAI,CAAC,CAM3D;IAED,MAAM,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAGzC;CAEJ;AAED,KAAK,QAAQ,GAAG;IACZ,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,CAAC,EAAE,QAAQ,CAAA;CAClB,CAAA;AACD,KAAK,WAAW,GAAG;KACd,GAAG,IAAI,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM;CACjE,CAAC;AAEF,KAAK,QAAQ,GAAG,aAAa,CAAC,IAAI,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAA;AAE5D,KAAK,UAAU,GAAG;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,UAAU,GAAG,UAAU,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA"}
|