Thing methods: share, unrelate
The Thing Verbs share, unrelate as typed SDK methods, with inputs, result, refusals and an example.
Reference for Thing, one group of Thing methods.
Thing.share
Share grants a person, a Role or a guest Verbs on one record and everything it contains. Verb page.
interface ThingVerbs {
share(input: ThingShareInput, options?: SB.CallOptions): SB.Call<ThingShareOutput>
}Emits Thing.shared.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
thing | Thing | required | The record to share. |
to | Party | required | Who receives the grant: a person, or a guest who fills only the guest Role. |
verbs | string[] | required | The Verbs granted, such as get and comment. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
permission | Permission | required | The grant, scoped to the record and its contents. |
thing | Thing | required | The Thing shared. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
import { $ } from 'startup-builder'
const { permission, thing } = await $.Thing.share({ thing: 'thing_8ds0r9vvRl', to: 'party_hmQWaPrAyZ', verbs: ['Example verbs'] })Thing.unrelate
Unrelate ends a Relationship between two Things; the link stays in history and reads back at any earlier moment. Verb page.
interface ThingVerbs {
unrelate(input: ThingUnrelateInput, options?: SB.CallOptions): SB.Call<ThingUnrelateOutput>
}Emits Thing.unrelated.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
thing | Thing | required | The source Thing. |
predicate | string | required | The Relationship as read from the source. |
to | Thing | required | The target Thing. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
relationship | Relationship | required | The ended Relationship. |
thing | Thing | required | The Thing the Relationship started from. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
import { $ } from 'startup-builder'
const { relationship, thing } = await $.Thing.unrelate({ thing: 'thing_8ds0r9vvRl', predicate: 'Example predicate', to: 'thing_8ds0r9vvRl' })