Checkboxes - documentation sections.
- Link as links table row.
- Link as gql relational schema.
- Link as minilinks structure.
- Link by relation
typereturns type link of current link. Current link is instance of type link. - Type link behaves like a typing rule. Instance links must has
from/toequal by type to typefrom/to. - If a typing violation is found, link insert transaction will be rolled back with a verbose error.
- Link may have
valuefield with any custom structure. - How to custom tables.
- If link type have attached table, then row with link_id can be getted with
valuerelation from that link. - Tables awailable independently as table, or as link relation, if you know table id.
- If
Columnlink hasvalue: { value: 'abc' }, then column in database will have name = abc.
- If your want search by tree ranges, you must define tree.
- You can expand and decrease tree structure every time.
- On client side, you can expand plain results into linked minilinks structure.
- Relations
upanddown.
- Built-in model of selecting data.
- Usage for trees.
- Basical rule theory
- Actions
insert/update/delete/selectfor permissions. - Custom actions.
- [ ]
- Package contain
itemslist. Item is{ id type from to value }. - Field
idcan be defined any unique for package string|number. Package id names/numbers - local id. - Field
idin data base names global id. - After package import, local id of currentLink stored in
package |= contain => currentLinkincontain.value.value. - Fields
from_id,to_id,type_idnot used in packages. - Links in package connected by fields
from,to,type. - If only
idandvalueis defined, buttypeand others not defined, item exists for insert value in specific order after base link byidalready inserted. - If
package.strictis true, then items insert in strict order as in package.
- If inserted link has subscribed by type or selector handlers, then creates links
thenandpromisein transacition.current |-- then --> promise. - For answer -
is link background handlers resolved?need to verify any one of this conditions:- if link not have outgoind
|-- then -->links - else link has
has,promiseandresolvedlinks as|-- then --> promise |-- resolved, but has notrejectedlinks as|-- then --> promise |-- resolved. - else if link has
rejectedlinks (it doesn't matter if there is aresolvedor not), it means a link was inserted with unsuccessful reactions and is considered damaged in a general sense, but you can check eachrejectedandresolvedlinks from promise. This will allow you to understand which handlers are errored.
- if link not have outgoind
- In js implementation you can use
await awaitPromise({ id, client })method returns native promise.
- Mutation
reserve({ count: 15 }) { ids }reserve some count of link ids and return it as ids. - You can insert links with ids from reserve mutation.
- One hour from reservation - imeout for cleaning reserved ids.
Here will be hybric passportjs and deep jwt standart.
- Temporary
guestgql query generate new link and jwt for it. - Temporary
jwtgenerate new jwt from linkId.