galchemy/session/cascade

Types

pub type CascadeAction {
  Persist
  Delete
}

Constructors

  • Persist
  • Delete
pub type CascadeError {
  RuntimeError(runtime.TrackError)
  UnknownRelation(
    table: relation.TableRef,
    relation_name: String,
  )
}

Constructors

pub type CascadeNode {
  CascadeNode(
    entity: entity.Entity,
    relations: List(CascadeRelation),
  )
}

Constructors

pub type CascadeRelation {
  CascadeRelation(name: String, children: List(CascadeNode))
}

Constructors

  • CascadeRelation(name: String, children: List(CascadeNode))
pub type CascadeRule {
  CascadeRule(
    relation_name: String,
    actions: List(CascadeAction),
  )
}

Constructors

  • CascadeRule(relation_name: String, actions: List(CascadeAction))

Values

pub fn delete(
  session: runtime.Session,
  root: CascadeNode,
  rules: List(CascadeRule),
) -> Result(runtime.Session, CascadeError)
pub fn delete_rule(relation_name: String) -> CascadeRule
pub fn node(
  next_entity: entity.Entity,
  relations: List(CascadeRelation),
) -> CascadeNode
pub fn persist_rule(relation_name: String) -> CascadeRule
pub fn related(
  name: String,
  children: List(CascadeNode),
) -> CascadeRelation
pub fn rule(
  relation_name: String,
  actions: List(CascadeAction),
) -> CascadeRule
pub fn stage(
  session: runtime.Session,
  root: CascadeNode,
  rules: List(CascadeRule),
) -> Result(runtime.Session, CascadeError)
Search Document