
Orm Objects
- 2 installs
- 52 repo stars
- Updated August 5, 2026
- constructive-io/constructive
ORM client for the objects API providing typed CRUD operations for 5 tables and 4 custom operations.
About
ormobjects ORM client for the objects API provides typed CRUD operations for 5 tables and 4 custom operations.. Enables database access to object entities.
- Typed CRUD operations for objects
- Database layer for objects API
Orm Objects by the numbers
- 2 all-time installs (skills.sh)
- Ranked #3,774 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/constructive-io/constructive --skill orm-objectsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2 |
|---|---|
| repo stars | ★ 52 |
| Last updated | August 5, 2026 |
| Repository | constructive-io/constructive ↗ |
What it does
ORM client for the objects API providing typed CRUD operations for 5 tables and 4 custom operations.
Files
orm-objects
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
ORM client for the objects API — provides typed CRUD operations for 5 tables and 4 custom operations
Usage
// Import the ORM client
import { db } from './orm';
// Available models: getAllRecord, ref, store, object, commit
db.<model>.findMany({ select: { id: true } }).execute()
db.<model>.findOne({ id: '<UUID>', select: { id: true } }).execute()
db.<model>.create({ data: { ... }, select: { id: true } }).execute()
db.<model>.update({ where: { id: '<UUID>' }, data: { ... }, select: { id: true } }).execute()
db.<model>.delete({ where: { id: '<UUID>' } }).execute()Examples
Query records
const items = await db.getAllRecord.findMany({
select: { id: true }
}).execute();References
See the references/ directory for detailed per-entity API documentation:
- get-all-record
- ref
- store
- object
- commit
- init-empty-repo
- set-data-at-path
- insert-node-at-path
- provision-bucket
commit
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Commit history — each commit snapshots a tree root for a store
Usage
db.commit.findMany({ select: { id: true } }).execute()
db.commit.findOne({ id: '<UUID>', select: { id: true } }).execute()
db.commit.create({ data: { message: '<String>', databaseId: '<UUID>', storeId: '<UUID>', parentIds: '<UUID>', authorId: '<UUID>', committerId: '<UUID>', treeId: '<UUID>', date: '<Datetime>' }, select: { id: true } }).execute()
db.commit.update({ where: { id: '<UUID>' }, data: { message: '<String>' }, select: { id: true } }).execute()
db.commit.delete({ where: { id: '<UUID>' } }).execute()Examples
List all commit records
const items = await db.commit.findMany({
select: { id: true, message: true }
}).execute();Create a commit
const item = await db.commit.create({
data: { message: '<String>', databaseId: '<UUID>', storeId: '<UUID>', parentIds: '<UUID>', authorId: '<UUID>', committerId: '<UUID>', treeId: '<UUID>', date: '<Datetime>' },
select: { id: true }
}).execute();confirmUpload
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Confirm that a file has been uploaded to S3. Verifies the object exists in S3, checks content-type, and transitions the file status from 'pending' to 'ready'.
Usage
db.mutation.confirmUpload({ input: { fileId: '<UUID>' } }).execute()Examples
Run confirmUpload
const result = await db.mutation.confirmUpload({ input: { fileId: '<UUID>' } }).execute();freezeObjects
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Execute the freezeObjects mutation
Usage
db.mutation.freezeObjects({ input: { databaseId: '<UUID>', id: '<UUID>' } }).execute()Examples
Run freezeObjects
const result = await db.mutation.freezeObjects({ input: { databaseId: '<UUID>', id: '<UUID>' } }).execute();getAllObjectsFromRoot
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Reads and enables pagination through a set of Object.
Usage
db.query.getAllObjectsFromRoot({ databaseId: '<UUID>', id: '<UUID>', first: '<Int>', offset: '<Int>', after: '<Cursor>' }).execute()Examples
Run getAllObjectsFromRoot
const result = await db.query.getAllObjectsFromRoot({ databaseId: '<UUID>', id: '<UUID>', first: '<Int>', offset: '<Int>', after: '<Cursor>' }).execute();getAllRecord
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
ORM operations for GetAllRecord records
Usage
db.getAllRecord.findMany({ select: { id: true } }).execute()
db.getAllRecord.findOne({ id: '<UUID>', select: { id: true } }).execute()
db.getAllRecord.create({ data: { path: '<String>', data: '<JSON>' }, select: { id: true } }).execute()
db.getAllRecord.update({ where: { id: '<UUID>' }, data: { path: '<String>' }, select: { id: true } }).execute()
db.getAllRecord.delete({ where: { id: '<UUID>' } }).execute()Examples
List all getAllRecord records
const items = await db.getAllRecord.findMany({
select: { id: true, path: true }
}).execute();Create a getAllRecord
const item = await db.getAllRecord.create({
data: { path: '<String>', data: '<JSON>' },
select: { id: true }
}).execute();getObjectAtPath
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Execute the getObjectAtPath query
Usage
db.query.getObjectAtPath({ dbId: '<UUID>', storeId: '<UUID>', path: '<String>', refname: '<String>' }).execute()Examples
Run getObjectAtPath
const result = await db.query.getObjectAtPath({ dbId: '<UUID>', storeId: '<UUID>', path: '<String>', refname: '<String>' }).execute();getPathObjectsFromRoot
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Reads and enables pagination through a set of Object.
Usage
db.query.getPathObjectsFromRoot({ databaseId: '<UUID>', id: '<UUID>', path: '<String>', first: '<Int>', offset: '<Int>', after: '<Cursor>' }).execute()Examples
Run getPathObjectsFromRoot
const result = await db.query.getPathObjectsFromRoot({ databaseId: '<UUID>', id: '<UUID>', path: '<String>', first: '<Int>', offset: '<Int>', after: '<Cursor>' }).execute();initEmptyRepo
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Execute the initEmptyRepo mutation
Usage
db.mutation.initEmptyRepo({ input: { sId: '<UUID>', storeId: '<UUID>' } }).execute()Examples
Run initEmptyRepo
const result = await db.mutation.initEmptyRepo({ input: { sId: '<UUID>', storeId: '<UUID>' } }).execute();insertNodeAtPath
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Execute the insertNodeAtPath mutation
Usage
db.mutation.insertNodeAtPath({ input: '<InsertNodeAtPathInput>' }).execute()Examples
Run insertNodeAtPath
const result = await db.mutation.insertNodeAtPath({ input: '<InsertNodeAtPathInput>' }).execute();object
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Content-addressed Merkle tree objects keyed by UUID v5 hash of data + children
Usage
db.object.findMany({ select: { id: true } }).execute()
db.object.findOne({ id: '<UUID>', select: { id: true } }).execute()
db.object.create({ data: { databaseId: '<UUID>', kids: '<UUID>', ktree: '<String>', data: '<JSON>' }, select: { id: true } }).execute()
db.object.update({ where: { id: '<UUID>' }, data: { databaseId: '<UUID>' }, select: { id: true } }).execute()
db.object.delete({ where: { id: '<UUID>' } }).execute()Examples
List all object records
const items = await db.object.findMany({
select: { id: true, databaseId: true }
}).execute();Create a object
const item = await db.object.create({
data: { databaseId: '<UUID>', kids: '<UUID>', ktree: '<String>', data: '<JSON>' },
select: { id: true }
}).execute();provisionBucket
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Provision an S3 bucket for a logical bucket in the database. Reads the bucket config via RLS, then creates and configures the S3 bucket with the appropriate privacy policies, CORS rules, and lifecycle settings.
Usage
db.mutation.provisionBucket({ input: { bucketKey: '<String>', ownerId: '<UUID>' } }).execute()Examples
Run provisionBucket
const result = await db.mutation.provisionBucket({ input: { bucketKey: '<String>', ownerId: '<UUID>' } }).execute();ref
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Branch heads — mutable pointers into the commit chain
Usage
db.ref.findMany({ select: { id: true } }).execute()
db.ref.findOne({ id: '<UUID>', select: { id: true } }).execute()
db.ref.create({ data: { name: '<String>', databaseId: '<UUID>', storeId: '<UUID>', commitId: '<UUID>' }, select: { id: true } }).execute()
db.ref.update({ where: { id: '<UUID>' }, data: { name: '<String>' }, select: { id: true } }).execute()
db.ref.delete({ where: { id: '<UUID>' } }).execute()Examples
List all ref records
const items = await db.ref.findMany({
select: { id: true, name: true }
}).execute();Create a ref
const item = await db.ref.create({
data: { name: '<String>', databaseId: '<UUID>', storeId: '<UUID>', commitId: '<UUID>' },
select: { id: true }
}).execute();removeNodeAtPath
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Execute the removeNodeAtPath mutation
Usage
db.mutation.removeNodeAtPath({ input: { dbId: '<UUID>', root: '<UUID>', path: '<String>' } }).execute()Examples
Run removeNodeAtPath
const result = await db.mutation.removeNodeAtPath({ input: { dbId: '<UUID>', root: '<UUID>', path: '<String>' } }).execute();requestUploadUrl
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Request a presigned URL for uploading a file directly to S3. Client computes SHA-256 of the file content and provides it here. If a file with the same hash already exists (dedup), returns the existing file ID and deduplicated=true with no uploadUrl.
Usage
db.mutation.requestUploadUrl({ input: '<RequestUploadUrlInput>' }).execute()Examples
Run requestUploadUrl
const result = await db.mutation.requestUploadUrl({ input: '<RequestUploadUrlInput>' }).execute();revParse
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Execute the revParse query
Usage
db.query.revParse({ dbId: '<UUID>', storeId: '<UUID>', refname: '<String>' }).execute()Examples
Run revParse
const result = await db.query.revParse({ dbId: '<UUID>', storeId: '<UUID>', refname: '<String>' }).execute();setAndCommit
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Execute the setAndCommit mutation
Usage
db.mutation.setAndCommit({ input: '<SetAndCommitInput>' }).execute()Examples
Run setAndCommit
const result = await db.mutation.setAndCommit({ input: '<SetAndCommitInput>' }).execute();setDataAtPath
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Execute the setDataAtPath mutation
Usage
db.mutation.setDataAtPath({ input: { sId: '<UUID>', root: '<UUID>', path: '<String>', data: '<JSON>' } }).execute()Examples
Run setDataAtPath
const result = await db.mutation.setDataAtPath({ input: { sId: '<UUID>', root: '<UUID>', path: '<String>', data: '<JSON>' } }).execute();setPropsAndCommit
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Execute the setPropsAndCommit mutation
Usage
db.mutation.setPropsAndCommit({ input: { dbId: '<UUID>', storeId: '<UUID>', refname: '<String>', path: '<String>', data: '<JSON>' } }).execute()Examples
Run setPropsAndCommit
const result = await db.mutation.setPropsAndCommit({ input: { dbId: '<UUID>', storeId: '<UUID>', refname: '<String>', path: '<String>', data: '<JSON>' } }).execute();store
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Named stores — one per version-controlled tree (e.g. one graph, one definition set)
Usage
db.store.findMany({ select: { id: true } }).execute()
db.store.findOne({ id: '<UUID>', select: { id: true } }).execute()
db.store.create({ data: { name: '<String>', databaseId: '<UUID>', hash: '<UUID>' }, select: { id: true } }).execute()
db.store.update({ where: { id: '<UUID>' }, data: { name: '<String>' }, select: { id: true } }).execute()
db.store.delete({ where: { id: '<UUID>' } }).execute()Examples
List all store records
const items = await db.store.findMany({
select: { id: true, name: true }
}).execute();Create a store
const item = await db.store.create({
data: { name: '<String>', databaseId: '<UUID>', hash: '<UUID>' },
select: { id: true }
}).execute();updateNodeAtPath
<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->
Execute the updateNodeAtPath mutation
Usage
db.mutation.updateNodeAtPath({ input: '<UpdateNodeAtPathInput>' }).execute()Examples
Run updateNodeAtPath
const result = await db.mutation.updateNodeAtPath({ input: '<UpdateNodeAtPathInput>' }).execute();