keiro-dsl-0.15.0.0: test/frontend-0.7/workspaces/valid/domain/shared.keiro
language keiro-dsl 1
context demo-project
id ProjectId prefix=proj
enum ProjectPhase { Draft=draft Active=active Retired=retired }
enum WorkspaceVisibility { Internal=internal External=external }
rule phaseIsTerminal : ProjectPhase -> Bool
ex Draft => false ; Active => false ; Retired => true
mapped structural record ProjectSummary {
haskell package=demo-project-domain module=Demo.Project.Domain type=ProjectSummary
binding = "Demo.Project.KeiroBindings.projectSummaryBinding"
binding-version = "1"
canonical-type = "demo.project.ProjectSummary.v1"
fixtures = "Demo.Project.KeiroBindings.projectSummaryCases"
initial = "Demo.Project.KeiroBindings.emptyProjectSummary"
wire object constructor=ProjectSummary unknown-fields=reject {
title as "title" : Text required
owner as "owner" : Text required
}
}