galchemy/orm/entity
Types
pub type Entity {
Entity(
metadata: metadata.ModelMetadata,
fields: List(unit_of_work.FieldValue),
loaded_relations: List(String),
status: EntityStatus,
)
}
Constructors
-
Entity( metadata: metadata.ModelMetadata, fields: List(unit_of_work.FieldValue), loaded_relations: List(String), status: EntityStatus, )
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
-
UnknownColumn(table: relation.TableRef, column: String) -
UnknownRelation(table: relation.TableRef, relation_name: String) -
MissingIdentityField(table: relation.TableRef, column: String) -
DeletedEntity(relation.TableRef)
pub type EntityStatus {
Clean
New
Dirty(changes: List(unit_of_work.FieldValue))
Deleted
}
Constructors
-
Clean -
New -
Dirty(changes: List(unit_of_work.FieldValue)) -
Deleted
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_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