initial commit

This commit is contained in:
2024-07-07 00:48:39 +02:00
commit cc7d7d71b9
49 changed files with 3017 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
import { getValuable } from "@/lib/utils";
import { dbInstance } from "@/services/db/db.instance";
import type {
DatabasesResponse,
GetTableDataArgs,
GetTableDataResponse,
GetTablesListArgs,
GetTablesListResponse,
TableColumns,
TableForeignKeys,
TableIndexes,
} from "@/services/db/db.types";
class DbService {
getDatabasesList() {
return dbInstance.get("api/databases").json<DatabasesResponse>();
}
getTablesList({ dbName, sortDesc, sortField }: GetTablesListArgs) {
return dbInstance
.get(`api/databases/${dbName}/tables`, {
searchParams: getValuable({ sortField, sortDesc }),
})
.json<GetTablesListResponse>();
}
getTableData({ dbName, tableName, page, perPage }: GetTableDataArgs) {
return dbInstance
.get(`api/databases/${dbName}/tables/${tableName}/data`, {
searchParams: getValuable({ perPage, page }),
})
.json<GetTableDataResponse>();
}
getTableColumns(name: string) {
return dbInstance.get(`api/db/tables/${name}/columns`).json<TableColumns>();
}
getTableIndexes(name: string) {
return dbInstance.get(`api/db/tables/${name}/indexes`).json<TableIndexes>();
}
getTableForeignKeys(name: string) {
return dbInstance
.get(`api/db/tables/${name}/foreign-keys`)
.json<TableForeignKeys>();
}
}
export const dbService = new DbService();