port-nimara-client-portal/server/utils/nocodb.ts

39 lines
877 B
TypeScript

export interface PageInfo {
pageSize: number;
totalRows: number;
isFirstPage: boolean;
isLastPage: boolean;
page: number;
}
export interface InterestsResponse {
list: Interest[];
PageInfo: PageInfo;
}
export enum Table {
Interest = "mbs9hjauug4eseo",
}
export const getNocoDbConfiguration = () => useRuntimeConfig().nocodb;
export const createTableUrl = (table: Table) =>
`${getNocoDbConfiguration().url}/api/v2/tables/${table}/records`;
export const getInterests = async () =>
$fetch<InterestsResponse>(createTableUrl(Table.Interest), {
headers: {
"xc-token": getNocoDbConfiguration().token,
},
params: {
limit: 1000,
},
});
export const getInterestById = async (id: string) =>
$fetch<Interest>(`${createTableUrl(Table.Interest)}/${id}`, {
headers: {
"xc-token": getNocoDbConfiguration().token,
},
});