Skip to main content

Data source

A data source read through the Connectors command line: the configured source (a Connectors adapter alias, a connection and the read operation it declares for each kind of read), how the command line is run, what operations describe reports for an operation and what one read answers; and a governed write: the operation written, the person's approval proof it passes and what Connectors answers for it. A read never carries a credential and never runs an operation Connectors describes as a mutation. A write carries no credential either; it runs only for a request the runtime admitted, with the path of the approval proof, and is never retried.

loom.datasource is one of loom's bounded contexts. All domains.

Types​

AdapterAlias​

loom.datasource.AdapterAlias wraps String and is not interchangeable with one: the whole value of naming it separately is the crossings the model then refuses.

ConnectionId​

loom.datasource.ConnectionId wraps String and is not interchangeable with one: the whole value of naming it separately is the crossings the model then refuses.

ConnectorsCliConfig​

loom.datasource.ConnectorsCliConfig is a record of four fields:

  • program — String
  • config — Optional<String>, which may be absent
  • state_dir — Optional<String>, which may be absent
  • timeout_seconds — Optional<Integer>, which may be absent

DataSource​

loom.datasource.DataSource is a record of six fields:

  • name — loom.datasource.SourceName
  • adapter — loom.datasource.AdapterAlias
  • connection — loom.datasource.ConnectionId
  • list — Optional<loom.datasource.OperationId>, which may be absent
  • search — Optional<loom.datasource.OperationId>, which may be absent
  • get — Optional<loom.datasource.OperationId>, which may be absent

MutationClassification​

loom.datasource.MutationClassification is one of NotAttempted, Refused, Applied and Unknown.

OperationId​

loom.datasource.OperationId wraps String and is not interchangeable with one: the whole value of naming it separately is the crossings the model then refuses.

ReadKind​

loom.datasource.ReadKind is one of List, Search and Get.

ReadRefusal​

loom.datasource.ReadRefusal is a record of five fields:

  • source — Optional<loom.datasource.SourceName>, which may be absent
  • adapter — loom.datasource.AdapterAlias
  • operation — Optional<loom.datasource.OperationId>, which may be absent
  • code — String
  • message — String

ReadResult​

loom.datasource.ReadResult is a record of two fields:

  • body — Json
  • audit_ref — Optional<String>, which may be absent

SourceEntity​

loom.datasource.SourceEntity is a record of four fields:

  • operation — loom.datasource.OperationId
  • schema — String
  • input_schema — Json
  • revision — String

SourceName​

loom.datasource.SourceName wraps String and is not interchangeable with one: the whole value of naming it separately is the crossings the model then refuses.

WriteApproval​

loom.datasource.WriteApproval is a record of one field:

  • proof_file — String

WriteOperation​

loom.datasource.WriteOperation is a record of four fields:

  • action — String
  • adapter — loom.datasource.AdapterAlias
  • connection — loom.datasource.ConnectionId
  • operation — loom.datasource.OperationId

WriteRefusal​

loom.datasource.WriteRefusal is a record of four fields:

  • adapter — loom.datasource.AdapterAlias
  • operation — Optional<loom.datasource.OperationId>, which may be absent
  • code — String
  • message — String

WriteResult​

loom.datasource.WriteResult is a record of seven fields:

  • classification — loom.datasource.MutationClassification
  • idempotency_key — String
  • request_id — Optional<String>, which may be absent
  • body — Optional<Json>, which may be absent
  • source_audit — Optional<Json>, which may be absent
  • audit_ref — Optional<String>, which may be absent
  • code — Optional<String>, which may be absent

Seven of the types above are reached by nothing else in this system: loom.datasource.ReadRefusal, loom.datasource.ReadResult, loom.datasource.SourceEntity, loom.datasource.WriteApproval, loom.datasource.WriteOperation, loom.datasource.WriteRefusal and loom.datasource.WriteResult. No entity, view, command, event, error or crossing names them, so it is either vocabulary something outside this specification uses or a leftover — and only a person can tell which.


Generated from loom v1 · model digest 687ce3d39bdb34d56d1fe0c221f558534fa9c3e8eda9e34862b5b742d61331e9 · contract digest slice-sha256/2:e87282efd6179adb3570fa43769e8769e68b230a0dc1d1a9ab516dbf29cba207. Do not edit this file; change the specification and regenerate it with task docs-generate.