import { APIPayloadStatusOnly } from '../../common/v2.js'; import { DatabaseResetType, DatabaseType } from '../../payloads/v2/database.js'; import '../../utils.js'; import '../../payloads/v2/status.js'; /** * Body for `POST /v2/databases`. * @see https://docs.squarecloud.app/en/api-reference/endpoint/databases/create */ interface RESTPostAPIDatabaseJSONBody { /** Display name, 1-32 chars. */ name: string; /** Allocated memory in MB. */ memory: number; type: DatabaseType; /** * Version key supported for the chosen `type`. See the Square Cloud docs * for the current list of accepted versions per engine. */ version: string; } /** * Body for `PATCH /v2/databases/{databaseId}`. At least one field must be present. * @see https://docs.squarecloud.app/en/api-reference/endpoint/databases/update */ interface RESTPatchAPIDatabaseJSONBody { name?: string; ram?: number; } /** * Body for `POST /v2/databases/{databaseId}/credentials/reset`. * @see https://docs.squarecloud.app/en/api-reference/endpoint/databases/credentials/reset */ interface RESTPostAPIDatabaseCredentialsResetJSONBody { reset: DatabaseResetType; } /** * @see https://docs.squarecloud.app/en/api-reference/endpoint/databases/start */ type RESTPostAPIDatabaseStartResultPayload = APIPayloadStatusOnly; /** * @see https://docs.squarecloud.app/en/api-reference/endpoint/databases/stop */ type RESTPostAPIDatabaseStopResultPayload = APIPayloadStatusOnly; /** * @see https://docs.squarecloud.app/en/api-reference/endpoint/databases/delete */ type RESTDeleteAPIDatabaseResultPayload = APIPayloadStatusOnly; export type { RESTDeleteAPIDatabaseResultPayload, RESTPatchAPIDatabaseJSONBody, RESTPostAPIDatabaseCredentialsResetJSONBody, RESTPostAPIDatabaseJSONBody, RESTPostAPIDatabaseStartResultPayload, RESTPostAPIDatabaseStopResultPayload };