App

Manage schemas, tables, fields, records, and files in the Awee app platform.

Tip

These components connect a workflow to the Awee data platform, turning schemas, tables, and records into steps.

Full CRUD access to the Awee application layer, covering schemas, tables, fields, records, and stored files. Use these components to create and evolve data models, insert or update records one at a time or in bulk, run structured queries, and inspect change history, all from within a workflow.

They connect a workflow directly to the Awee data platform, so a run can shape and drive live application data.

Components

Each component links to its own page with its full options and outputs.

NameDescription
app:fieldRetrieves the definition of a single field within a table
app:field:createAdds a new field to a table and applies the migration
app:field:deleteRemoves a field from a table and applies the migration
app:field:listLists all fields defined within a table
app:field:updateChanges the attributes a caller names on an existing field
app:file:readRetrieves file bytes without interpreting their format.
app:file:saveInserts a file record, uploads the blob, and stamps the resulting key back onto the record. Errors mid-flight leave the record in place with an empty Field, which is intentional so the row still shows up in audit and list views and operators can inspect the failure
app:recordRetrieves a single record by ID from the given schema table
app:record:bulk:deleteSoft-deletes a set of records in one write and returns the identifiers the write reached
app:record:bulk:insertInserts a set of records into a schema table in one write and returns their identifiers
app:record:bulk:updateApplies a patch across a set of records and returns the identifiers the write reached
app:record:bulk:upsertWrites a set of records into a schema table, addressing each by a business key rather than by an id. It exists so a workflow syncing anything stops carrying the "did this row already exist" branch. Answering that in the document costs a read, a compare and two conditional writes, and every one of those steps is a chance for the two branches to drift apart. The database already knows, through the unique index the match names, so the step asks it.
app:record:deleteSoft-deletes a record by setting its deleted_at timestamp
app:record:historyRetrieves the immutable audit log for a record, ordered oldest first
app:record:insertInserts a new record into a schema table and returns the persisted record
app:record:queryQueries records from a schema table using filters, sorting and pagination
app:record:updateApplies a full replacement patch to an existing record and returns the updated record
app:schemaRetrieves a single schema by ID for the given organization
app:schema:createProvisions a new database and applies the initial schema definition
app:schema:create:manyProvisions multiple databases and applies their initial schema definitions
app:schema:deleteDrops the database for the given schema ID
app:schema:listLists all schemas belonging to an organization
app:schema:updateReplaces the metadata of an existing schema
app:tableRetrieves the definition of a single table within a schema
app:table:createAdds a new table to a schema and applies the migration
app:table:deleteRemoves a table from a schema and applies the migration
app:table:listLists all tables defined within a schema
app:table:updateChanges the parts a caller names on an existing table