forked from pterodactyl/panel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreateDatabase.ts
More file actions
30 lines (26 loc) · 1.1 KB
/
createDatabase.ts
File metadata and controls
30 lines (26 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import http from '@/api/http';
// @ts-ignore
import route from '../../../../../vendor/tightenco/ziggy/src/js/route';
import {AxiosError} from "axios";
import {ServerDatabase} from "@/api/server/types";
/**
* Creates a new database on the system for the currently active server.
*/
export function createDatabase(server: string, database: string, remote: string): Promise<ServerDatabase> {
return new Promise((resolve, reject) => {
http.post(route('api.client.servers.databases', {server}), {database, remote})
.then(response => {
const copy: any = response.data.attributes;
copy.password = copy.relationships.password.attributes.password;
copy.showPassword = false;
delete copy.relationships;
resolve(copy);
})
.catch((err: AxiosError) => {
if (err.response && err.response.data && Array.isArray(err.response.data.errors)) {
return reject(err.response.data.errors[0].detail);
}
return reject(err);
});
});
}