UNPKG

@budibase/server

Version:
63 lines (55 loc) 1.68 kB
import { constants } from "@budibase/backend-core" import { ExecuteQueryRequest, ExecuteV2QueryResponse, PreviewQueryRequest, PreviewQueryResponse, Query, } from "@budibase/types" import { Expectations, TestAPI } from "./base" export class QueryAPI extends TestAPI { save = async (body: Query, expectations?: Expectations): Promise<Query> => { return await this._post<Query>(`/api/queries`, { body, expectations }) } execute = async ( queryId: string, body?: ExecuteQueryRequest, expectations?: Expectations ): Promise<ExecuteV2QueryResponse> => { return await this._post<ExecuteV2QueryResponse>( `/api/v2/queries/${queryId}`, { body, expectations, } ) } preview = async ( queryPreview: PreviewQueryRequest, expectations?: Expectations ) => { return await this._post<PreviewQueryResponse>(`/api/queries/preview`, { body: queryPreview, expectations, }) } delete = async (query: Query, expectations?: Expectations) => { return await this._delete(`/api/queries/${query._id!}/${query._rev!}`, { expectations, }) } get = async (queryId: string, expectations?: Expectations) => { return await this._get<Query>(`/api/queries/${queryId}`, { expectations }) } getProd = async (queryId: string, expectations?: Expectations) => { return await this._get<Query>(`/api/queries/${queryId}`, { expectations, headers: { [constants.Header.APP_ID]: this.config.getProdWorkspaceId(), }, }) } fetch = async (expectations?: Expectations) => { return await this._get<Query[]>(`/api/queries`, { expectations }) } }