SDK
Data and Files
Build custom records, forms, relational views, search, and document workspaces from headless hooks.
Data hooks
| Job | Hook |
|---|---|
| List records | useRecords |
| Fetch one record | useRecord |
| Create/update/delete | useCreateRecord, useUpdateRecord, useDeleteRecord |
| Schema-driven forms | useRecordForm, useRecordSchema, useForeignKeyOptions |
| Joins and related records | useJoinedRecords, useRelatedRecords, useReverseRelatedRecords |
| Custom SQL reads and aggregates | useDatastoreQuery, useRecordAggregates |
File hooks
| Job | Hook |
|---|---|
| Browse folder | useFiles |
| Upload | useUploadFile |
| Rename or move | useUpdateFile |
| Delete | useDeleteFile |
| Create folder | useCreateFolder |
| Search files | useFileSearch |
| Directory tree | useFileTree |
| Preview content | useFilePreview |
| Search records and files together | useGlobalSearch |
Function-backed record form
const form = useRecordForm({
client,
tableName: "issues",
mode: "create",
submitVia: "function",
submitFunctionName: "create-issue",
submitFunctionInput: (payload) => ({
title: payload.title,
priority: payload.priority,
}),
});