Database.service.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import BaseModel from './BaseModel';
  2. import { DatabaseObject } from '@server/types';
  3. // request types
  4. export interface CreateDatabaseParams {
  5. db_name: string;
  6. }
  7. export interface DropDatabaseParams {
  8. db_name: string;
  9. }
  10. export interface AlterDatabaseRequest {
  11. db_name: string;
  12. properties: Record<string, unknown>;
  13. }
  14. export class DatabaseService extends BaseModel {
  15. static listDatabases() {
  16. return super.search<DatabaseObject[]>({
  17. path: `/databases`,
  18. params: {},
  19. });
  20. }
  21. static createDatabase(data: CreateDatabaseParams) {
  22. return super.create({ path: `/databases`, data });
  23. }
  24. static dropDatabase(data: DropDatabaseParams) {
  25. return super.delete({ path: `/databases/${data.db_name}` });
  26. }
  27. static describeDatabase(db_name: string) {
  28. return super.search<DatabaseObject>({
  29. path: `/databases/${db_name}`,
  30. params: {},
  31. });
  32. }
  33. static setProperty(data: AlterDatabaseRequest) {
  34. return super.update({
  35. path: `/databases/${data.db_name}/properties`,
  36. data: data.properties,
  37. });
  38. }
  39. }