Skip to content

Commit e1e1384

Browse files
committed
chore: add more seed data
1 parent d350e37 commit e1e1384

File tree

3 files changed

+114
-40
lines changed

3 files changed

+114
-40
lines changed

apps/backend/db/seeds/DatabaseSeeder.ts

Lines changed: 112 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { LanguageCreationDto } from "../../src/defaults/languages/language.dto";
99
import { CarerCreationDto } from "../../src/defaults/carers/carer.dto";
1010
import { ParticipantCreationDto } from "../../src/research/participants/participant.dto";
1111
import { UserCreationDto } from "../../src/system/users/user.dto";
12+
import { StudyCreationDto } from "../../src/research/studies/study.dto";
13+
import { Study } from "../../src/research/studies/study.entity";
1214

1315
export class DatabaseSeeder extends Seeder {
1416
async run(em: EntityManager) {
@@ -40,6 +42,21 @@ export class DatabaseSeeder extends Seeder {
4042
},
4143
];
4244

45+
const studies: StudyCreationDto[] = [
46+
{
47+
id: 700,
48+
title: "Frühjahr 2025",
49+
},
50+
{
51+
id: 800,
52+
title: "Herbst 2025",
53+
},
54+
{
55+
id: 900,
56+
title: "Herbst 2025",
57+
},
58+
];
59+
4360
const carers: CarerCreationDto[] = [
4461
{ name: "Mutter, Mother" },
4562
{ name: "Vater, Father" },
@@ -49,7 +66,6 @@ export class DatabaseSeeder extends Seeder {
4966
{ name: "Bruder, Brother" },
5067
{ name: "Tante, Aunt" },
5168
{ name: "Onkel, Uncle" },
52-
{ name: "Onkel, Uncle" },
5369
{ name: "KiTa, Day care centre" },
5470
{ name: "Spielgruppe, Playgroup" },
5571
{ name: "Turnen, Gymnastics" },
@@ -60,53 +76,110 @@ export class DatabaseSeeder extends Seeder {
6076
];
6177

6278
const languages: LanguageCreationDto[] = [
63-
{ name: "Deutsch", ietfBcp47: "de" },
64-
{ name: "English", ietfBcp47: "en" },
65-
{ name: "Français", ietfBcp47: "fr" },
66-
{ name: "Italiano", ietfBcp47: "it" },
67-
{ name: "Español", ietfBcp47: "es" },
68-
{ name: "Português", ietfBcp47: "pt" },
69-
{ name: "Nederlands", ietfBcp47: "nl" },
70-
{ name: "Dansk", ietfBcp47: "da" },
71-
{ name: "Svenska", ietfBcp47: "sv" },
72-
{ name: "Norsk", ietfBcp47: "no" },
73-
{ name: "Suomi", ietfBcp47: "fi" },
74-
{ name: "Polski", ietfBcp47: "pl" },
75-
{ name: "Čeština", ietfBcp47: "cs" },
76-
{ name: "Slovenčina", ietfBcp47: "sk" },
77-
{ name: "Magyar", ietfBcp47: "hu" },
78-
{ name: "Română", ietfBcp47: "ro" },
79-
{ name: "Български", ietfBcp47: "bg" },
80-
{ name: "Русский", ietfBcp47: "ru" },
81-
{ name: "Українська", ietfBcp47: "uk" },
82-
{ name: "العربية", ietfBcp47: "ar" },
83-
{ name: "עברית", ietfBcp47: "he" },
84-
{ name: "हिन्दी", ietfBcp47: "hi" },
85-
{ name: "বাংলা", ietfBcp47: "bn" },
86-
{ name: "日本語", ietfBcp47: "ja" },
87-
{ name: "中文", ietfBcp47: "zh" },
88-
{ name: "한국어", ietfBcp47: "ko" },
89-
{ name: "Tiếng Việt", ietfBcp47: "vi" },
90-
{ name: "Deutsch (Schweiz)", ietfBcp47: "de-CH" },
91-
{ name: "Deutsch (Österreich)", ietfBcp47: "de-AT" },
92-
{ name: "Deutsch (Liechtenstein)", ietfBcp47: "de-LI" },
93-
{ name: "Deutsch (Luxemburg)", ietfBcp47: "de-LU" },
94-
{ name: "Deutsch (Belgien)", ietfBcp47: "de-BE" },
95-
{ name: "Français (Suisse)", ietfBcp47: "fr-CH" },
96-
{ name: "Français (Belgique)", ietfBcp47: "fr-BE" },
97-
{ name: "Français (Luxembourg)", ietfBcp47: "fr-LU" },
98-
{ name: "Français (Monaco)", ietfBcp47: "fr-MC" },
99-
{ name: "Italiano (Svizzera)", ietfBcp47: "it-CH" },
100-
{ name: "Italiano (San Marino)", ietfBcp47: "it-SM" },
79+
{ name: "Deutsch (Schweiz), German (Switzerland)", ietfBcp47: "de-CH" },
80+
{ name: "Deutsch (Österreich), German (Austria)", ietfBcp47: "de-AT" },
81+
{ name: "Deutsch (Liechtenstein), German (Liechtenstein)", ietfBcp47: "de-LI" },
82+
{ name: "Deutsch (Luxemburg), German (Luxemburg)", ietfBcp47: "de-LU" },
83+
{ name: "Deutsch (Belgien), German (Belgium)", ietfBcp47: "de-BE" },
84+
{ name: "Französisch (Schweiz), French (Switzerland)", ietfBcp47: "fr-CH" },
85+
{ name: "Französisch (Belgien), French (Belgium)", ietfBcp47: "fr-BE" },
86+
{ name: "Französisch (Luxembourg), French (Luxembourg)", ietfBcp47: "fr-LU" },
87+
{ name: "Französisch (Monaco), French (Monaco)", ietfBcp47: "fr-MC" },
88+
{ name: "Italienisch (Schweiz), Italian (Switzerland)", ietfBcp47: "it-CH" },
10189
{ name: "Surselvisch Romontsch", ietfBcp47: "rm-sursilv" },
10290
{ name: "Vallader Romontsch", ietfBcp47: "rm-vallader" },
10391
{ name: "Puter Romontsch", ietfBcp47: "rm-puter" },
10492
{ name: "Rumantsch Grischun", ietfBcp47: "rm" },
93+
{ name: "Englisch (Vereinigtes Königreich), English (United Kingdom)", ietfBcp47: "en-GB" },
94+
{ name: "Englisch (Vereinigte Staaten), English (United States)", ietfBcp47: "en-US" },
95+
{ name: "Englisch (Irland), English (Ireland)", ietfBcp47: "en-IE" },
96+
{ name: "Spanisch (Spanien), Spanish (Spain)", ietfBcp47: "es-ES" },
97+
{ name: "Spanisch (Andorra), Spanish (Andorra)", ietfBcp47: "es-AD" },
98+
{ name: "Katalanisch (Spanien), Catalan (Spain)", ietfBcp47: "ca-ES" },
99+
{ name: "Katalanisch (Andorra), Catalan (Andorra)", ietfBcp47: "ca-AD" },
100+
{ name: "Portugiesisch (Portugal), Portuguese (Portugal)", ietfBcp47: "pt-PT" },
101+
{ name: "Italienisch (Italien), Italian (Italy)", ietfBcp47: "it-IT" },
102+
{ name: "Französisch (Frankreich), French (France)", ietfBcp47: "fr-FR" },
103+
{ name: "Niederländisch (Niederlande), Dutch (Netherlands)", ietfBcp47: "nl-NL" },
104+
{ name: "Niederländisch (Belgien), Dutch (Belgium)", ietfBcp47: "nl-BE" },
105+
{ name: "Dänisch (Dänemark), Danish (Denmark)", ietfBcp47: "da-DK" },
106+
{ name: "Schwedisch (Schweden), Swedish (Sweden)", ietfBcp47: "sv-SE" },
107+
{ name: "Norwegisch (Norwegen), Norwegian (Norway)", ietfBcp47: "no-NO" },
108+
{ name: "Finnisch (Finnland), Finnish (Finland)", ietfBcp47: "fi-FI" },
109+
{ name: "Isländisch (Island), Icelandic (Iceland)", ietfBcp47: "is-IS" },
110+
{ name: "Estnisch (Estland), Estonian (Estonia)", ietfBcp47: "et-EE" },
111+
{ name: "Lettisch (Lettland), Latvian (Latvia)", ietfBcp47: "lv-LV" },
112+
{ name: "Litauisch (Litauen), Lithuanian (Lithuania)", ietfBcp47: "lt-LT" },
113+
{ name: "Polnisch (Polen), Polish (Poland)", ietfBcp47: "pl-PL" },
114+
{ name: "Tschechisch (Tschechien), Czech (Czech Republic)", ietfBcp47: "cs-CZ" },
115+
{ name: "Slowakisch (Slowakei), Slovak (Slovakia)", ietfBcp47: "sk-SK" },
116+
{ name: "Ungarisch (Ungarn), Hungarian (Hungary)", ietfBcp47: "hu-HU" },
117+
{ name: "Rumänisch (Rumänien), Romanian (Romania)", ietfBcp47: "ro-RO" },
118+
{ name: "Bulgarisch (Bulgarien), Bulgarian (Bulgaria)", ietfBcp47: "bg-BG" },
119+
{ name: "Griechisch (Griechenland), Greek (Greece)", ietfBcp47: "el-GR" },
120+
{ name: "Türkisch (Türkei), Turkish (Turkey)", ietfBcp47: "tr-TR" },
121+
{ name: "Russisch (Russland), Russian (Russia)", ietfBcp47: "ru-RU" },
122+
{ name: "Belarussisch (Weissrussland), Belarusian (Belarus)", ietfBcp47: "be-BY" },
123+
{ name: "Ukrainisch (Ukraine), Ukrainian (Ukraine)", ietfBcp47: "uk-UA" },
124+
{ name: "Serbisch (Serbien), Serbian (Serbia)", ietfBcp47: "sr-RS" },
125+
{ name: "Kroatisch (Kroatien), Croatian (Croatia)", ietfBcp47: "hr-HR" },
126+
{ name: "Bosnisch (Bosnien), Bosnian (Bosnia)", ietfBcp47: "bs-BA" },
127+
{ name: "Slowenisch (Slowenien), Slovenian (Slovenia)", ietfBcp47: "sl-SI" },
128+
{ name: "Albanisch (Albanien), Albanian (Albania)", ietfBcp47: "sq-AL" },
129+
{ name: "Mazedonisch (Nordmazedonien), Macedonian (North Macedonia)", ietfBcp47: "mk-MK" },
130+
{ name: "Montenegrinisch (Montenegro), Montenegrin (Montenegro)", ietfBcp47: "sr-ME" },
131+
{ name: "Arabisch (Ägypten), Arabic (Egypt)", ietfBcp47: "ar-EG" },
132+
{ name: "Arabisch (Saudi-Arabien), Arabic (Saudi Arabia)", ietfBcp47: "ar-SA" },
133+
{ name: "Arabisch (Vereinigte Arabische Emirate), Arabic (UAE)", ietfBcp47: "ar-AE" },
134+
{ name: "Mandarin (China), Mandarin Chinese (China)", ietfBcp47: "zh-CN" },
135+
{ name: "Mandarin (Taiwan), Mandarin Chinese (Taiwan)", ietfBcp47: "zh-TW" },
136+
{ name: "Hindi (Indien), Hindi (India)", ietfBcp47: "hi-IN" },
137+
{ name: "Bengalisch (Bangladesch), Bengali (Bangladesh)", ietfBcp47: "bn-BD" },
138+
{ name: "Bengalisch (Indien), Bengali (India)", ietfBcp47: "bn-IN" },
139+
{ name: "Japanisch (Japan), Japanese (Japan)", ietfBcp47: "ja-JP" },
140+
{ name: "Koreanisch (Südkorea), Korean (South Korea)", ietfBcp47: "ko-KR" },
141+
{ name: "Vietnamesisch (Vietnam), Vietnamese (Vietnam)", ietfBcp47: "vi-VN" },
142+
{ name: "Thailändisch (Thailand), Thai (Thailand)", ietfBcp47: "th-TH" },
143+
{ name: "Malayisch (Malaysia), Malay (Malaysia)", ietfBcp47: "ms-MY" },
144+
{ name: "Tamil (Indien), Tamil (India)", ietfBcp47: "ta-IN" },
145+
{ name: "Telugu (Indien), Telugu (India)", ietfBcp47: "te-IN" },
146+
{ name: "Swahili (Kenia), Swahili (Kenya)", ietfBcp47: "sw-KE" },
147+
{ name: "Swahili (Tansania), Swahili (Tanzania)", ietfBcp47: "sw-TZ" },
148+
{ name: "Persisch (Iran), Persian (Iran)", ietfBcp47: "fa-IR" },
149+
{ name: "Urdu (Pakistan), Urdu (Pakistan)", ietfBcp47: "ur-PK" },
150+
{ name: "Paschtunisch (Afghanistan), Pashto (Afghanistan)", ietfBcp47: "ps-AF" },
151+
{ name: "Türkisch (Türkei), Turkish (Turkey)", ietfBcp47: "tr-TR" },
152+
{ name: "Hebräisch (Israel), Hebrew (Israel)", ietfBcp47: "he-IL" },
153+
{ name: "Javanisch (Indonesien), Javanese (Indonesia)", ietfBcp47: "jv-ID" },
154+
{ name: "Punjabi (Indien), Punjabi (India)", ietfBcp47: "pa-IN" },
155+
{ name: "Punjabi (Pakistan), Punjabi (Pakistan)", ietfBcp47: "pa-PK" },
156+
{ name: "Gujarati (Indien), Gujarati (India)", ietfBcp47: "gu-IN" },
157+
{ name: "Kannada (Indien), Kannada (India)", ietfBcp47: "kn-IN" },
158+
{ name: "Marathi (Indien), Marathi (India)", ietfBcp47: "mr-IN" },
159+
{ name: "Odia (Indien), Odia (India)", ietfBcp47: "or-IN" },
160+
{ name: "Sinhala (Sri Lanka), Sinhala (Sri Lanka)", ietfBcp47: "si-LK" },
161+
{ name: "Burmese (Myanmar), Burmese (Myanmar)", ietfBcp47: "my-MM" },
162+
{ name: "Khmer (Kambodscha), Khmer (Cambodia)", ietfBcp47: "km-KH" },
163+
{ name: "Lao (Laos), Lao (Laos)", ietfBcp47: "lo-LA" },
164+
{ name: "Mongolisch (Mongolei), Mongolian (Mongolia)", ietfBcp47: "mn-MN" },
165+
{ name: "Nepali (Nepal), Nepali (Nepal)", ietfBcp47: "ne-NP" },
166+
{ name: "Singhalesisch (Sri Lanka), Sinhala (Sri Lanka)", ietfBcp47: "si-LK" },
167+
{ name: "Tagalog (Philippinen), Tagalog (Philippines)", ietfBcp47: "tl-PH" },
168+
{ name: "Amharisch (Äthiopien), Amharic (Ethiopia)", ietfBcp47: "am-ET" },
169+
{ name: "Somali (Somalia), Somali (Somalia)", ietfBcp47: "so-SO" },
170+
{ name: "Zulu (Südafrika), Zulu (South Africa)", ietfBcp47: "zu-ZA" },
171+
{ name: "Xhosa (Südafrika), Xhosa (South Africa)", ietfBcp47: "xh-ZA" },
172+
{ name: "Afrikaans (Südafrika), Afrikaans (South Africa)", ietfBcp47: "af-ZA" },
173+
{ name: "Hausa (Nigeria), Hausa (Nigeria)", ietfBcp47: "ha-NG" },
174+
{ name: "Igbo (Nigeria), Igbo (Nigeria)", ietfBcp47: "ig-NG" },
175+
{ name: "Yoruba (Nigeria), Yoruba (Nigeria)", ietfBcp47: "yo-NG" },
176+
{ name: "Maori (Neuseeland), Maori (New Zealand)", ietfBcp47: "mi-NZ" },
105177
];
106178

107179
em.persist([
108180
...users.map((user) => em.create(User, user)),
109181
...participants.map((participant) => em.create(Participant, participant)),
182+
...studies.map((study) => em.create(Study, study)),
110183
...carers.map((carer) => em.create(Carer, carer)),
111184
...languages.map((language) => em.create(Language, language)),
112185
]);

apps/backend/src/research/studies/study.dto.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export class StudyDto {
1111
title: string;
1212

1313
@Type(() => Array<number>)
14-
questionnaires: number[];
14+
questionnaires?: number[];
1515
}
1616

1717
export class StudyResponseDto extends StudyDto {}

docs/developer.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ After running `pnpm dev` the following services should come up:
2121
**Create a new migration** with `pnpm --filter @quassel/backend run db migration:create`.
2222
- **Migrate up to the latest version** with `pnpm --filter @quassel/backend run db migration:up`.
2323
- **Run seeders** with `pnpm --filter @quassel/backend run db seeder:run`.
24+
- **Restart fresh (drop, create and seed)** with `pnpm --filter @quassel/backend run db schema:fresh --seed -r`.
2425
- **Run nest tasks** by using `pnpm --filter @quassel/backend run nest`.
2526
- **Generate services** with e. g. `pnpm --filter @quassel/backend run nest g s participants research`.
2627
- **Generate controllers** with e. g. `pnpm --filter @quassel/backend run nest g co languages defaults`.

0 commit comments

Comments
 (0)