galchemy/orm/entity

Types

pub type Entity {
  Entity(
    metadata: metadata.ModelMetadata,
    fields: List(unit_of_work.FieldValue),
    loaded_relations: List(String),
    status: EntityStatus,
  )
}

Constructors

pub type EntityError {
  UnknownColumn(table: relation.TableRef, column: String)
  UnknownRelation(
    table: relation.TableRef,
    relation_name: String,
  )
  MissingIdentityField(table: relation.TableRef, column: String)
  DeletedEntity(relation.TableRef)
}

Constructors

pub type EntityStatus {
  Clean
  New
  Dirty(changes: List(unit_of_work.FieldValue))
  Deleted
}

Constructors

Values

pub fn change(
  entity: Entity,
  changes: List(unit_of_work.FieldValue),
) -> Result(Entity, EntityError)
pub fn fields(entity: Entity) -> List(unit_of_work.FieldValue)
pub fn identity(
  entity: Entity,
) -> Result(unit_of_work.Identity, EntityError)
pub fn mark_clean(entity: Entity) -> Entity
pub fn mark_deleted(entity: Entity) -> Entity
pub fn mark_relation_loaded(
  entity: Entity,
  relation_name: String,
) -> Result(Entity, EntityError)
pub fn materialize(
  metadata: metadata.ModelMetadata,
  fields: List(unit_of_work.FieldValue),
) -> Result(Entity, EntityError)
pub fn new_(
  metadata: metadata.ModelMetadata,
  fields: List(unit_of_work.FieldValue),
) -> Result(Entity, EntityError)
pub fn relation_loaded(
  entity: Entity,
  relation_name: String,
) -> Bool
pub fn stage(
  session: unit_of_work.Session,
  entity: Entity,
) -> Result(unit_of_work.Session, EntityError)
pub fn status(entity: Entity) -> EntityStatus
Search Document