chore: tended the spec against the bDS app to fix contradictions
This commit is contained in:
@@ -48,6 +48,7 @@ invariant TemplateFileLayout {
|
||||
rule CreateTemplate {
|
||||
when: CreateTemplateRequested(title, kind, content)
|
||||
let slug = slugify(title)
|
||||
-- Creates a draft template: content stored in DB, no file written yet
|
||||
ensures: Template.created(
|
||||
slug: slug,
|
||||
title: title,
|
||||
@@ -60,6 +61,25 @@ rule CreateTemplate {
|
||||
)
|
||||
}
|
||||
|
||||
rule CreateAndPublishTemplate {
|
||||
-- Alternative creation path: create + immediately publish (file written)
|
||||
-- TypeScript: createTemplate() does this in one step
|
||||
when: CreateAndPublishTemplateRequested(title, kind, content)
|
||||
let slug = slugify(title)
|
||||
requires: ValidateLiquid(content) = valid
|
||||
ensures: Template.created(
|
||||
slug: slug,
|
||||
title: title,
|
||||
kind: kind,
|
||||
content: null,
|
||||
status: published,
|
||||
enabled: true,
|
||||
version: 1,
|
||||
file_path: format("templates/{slug}.liquid", slug: slug)
|
||||
)
|
||||
ensures: TemplateFileWritten(template)
|
||||
}
|
||||
|
||||
rule UpdateTemplate {
|
||||
when: UpdateTemplateRequested(template, changes)
|
||||
ensures: TemplateFieldsUpdated(template, changes)
|
||||
|
||||
Reference in New Issue
Block a user