mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-20 16:54:45 +02:00

Changes CopyOnClick to allow any. Allows database information to be copied on click. Changes layouts on database/backups to match the network tab. Changes text to lighten it one level from 400 to 300 for easier visibility. Moves database api endpoints to their own folder for some organization.
32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
import http from '@/api/http';
|
|
|
|
export interface ServerDatabase {
|
|
id: string;
|
|
name: string;
|
|
username: string;
|
|
connectionString: string;
|
|
allowConnectionsFrom: string;
|
|
password?: string;
|
|
}
|
|
|
|
export const rawDataToServerDatabase = (data: any): ServerDatabase => ({
|
|
id: data.id,
|
|
name: data.name,
|
|
username: data.username,
|
|
connectionString: `${data.host.address}:${data.host.port}`,
|
|
allowConnectionsFrom: data.connections_from,
|
|
password: data.relationships && data.relationships.password ? data.relationships.password.attributes.password : undefined,
|
|
});
|
|
|
|
export default (uuid: string, includePassword = true): Promise<ServerDatabase[]> => {
|
|
return new Promise((resolve, reject) => {
|
|
http.get(`/api/client/servers/${uuid}/databases`, {
|
|
params: includePassword ? { include: 'password' } : undefined,
|
|
})
|
|
.then(response => resolve(
|
|
(response.data.data || []).map((item: any) => rawDataToServerDatabase(item.attributes))
|
|
))
|
|
.catch(reject);
|
|
});
|
|
};
|