ptero.js
· 5.0 KiB · JavaScript
原始檔案
import axios from 'axios'
export class PterodactylClient {
constructor(apiUrl, apiKey) {
this.apiUrl = apiUrl
this.apiKey = apiKey
this.client = axios.create({
baseURL: apiUrl,
headers: {
'Authorization': `Bearer ${apiKey}`,
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
}
async getNodes() {
try {
const response = await this.client.get('/api/application/nodes')
return response.data.data
} catch (error) {
console.error('Error fetching nodes:', error)
throw error
}
}
async getNodeById(nodeId) {
try {
const response = await this.client.get(`/api/application/nodes/${nodeId}`)
return response.data.data
} catch (error) {
console.error(`Error fetching node with ID ${nodeId}:`, error)
throw error
}
}
async getUsers() {
try {
const response = await this.client.get('/api/application/users')
return response.data.data
} catch (error) {
console.error('Error fetching users:', error)
throw error
}
}
async getUserById(userId) {
try {
const response = await this.client.get(`/api/application/users/${userId}`)
return response.data.data
} catch (error) {
console.error(`Error fetching user with ID ${userId}:`, error)
throw error
}
}
async createUser(userData) {
try {
const response = await this.client.post('/api/application/users', userData)
return response.data.data
} catch (error) {
console.error('Error creating user:', error)
throw error
}
}
async updateUser(userId, userData) {
try {
const response = await this.client.patch(`/api/application/users/${userId}`, userData)
return response.data.data
} catch (error) {
console.error(`Error updating user with ID ${userId}:`, error)
throw error
}
}
async deleteUser(userId) {
try {
await this.client.delete(`/api/application/users/${userId}`)
return { success: true }
} catch (error) {
console.error(`Error deleting user with ID ${userId}:`, error)
throw error
}
}
async getServers() {
try {
const response = await this.client.get('/api/application/servers')
return response.data.data
} catch (error) {
console.error('Error fetching servers:', error)
throw error
}
}
async getServerById(serverId) {
try {
const response = await this.client.get(`/api/application/servers/${serverId}`)
return response.data.data
} catch (error) {
console.error(`Error fetching server with ID ${serverId}:`, error)
throw error
}
}
async createServer(serverData) {
try {
const response = await this.client.post('/api/application/servers', serverData)
return response.data.data
} catch (error) {
console.error('Error creating server:', error)
throw error
}
}
async updateServer(serverId, serverData) {
try {
const response = await this.client.patch(`/api/application/servers/${serverId}`, serverData)
return response.data.data
} catch (error) {
console.error(`Error updating server with ID ${serverId}:`, error)
throw error
}
}
async deleteServer(serverId) {
try {
await this.client.delete(`/api/application/servers/${serverId}`)
return { success: true }
} catch (error) {
console.error(`Error deleting server with ID ${serverId}:`, error)
throw error
}
}
async suspendServer(serverId) {
try {
const response = await this.client.post(`/api/application/servers/${serverId}/suspend`)
return response.data.data
} catch (error) {
console.error(`Error suspending server with ID ${serverId}:`, error)
throw error
}
}
async unsuspendServer(serverId) {
try {
const response = await this.client.post(`/api/application/servers/${serverId}/unsuspend`)
return response.data.data
} catch (error) {
console.error(`Error unsuspending server with ID ${serverId}:`, error)
throw error
}
}
async reinstallServer(serverId) {
try {
const response = await this.client.post(`/api/application/servers/${serverId}/reinstall`)
return response.data.data
} catch (error) {
console.error(`Error reinstalling server with ID ${serverId}:`, error)
throw error
}
}
}
1 | import axios from 'axios' |
2 | |
3 | export class PterodactylClient { |
4 | constructor(apiUrl, apiKey) { |
5 | this.apiUrl = apiUrl |
6 | this.apiKey = apiKey |
7 | this.client = axios.create({ |
8 | baseURL: apiUrl, |
9 | headers: { |
10 | 'Authorization': `Bearer ${apiKey}`, |
11 | 'Accept': 'application/json', |
12 | 'Content-Type': 'application/json' |
13 | } |
14 | }) |
15 | } |
16 | |
17 | async getNodes() { |
18 | try { |
19 | const response = await this.client.get('/api/application/nodes') |
20 | return response.data.data |
21 | } catch (error) { |
22 | console.error('Error fetching nodes:', error) |
23 | throw error |
24 | } |
25 | } |
26 | |
27 | async getNodeById(nodeId) { |
28 | try { |
29 | const response = await this.client.get(`/api/application/nodes/${nodeId}`) |
30 | return response.data.data |
31 | } catch (error) { |
32 | console.error(`Error fetching node with ID ${nodeId}:`, error) |
33 | throw error |
34 | } |
35 | } |
36 | |
37 | async getUsers() { |
38 | try { |
39 | const response = await this.client.get('/api/application/users') |
40 | return response.data.data |
41 | } catch (error) { |
42 | console.error('Error fetching users:', error) |
43 | throw error |
44 | } |
45 | } |
46 | |
47 | async getUserById(userId) { |
48 | try { |
49 | const response = await this.client.get(`/api/application/users/${userId}`) |
50 | return response.data.data |
51 | } catch (error) { |
52 | console.error(`Error fetching user with ID ${userId}:`, error) |
53 | throw error |
54 | } |
55 | } |
56 | |
57 | async createUser(userData) { |
58 | try { |
59 | const response = await this.client.post('/api/application/users', userData) |
60 | return response.data.data |
61 | } catch (error) { |
62 | console.error('Error creating user:', error) |
63 | throw error |
64 | } |
65 | } |
66 | |
67 | async updateUser(userId, userData) { |
68 | try { |
69 | const response = await this.client.patch(`/api/application/users/${userId}`, userData) |
70 | return response.data.data |
71 | } catch (error) { |
72 | console.error(`Error updating user with ID ${userId}:`, error) |
73 | throw error |
74 | } |
75 | } |
76 | |
77 | async deleteUser(userId) { |
78 | try { |
79 | await this.client.delete(`/api/application/users/${userId}`) |
80 | return { success: true } |
81 | } catch (error) { |
82 | console.error(`Error deleting user with ID ${userId}:`, error) |
83 | throw error |
84 | } |
85 | } |
86 | |
87 | async getServers() { |
88 | try { |
89 | const response = await this.client.get('/api/application/servers') |
90 | return response.data.data |
91 | } catch (error) { |
92 | console.error('Error fetching servers:', error) |
93 | throw error |
94 | } |
95 | } |
96 | |
97 | async getServerById(serverId) { |
98 | try { |
99 | const response = await this.client.get(`/api/application/servers/${serverId}`) |
100 | return response.data.data |
101 | } catch (error) { |
102 | console.error(`Error fetching server with ID ${serverId}:`, error) |
103 | throw error |
104 | } |
105 | } |
106 | |
107 | async createServer(serverData) { |
108 | try { |
109 | const response = await this.client.post('/api/application/servers', serverData) |
110 | return response.data.data |
111 | } catch (error) { |
112 | console.error('Error creating server:', error) |
113 | throw error |
114 | } |
115 | } |
116 | |
117 | async updateServer(serverId, serverData) { |
118 | try { |
119 | const response = await this.client.patch(`/api/application/servers/${serverId}`, serverData) |
120 | return response.data.data |
121 | } catch (error) { |
122 | console.error(`Error updating server with ID ${serverId}:`, error) |
123 | throw error |
124 | } |
125 | } |
126 | |
127 | async deleteServer(serverId) { |
128 | try { |
129 | await this.client.delete(`/api/application/servers/${serverId}`) |
130 | return { success: true } |
131 | } catch (error) { |
132 | console.error(`Error deleting server with ID ${serverId}:`, error) |
133 | throw error |
134 | } |
135 | } |
136 | |
137 | async suspendServer(serverId) { |
138 | try { |
139 | const response = await this.client.post(`/api/application/servers/${serverId}/suspend`) |
140 | return response.data.data |
141 | } catch (error) { |
142 | console.error(`Error suspending server with ID ${serverId}:`, error) |
143 | throw error |
144 | } |
145 | } |
146 | |
147 | async unsuspendServer(serverId) { |
148 | try { |
149 | const response = await this.client.post(`/api/application/servers/${serverId}/unsuspend`) |
150 | return response.data.data |
151 | } catch (error) { |
152 | console.error(`Error unsuspending server with ID ${serverId}:`, error) |
153 | throw error |
154 | } |
155 | } |
156 | |
157 | async reinstallServer(serverId) { |
158 | try { |
159 | const response = await this.client.post(`/api/application/servers/${serverId}/reinstall`) |
160 | return response.data.data |
161 | } catch (error) { |
162 | console.error(`Error reinstalling server with ID ${serverId}:`, error) |
163 | throw error |
164 | } |
165 | } |
166 | } |
167 |