Skip to content

Commit 722acc5

Browse files
bryanjnelsonCarsonF
authored andcommitted
Add seed data for LanguageEngagement
1 parent e9224d4 commit 722acc5

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
with
2+
engagementsJson := to_json('[
3+
{
4+
"project": "Misty Mountains",
5+
"language": "English",
6+
"status": "InDevelopment",
7+
"startDateOverride": "2020-04-01",
8+
"endDateOverride": "2020-06-30"
9+
},
10+
{
11+
"project": "Arnor Lake",
12+
"language": "Quenya",
13+
"status": "FinalizingCompletion",
14+
"startDateOverride": "2016-04-01",
15+
"endDateOverride": "2017-06-30"
16+
},
17+
{
18+
"project": "Lothlorien",
19+
"language": "Sindarin",
20+
"status": "Active"
21+
},
22+
{
23+
"project": "Emyn Muil",
24+
"language": "Khuzdul",
25+
"status": "Active"
26+
},
27+
{
28+
"project": "South Downs",
29+
"language": "Westron",
30+
"status": "FinalizingCompletion",
31+
"paratextRegistryId": "1234567890"
32+
}
33+
]'),
34+
engagements := (
35+
for engagement in json_array_unpack(engagementsJson)
36+
union (
37+
with
38+
language := assert_single((select Language filter .name = <str>engagement['language'])),
39+
project := (select Project filter .name = <str>engagement['project']),
40+
select (
41+
(select LanguageEngagement filter .language = language and .project = project) ??
42+
(insert LanguageEngagement {
43+
project := project,
44+
projectContext := project.projectContext,
45+
status := <Engagement::Status>engagement['status'],
46+
startDateOverride := <cal::local_date>json_get(engagement, 'startDateOverride'),
47+
endDateOverride := <cal::local_date>json_get(engagement, 'endDateOverride'),
48+
language := language,
49+
paratextRegistryId := <str>json_get(engagement, 'paratextRegistryId')
50+
})
51+
)
52+
)
53+
),
54+
new := (select engagements filter .createdAt = datetime_of_statement())
55+
select { `Added Language Engagements: Language -> Project` := new.language.name ++ ' -> ' ++ new.project.name }
56+
filter count(new) > 0;

0 commit comments

Comments
 (0)