Docs
Repositories
Context Reference - Repositories Access database tables through repositories. See Repository Methods for complete details. Accessing Repositories // Access repository by table name const productsRepo = $ctx.$repos.products; const usersRepo = $ctx.$repos.user_definition; // Access
Context Reference - Repositories
Access database tables through repositories. See Repository Methods for complete details.
Accessing Repositories
// Access repository by table name
const productsRepo = $ctx.$repos.products;
const usersRepo = $ctx.$repos.user_definition;
// Access main table repository
const mainRepo = $ctx.$repos.main;
// Field permissions: main + explicit secure namespace
// - `$repos.main` — main route table, field permissions enforced
// - `$repos.secure.<tableName>` — same enforcement for any table name
// - `$repos.<tableName>` — same data access without field-permission enforcement (use `secure` when rules must apply)
// Check if repository exists
if ($ctx.$repos.products) {
const result = await $ctx.$repos.products.find({});
}
Repository Methods
Each repository provides these methods:
// Find records
const result = await $ctx.$repos.products.find({
where: { category: { _eq: 'electronics' } },
fields: 'id,name,price',
limit: 10,
sort: '-createdAt'
});
// Create record
const createResult = await $ctx.$repos.products.create({
data: {
name: 'New Product',
price: 99.99
}
});
// Update record
const updateResult = await $ctx.$repos.products.update({
id: 123,
data: { price: 89.99 }
});
// Delete record
const deleteResult = await $ctx.$repos.products.delete({
id: 123
});
Important: All repository methods return { data: [...], meta: {...} } format.
See Repository Methods Guide for complete documentation.
Next Steps
- See Request Data for accessing request information
- Check Helpers & Cache for utility functions
- Learn about Repository Methods for complete method reference