Skip to main content

Crate sofie_model

Crate sofie_model 

Source
Expand description

The app model (principle 8): read once from source and shared by every generator and check so they cannot disagree.

Re-exports§

pub use naming::KnownArea;
pub use naming::WiringSide;

Modules§

naming
One function per name, so the generator and the checks cannot disagree.
permissions
syntax
testing
Test helpers panic: a broken fixture is a broken test.
usage
Names are matched without resolving paths: the dead code check can miss dead code but never calls live code dead.

Structs§

Aggregate
App
AreaContribution
AreaDefinition
Call
Code
ConfigKey
ContractMethod
ContractTrait
sofie split serves it from the app its module moves to.
Crate
CrossOwnerCheck
A call of an aggregate’s crate-private across, which reads past the owner filter.
Dependency
Effects
EntitlementDeclaration
const EXPORT: Entitlement = Entitlement::new("project.export");, or a Limit or Quota.
Entitlements
What the app’s modules declare a plan may hold.
EnumDeclaration
EnumVariant
EventDeclaration
FeatureCode
FeatureDeclaration
FeatureGate
FieldDeclaration
Function
Gateway
GatewayAdapter
Identity
InputDeclaration
Island
IslandBundle
Job
KeyLiteral
A translation key Rust code names as a literal, which the source language must have.
ListedRoute
A row of a package’s ROUTES table, kept when its features are on.
Listener
MacroCall
MailTemplate
src/mails/<name>.html, keyed <module>/<name>; one under src/mails/<crate>/ is keyed <crate>/<name>, replacing that crate’s own mail.
Manifest
MenuEntry
MenuFile
MethodCall
ModelError
Module
ModuleConfig
MountedScreen
A shipped screen in the area the app mounts its routes in, under the key it renders as.
PackageRoutes
The framework packages’ routes where the app’s areas serve them.
PathReference
PrivateItem
A mod or a wired function that is not pub: the wiring cannot name it or what is below it.
ProductEvent
product_event!(order.placed, order.total): its name and the values it records, as written.
PropsDeclaration
Provision
Queued
Raised
RawSql
ReadModel
RemoteModule
A module split into another app, known here only through its contract.
Route
RouteMount
A package’s route function mounted in one of the app’s areas.
RoutedPackage
A framework package whose routes the app mounts in its areas.
Schedule
ScreenOverride
ScreenRender
ScreenRoute
A package route rendering one of its src/screens templates: .screen(path, name, handler).name("…") or .name_for::<A>("…").
ServedRoute
A package’s route where the app serves it.
ShippedScreen
A screen a sofie-identity route renders from a template file of its own: .shipped(path, name, (include_str!(file), describe), loader).name(handler).
SignInPaths
Source
Split
What sofie split wrote into the app’s [package.metadata.sofie].
Task
Named <module>.<function> wherever under tasks it lives.
TelemetryCode
TypeMethod
TypeName
WallClock

Enums§

AreaClient
What an area’s pages are: HTML over the wire, or a client framework’s components compiled from the same templates.
Cadence
Written as every 1h, daily at 03:00 Europe/Istanbul or weekly on monday at 03:00 Europe/Istanbul.
KeyKind
Method
Modifier
ModuleDeclaration
Then
Tier
Ordered lowest first, so a module may depend on any tier <= its own.

Constants§

DATABASE_URL
MANIFEST_CONSTANT

Functions§

check_route_path
What the router would refuse only at boot, refused before the build. What the router serves and a browser can request; the CLI writes no route this refuses.
config_type_name
dependency_crate
files_with_extension
framework_features
Resolving them reads the whole dependency graph, so they are read only when asked.
interval_seconds
is_island_name
Must match sofie-engine’s is_island_name, which refuses the island at boot; sofie-check’s tests compare the two.
island_bundles
A module’s web/ islands belong to every area a module routes in.
load
manifest_file
module_declaration
rust_files
subdirectories
workspace_crates
workspace_root