Skip to content

Mode

A Mode is how a caller invokes a Verb: try waits and stores nothing, send returns a pending Action, do waits for the result.

Properties

PropertyTypeRequiredDescription
namestringrequiredOne of try, send, or do.
durablebooleanrequiredTrue when the Action is stored and survives restarts: send and do.
waitsbooleanrequiredTrue when the caller holds the call open until the result: try and do.
holdSecondsintegerFor do: seconds a call holds before it returns 202 with the pending Action; Setting mode.holdSeconds.
maxWaitSecondsintegerThe longest hold Prefer: wait=N may ask for; Setting mode.maxWaitSeconds.

Object

JSON
{
  "$id": "https://api.sb/ledgerlark.com/modes/mode_1",
  "$type": "Mode",
  "name": "try",
  "durable": true,
  "waits": true,
  "holdSeconds": 60,
  "maxWaitSeconds": 300
}

Relationships

  • A Mode default for many Verbs: the Mode a call uses when the caller names none: try, send or do. defaultFor, inverse defaultsTo.
  • A Mode is a mode of many Actions: the Mode the caller chose: try stores nothing, send returns a pending Action, do waits for the result. modeOf, inverse runsIn.

Verbs

  1. getReturns one Mode by id.
    GET /{namespace}/modes/{id}readNo Event
  2. listReturns Modes, newest first, one page at a time.
    GET /{namespace}/modesreadNo Event

A Mode is kept forever and never edited: it has no update or delete.

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Mode.getYesYesYesYes
Mode.listYesYesYesYes

Call it

Text
Show me the latest mode.

Example

TypeScript
import { $ } from 'startup-builder'

const preview = await $.try.Order.place({ offer: 'offer_1' }) // waits, stores nothing
const pending = await $.send.Order.place({ offer: 'offer_1' }) // the Action, status Pending
const order = await $.do.Order.place({ offer: 'offer_1' }) // waits for the finished Action