Files
supabase/apps/studio/data/database/database-size-query.ts
Ivan Vasilov 436bdb10ae chore: Move the studio app to apps/studio (#18915)
* Move all studio files from /studio to /apps/studio.

* Move studio specific prettier ignores.

* Fix the ui references from studio.

* Fix the css imports.

* Fix all package.json issues.

* Fix the prettier setup for the studio app.

* Add .turbo folder to prettierignore.

* Fix the github workflows.
2023-11-15 12:38:55 +01:00

37 lines
991 B
TypeScript

import { UseQueryOptions } from '@tanstack/react-query'
import { ExecuteSqlData, useExecuteSqlQuery } from '../sql/execute-sql-query'
export const getDatabaseSizeQuery = () => {
const sql = /* SQL */ `
select sum(pg_database_size(pg_database.datname))::bigint as db_size from pg_database;
`.trim()
return sql
}
export type DatabaseSizeVariables = {
projectRef?: string
connectionString?: string
}
export type DatabaseSizeData = { result: { db_size: number }[] }
export type DatabaseSizeError = unknown
export const useDatabaseSizeQuery = <TData extends DatabaseSizeData = DatabaseSizeData>(
{ projectRef, connectionString }: DatabaseSizeVariables,
options: UseQueryOptions<ExecuteSqlData, DatabaseSizeError, TData> = {}
) => {
return useExecuteSqlQuery(
{
projectRef,
connectionString,
sql: getDatabaseSizeQuery(),
queryKey: ['database-size'],
},
{
...options,
staleTime: 1000 * 60, // default good for a minute
}
)
}