// insert link with unuvailable type impossible
await deep.insert({ type_id: 999 });
// throwed error: check constraint of an insert/update permission has failed
hasura_permissions | postgresql_trigger | |
---|---|---|
type exists | + |
// Particular (from without to, or to without from) is not allowed.
await deep.insert({ type_id: 1, from_id: 1 });
// throwed error: Particular links is not allowed id: 169, from: 1, to: 0.
hasura_permissions | postgresql_trigger | |
---|---|---|
particular links | + |
// create new type
const { data: [{ id }] } = await deep.insert({ type_id: 1 });
// type not describe from_id and to_id
// we can insert link of this type without from_id and to_id
await deep.insert({ type_id: id });
// but we cant insert with from_id or to_id
await deep.insert({ type_id: id, from_id: 1, to_id: 1 });
hasura_permissions | postgresql_trigger | |
---|---|---|
from is allowed type | + | |
to is allowed type | + |
// create new type
const { data: [{ id: A }] } = await deep.insert({ type_id: 1 });
const { data: [{ id: B }] } = await deep.insert({ type_id: 1, from_id: A, to_id: A });
const { data: [{ id: a }] } = await deep.insert({ type_id: A });
// success
const { data: [{ id: b }] } = await deep.insert({ type_id: B, from_id: a, to_id: a });
// success
const { data: [{ id: c }] } = await deep.insert({ type_id: B, from_id: a, to_id: b });
// error
hasura_permissions | postgresql_trigger | |
---|---|---|
type conflict | + |
['@deep-foundation/core','Any']
can be used for allow any from/to without strict type validation.
const { data: [{ id }] } = await deep.insert({ type_id: 1, from_id: await deep.id('@deep-foundation/core', 'Any'), to_id: await deep.id('@deep-foundation/core', 'Any') });
Alpha version does not support union types. We add it soon...
Union types allow use multiple OR variants of type for from
/ to
.
JavaScript number max save size 9007199254740991