@campus-labs/prisma-client 0.17.1 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/prisma/seed2.ts DELETED
@@ -1,3044 +0,0 @@
1
- import { PrismaClient } from '@prisma/client';
2
-
3
- const prisma = new PrismaClient();
4
-
5
- async function main() {
6
- console.log('🌱 Starting database seeding...');
7
-
8
- // Insert platform roles
9
- console.log('📝 Creating platform roles....');
10
- const adminrole = await prisma.roles_platform.create({
11
- data: { role: 'admin' }
12
- });
13
-
14
- const userrole = await prisma.roles_platform.create({
15
- data: { role: 'user' }
16
- });
17
-
18
- // Insert Program roles
19
- console.log('📝 Creating program roles...');
20
- const CREATORProgramrole = await prisma.roles_programs.create({
21
- data: { role: 'CREATOR' }
22
- });
23
-
24
- const followerProgramrole = await prisma.roles_programs.create({
25
- data: { role: 'FOLLOWER' }
26
- });
27
-
28
- const editorProgramrole = await prisma.roles_programs.create({
29
- data: { role: 'EDITOR' }
30
- });
31
-
32
- // Insert initiative roles
33
- console.log('📝 Creating initiative roles...');
34
- const ORGANIZATORrole = await prisma.roles_initiatives.create({
35
- data: { role: 'ORGANIZATOR' }
36
- });
37
-
38
- const VOLUNTEERrole = await prisma.roles_initiatives.create({
39
- data: { role: 'VOLUNTEER' }
40
- });
41
-
42
- const PARTICIPANTinitiativerole = await prisma.roles_initiatives.create({
43
- data: { role: 'PARTICIPANT' }
44
- });
45
-
46
- // Insert Areas
47
- console.log('🎯 Creating areas...');
48
- const areas = await Promise.all([
49
- prisma.areas.create({
50
- data: {
51
- id: 1,
52
- title: 'Ativo',
53
- description: 'Área dedicada ao desenvolvimento tecnológico e inovação digital',
54
- img: { url: "tech_area.jpg", alt: "Área de Tecnologia" }
55
- }
56
- }),
57
- prisma.areas.create({
58
- data: {
59
- id: 2,
60
- title: 'Ensino',
61
- description: 'Projetos focados na preservação do meio ambiente e sustentabilidade',
62
- img: { url: "env_area.jpg", alt: "Área Ambiental" }
63
- }
64
- }),
65
- prisma.areas.create({
66
- data: {
67
- id: 3,
68
- title: 'Cooperação',
69
- description: 'Iniciativas educacionais e de desenvolvimento de competências',
70
- img: { url: "edu_area.jpg", alt: "Área de Educação" }
71
- }
72
- }),
73
- prisma.areas.create({
74
- data: {
75
- id: 4,
76
- title: 'Investigação',
77
- description: 'Projetos relacionados com saúde pública e bem-estar comunitário',
78
- img: { url: "health_area.jpg", alt: "Área de Saúde" }
79
- }
80
- }),
81
- prisma.areas.create({
82
- data: {
83
- id: 5,
84
- title: 'Internacional',
85
- description: 'Promoção da cultura portuguesa e expressões artísticas',
86
- img: { url: "culture_area.jpg", alt: "Área Cultural" }
87
- }
88
- }),
89
- ]);
90
-
91
- // Insert Typologies
92
- console.log('🎯 Creating typologies...');
93
- const typologies = await Promise.all([
94
- prisma.typologies.create({
95
- data: {
96
- id: 1,
97
- typology: 'Workshop',
98
- }
99
- }),
100
- prisma.typologies.create({
101
- data: {
102
- id: 2,
103
- typology: 'Curso',
104
- }
105
- }),
106
- prisma.typologies.create({
107
- data: {
108
- id: 3,
109
- typology: 'Evento',
110
- }
111
- }),
112
- prisma.typologies.create({
113
- data: {
114
- id: 4,
115
- typology: 'Formação',
116
- }
117
- }),
118
- prisma.typologies.create({
119
- data: {
120
- id: 5,
121
- typology: 'Mentoria',
122
- }
123
- }),
124
- prisma.typologies.create({
125
- data: {
126
- id: 6,
127
- typology: 'Exposição',
128
- }
129
- }),
130
- prisma.typologies.create({
131
- data: {
132
- id: 7,
133
- typology: 'Feira',
134
- }
135
- }),
136
- prisma.typologies.create({
137
- data: {
138
- id: 8,
139
- typology: 'Competição',
140
- }
141
- }),
142
- prisma.typologies.create({
143
- data: {
144
- id: 9,
145
- typology: 'Talk',
146
- }
147
- }),
148
- prisma.typologies.create({
149
- data: {
150
- id: 10,
151
- typology: 'Conferência',
152
- }
153
- }),
154
- prisma.typologies.create({
155
- data: {
156
- id: 11,
157
- typology: 'Palestra',
158
- }
159
- }),
160
- prisma.typologies.create({
161
- data: {
162
- id: 12,
163
- typology: 'Concerto',
164
- }
165
- }),
166
- prisma.typologies.create({
167
- data: {
168
- id: 13,
169
- typology: 'Visita estudo',
170
- }
171
- }),
172
- prisma.typologies.create({
173
- data: {
174
- id: 14,
175
- typology: 'Aula Aberta',
176
- }
177
- }),
178
- prisma.typologies.create({
179
- data: {
180
- id: 15,
181
- typology: 'Convívio',
182
- }
183
- }),
184
- ]);
185
-
186
-
187
- // Insert soft skills
188
- console.log('💪 Creating soft skills...');
189
- const softskills = await Promise.all([
190
- prisma.soft_skills.create({
191
- data: {
192
- title: 'Resolução de Problemas',
193
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLMZAy79qPGtxIiRgZ0kzDvVaQHhyu7KXs5E8A", alt: "Resolução de problemas" },
194
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLMZAy79qPGtxIiRgZ0kzDvVaQHhyu7KXs5E8A", alt: "Resolução de problemas" },
195
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLMZAy79qPGtxIiRgZ0kzDvVaQHhyu7KXs5E8A", alt: "Resolução de problemas" },
196
- description: 'Identificar problemas de forma eficaz, analisar causas e consequências, e propor soluções adequadas, práticas e sustentáveis, mesmo em contextos complexos ou de incerteza.',
197
- }
198
- }),
199
- prisma.soft_skills.create({
200
- data: {
201
- title: 'Criatividade e Inovação',
202
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLNNaFmU4VS4XYLByqlxK5Emvk89jZudo3QcTi", alt: "Criatividade e Inovação Ativa" },
203
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLNNaFmU4VS4XYLByqlxK5Emvk89jZudo3QcTi", alt: "Criatividade e Inovação Conquistada" },
204
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLNNaFmU4VS4XYLByqlxK5Emvk89jZudo3QcTi", alt: "Criatividade e Inovação Inativa" },
205
- description: 'Gerar ideias originais e pertinentes, explorando novas abordagens e soluções, e transformá-las em contributos práticos e com valor acrescentado.',
206
- }
207
- }),
208
- prisma.soft_skills.create({
209
- data: {
210
- title: 'Trabalho de Equipa',
211
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLpZdOQZemR3xrOJXD7dY8QsVE5iFc69jt04AH", alt: "Trabalho de Equipa" },
212
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLpZdOQZemR3xrOJXD7dY8QsVE5iFc69jt04AH", alt: "Trabalho de Equipa Conquistada" },
213
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLpZdOQZemR3xrOJXD7dY8QsVE5iFc69jt04AH", alt: "Trabalho de Equipa Inativa" },
214
- description: 'Colaborar de forma construtiva com outros, partilhando responsabilidades, respeitando diferentes perspetivas e contribuindo ativamente para objetivos comuns.',
215
- }
216
- }),
217
- prisma.soft_skills.create({
218
- data: {
219
- title: 'Ética',
220
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLzeGoZZxHNirDUypwCsoJZ7KP8ASTYE0jOuma", alt: "Ética" },
221
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLzeGoZZxHNirDUypwCsoJZ7KP8ASTYE0jOuma", alt: "Ética" },
222
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLzeGoZZxHNirDUypwCsoJZ7KP8ASTYE0jOuma", alt: "Ética" },
223
- description: 'Atuar de forma responsável, íntegra e coerente com princípios éticos, respeitando normas, valores e o impacto das decisões em indivíduos e na sociedade.',
224
- }
225
- }),
226
- prisma.soft_skills.create({
227
- data: {
228
- title: 'Liderança',
229
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLzeixpFlHNirDUypwCsoJZ7KP8ASTYE0jOuma", alt: "Liderança" },
230
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLzeixpFlHNirDUypwCsoJZ7KP8ASTYE0jOuma", alt: "Liderança" },
231
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLzeixpFlHNirDUypwCsoJZ7KP8ASTYE0jOuma", alt: "Liderança" },
232
- description: 'Orientar e motivar indivíduos ou grupos, promovendo um ambiente de cooperação, assumindo responsabilidades e facilitando a concretização de objetivos comuns.',
233
- }
234
- }),
235
- prisma.soft_skills.create({
236
- data: {
237
- title: 'Comunicação Oral',
238
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLzAEG3DHNirDUypwCsoJZ7KP8ASTYE0jOumaI", alt: "Comunicação Oral" },
239
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLzAEG3DHNirDUypwCsoJZ7KP8ASTYE0jOumaI", alt: "Comunicação Oral" },
240
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLzAEG3DHNirDUypwCsoJZ7KP8ASTYE0jOumaI", alt: "Comunicação Oral" },
241
- description: 'Comunicar ideias, opiniões e informações de forma clara e confiante em contextos formais e informais, adaptando o discurso ao público e à situação.',
242
- }
243
- }),
244
- prisma.soft_skills.create({
245
- data: {
246
- title: 'Comunicação Escrita',
247
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLl7l4C36Co8dLajg3f0qn1ZAycKbtTlSkeWwJ", alt: "Comunicação Escrita" },
248
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLl7l4C36Co8dLajg3f0qn1ZAycKbtTlSkeWwJ", alt: "Comunicação Escrita" },
249
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLl7l4C36Co8dLajg3f0qn1ZAycKbtTlSkeWwJ", alt: "Comunicação Escrita" },
250
- description: 'Expressar ideias de forma clara, estruturada e adequada ao contexto, utilizando linguagem correta e objetiva para transmitir informação, argumentos e conclusões de modo eficaz.',
251
- }
252
- }),
253
- prisma.soft_skills.create({
254
- data: {
255
- title: 'Autogestão',
256
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dL47ETAkUOa3H8kb17frjoYAyhTmiD0nR4PUCQ", alt: "Autogestão" },
257
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dL47ETAkUOa3H8kb17frjoYAyhTmiD0nR4PUCQ", alt: "Autogestão" },
258
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dL47ETAkUOa3H8kb17frjoYAyhTmiD0nR4PUCQ", alt: "Autogestão" },
259
- description: 'Gerir de forma autónoma o tempo, as emoções e as responsabilidades, demonstrando organização, resiliência e capacidade de adaptação a diferentes exigências.',
260
- }
261
- }),
262
- prisma.soft_skills.create({
263
- data: {
264
- title: 'Pensamento Analítico',
265
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLLVjE0qgcDHxWfulkaytOqz3SVegmLwobGJs8", alt: "Pensamento Analítico" },
266
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLLVjE0qgcDHxWfulkaytOqz3SVegmLwobGJs8", alt: "Pensamento Analítico" },
267
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLLVjE0qgcDHxWfulkaytOqz3SVegmLwobGJs8", alt: "Pensamento Analítico" },
268
- description: 'Analisar informação de forma lógica e estruturada, interpretando dados, identificando padrões e estabelecendo relações relevantes para apoiar a tomada de decisões.',
269
- }
270
- }),
271
- prisma.soft_skills.create({
272
- data: {
273
- title: 'Raciocínio Crítico',
274
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLVsgHZObQ7DFMBvhIWUKNJjcu2an0Z6edqwVO", alt: "Raciocínio Crítico" },
275
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLVsgHZObQ7DFMBvhIWUKNJjcu2an0Z6edqwVO", alt: "Raciocínio Crítico" },
276
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLVsgHZObQ7DFMBvhIWUKNJjcu2an0Z6edqwVO", alt: "Raciocínio Crítico" },
277
- description: 'Avaliar informação, argumentos e situações de forma reflexiva e fundamentada, questionando pressupostos e formulando julgamentos consistentes.',
278
- }
279
- }),
280
- prisma.soft_skills.create({
281
- data: {
282
- title: 'Gestão de Tempo',
283
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLAdZIqbODtGBzZsiPklWLUproCwvJ5I6bRecx", alt: "Gestão de Tempo" },
284
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLAdZIqbODtGBzZsiPklWLUproCwvJ5I6bRecx", alt: "Gestão de Tempo" },
285
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLAdZIqbODtGBzZsiPklWLUproCwvJ5I6bRecx", alt: "Gestão de Tempo" },
286
- description: 'Planear e organizar tarefas de forma eficiente, definindo prioridades, cumprindo prazos e equilibrando diferentes responsabilidades para alcançar objetivos com eficácia.',
287
- }
288
- }),
289
- prisma.soft_skills.create({
290
- data: {
291
- title: 'Networking',
292
- img_active: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLT1udAXsYq8yQgrMwbSZimeCR6nW9UEpuJdhN", alt: "Networking" },
293
- img_achieved: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLT1udAXsYq8yQgrMwbSZimeCR6nW9UEpuJdhN", alt: "Networking" },
294
- img_inactive: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLT1udAXsYq8yQgrMwbSZimeCR6nW9UEpuJdhN", alt: "Networking" },
295
- description: 'Estabelecer e desenvolver relações profissionais de forma estratégica e colaborativa, promovendo a partilha de conhecimento, oportunidades e apoio mútuo entre pessoas e organizações.',
296
- }
297
- }),
298
- ]);
299
-
300
- // Insert Badge Types
301
- console.log('🏆 Creating badge types...');
302
- const badgeTypes = await Promise.all([
303
- prisma.type.create({ data: { id: 1, type: 'Certificado' } }),
304
- prisma.type.create({ data: { id: 2, type: 'Desafio' } }),
305
- ]);
306
-
307
- // Insert programs
308
- console.log('📚 Creating programs...');
309
- const programs = await Promise.all([
310
- prisma.programs.create({
311
- data: {
312
- title: 'Ser+',
313
- description: 'Tem como objetivo promover o envolvimento ativo dos estudantes na construção de uma universidade mais inovadora e competitiva, complementando o ensino formal com experiências de aprendizagem não-formais e informais. O programa incentiva a participação dos estudantes na identificação de necessidades e na criação de ideias que contribuam para a melhoria contínua da instituição, reforçando o seu papel enquanto agentes de mudança',
314
- img: { url: "https://api-assets.ua.pt/v1/image/resizer?imageUrl=https%3A%2F%2Fapi-assets.ua.pt%2Ffiles%2Fimgs%2F000%2F000%2F064%2Foriginal.jpg&width=1920", alt: "Capa Programa" },
315
- is_approved: true,
316
- is_draft: false,
317
- area_id: areas[2].id
318
- }
319
- }),
320
- prisma.programs.create({
321
- data: {
322
- title: 'PEPE',
323
- description: 'Tem como objetivos o desenvolvimento integral dos estudantes, o complemento do contexto formal (cursos/ unidades curriculares) com o contexto não-formal e informal, o foco não apenas no desenvolvimento de competências transversais e a resposta às necessidades reportadas por estudantes',
324
- img: { url: "https://api-assets.ua.pt/v1/image/resizer?imageUrl=https%3A%2F%2Fapi-assets.ua.pt%2Ffiles%2Fimgs%2F000%2F000%2F064%2Foriginal.jpg&width=1920", alt: "Capa Programa" },
325
- is_approved: true,
326
- is_draft: false,
327
- area_id: areas[1].id
328
- }
329
- }),
330
- prisma.programs.create({
331
- data: {
332
- title: 'Programa Tutoria',
333
- description: 'Estrutura de tutoria por pares, que objetiva o acompanhamento dos tutorandos (estudantes do primeiro ano) por mentores (estudantes de anos mais avançados), com a supervisão de tutores (docentes). Aemais, inclui um programa de formação - que abrange palestras, workshops e outras sessões - orientado para o desenvolvimento de competências transversais.',
334
- img: { url: "https://api-assets.ua.pt/v1/image/resizer?imageUrl=https%3A%2F%2Fapi-assets.ua.pt%2Ffiles%2Fimgs%2F000%2F000%2F064%2Foriginal.jpg&width=1920", alt: "Capa Programa" },
335
- is_approved: true,
336
- is_draft: false,
337
- area_id: areas[1].id
338
- }
339
- }),
340
- prisma.programs.create({
341
- data: {
342
- title: 'Taça Ua',
343
- description: 'Organizada pela AAUAv, a Taça UA procura evoluir continuamente através da inclusão de novas modalidades, alinhadas com as preferências dos estudantes e as condições existentes, abrangendo desportos individuais, coletivos e e-sports. O objetivo passa também por reforçar a mediatização da iniciativa, promovendo novas parcerias e contribuindo para a melhoria da prática desportiva na Universidade de Aveiro.',
344
- img: { url: "https://api-assets.ua.pt/v1/image/resizer?imageUrl=https%3A%2F%2Fapi-assets.ua.pt%2Ffiles%2Fimgs%2F000%2F000%2F064%2Foriginal.jpg&width=1920", alt: "Capa Programa" },
345
- is_approved: true,
346
- is_draft: false,
347
- area_id: areas[0].id
348
- }
349
- }),
350
- prisma.programs.create({
351
- data: {
352
- title: 'ShiftE',
353
- description: 'O Shift é um programa da Universidade de Aveiro dedicado à promoção do empreendedorismo, da empregabilidade e do desenvolvimento de competências para o futuro profissional. Tem como objetivo aproximar estudantes e recém-graduados do mercado de trabalho, estimular o espírito crítico e inovador e apoiar a criação de projetos e percursos profissionais alinhados com os desafios atuais.Através de iniciativas que cruzam inspiração, aprendizagem prática e contacto direto com empresas e especialistas, o Shift procura capacitar os participantes para tomarem decisões informadas sobre o seu futuro académico e profissional, incentivando uma participação ativa, autónoma e empreendedora na sociedade.',
354
- img: { url: "https://api-assets.ua.pt/v1/image/resizer?imageUrl=https%3A%2F%2Fapi-assets.ua.pt%2Ffiles%2Fimgs%2F000%2F000%2F064%2Foriginal.jpg&width=1920", alt: "Capa Programa" },
355
- is_approved: true,
356
- is_draft: false,
357
- area_id: areas[4].id
358
- }
359
- }),
360
- ]);
361
-
362
- // Insert initiatives
363
- console.log('🚀 Creating initiatives...');
364
- const initiatives = await Promise.all([
365
- prisma.initiatives.create({
366
- data: {
367
- title: 'Workshop Ser+ Digital.',
368
- description: 'O objetivo desta sessão passa por, de forma colaborativa, desenhar iniciativas que possam vir a ser dinamizadas na Universidade de Aveiro e, futuramente, integradas numa plataforma de gamificação da universidade do projeto Ser +. Ao longo do workshop, os participantes irão realizar um conjunto de atividades que lhes permitirá ganhar badges e fazer parte de uma narrativa ficcional — um concurso televisivo no qual se inscreveram sem terem dado conta. Assim, enquanto idealizam uma iniciativa gamificada hipotética, estarão, simultaneamente, a experienciar uma iniciativa gamificada na prática. Agradecemos, desde já, a sua participação.',
369
- img: [{
370
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrSWr067krlnJICFZgOeWX6vfcAY9xd8uaG7mi",
371
- alt: "Eu também dinamizo"
372
- },
373
- {
374
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrSWr067krlnJICFZgOeWX6vfcAY9xd8uaG7mi",
375
- alt: "Eu também dinamizo"
376
- },
377
- {
378
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrSWr067krlnJICFZgOeWX6vfcAY9xd8uaG7mi",
379
- alt: "Eu também dinamizo"
380
- }
381
- ],
382
- inscription_deadline: new Date('2027-01-15T14:00:00'),
383
- start_date: new Date('2027-01-17T17:00:00'),
384
- end_date: new Date('2027-01-17T18:00:00'),
385
- is_private: false,
386
- is_draft: false,
387
- is_approved: true,
388
- program_id: programs[0].id,
389
- area_id: areas[0].id,
390
- typology_id: typologies[0].id,
391
- openings: 30,
392
- isPresential: true,
393
- }
394
- }),
395
- prisma.initiatives.create({
396
- data: {
397
- title: 'Observação e Análise em Oceanografia',
398
- description: 'Esta formação insere os participantes numa experiência introdutória à prática científica em oceanografia, com enfoque nos processos de observação, análise, trabalho colaborativo e comunicação científica.Ao longo da formação, os participantes percorrem diferentes etapas do método científico aplicadas às ciências do mar, desenvolvendo competências fundamentais para a compreensão do oceano enquanto sistema físico, biológico e ambiental.Os badges funcionam como marcadores de progresso e de competências adquiridas, reconhecendo atitudes e aprendizagens relevantes ao longo da formação.',
399
- img: [
400
- {
401
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrHIMMpXJKR8ktlrWuT6CUy1BJpS4w3jQVgdea",
402
- alt: "Observação e Análise em Oceanografia"
403
- },
404
- {
405
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrHIMMpXJKR8ktlrWuT6CUy1BJpS4w3jQVgdea",
406
- alt: "Observação e Análise em Oceanografia"
407
- },
408
- {
409
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrHIMMpXJKR8ktlrWuT6CUy1BJpS4w3jQVgdea",
410
- alt: "Observação e Análise em Oceanografia"
411
- }
412
- ],
413
- inscription_deadline: new Date('2027-01-15T14:00:00'),
414
- start_date: new Date('2027-01-17T14:00:00'),
415
- end_date: new Date('2027-01-17T16:00:00'),
416
- is_private: false,
417
- is_draft: false,
418
- is_approved: true,
419
- program_id: programs[1].id,
420
- area_id: areas[2].id,
421
- typology_id: typologies[3].id,
422
- openings: 30,
423
- isPresential: true,
424
- }
425
- }),
426
- prisma.initiatives.create({
427
- data: {
428
- title: 'Gerir o Stress no Dia a Dia',
429
- description: 'Este talk convida os participantes a refletir sobre o stress como parte da vida académica e profissional, explorando estratégias simples para o reconhecer, organizar e gerir de forma mais consciente.Os badges não avaliam desempenho, mas assinalam momentos de participação, reflexão e compromisso pessoal, funcionando como símbolos de aprendizagem informal.',
430
- img: [
431
- {
432
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr5M8UI5uhEzQdCKgD4SqeXHLfuG1Zhoxcwvia",
433
- alt: "Gerir o Stress no Dia a Dia"
434
- },
435
- {
436
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr5M8UI5uhEzQdCKgD4SqeXHLfuG1Zhoxcwvia",
437
- alt: "Gerir o Stress no Dia a Dia"
438
- },
439
- {
440
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr5M8UI5uhEzQdCKgD4SqeXHLfuG1Zhoxcwvia",
441
- alt: "Gerir o Stress no Dia a Dia"
442
- }
443
- ],
444
- inscription_deadline: new Date('2027-01-15T14:00:00'),
445
- start_date: new Date('2027-01-17T14:00:00'),
446
- end_date: new Date('2027-01-17T16:00:00'),
447
- is_private: false,
448
- is_draft: false,
449
- is_approved: true,
450
- program_id: programs[2].id,
451
- area_id: areas[2].id,
452
- typology_id: typologies[8].id,
453
- openings: 30,
454
- isPresential: true,
455
- }
456
- }),
457
- prisma.initiatives.create({
458
- data: {
459
- title: 'Visita de Estudo à RTP — Bastidores do Audiovisual',
460
- description: 'Esta iniciativa consiste numa visita de estudo à RTP, integrada no Mestrado em Audiovisual, com o objetivo de proporcionar aos estudantes um contacto direto com contextos reais de produção audiovisual.Ao longo da visita, os participantes terão a oportunidade de observar processos profissionais, compreender diferentes papéis na cadeia de produção televisiva e refletir sobre a transição entre o contexto académico e o mercado de trabalho.',
461
- img: [
462
- {
463
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrapMDMQOKh2H5Y8uaAUyldEs7npPZeqfVzxmk",
464
- alt: "Visita de Estudo à RTP — Bastidores do Audiovisual"
465
- },
466
- {
467
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrapMDMQOKh2H5Y8uaAUyldEs7npPZeqfVzxmk",
468
- alt: "Visita de Estudo à RTP — Bastidores do Audiovisual"
469
- },
470
- {
471
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrapMDMQOKh2H5Y8uaAUyldEs7npPZeqfVzxmk",
472
- alt: "Visita de Estudo à RTP — Bastidores do Audiovisual"
473
- }
474
- ],
475
- inscription_deadline: new Date('2027-01-15T14:00:00'),
476
- start_date: new Date('2027-01-17T14:09:00'),
477
- end_date: new Date('2027-01-17T16:18:00'),
478
- is_private: false,
479
- is_draft: false,
480
- is_approved: true,
481
- area_id: areas[4].id,
482
- typology_id: typologies[12].id,
483
- openings: 300,
484
- isPresential: true,
485
- }
486
- }),
487
- prisma.initiatives.create({
488
- data: {
489
- title: 'Taça UA · Basquetebol 3x3',
490
- description: 'A Taça UA · Basquetebol 3x3 é uma competição desportiva universitária que promove o espírito de equipa, a participação ativa da comunidade académica e a vivência do desporto num formato dinâmico e inclusivo.Para além dos atletas, a iniciativa valoriza também o papel da plateia, árbitros, treinadores e organização, reconhecendo atitudes de fair play, compromisso, apoio e convivência saudável.',
491
- img: [
492
- {
493
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrBGX5JaLEzruf6M1Oe0FHVp9bPSl4tTJ72DWk",
494
- alt: "Taça UA · Basquetebol 3x3"
495
- },
496
- {
497
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrBGX5JaLEzruf6M1Oe0FHVp9bPSl4tTJ72DWk",
498
- alt: "Taça UA · Basquetebol 3x3"
499
- },
500
- {
501
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrBGX5JaLEzruf6M1Oe0FHVp9bPSl4tTJ72DWk",
502
- alt: "Taça UA · Basquetebol 3x3"
503
- }
504
- ],
505
- inscription_deadline: new Date('2027-01-15T14:00:00'),
506
- start_date: new Date('2027-01-17T14:09:00'),
507
- end_date: new Date('2027-01-17T16:18:00'),
508
- is_private: false,
509
- is_draft: false,
510
- is_approved: true,
511
- program_id: programs[3].id,
512
- area_id: areas[0].id,
513
- typology_id: typologies[7].id,
514
- openings: 50,
515
- isPresential: false,
516
- }
517
- }),
518
- prisma.initiatives.create({
519
- data: {
520
- title: 'Convívio UA — Mesa Aberta',
521
- description: 'O Convívio UA — Mesa Aberta é um momento informal de encontro da comunidade académica, pensado para promover a socialização, a partilha e o bem-estar fora de contextos competitivos ou avaliativos.A iniciativa centra-se na partilha de comida, conversa e tempo, valorizando a presença e a vivência coletiva.',
522
- img: [
523
- {
524
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr4nzvn6XhfPyHbcMR76uS0doqxpCaVBOe5Jtk",
525
- alt: "Convívio UA — Mesa Aberta"
526
- },
527
- {
528
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr4nzvn6XhfPyHbcMR76uS0doqxpCaVBOe5Jtk",
529
- alt: "Convívio UA — Mesa Aberta"
530
- },
531
- {
532
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr4nzvn6XhfPyHbcMR76uS0doqxpCaVBOe5Jtk",
533
- alt: "Convívio UA — Mesa Aberta"
534
- }
535
- ],
536
- inscription_deadline: new Date('2027-01-15T14:00:00'),
537
- start_date: new Date('2027-01-17T14:09:00'),
538
- end_date: new Date('2027-01-17T16:18:00'),
539
- is_private: false,
540
- is_draft: false,
541
- is_approved: true,
542
- typology_id: typologies[14].id,
543
- openings: 50,
544
- isPresential: false,
545
- }
546
- }),
547
- prisma.initiatives.create({
548
- data: {
549
- title: 'ShiftE - 1ª edição',
550
- description: 'O ShiftE – Empreendedorismo e Empregabilidade é um evento da Universidade de Aveiro e da Associação Académica que junta, num único espaço, a Semana do Empreendedorismo e a Feira de Emprego U5.0.De 17 a 20 de novembro, o evento promove palestras com especialistas, empreendedores e empresários, focadas na partilha de experiências, conselhos práticos e desenvolvimento de competências. Inclui ainda uma Feira de Empregocom cerca de uma centena de empresas e entidades, onde é possível agendar entrevistas e explorar oportunidades profissionais.',
551
- img: [
552
- {
553
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrmfc5sQ07cYDFObXGJLMZvx5uaAo6RVs0Ie2w",
554
- alt: "Convívio UA — Mesa Aberta"
555
- },
556
- {
557
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrmfc5sQ07cYDFObXGJLMZvx5uaAo6RVs0Ie2w",
558
- alt: "Convívio UA — Mesa Aberta"
559
- },
560
- {
561
- url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrmfc5sQ07cYDFObXGJLMZvx5uaAo6RVs0Ie2w",
562
- alt: "Convívio UA — Mesa Aberta"
563
- }
564
- ],
565
- inscription_deadline: new Date('2027-01-15T14:00:00'),
566
- start_date: new Date('2027-01-17T14:09:00'),
567
- end_date: new Date('2027-01-20T16:18:00'),
568
- is_private: false,
569
- is_draft: false,
570
- program_id: programs[4].id,
571
- area_id: areas[4].id,
572
- is_approved: true,
573
- typology_id: typologies[2].id,
574
- openings: 50,
575
- isPresential: true,
576
- }
577
- }),
578
- prisma.initiatives.create({
579
- data: {
580
- title: 'O Caso da Aplicação Ser+',
581
- description: 'Nesta iniciativa vais participar no teste do pré-piloto da Aplicação Ser+ Digital.\n\
582
- O Ser+ é a marca agregadora do conjunto de iniciativas de reconhecido mérito em que os estudantes se envolvem, e contribuem para o seu desenvolvimento integral. Pretende-se que o Ser+ seja uma ambição incutida aos estudantes da Universidade de Aveiro desde o momento de acolhimento, acompanhando-os ao longo de todo o seu percurso académico.\n\
583
- A Aplicação Ser+ Digital promove diferentes vertentes e iniciativas orientadas por diversos promotores, desde que devidamente reconhecidas. Assenta ainda em princípios de gamificação, que incentivam a participação ativa dos estudantes em múltiplas dimensões da vida académica. Através da dinâmica dos badges o utilizador pode ganhar pontos e usufruir de oportunidades únicas.',
584
- img: [
585
- {
586
- url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLmnzrES8JDov4Fbjd1Q9eyENf3ASwpzuW6CHT",
587
- alt: "O Caso da Aplicação Ser+"
588
- },
589
- {
590
- url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLTcTZW4sYq8yQgrMwbSZimeCR6nW9UEpuJdhN",
591
- alt: "O Caso da Aplicação Ser+"
592
- },
593
- {
594
- url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dL82THh7yZKvOTjcD4SoXFYxUV8zhRi6nNLJuE",
595
- alt: "O Caso da Aplicação Ser+"
596
- }
597
- ],
598
- inscription_deadline: new Date('2026-01-30T12:00:00'),
599
- start_date: new Date('2026-01-30T10:00:00'),
600
- end_date: new Date('2026-01-30T13:30:00'),
601
- is_private: false,
602
- is_draft: false,
603
- program_id: programs[0].id,
604
- area_id: areas[2].id,
605
- is_approved: true,
606
- typology_id: typologies[2].id,
607
- openings: 50,
608
- isPresential: true,
609
- }
610
- }),
611
- ]);
612
-
613
- // Insert moments for initiatives
614
- console.log('⏰ Creating moments...');
615
- const moments = await Promise.all([
616
- prisma.moments.create({
617
- data: {
618
- title: 'Estou num reality!',
619
- description: 'Bem vindo! Parece que se inscreveu no concurso televisivo Ready, Set, Gamify! enquanto participante. Se sabe como funcionam concursos de televisão então está apto para começar. Não há nada que saber. É possível que se pergunte onde estão as câmaras, os microfones e todo o staff. Não se preocupe, já tratámos disso tudo. Apenas aja naturalmente, como se estivesse num reality show. Está em direto para a televisão.',
620
- short_description: 'Inscreveu-se num concurso de televisão. É altura de se apresentar.',
621
- img: { url: "moment_opening.jpg", alt: "Sessão de Abertura" },
622
- order: 1,
623
- opened_at: new Date('2027-09-12T14:00:00'),
624
- closed_at: new Date('2027-09-12T15:00:00'),
625
- initiative_id: initiatives[0].id
626
- }
627
- }),
628
- prisma.moments.create({
629
- data: {
630
- title: 'Gamificar para ganhar!',
631
- description: 'O objetivo final deste concurso é muito simples. Gamifique para ganhar. Se até ao final do programa não tiver uma iniciativa gamificada pronta a ser dinamizada corre o risco de ser desclassificado. É assim a vida. Não há nenhum prémio monetário envolvido mas vai ver que vai ser giro. Contamos consigo!',
632
- short_description: 'É altura de perceber o objetivo do concurso, é altura de gamificar.',
633
- img: { url: "moment_workshop.jpg", alt: "Workshop" },
634
- order: 2,
635
- opened_at: new Date('2027-09-12T15:00:00'),
636
- closed_at: new Date('2027-09-12T16:00:00'),
637
- initiative_id: initiatives[0].id
638
- }
639
- }),
640
- prisma.moments.create({
641
- data: {
642
- title: 'Grupos ao trabalho!',
643
- description: 'Mãos à obra! Agora junte-se a outros participantes e é altura de começar a gamificar (máximo 3 grupos). Preparem um primeiro rascunho da vossa iniciativa. Façam algo original e capaz de captar o interesse do vosso público-alvo. Mas atenção que o nosso programa não dura o dia todo. O tempo vai começar a contar.',
644
- short_description: 'Preparação do rascunho da iniciativa.',
645
- img: { url: "moment_groups.jpg", alt: "Trabalho de Grupo" },
646
- order: 3,
647
- opened_at: new Date('2027-09-12T16:00:00'),
648
- closed_at: new Date('2027-09-12T17:00:00'),
649
- initiative_id: initiatives[0].id
650
- }
651
- }),
652
- prisma.moments.create({
653
- data: {
654
- title: 'Inteligencia Artificial é suficiente?',
655
- description: 'Se chegou até aqui é um bom sinal. Mas isto ainda não acabou. Agora que receberam uma proposta de narrativa para integrar ou editar na vossa iniciativa, é hora de criar os badges. Ouvi dizer que mais à frente vão ter de fazer uma demonstração da vossa iniciativa aos nossos espectadores. É a melhor oportunidade que vai ter para se tornar uma celebridade neste programa.',
656
- short_description: 'A IA ajuda, mas tu estas no comando e podes alterar completamente a história.',
657
- img: { url: "moment_ai.jpg", alt: "Inteligência Artificial" },
658
- order: 4,
659
- opened_at: new Date('2027-09-12T17:00:00'),
660
- closed_at: new Date('2027-09-12T18:00:00'),
661
- initiative_id: initiatives[0].id
662
- }
663
- }),
664
- prisma.moments.create({
665
- data: {
666
- title: 'O show está prestes a começa.',
667
- description: 'Muitos parabéns por ter chegado até aqui. Se está prestes a apresentar a sua iniciativa então boa sorte. O nosso showrunner está entusiasmado para ver o que preparou juntamente com os seus colegas. Se já apresentou, então está dispensado. Quem sabe, talvez venha a ser chamado novamente para uma nova edição deste concurso!',
668
- short_description: 'É hora de apresentares para todos o trabalho desenvolvido, a tua iniciativa gamificada.',
669
- img: { url: "moment_final.jpg", alt: "Apresentação Final" },
670
- order: 5,
671
- opened_at: new Date('2027-09-12T18:00:00'),
672
- closed_at: new Date('2027-09-12T19:00:00'),
673
- initiative_id: initiatives[0].id
674
- }
675
- }),
676
-
677
- // === INITIATIVE 2 (Oceano) - Moments 6-10 ===
678
- prisma.moments.create({
679
- data: {
680
- title: 'Enquadramento Científico',
681
- description: 'A formação inicia-se com o enquadramento dos objetivos, metodologias e temas centrais. É também o momento de integração dos participantes e de criação de um ambiente favorável à aprendizagem científica.',
682
- short_description: 'Preparação, alinhamento e contexto da formação',
683
- img: { url: "moment_science_intro.jpg", alt: "Enquadramento Científico" },
684
- order: 1,
685
- opened_at: new Date('2027-10-01T09:00:00'),
686
- closed_at: new Date('2027-10-01T10:00:00'),
687
- initiative_id: initiatives[1].id
688
- }
689
- }),
690
- prisma.moments.create({
691
- data: {
692
- title: 'Observação e Compreensão do Oceano',
693
- description: 'Nesta fase, os participantes aprofundam o conhecimento sobre o oceano enquanto sistema, através da observação, da escuta ativa e do registo estruturado de informação.',
694
- short_description: 'Escuta ativa, análise de informação e registo científico',
695
- img: { url: "moment_ocean_observation.jpg", alt: "Observação do Oceano" },
696
- order: 2,
697
- opened_at: new Date('2027-10-01T10:00:00'),
698
- closed_at: new Date('2027-10-01T11:30:00'),
699
- initiative_id: initiatives[1].id
700
- }
701
- }),
702
- prisma.moments.create({
703
- data: {
704
- title: 'Análise Colaborativa',
705
- description: 'Os participantes organizam-se em grupos para analisar um fenómeno, problema ou caso de estudo relacionado com a oceanografia, integrando diferentes perspetivas e conhecimentos.',
706
- short_description: 'Trabalho em grupo e interpretação de fenómenos oceanográficos',
707
- img: { url: "moment_collaborative_analysis.jpg", alt: "Análise Colaborativa" },
708
- order: 3,
709
- opened_at: new Date('2027-10-01T11:30:00'),
710
- closed_at: new Date('2027-10-01T13:00:00'),
711
- initiative_id: initiatives[1].id
712
- }
713
- }),
714
- prisma.moments.create({
715
- data: {
716
- title: 'Síntese e Estruturação do Conhecimento',
717
- description: 'Nesta etapa, os grupos estruturam a informação recolhida, relacionam conceitos e constroem uma explicação coerente do fenómeno estudado, recorrendo a ferramentas digitais quando apropriado.',
718
- short_description: 'Organização, integração e validação da aprendizagem',
719
- img: { url: "moment_synthesis.jpg", alt: "Síntese do Conhecimento" },
720
- order: 4,
721
- opened_at: new Date('2027-10-01T14:00:00'),
722
- closed_at: new Date('2027-10-01T15:30:00'),
723
- initiative_id: initiatives[1].id
724
- }
725
- }),
726
- prisma.moments.create({
727
- data: {
728
- title: 'Comunicação Científica e Continuidade',
729
- description: 'A formação culmina com a apresentação dos resultados, promovendo a reflexão crítica e incentivando a continuidade do percurso formativo e científico',
730
- short_description: 'Apresentação, reflexão e projeção futura',
731
- img: { url: "moment_science_communication.jpg", alt: "Comunicação Científica" },
732
- order: 5,
733
- opened_at: new Date('2027-10-01T15:30:00'),
734
- closed_at: new Date('2027-10-01T17:00:00'),
735
- initiative_id: initiatives[1].id
736
- }
737
- }),
738
-
739
- // === INITIATIVE 4 (Visita RTP) - Moments 11-13 ===
740
- // Nota: Initiative 3 (Gestão de Stress) não tem momentos na tabela
741
- prisma.moments.create({
742
- data: {
743
- title: 'Chegada ao Estúdio — Preparar a Cena',
744
- description: 'Este momento corresponde à chegada à RTP e ao enquadramento inicial da visita. Os estudantes são contextualizados sobre o funcionamento geral da estação, os espaços que irão visitar e as regras de comportamento em ambiente profissional. É também o momento de mudança de papel: de estudante para observador profissional.',
745
- short_description: 'Chegada e enquadramento inicial da visita à RTP',
746
- img: { url: "moment_rtp_arrival.jpg", alt: "Chegada ao Estúdio" },
747
- order: 1,
748
- opened_at: new Date('2027-11-15T09:00:00'),
749
- closed_at: new Date('2027-11-15T10:00:00'),
750
- initiative_id: initiatives[3].id
751
- }
752
- }),
753
- prisma.moments.create({
754
- data: {
755
- title: 'Observação em Contexto Real — Dentro da Produção',
756
- description: 'Neste momento, os participantes acompanham espaços reais de produção audiovisual, como estúdios, régies e áreas técnicas, observando equipas em ação e fluxos de trabalho profissionais. O foco está na observação crítica, compreensão dos papéis técnicos e reconhecimento da complexidade do trabalho audiovisual.',
757
- short_description: 'Visita aos espaços de produção e observação técnica',
758
- img: { url: "moment_rtp_production.jpg", alt: "Observação da Produção" },
759
- order: 2,
760
- opened_at: new Date('2027-11-15T10:00:00'),
761
- closed_at: new Date('2027-11-15T12:00:00'),
762
- initiative_id: initiatives[3].id
763
- }
764
- }),
765
- prisma.moments.create({
766
- data: {
767
- title: 'Reflexão Final — Do Estúdio para o Futuro',
768
- description: 'O último momento é dedicado à reflexão sobre a experiência, promovendo a ligação entre o que foi observado na RTP e o percurso académico e profissional dos estudantes. É um momento de síntese, projeção futura e consolidação da aprendizagem.',
769
- short_description: 'Reflexão sobre a experiência e projeção futura',
770
- img: { url: "moment_rtp_reflection.jpg", alt: "Reflexão Final" },
771
- order: 3,
772
- opened_at: new Date('2027-11-15T12:00:00'),
773
- closed_at: new Date('2027-11-15T13:00:00'),
774
- initiative_id: initiatives[3].id
775
- }
776
- }),
777
- // === INITIATIVE 7 (ShiftE) - Moments 14-17 ===
778
- prisma.moments.create({
779
- data: {
780
- title: 'Inspirar & Despertar',
781
- description: 'Este primeiro momento marca o arranque do ShiftE e define o tom da semana. É dedicado à inspiração, ao contacto com percursos reais e à reflexão sobre o futuro profissional. A sessão de abertura e a talk “Empreendedorismo: o futuro começa agora” convidam os participantes a questionar modelos tradicionais de carreira, conhecer desafios reais do empreendedorismo e ganhar motivação para os dias seguintes.',
782
- short_description: 'Abrir o mindset, despertar o espírito empreendedor e enquadrar o evento.',
783
- img: { url: "moment_rtp_reflection.jpg", alt: "Inspirar & Despertar" },
784
- order: 1,
785
- opened_at: new Date('2027-11-15T12:00:00'),
786
- closed_at: new Date('2027-11-15T13:00:00'),
787
- initiative_id: initiatives[6].id
788
- }
789
- }),
790
- prisma.moments.create({
791
- data: {
792
- title: 'Capacitar & Desenvolver Competências',
793
- description: 'Este momento é centrado no desenvolvimento de skills essenciais, com destaque para produtividade, tecnologia e inovação dentro das organizações. O workshop “Produtividade com AI” oferece ferramentas práticas para o dia a dia, enquanto o painel sobre intraempreendedorismo mostra como inovar mesmo dentro de grandes empresas. O dia termina com o Encontro de Mentores, promovendo aprendizagem próxima e partilha de experiências.',
794
- short_description: 'Dotar os participantes de competências práticas e atuais.',
795
- img: { url: "moment_rtp_reflection.jpg", alt: "Capacitar & Desenvolver Competências" },
796
- order: 2,
797
- opened_at: new Date('2027-11-15T12:00:00'),
798
- closed_at: new Date('2027-11-15T13:00:00'),
799
- initiative_id: initiatives[6].id
800
- }
801
- }),
802
- prisma.moments.create({
803
- data: {
804
- title: 'Estratégia, Propósito & Impacto',
805
- description: 'Aqui o foco está na tomada de decisão, na negociação e na criação de projetos com propósito. A talk “Técnicas de Negociação” fornece ferramentas essenciais para o mundo profissional, enquanto o painel “Negócios com Propósito”apresenta exemplos concretos de empresas que conciliam sustentabilidade, inovação e impacto social. Em paralelo, o Shark Thesis aproxima a investigação académica do mercado.',
806
- short_description: 'Trabalhar pensamento estratégico e impacto real.',
807
- img: { url: "moment_rtp_reflection.jpg", alt: "Estratégia, Propósito & Impacto" },
808
- order: 3,
809
- opened_at: new Date('2027-11-15T12:00:00'),
810
- closed_at: new Date('2027-11-15T13:00:00'),
811
- initiative_id: initiatives[6].id
812
- }
813
- }),
814
- prisma.moments.create({
815
- data: {
816
- title: 'Ação, Visibilidade & Conexões',
817
- description: 'O último momento é dedicado à exposição de talento, à validação de ideias e ao networking. O Pitch Your Thing dá palco a projetos, ideias e perfis profissionais perante empresas e entidades do ecossistema. A talk “Manual de Boas Ideias” reforça a importância da criatividade aplicada, culminando num Happy Hour & Networking, que fecha o ShiftE com ligações reais ao mercado de trabalho.',
818
- short_description: 'Passar da ideia à ação e criar oportunidades reais.',
819
- img: { url: "moment_rtp_reflection.jpg", alt: "Ação, Visibilidade & Conexões" },
820
- order: 4,
821
- opened_at: new Date('2027-11-15T12:00:00'),
822
- closed_at: new Date('2027-11-15T13:00:00'),
823
- initiative_id: initiatives[6].id
824
- }
825
- }),
826
-
827
- // === INITIATIVE 8 (Pré-Piloto) - Moments ===
828
- prisma.moments.create({
829
- data: {
830
- title: 'Identidade e Primeiras Pistas',
831
- description: 'Uma mensagem misteriosa apareceu no telemóvel do Detetive Bigodes.\n\
832
- “Caro Detetive,\n\
833
- O Ser + está em fase de testes na Universidade de Aveiro.\n\
834
- Precisamos da tua ajuda e da tua equipa de investigadores.\n\
835
- Cada pista, cada decisão e cada detalhe conta.\n\
836
- Estás pronto para descobrir esta aplicação?”\n\
837
- Bigodes sorriu. Algo dizia-lhe que este caso não seria como os outros… e que ele ia precisar de estratégia, paciência e atenção.\n\
838
- As primeiras pistas estão nas próprias palavras escritas em cada momento. Cada ideia, cada curiosidade é uma peça do mistério. ',
839
- short_description: 'Apresentação dos investigadores e primeiras pistas do caso.',
840
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLKcNtVzEOPeckgJ2flhR5AqWw1yTD8LGo3QI9", alt: "Identidade e Primeiras Pistas" },
841
- order: 1,
842
- opened_at: new Date('2026-01-30T13:00:00'),
843
- closed_at: new Date('2026-01-30T13:30:00'),
844
- initiative_id: initiatives[7].id
845
- }
846
- }),
847
- prisma.moments.create({
848
- data: {
849
- title: 'A Investigação em Campo: Descoberta e Colaboração',
850
- description: 'A investigação entra agora no terreno. No início, foi apresentada a primeira visão do Ser+, uma definição base, um ponto de partida comum para todos os investigadores. Essa apresentação permitiu alinhar conceitos e criar uma base sólida para a investigação. Agora, é tempo de ir mais fundo.',
851
- short_description: 'Descoberta colaborativa e aprofundamento do conceito Ser+.',
852
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLnDuSAkIjB4deJoCcSX5rNl8KGp7IVzmb6i3F", alt: "A Investigação em Campo" },
853
- order: 2,
854
- opened_at: new Date('2026-01-30T13:00:00'),
855
- closed_at: new Date('2026-01-30T13:30:00'),
856
- initiative_id: initiatives[7].id
857
- }
858
- }),
859
- prisma.moments.create({
860
- data: {
861
- title: 'A Revelação: Reconhecimento e Fecho',
862
- description: 'O caso aproxima-se do fim. As pistas foram recolhidas, os enigmas resolvidos, e agora é hora de refletir e reconhecer os méritos. Bigodes observa atentamente quem se destacou: quem foi mais astuto, mais colaborativo e quem ajudou os colegas a "ser mais".',
863
- short_description: 'Reflexão final e reconhecimento dos méritos dos investigadores.',
864
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLGNBJL2Zp6VYc9NUJPRgt8bjnDx4FZzTaE5Cd", alt: "A Revelação" },
865
- order: 3,
866
- opened_at: new Date('2026-01-30T13:00:00'),
867
- closed_at: new Date('2026-01-30T13:30:00'),
868
- initiative_id: initiatives[7].id
869
- }
870
- }),
871
- ]);
872
-
873
-
874
- // Insert badges
875
- console.log('🏅 Creating badges...');
876
- const badges = await Promise.all([
877
- // === INITIATIVE 1 (Workshop Ser+ Digital) ===
878
-
879
- // Badges sem momento (initiative_id: 1)
880
- prisma.badges.create({
881
- data: {
882
- title: 'Mão amiga',
883
- condition: 'Ajudou outro grupo de trabalho.',
884
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrpOcfa25y6dIgcXEtmneNDBiWbLVrxa1Gpvwf", alt: "comunidade" },
885
- points: 10,
886
- initiative_id: initiatives[0].id,
887
- type_id: badgeTypes[1].id,
888
- is_draft: false
889
- }
890
- }),
891
- prisma.badges.create({
892
- data: {
893
- title: 'Para o infinito e mais além!',
894
- condition: 'Conseguiu mais de 75 pts nesta iniciativa.',
895
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSryem8CAtiWUobHQ07sC9apn2Pe4g1ldhE3XOF", alt: "Fogo" },
896
- points: 10,
897
- initiative_id: initiatives[0].id,
898
- type_id: badgeTypes[1].id,
899
- is_draft: false
900
- }
901
- }),
902
-
903
- // Momento 1 (moment_id: 1, initiative_id: 1)
904
- prisma.badges.create({
905
- data: {
906
- title: 'Sem desculpas',
907
- condition: 'Chegar a horas ao Workshop.',
908
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrHBkS5EKR8ktlrWuT6CUy1BJpS4w3jQVgdea5", alt: "clock" },
909
- points: 5,
910
- initiative_id: initiatives[0].id,
911
- moment_id: moments[0].id,
912
- type_id: badgeTypes[1].id,
913
- is_draft: false
914
- }
915
- }),
916
- prisma.badges.create({
917
- data: {
918
- title: 'Quem sou eu?',
919
- condition: 'Fazer uma apresentação pessoal em menos de 15 segundos.',
920
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrx6XwxZcPIjfb2LFmMHeA1DlihX053SYtCJGo", alt: "ID" },
921
- points: 5,
922
- initiative_id: initiatives[0].id,
923
- moment_id: moments[0].id,
924
- type_id: badgeTypes[1].id,
925
- is_draft: false
926
- }
927
- }),
928
- prisma.badges.create({
929
- data: {
930
- title: 'Caixinha de surpresas',
931
- condition: 'Partilhar uma curiosidade única sobre si durante a apresentação pessoal.',
932
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrRp9XuLxch9iaKOqHWX37NsJrgVYG6jlIv8oe", alt: "camera" },
933
- points: 5,
934
- initiative_id: initiatives[0].id,
935
- moment_id: moments[0].id,
936
- type_id: badgeTypes[1].id,
937
- is_draft: false
938
- }
939
- }),
940
-
941
- // Momento 2 (moment_id: 2, initiative_id: 1)
942
- prisma.badges.create({
943
- data: {
944
- title: 'Bom ouvinte',
945
- condition: 'Assistir à apresentação do protótipo do Ser+ Digital.',
946
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrAhdMBB9XYNM8IxrtdTk1pB0uZhfROzcE5qse", alt: "powerpoint" },
947
- points: 3,
948
- initiative_id: initiatives[0].id,
949
- moment_id: moments[1].id,
950
- type_id: badgeTypes[1].id,
951
- is_draft: false
952
- }
953
- }),
954
- prisma.badges.create({
955
- data: {
956
- title: 'Participante ativo',
957
- condition: 'Colocar uma questão pertinente.',
958
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSraRxhtZZOKh2H5Y8uaAUyldEs7npPZeqfVzxm", alt: "idea2" },
959
- points: 5,
960
- initiative_id: initiatives[0].id,
961
- moment_id: moments[1].id,
962
- type_id: badgeTypes[1].id,
963
- is_draft: false
964
- }
965
- }),
966
- prisma.badges.create({
967
- data: {
968
- title: 'Cronista',
969
- condition: 'Tirou notas durante a apresentação.',
970
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr5EVnQQhEzQdCKgD4SqeXHLfuG1ZhoxcwviaM", alt: "hipothesis a" },
971
- points: 5,
972
- initiative_id: initiatives[0].id,
973
- moment_id: moments[1].id,
974
- type_id: badgeTypes[1].id,
975
- is_draft: false
976
- }
977
- }),
978
-
979
- // Momento 3 (moment_id: 3, initiative_id: 1)
980
- prisma.badges.create({
981
- data: {
982
- title: 'A união faz a força',
983
- condition: 'Participar num grupo de trabalho.',
984
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSreStrfPEUHXQjC0wcl6D2xpLvEsF3RATdhNKk", alt: "handshake" },
985
- points: 8,
986
- initiative_id: initiatives[0].id,
987
- moment_id: moments[2].id,
988
- type_id: badgeTypes[1].id,
989
- is_draft: false
990
- }
991
- }),
992
- prisma.badges.create({
993
- data: {
994
- title: 'Pensar fora da caixa',
995
- condition: 'Decidir a iniciativa da UA a gamificar.',
996
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrpelbFh5y6dIgcXEtmneNDBiWbLVrxa1Gpvwf", alt: "check" },
997
- points: 8,
998
- initiative_id: initiatives[0].id,
999
- moment_id: moments[2].id,
1000
- type_id: badgeTypes[1].id,
1001
- is_draft: false
1002
- }
1003
- }),
1004
- prisma.badges.create({
1005
- data: {
1006
- title: 'Masterchef',
1007
- condition: 'Escolher os ingredientes para a narrativa.',
1008
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrGvxEr2JKTagIUuetqldkWnVE28wOsNiFhpoy", alt: "Suggestion 4" },
1009
- points: 10,
1010
- initiative_id: initiatives[0].id,
1011
- moment_id: moments[2].id,
1012
- type_id: badgeTypes[1].id,
1013
- is_draft: false
1014
- }
1015
- }),
1016
-
1017
- // Momento 4 (moment_id: 4, initiative_id: 1)
1018
- prisma.badges.create({
1019
- data: {
1020
- title: 'Abracadabra',
1021
- condition: 'Personalizou a narrativa gerada por inteligência artificial.',
1022
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrtP2VMhFFVI5YbN7EBpzg0JQ3kMH6Z24LymCf", alt: "Magic" },
1023
- points: 10,
1024
- initiative_id: initiatives[0].id,
1025
- moment_id: moments[3].id,
1026
- type_id: badgeTypes[1].id,
1027
- is_draft: false
1028
- }
1029
- }),
1030
- prisma.badges.create({
1031
- data: {
1032
- title: 'Badges para dar vender',
1033
- condition: 'Criou o mínimo de dois badges para cada momento.',
1034
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrGGKKwCJKTagIUuetqldkWnVE28wOsNiFhpoy", alt: "Default" },
1035
- points: 8,
1036
- initiative_id: initiatives[0].id,
1037
- moment_id: moments[3].id,
1038
- type_id: badgeTypes[1].id,
1039
- is_draft: false
1040
- }
1041
- }),
1042
- prisma.badges.create({
1043
- data: {
1044
- title: 'Imparáveis',
1045
- condition: 'Pertence ao grupo que terminou primeiro as tarefas deste momento.',
1046
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr3Xbo3UWid5bzBoqIMkTswhgxVpGKlctL1HJN", alt: "Trophy" },
1047
- points: 15,
1048
- initiative_id: initiatives[0].id,
1049
- moment_id: moments[3].id,
1050
- type_id: badgeTypes[1].id,
1051
- is_draft: false
1052
- }
1053
- }),
1054
-
1055
- // Momento 5 (moment_id: 5, initiative_id: 1)
1056
- prisma.badges.create({
1057
- data: {
1058
- title: 'Juízo final',
1059
- condition: 'Fazer a apresentação do trabalho.',
1060
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrSKOqMLkrlnJICFZgOeWX6vfcAY9xd8uaG7mi", alt: "mic" },
1061
- points: 25,
1062
- initiative_id: initiatives[0].id,
1063
- moment_id: moments[4].id,
1064
- type_id: badgeTypes[1].id,
1065
- is_draft: false
1066
- }
1067
- }),
1068
- prisma.badges.create({
1069
- data: {
1070
- title: 'Pioneiro',
1071
- condition: 'Responder ao formulário para ser contactado sobre os avanços da plataforma.',
1072
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr9UdpHhj3hOybdgS7mvzAn6HNlBT01VCIkoLj", alt: "ajudar" },
1073
- points: 5,
1074
- initiative_id: initiatives[0].id,
1075
- moment_id: moments[4].id,
1076
- type_id: badgeTypes[1].id,
1077
- is_draft: false
1078
- }
1079
- }),
1080
-
1081
- // === INITIATIVE 2 (Oceano) ===
1082
-
1083
- // Badges sem momento (initiative_id: 2)
1084
- prisma.badges.create({
1085
- data: {
1086
- title: 'Questão Científica',
1087
- condition: 'Colocar uma questão pertinente durante a iniciativa.',
1088
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr4HZxUeXhfPyHbcMR76uS0doqxpCaVBOe5Jtk", alt: "cientist" },
1089
- points: 15,
1090
- initiative_id: initiatives[1].id,
1091
- type_id: badgeTypes[1].id,
1092
- is_draft: false
1093
- }
1094
- }),
1095
- prisma.badges.create({
1096
- data: {
1097
- title: 'Horizonte Científico',
1098
- condition: 'Conseguir recolher dados junto da comunidade.',
1099
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSroQuaoegseVUap28FPwcvyNnfA9XC3m14Hrgi", alt: "flex" },
1100
- points: 25,
1101
- initiative_id: initiatives[1].id,
1102
- type_id: badgeTypes[1].id,
1103
- is_draft: false
1104
- }
1105
- }),
1106
-
1107
- // Momento 6 (moment_id: 6, initiative_id: 2)
1108
- prisma.badges.create({
1109
- data: {
1110
- title: 'Maré a Favor',
1111
- condition: 'Chegar a horas à sessão de formação.',
1112
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrhpCDCqWYOdtK9iIS1ekza0sJr7RojFDCvw45", alt: "Barco" },
1113
- points: 5,
1114
- initiative_id: initiatives[1].id,
1115
- moment_id: moments[5].id,
1116
- type_id: badgeTypes[1].id,
1117
- is_draft: false
1118
- }
1119
- }),
1120
- prisma.badges.create({
1121
- data: {
1122
- title: 'Identificação Científica',
1123
- condition: 'Realizar uma apresentação pessoal clara e objetiva.',
1124
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr13DsTsdOBcdGrC7z9k0wAJZvTlWhDsuRX4fe", alt: "chat" },
1125
- points: 5,
1126
- initiative_id: initiatives[1].id,
1127
- moment_id: moments[5].id,
1128
- type_id: badgeTypes[1].id,
1129
- is_draft: false
1130
- }
1131
- }),
1132
- prisma.badges.create({
1133
- data: {
1134
- title: 'Perfil Oceânico',
1135
- condition: 'Partilhar um interesse, curiosidade ou motivação ligada ao mar.',
1136
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrR6bHX6xch9iaKOqHWX37NsJrgVYG6jlIv8oe", alt: "Boia" },
1137
- points: 5,
1138
- initiative_id: initiatives[1].id,
1139
- moment_id: moments[5].id,
1140
- type_id: badgeTypes[1].id,
1141
- is_draft: false
1142
- }
1143
- }),
1144
-
1145
- // Momento 7 (moment_id: 7, initiative_id: 2)
1146
- prisma.badges.create({
1147
- data: {
1148
- title: 'Pulmões do Planeta',
1149
- condition: 'Acompanhar atentamente a exposição sobre o papel do oceano no sistema terrestre.',
1150
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrSjcrLgkrlnJICFZgOeWX6vfcAY9xd8uaG7mi", alt: "lungs" },
1151
- points: 7,
1152
- initiative_id: initiatives[1].id,
1153
- moment_id: moments[6].id,
1154
- type_id: badgeTypes[1].id,
1155
- is_draft: false
1156
- }
1157
- }),
1158
- prisma.badges.create({
1159
- data: {
1160
- title: 'Registo de Campo',
1161
- condition: 'Tomar notas relevantes durante a formação.',
1162
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrU0QsPClL6W1THXSrQtuymq2VZP4NMJ3YeEcg", alt: "Exp 1" },
1163
- points: 4,
1164
- initiative_id: initiatives[1].id,
1165
- moment_id: moments[6].id,
1166
- type_id: badgeTypes[1].id,
1167
- is_draft: false
1168
- }
1169
- }),
1170
-
1171
- // Momento 8 (moment_id: 8, initiative_id: 2)
1172
- prisma.badges.create({
1173
- data: {
1174
- title: 'Zona Crítica',
1175
- condition: 'Identificar um desafio, risco ou limitação no fenómeno analisado.',
1176
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrtyhc6rFFVI5YbN7EBpzg0JQ3kMH6Z24LymCf", alt: "Mapa" },
1177
- points: 10,
1178
- initiative_id: initiatives[1].id,
1179
- moment_id: moments[7].id,
1180
- type_id: badgeTypes[1].id,
1181
- is_draft: false
1182
- }
1183
- }),
1184
- prisma.badges.create({
1185
- data: {
1186
- title: 'Formulação do Modelo',
1187
- condition: 'Definir variáveis, contexto e objetivos da análise.',
1188
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSre45ne9EUHXQjC0wcl6D2xpLvEsF3RATdhNKk", alt: "feliz" },
1189
- points: 12,
1190
- initiative_id: initiatives[1].id,
1191
- moment_id: moments[7].id,
1192
- type_id: badgeTypes[1].id,
1193
- is_draft: false
1194
- }
1195
- }),
1196
-
1197
- // Momento 9 (moment_id: 9, initiative_id: 2)
1198
- prisma.badges.create({
1199
- data: {
1200
- title: 'Integração de Dados',
1201
- condition: 'Ajustar ou aprofundar a análise com apoio digital.',
1202
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrolSnyegseVUap28FPwcvyNnfA9XC3m14Hrgi", alt: "Badge33" },
1203
- points: 10,
1204
- initiative_id: initiatives[1].id,
1205
- moment_id: moments[8].id,
1206
- type_id: badgeTypes[1].id,
1207
- is_draft: false
1208
- }
1209
- }),
1210
- prisma.badges.create({
1211
- data: {
1212
- title: 'Estrutura Científica',
1213
- condition: 'Construir uma explicação organizada e consistente.',
1214
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrlfBPQYDRamYdQ0ETLONJvP6nG1Aj7sqt5IFe", alt: "graph" },
1215
- points: 10,
1216
- initiative_id: initiatives[1].id,
1217
- moment_id: moments[8].id,
1218
- type_id: badgeTypes[1].id,
1219
- is_draft: false
1220
- }
1221
- }),
1222
-
1223
- // Momento 10 (moment_id: 10, initiative_id: 2)
1224
- prisma.badges.create({
1225
- data: {
1226
- title: 'Comunicação Oceânica',
1227
- condition: 'Apresentar os resultados da análise.',
1228
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSreoa3qbEUHXQjC0wcl6D2xpLvEsF3RATdhNKk", alt: "rocket" },
1229
- points: 15,
1230
- initiative_id: initiatives[1].id,
1231
- moment_id: moments[9].id,
1232
- type_id: badgeTypes[1].id,
1233
- is_draft: false
1234
- }
1235
- }),
1236
- prisma.badges.create({
1237
- data: {
1238
- title: 'Investigador em Formação',
1239
- condition: 'Demonstrar interesse em aprofundar conhecimentos ou participar em futuras formações.',
1240
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSraMa7dlOKh2H5Y8uaAUyldEs7npPZeqfVzxmk", alt: "Lupa" },
1241
- points: 6,
1242
- initiative_id: initiatives[1].id,
1243
- moment_id: moments[9].id,
1244
- type_id: badgeTypes[1].id,
1245
- is_draft: false
1246
- }
1247
- }),
1248
-
1249
- // === INITIATIVE 3 (Gestão de Stress) ===
1250
-
1251
- // Badges sem momento (initiative_id: 3)
1252
- prisma.badges.create({
1253
- data: {
1254
- title: 'No Controlo',
1255
- condition: 'Participação num momento de partilha guiada no inicio do talk onde identifica um factor de stress.',
1256
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSraJeb7mOKh2H5Y8uaAUyldEs7npPZeqfVzxmk", alt: "speedy" },
1257
- points: 10,
1258
- initiative_id: initiatives[2].id,
1259
- type_id: badgeTypes[1].id,
1260
- is_draft: false
1261
- }
1262
- }),
1263
- prisma.badges.create({
1264
- data: {
1265
- title: 'Limpeza Mental',
1266
- condition: 'Reconheceu uma tarefa, hábito ou pensamento que pode ser reduzido, delegado ou eliminado para diminuir o stress numa dinâmica de grupo.',
1267
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrRN2wAWxch9iaKOqHWX37NsJrgVYG6jlIv8oe", alt: "broom" },
1268
- points: 8,
1269
- initiative_id: initiatives[2].id,
1270
- type_id: badgeTypes[1].id,
1271
- is_draft: false
1272
- }
1273
- }),
1274
- prisma.badges.create({
1275
- data: {
1276
- title: 'Um Passo de Cada Vez',
1277
- condition: 'Definiu um pequeno passo realista a implementar após o talk para melhorar a gestão do stress. Compromisso pessoal registado no final do talk.',
1278
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr0nnRxnLSJwWzOQn7uRrKHSj4d0oYDXVgFZTG", alt: "sneaker" },
1279
- points: 8,
1280
- initiative_id: initiatives[2].id,
1281
- type_id: badgeTypes[1].id,
1282
- is_draft: false
1283
- }
1284
- }),
1285
- prisma.badges.create({
1286
- data: {
1287
- title: 'O Que Levas Contigo',
1288
- condition: 'Indicação livre num formulário de encerramento onde identifica, pelo menos, um recurso de apoio (pessoa, ferramenta, hábito ou serviço) que pode utilizar quando se sente sobrecarregado.',
1289
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrtqA3HgFFVI5YbN7EBpzg0JQ3kMH6Z24LymCf", alt: "Mochila" },
1290
- points: 15,
1291
- initiative_id: initiatives[2].id,
1292
- type_id: badgeTypes[1].id,
1293
- is_draft: false
1294
- }
1295
- }),
1296
-
1297
- // === INITIATIVE 4 (Visita RTP) ===
1298
-
1299
- // Badges sem momento (initiative_id: 4)
1300
- prisma.badges.create({
1301
- data: {
1302
- title: 'Equipa em Cena',
1303
- condition: 'Conseguiu conhecer um elemento da RTP, fazendo-lhe uma pergunta que este achou relevante.',
1304
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrBmSbfdQLEzruf6M1Oe0FHVp9bPSl4tTJ72DW", alt: "Networking" },
1305
- points: 20,
1306
- initiative_id: initiatives[3].id,
1307
- type_id: badgeTypes[1].id,
1308
- is_draft: false
1309
- }
1310
- }),
1311
- prisma.badges.create({
1312
- data: {
1313
- title: 'Profissional em Estúdio',
1314
- condition: 'Respeitou as regras da RTP e as orientações dadas durante a visita.',
1315
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrlvdxycYDRamYdQ0ETLONJvP6nG1Aj7sqt5IF", alt: "cheiroso" },
1316
- points: 5,
1317
- initiative_id: initiatives[3].id,
1318
- type_id: badgeTypes[1].id,
1319
- is_draft: false
1320
- }
1321
- }),
1322
- prisma.badges.create({
1323
- data: {
1324
- title: 'Bastidores Revelados',
1325
- condition: 'Atenção e envolvimento ao longo da visita, validado pela participação nos momentos-chave.',
1326
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSriiZoYk4PwofaVzLj9OnyBxe7RK4tG5qvl6kT", alt: "Suggestion 2" },
1327
- points: 10,
1328
- initiative_id: initiatives[3].id,
1329
- type_id: badgeTypes[1].id,
1330
- is_draft: false
1331
- }
1332
- }),
1333
-
1334
- // Momento 11 (moment_id: 11, initiative_id: 4)
1335
- prisma.badges.create({
1336
- data: {
1337
- title: 'Entrar no Papel',
1338
- condition: 'Chegada pontual e atenção ao briefing inicial.',
1339
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrMmvekT7BOrzfw4DsYHMexovAbXtKlFCaiT2p", alt: "Fase 4" },
1340
- points: 5,
1341
- initiative_id: initiatives[3].id,
1342
- moment_id: moments[10].id,
1343
- type_id: badgeTypes[1].id,
1344
- is_draft: false
1345
- }
1346
- }),
1347
- prisma.badges.create({
1348
- data: {
1349
- title: 'Presença em Cena',
1350
- condition: 'Participação respeitosa e foco durante a introdução à visita.',
1351
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrA5TbA29XYNM8IxrtdTk1pB0uZhfROzcE5qse", alt: "Exp 4" },
1352
- points: 5,
1353
- initiative_id: initiatives[3].id,
1354
- moment_id: moments[10].id,
1355
- type_id: badgeTypes[1].id,
1356
- is_draft: false
1357
- }
1358
- }),
1359
-
1360
- // Momento 12 (moment_id: 12, initiative_id: 4)
1361
- prisma.badges.create({
1362
- data: {
1363
- title: 'Olho de Câmara',
1364
- condition: 'Acompanhamento atento das explicações e dos espaços visitados.',
1365
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrUhtv3NlL6W1THXSrQtuymq2VZP4NMJ3YeEcg", alt: "Camara" },
1366
- points: 8,
1367
- initiative_id: initiatives[3].id,
1368
- moment_id: moments[11].id,
1369
- type_id: badgeTypes[1].id,
1370
- is_draft: false
1371
- }
1372
- }),
1373
- prisma.badges.create({
1374
- data: {
1375
- title: 'Plano Inesperado',
1376
- condition: 'Colocou uma questão ou comentou um detalhe técnico não evidente.',
1377
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrFV5q5n3HmSe1NJpvPa2hnUgD05o6qMGExIij", alt: "Suggestion 1" },
1378
- points: 10,
1379
- initiative_id: initiatives[3].id,
1380
- moment_id: moments[11].id,
1381
- type_id: badgeTypes[1].id,
1382
- is_draft: false
1383
- }
1384
- }),
1385
- prisma.badges.create({
1386
- data: {
1387
- title: 'Base Técnica',
1388
- condition: 'Identificação (oral ou escrita) de pelo menos um elemento técnico essencial observado.',
1389
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrcYVObJyLVgUbO4tHI3YsC786DxpPMaGKvzou", alt: "Rock" },
1390
- points: 12,
1391
- initiative_id: initiatives[3].id,
1392
- moment_id: moments[11].id,
1393
- type_id: badgeTypes[1].id,
1394
- is_draft: false
1395
- }
1396
- }),
1397
-
1398
- // Momento 13 (moment_id: 13, initiative_id: 4)
1399
- prisma.badges.create({
1400
- data: {
1401
- title: 'Novo Olhar',
1402
- condition: 'Participação numa reflexão final oral.',
1403
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrx9qsNicPIjfb2LFmMHeA1DlihX053SYtCJGo", alt: "Sunrise" },
1404
- points: 8,
1405
- initiative_id: initiatives[3].id,
1406
- moment_id: moments[12].id,
1407
- type_id: badgeTypes[1].id,
1408
- is_draft: false
1409
- }
1410
- }),
1411
- prisma.badges.create({
1412
- data: {
1413
- title: 'Levar dos Bastidores',
1414
- condition: 'Registo de pelo menos uma aprendizagem-chave no quadro da RTP.',
1415
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr37Vteyid5bzBoqIMkTswhgxVpGKlctL1HJN0", alt: "idea1" },
1416
- points: 12,
1417
- initiative_id: initiatives[3].id,
1418
- moment_id: moments[12].id,
1419
- type_id: badgeTypes[1].id,
1420
- is_draft: false
1421
- }
1422
- }),
1423
-
1424
- // === INITIATIVE 5 (Taça UA - Basquetebol 3x3) ===
1425
-
1426
- // Badges sem momento (initiative_id: 5)
1427
- prisma.badges.create({
1428
- data: {
1429
- title: 'Campeões da Taça UA',
1430
- condition: 'Venceu a final da Taça UA · Basquetebol 3x3.',
1431
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrfJlY6u1aNO8JgEdTYKvmSr3sp0VoIUHW6Lkl", alt: "1st" },
1432
- points: 25,
1433
- initiative_id: initiatives[4].id,
1434
- type_id: badgeTypes[1].id,
1435
- is_draft: false
1436
- }
1437
- }),
1438
- prisma.badges.create({
1439
- data: {
1440
- title: 'Finalistas UA',
1441
- condition: 'Disputou a final da competição.',
1442
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrqcjuuJjRC96QvfIrUdObleDw30ZS1ah58Mpm", alt: "2nd" },
1443
- points: 20,
1444
- initiative_id: initiatives[4].id,
1445
- type_id: badgeTypes[1].id,
1446
- is_draft: false
1447
- }
1448
- }),
1449
- prisma.badges.create({
1450
- data: {
1451
- title: 'Bronze também é pódio',
1452
- condition: 'Alcançou o 3.º lugar da competição.',
1453
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrolSnyegseVUap28FPwcvyNnfA9XC3m14Hrgi", alt: "3rd" },
1454
- points: 15,
1455
- initiative_id: initiatives[4].id,
1456
- type_id: badgeTypes[1].id,
1457
- is_draft: false
1458
- }
1459
- }),
1460
- prisma.badges.create({
1461
- data: {
1462
- title: 'Arranque Rápido',
1463
- condition: 'Participou em primeiro um jogo do torneio. Reconhece o início ativo na competição.',
1464
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr30mHXfid5bzBoqIMkTswhgxVpGKlctL1HJN0", alt: "sandwish" },
1465
- points: 5,
1466
- initiative_id: initiatives[4].id,
1467
- type_id: badgeTypes[1].id,
1468
- is_draft: false
1469
- }
1470
- }),
1471
- prisma.badges.create({
1472
- data: {
1473
- title: 'Defesa de Gelo',
1474
- condition: 'Premeia equipa com menos golos sofridos.',
1475
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSriIAktV4PwofaVzLj9OnyBxe7RK4tG5qvl6kT", alt: "cold" },
1476
- points: 7,
1477
- initiative_id: initiatives[4].id,
1478
- type_id: badgeTypes[1].id,
1479
- is_draft: false
1480
- }
1481
- }),
1482
- prisma.badges.create({
1483
- data: {
1484
- title: 'Resistência em Campo',
1485
- condition: 'Premeia jogadores que não falharam nenhum jogo da sua equipa.',
1486
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrsduWnDfH5AeUxoEMB97YNQOpqhldvz8ZSgLk", alt: "sample2" },
1487
- points: 10,
1488
- initiative_id: initiatives[4].id,
1489
- type_id: badgeTypes[1].id,
1490
- is_draft: false
1491
- }
1492
- }),
1493
- prisma.badges.create({
1494
- data: {
1495
- title: 'Jogo Limpo',
1496
- condition: 'Não recebeu advertências disciplinares durante a competição.',
1497
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrOxRSfdgqFubETHlUmrBOtIDyS1iwh5VQJfaP", alt: "hand" },
1498
- points: 15,
1499
- initiative_id: initiatives[4].id,
1500
- type_id: badgeTypes[1].id,
1501
- is_draft: false
1502
- }
1503
- }),
1504
- prisma.badges.create({
1505
- data: {
1506
- title: 'Estratégia Criativa',
1507
- condition: 'Foi treinador de uma das equipas participantes.',
1508
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrOxA5AEuqFubETHlUmrBOtIDyS1iwh5VQJfaP", alt: "frankenstein" },
1509
- points: 40,
1510
- initiative_id: initiatives[4].id,
1511
- type_id: badgeTypes[1].id,
1512
- is_draft: false
1513
- }
1514
- }),
1515
- prisma.badges.create({
1516
- data: {
1517
- title: 'Coordenação em Campo',
1518
- condition: 'Esteve na preparação da competição.',
1519
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrqKxXTRC96QvfIrUdObleDw30ZS1ah58MpmLN", alt: "Suit" },
1520
- points: 20,
1521
- initiative_id: initiatives[4].id,
1522
- type_id: badgeTypes[1].id,
1523
- is_draft: false
1524
- }
1525
- }),
1526
- prisma.badges.create({
1527
- data: {
1528
- title: 'Bancada Limpa',
1529
- condition: 'Adeptos da bancada que no final do torneio ficam e ajudam a limpar o espaço onde estiveram.',
1530
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrERXUIwamVQy5rlKIB7x4Sg2ftjuAWMTPJd8Z", alt: "trash" },
1531
- points: 8,
1532
- initiative_id: initiatives[4].id,
1533
- type_id: badgeTypes[1].id,
1534
- is_draft: false
1535
- }
1536
- }),
1537
- prisma.badges.create({
1538
- data: {
1539
- title: 'Claque UA',
1540
- condition: 'Adeptos que apoiaram a equipa de forma respeitosa.',
1541
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr3FCww2id5bzBoqIMkTswhgxVpGKlctL1HJN0", alt: "party poper" },
1542
- points: 8,
1543
- initiative_id: initiatives[4].id,
1544
- type_id: badgeTypes[1].id,
1545
- is_draft: false
1546
- }
1547
- }),
1548
- prisma.badges.create({
1549
- data: {
1550
- title: 'Espírito Desportivo',
1551
- condition: 'Demonstrou fair-play durante a competição.',
1552
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrESUu0RamVQy5rlKIB7x4Sg2ftjuAWMTPJd8Z", alt: "borboleta" },
1553
- points: 10,
1554
- initiative_id: initiatives[4].id,
1555
- type_id: badgeTypes[1].id,
1556
- is_draft: false
1557
- }
1558
- }),
1559
- prisma.badges.create({
1560
- data: {
1561
- title: 'Desportista Sereno',
1562
- condition: 'Acabou a competição sem faltas.',
1563
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrMlGCOH7BOrzfw4DsYHMexovAbXtKlFCaiT2p", alt: "Shrug" },
1564
- points: 10,
1565
- initiative_id: initiatives[4].id,
1566
- type_id: badgeTypes[1].id,
1567
- is_draft: false
1568
- }
1569
- }),
1570
- prisma.badges.create({
1571
- data: {
1572
- title: 'Sabedoria em Jogo',
1573
- condition: 'Árbitros da competição.',
1574
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrgBs77XOzJiSr6qDHbBwQa7Ct8dy4ju9APmf0", alt: "yoda" },
1575
- points: 40,
1576
- initiative_id: initiatives[4].id,
1577
- type_id: badgeTypes[1].id,
1578
- is_draft: false
1579
- }
1580
- }),
1581
-
1582
- // === INITIATIVE 6 (Convívio) ===
1583
-
1584
- // Badges sem momento (initiative_id: 6)
1585
- prisma.badges.create({
1586
- data: {
1587
- title: 'Mesa Pronta',
1588
- condition: 'Esteve presente durante o período de partilha de comida.',
1589
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr2MGe6pqGrECZQXTIv4We3po6tkVxHSFzu0N8", alt: "plate" },
1590
- points: 12,
1591
- initiative_id: initiatives[5].id,
1592
- type_id: badgeTypes[1].id,
1593
- is_draft: false
1594
- }
1595
- }),
1596
- prisma.badges.create({
1597
- data: {
1598
- title: 'Brinde Informal',
1599
- condition: 'Participou num brinde ou momento social informal durante o convívio.',
1600
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrFbrWqb3HmSe1NJpvPa2hnUgD05o6qMGExIij", alt: "lata" },
1601
- points: 7,
1602
- initiative_id: initiatives[5].id,
1603
- type_id: badgeTypes[1].id,
1604
- is_draft: false
1605
- }
1606
- }),
1607
- prisma.badges.create({
1608
- data: {
1609
- title: 'Até ao Fim',
1610
- condition: 'Presença no momento final da iniciativa.',
1611
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr3yXYd9id5bzBoqIMkTswhgxVpGKlctL1HJN0", alt: "folha_dupla" },
1612
- points: 10,
1613
- initiative_id: initiatives[5].id,
1614
- type_id: badgeTypes[1].id,
1615
- is_draft: false
1616
- }
1617
- }),
1618
- prisma.badges.create({
1619
- data: {
1620
- title: 'Convívio Completo',
1621
- condition: 'Levou comida e bebida para partilhar com o grupo.',
1622
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrBvTx4GLEzruf6M1Oe0FHVp9bPSl4tTJ72DWk", alt: "recolha" },
1623
- points: 15,
1624
- initiative_id: initiatives[5].id,
1625
- type_id: badgeTypes[1].id,
1626
- is_draft: false
1627
- }
1628
- }),
1629
- prisma.badges.create({
1630
- data: {
1631
- title: 'ShiftE Check-in',
1632
- condition: 'Presença registada no ShiftE – Empreendedorismo e Empregabilidade.',
1633
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrOA6nZGqFubETHlUmrBOtIDyS1iwh5VQJfaPG", alt: "ShiftE Check-in" },
1634
- points: 10,
1635
- initiative_id: initiatives[6].id,
1636
- type_id: badgeTypes[1].id,
1637
- is_draft: false
1638
- }
1639
- }),
1640
- prisma.badges.create({
1641
- data: {
1642
- title: 'ShiftE Stand',
1643
- condition: 'Visitou um stand da Feira de Emprego, interagindo com um representante.',
1644
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrE7iKnYamVQy5rlKIB7x4Sg2ftjuAWMTPJd8Z", alt: "ShiftE Stand" },
1645
- points: 15,
1646
- initiative_id: initiatives[6].id,
1647
- type_id: badgeTypes[1].id,
1648
- is_draft: false
1649
- }
1650
- }),
1651
- prisma.badges.create({
1652
- data: {
1653
- title: 'ShiftE Entrevista',
1654
- condition: 'Participou numa entrevista presencial durante o ShiftE.',
1655
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrR7dkWXxch9iaKOqHWX37NsJrgVYG6jlIv8oe", alt: "ShiftE Entrevista" },
1656
- points: 25,
1657
- initiative_id: initiatives[6].id,
1658
- type_id: badgeTypes[1].id,
1659
- is_draft: false
1660
- }
1661
- }),
1662
- prisma.badges.create({
1663
- data: {
1664
- title: 'ShiftE Abertura',
1665
- condition: 'Esteve presente na sessão oficial de abertura do ShiftE.',
1666
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrEbzE4YamVQy5rlKIB7x4Sg2ftjuAWMTPJd8Z", alt: "ShiftE Abertura" },
1667
- points: 10,
1668
- initiative_id: initiatives[6].id,
1669
- moment_id: moments[13].id,
1670
- type_id: badgeTypes[1].id,
1671
- is_draft: false
1672
- }
1673
- }),
1674
- prisma.badges.create({
1675
- data: {
1676
- title: 'Olhos no futuro',
1677
- condition: 'Assistiu à talk "Empreendedorismo: O futuro começa agora".',
1678
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrYcDZ0joDGuiYCSke3U2wrLtcH6bjaFNX7I4Z", alt: "Olhos no futuro" },
1679
- points: 20,
1680
- initiative_id: initiatives[6].id,
1681
- moment_id: moments[13].id,
1682
- type_id: badgeTypes[1].id,
1683
- is_draft: false
1684
- }
1685
- }),
1686
- prisma.badges.create({
1687
- data: {
1688
- title: 'Modo Turbo',
1689
- condition: 'Assistiu ao workshop "Produtividade com AI".',
1690
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrJOt3l6e19GZbqgJ0mczt5lMWY4XkTU8NCpI7", alt: "Modo Turbo" },
1691
- points: 20,
1692
- initiative_id: initiatives[6].id,
1693
- moment_id: moments[14].id,
1694
- type_id: badgeTypes[1].id,
1695
- is_draft: false
1696
- }
1697
- }),
1698
- prisma.badges.create({
1699
- data: {
1700
- title: 'Dentro da Caixa',
1701
- condition: 'Acompanhou o painel "Intraempreendedorismo – Inovação e Proatividade".',
1702
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrWc0GztM4O8P2SZo1HCka9LG36hRKumwlzQTp", alt: "Dentro da Caixa" },
1703
- points: 20,
1704
- initiative_id: initiatives[6].id,
1705
- moment_id: moments[14].id,
1706
- type_id: badgeTypes[1].id,
1707
- is_draft: false
1708
- }
1709
- }),
1710
- prisma.badges.create({
1711
- data: {
1712
- title: 'Troca de Saber',
1713
- condition: 'Participou no Encontro de Mentores.',
1714
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrjKrFPRqvVZSTbg4tMDlQn18P3srcak5WyvFf", alt: "Troca de Saber" },
1715
- points: 25,
1716
- initiative_id: initiatives[6].id,
1717
- moment_id: moments[14].id,
1718
- type_id: badgeTypes[1].id,
1719
- is_draft: false
1720
- }
1721
- }),
1722
- prisma.badges.create({
1723
- data: {
1724
- title: 'Negociação',
1725
- condition: 'Assistiu à talk "Técnicas de Negociação".',
1726
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrEBkDJ6amVQy5rlKIB7x4Sg2ftjuAWMTPJd8Z", alt: "Negociação" },
1727
- points: 20,
1728
- initiative_id: initiatives[6].id,
1729
- type_id: badgeTypes[1].id,
1730
- moment_id: moments[15].id,
1731
- is_draft: false
1732
- }
1733
- }),
1734
- prisma.badges.create({
1735
- data: {
1736
- title: 'Impacto Real',
1737
- condition: 'Acompanhou o painel "Negócios com Propósito".',
1738
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr2hBn649pqGrECZQXTIv4We3po6tkVxHSFzu0", alt: "Impacto Real" },
1739
- points: 20,
1740
- initiative_id: initiatives[6].id,
1741
- moment_id: moments[15].id,
1742
- type_id: badgeTypes[1].id,
1743
- is_draft: false
1744
- }
1745
- }),
1746
- prisma.badges.create({
1747
- data: {
1748
- title: 'Shark Thesis',
1749
- condition: 'Assistiu a apresentações do Shark Thesis.',
1750
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrhnDO5MWYOdtK9iIS1ekza0sJr7RojFDCvw45", alt: "Shark Thesis" },
1751
- points: 20,
1752
- initiative_id: initiatives[6].id,
1753
- type_id: badgeTypes[1].id,
1754
- moment_id: moments[15].id,
1755
- is_draft: false
1756
- }
1757
- }),
1758
- prisma.badges.create({
1759
- data: {
1760
- title: 'Pitch Your Thing',
1761
- condition: 'Assistiu às apresentações do Pitch Your Thing.',
1762
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrhGM4MIWYOdtK9iIS1ekza0sJr7RojFDCvw45", alt: "Pitch Your Thing" },
1763
- points: 20,
1764
- initiative_id: initiatives[6].id,
1765
- type_id: badgeTypes[1].id,
1766
- moment_id: moments[16].id,
1767
- is_draft: false
1768
- }
1769
- }),
1770
- prisma.badges.create({
1771
- data: {
1772
- title: 'Boas Ideias',
1773
- condition: 'Assistiu à talk "Manual de Boas Ideias".',
1774
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSryOqNOgtiWUobHQ07sC9apn2Pe4g1ldhE3XOF", alt: "Boas Ideias" },
1775
- points: 20,
1776
- initiative_id: initiatives[6].id,
1777
- moment_id: moments[16].id,
1778
- type_id: badgeTypes[1].id,
1779
- is_draft: false
1780
- }
1781
- }),
1782
- prisma.badges.create({
1783
- data: {
1784
- title: 'Networking',
1785
- condition: 'Participou no momento final de networking do ShiftE.',
1786
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSr9GzJSkj3hOybdgS7mvzAn6HNlBT01VCIkoLj", alt: "Networking" },
1787
- points: 15,
1788
- initiative_id: initiatives[6].id,
1789
- moment_id: moments[16].id,
1790
- type_id: badgeTypes[1].id,
1791
- is_draft: false
1792
- }
1793
- }),
1794
-
1795
- // === BADGES DE CERTIFICADO ===
1796
- prisma.badges.create({
1797
- data: {
1798
- title: 'Shark Thesis – Em Palco',
1799
- condition: 'Apresentou a sua tese ou projeto no Shark Thesis.',
1800
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrhnDO5MWYOdtK9iIS1ekza0sJr7RojFDCvw45", alt: "Shark Thesis – Em Palco" },
1801
- initiative_id: initiatives[6].id,
1802
- type_id: badgeTypes[0].id,
1803
- points: 0,
1804
- is_draft: false
1805
- }
1806
- }),
1807
- prisma.badges.create({
1808
- data: {
1809
- title: 'Pitch Científico',
1810
- condition: 'Comunicou um projeto científico de forma clara e acessível.',
1811
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrhGM4MIWYOdtK9iIS1ekza0sJr7RojFDCvw45", alt: "Pitch Científico" },
1812
- initiative_id: initiatives[6].id,
1813
- type_id: badgeTypes[0].id,
1814
- points: 0,
1815
- is_draft: false
1816
- }
1817
- }),
1818
-
1819
- // === BADGES DE VOLUNTÁRIO ===
1820
- prisma.badges.create({
1821
- data: {
1822
- title: 'Check-in & Receção',
1823
- condition: 'Acolhimento dos participantes, credenciação, entrega de materiais e esclarecimento de dúvidas iniciais.',
1824
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrmTkGa907cYDFObXGJLMZvx5uaAo6RVs0Ie2w", alt: "Check-in & Receção" },
1825
- points: 25,
1826
- initiative_id: initiatives[6].id,
1827
- type_id: badgeTypes[1].id,
1828
- is_draft: false
1829
- }
1830
- }),
1831
- prisma.badges.create({
1832
- data: {
1833
- title: 'Logística Geral',
1834
- condition: 'Apoio à montagem e organização dos espaços, materiais, sinalética e necessidades operacionais do evento.',
1835
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSruGJsHneNhOZFcjgopMintxPJvSK8q9a1I6CN", alt: "Logística Geral" },
1836
- points: 25,
1837
- initiative_id: initiatives[6].id,
1838
- type_id: badgeTypes[1].id,
1839
- is_draft: false
1840
- }
1841
- }),
1842
- prisma.badges.create({
1843
- data: {
1844
- title: 'Apoio a Palestrantes',
1845
- condition: 'Acompanhamento dos oradores antes, durante e após as sessões, garantindo conforto e apoio necessário.',
1846
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrF9bw8F3HmSe1NJpvPa2hnUgD05o6qMGExIij", alt: "Apoio a Palestrantes" },
1847
- points: 30,
1848
- initiative_id: initiatives[6].id,
1849
- type_id: badgeTypes[1].id,
1850
- is_draft: false
1851
- }
1852
- }),
1853
- prisma.badges.create({
1854
- data: {
1855
- title: 'Sala & Tempo',
1856
- condition: 'Apoio em sala, controlo de tempos das sessões, gestão de entradas, saídas e microfones.',
1857
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrxgX0qicPIjfb2LFmMHeA1DlihX053SYtCJGo", alt: "Sala & Tempo" },
1858
- points: 20,
1859
- initiative_id: initiatives[6].id,
1860
- type_id: badgeTypes[1].id,
1861
- is_draft: false
1862
- }
1863
- }),
1864
- prisma.badges.create({
1865
- data: {
1866
- title: 'Audiovisual',
1867
- condition: 'Gestão de som, projeção, microfones e equipamentos audiovisuais durante as sessões.',
1868
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrwLqWoh2l0nEs86qtazL74fRpJUAK2Ci5THSX", alt: "Audiovisual" },
1869
- points: 30,
1870
- initiative_id: initiatives[6].id,
1871
- type_id: badgeTypes[1].id,
1872
- is_draft: false
1873
- }
1874
- }),
1875
- prisma.badges.create({
1876
- data: {
1877
- title: 'Tech Support',
1878
- condition: 'Apoio técnico a apresentações, computadores, ficheiros e resolução de problemas digitais.',
1879
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrQeFVofwGwqyNrivJ7kMG3WxeAt265USQlZCE", alt: "Tech Support" },
1880
- points: 30,
1881
- initiative_id: initiatives[6].id,
1882
- type_id: badgeTypes[1].id,
1883
- is_draft: false
1884
- }
1885
- }),
1886
- prisma.badges.create({
1887
- data: {
1888
- title: 'Comunicação',
1889
- condition: 'Registo fotográfico e vídeo, recolha de conteúdos e apoio à comunicação do evento.',
1890
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrqna2LaRC96QvfIrUdObleDw30ZS1ah58MpmL", alt: "Comunicação" },
1891
- points: 40,
1892
- initiative_id: initiatives[6].id,
1893
- type_id: badgeTypes[1].id,
1894
- is_draft: false
1895
- }
1896
- }),
1897
- prisma.badges.create({
1898
- data: {
1899
- title: 'Networking',
1900
- condition: 'Apoio e dinamização de momentos de networking, interação e experiência dos participantes.',
1901
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrsFnjujfH5AeUxoEMB97YNQOpqhldvz8ZSgLk", alt: "Networking" },
1902
- points: 25,
1903
- initiative_id: initiatives[6].id,
1904
- type_id: badgeTypes[1].id,
1905
- is_draft: false
1906
- }
1907
- }),
1908
- prisma.badges.create({
1909
- data: {
1910
- title: 'Eu estive lá',
1911
- condition: 'Participou no Workshop Ser+ Digital.',
1912
- img: { url: "https://8sudryl47u.ufs.sh/f/V8M5CvuiWwSrREz0QAxch9iaKOqHWX37NsJrgVYG6jlIv8oe", alt: "Ser+" },
1913
- points: 500,
1914
- initiative_id: initiatives[0].id,
1915
- type_id: badgeTypes[0].id,
1916
- is_draft: false
1917
- }
1918
- }),
1919
-
1920
- // === INITIATIVE 8 (Pré-Piloto) ===
1921
- // Badges gerais (sem momento associado)
1922
- prisma.badges.create({
1923
- data: {
1924
- title: 'Caso oficialmente aberto',
1925
- condition: 'Se estás a ler os arquivos iniciais desta investigação é porque entraste na aplicação com sucesso! Tens muitos outros badges para receber, basta abrires e verificares o que eles estão a pedir.',
1926
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLeEW0wYxaMNnUtBcsTrjJqdV7KAhOfQvGmzI6", alt: "Caso aberto" },
1927
- points: 20,
1928
- initiative_id: initiatives[7].id,
1929
- type_id: badgeTypes[1].id,
1930
- is_draft: false
1931
- }
1932
- }),
1933
- prisma.badges.create({
1934
- data: {
1935
- title: 'Estratégia e paciência',
1936
- condition: 'O detetive bigodes tem um Cubo Mágico na mão, ele diz que o ajuda a pensar enquanto está a resolver os seus casos. Num momento de pausa sem interromper nenhuma atividade encontra um cubo mágico e em dois minutos resolver um dos lados do cubo, se fores o primeiro este badge será apenas teu!',
1937
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLKNQMASEOPeckgJ2flhR5AqWw1yTD8LGo3QI9", alt: "Cubo mágico" },
1938
- points: 15,
1939
- initiative_id: initiatives[7].id,
1940
- type_id: badgeTypes[1].id,
1941
- is_draft: false
1942
- }
1943
- }),
1944
- prisma.badges.create({
1945
- data: {
1946
- title: 'Arquivos',
1947
- condition: 'Existe uma informação essencial para esta investigação e precisamos de um investigador informado sobre quantos departamentos existem no Campus da Universidade de Aveiro? Insere esta informação dentro do contexto em que te encontras sem interromper a dinâmica. Sê o primeiro porque este desafio é só para um investigador!',
1948
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLVTiMBrbQ7DFMBvhIWUKNJjcu2an0Z6edqwVO", alt: "Arquivos" },
1949
- points: 15,
1950
- initiative_id: initiatives[7].id,
1951
- type_id: badgeTypes[1].id,
1952
- is_draft: false
1953
- }
1954
- }),
1955
- prisma.badges.create({
1956
- data: {
1957
- title: 'Hercule Poirot',
1958
- condition: 'Entre vários investigadores, houve um ou mais que se destacou por ser particularmente astuto e por conseguir cumprir todos os desafios deixados pelo Detetive Bigodes. Parabéns! O(s) participante(s) com melhor pontuação ganha(m) este badge.',
1959
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLxhYgNiMATR9yGE3iIjrDsO7cStX01PfLx28C", alt: "Hercule Poirot" },
1960
- points: 15,
1961
- initiative_id: initiatives[7].id,
1962
- type_id: badgeTypes[1].id,
1963
- is_draft: false
1964
- }
1965
- }),
1966
- prisma.badges.create({
1967
- data: {
1968
- title: 'Algo aqui não está bem',
1969
- condition: 'Um bom investigador tem sempre papel e caneta à mão, pronto para registar todos os detalhes e pontos importantes observados durante a sua análise técnica. Escreve numa folha os erros encontrados e as melhorias que farias à aplicação e entrega-a a um voluntário no final da sessão.',
1970
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLZ6DqmkZXAUD369evJhHoyusWVqzr78a2dXiE", alt: "Análise técnica" },
1971
- points: 15,
1972
- initiative_id: initiatives[7].id,
1973
- type_id: badgeTypes[1].id,
1974
- is_draft: false
1975
- }
1976
- }),
1977
-
1978
- // Badges do Momento 1 (Identidade e Primeiras Pistas) - Pré-Piloto
1979
- prisma.badges.create({
1980
- data: {
1981
- title: 'Todas as pessoas tem uma história',
1982
- condition: 'Está na altura de te dares a conhecer ao Detetive Bigodes e de descobrires quem são os outros investigadores. Tens 30 segundos para te apresentares e falares um pouco sobre ti.',
1983
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLyoVFyboDVhYgwvmbnDOCxdfIcs6jqEGe0oRk", alt: "História pessoal" },
1984
- points: 20,
1985
- initiative_id: initiatives[7].id,
1986
- moment_id: moments[17].id,
1987
- type_id: badgeTypes[1].id,
1988
- is_draft: false
1989
- }
1990
- }),
1991
- prisma.badges.create({
1992
- data: {
1993
- title: 'British detective in the room',
1994
- condition: 'Um bom detetive sabe observar quem o rodeia. Pela forma como a costura do chapéu foi feita e pelo estilo da gabardine, um dos participantes claramente não é de cá, é um detetive do Reino Unido. Se leres esta nota a tempo, deves fazer um dos restantes badges do primeiro momento em inglês.',
1995
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLqSO54iNuL4WyIt5BVKN6dRwAflsQZTgH3Upb", alt: "British detective" },
1996
- points: 15,
1997
- initiative_id: initiatives[7].id,
1998
- moment_id: moments[17].id,
1999
- type_id: badgeTypes[1].id,
2000
- is_draft: false
2001
- }
2002
- }),
2003
- prisma.badges.create({
2004
- data: {
2005
- title: 'Qual é o teu álibi?',
2006
- condition: 'Suspeitas podem surgir a cada palavra que digas, mas é melhor esclarecer já o teu álibi. Durante a tua apresentação, partilha uma curiosidade sobre a tua semana.',
2007
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLqU3Gsc6NuL4WyIt5BVKN6dRwAflsQZTgH3Up", alt: "Álibi" },
2008
- points: 15,
2009
- initiative_id: initiatives[7].id,
2010
- moment_id: moments[17].id,
2011
- type_id: badgeTypes[1].id,
2012
- is_draft: false
2013
- }
2014
- }),
2015
- prisma.badges.create({
2016
- data: {
2017
- title: 'Provas',
2018
- condition: 'O Detetive Bigodes quer saber tudo sobre os participantes desta iniciativa. Ainda durante a tua apresentação, diz-lhe em que iniciativas gostas de participar nos teus tempos livres.',
2019
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLxLazNPMATR9yGE3iIjrDsO7cStX01PfLx28C", alt: "Provas" },
2020
- points: 20,
2021
- initiative_id: initiatives[7].id,
2022
- moment_id: moments[17].id,
2023
- type_id: badgeTypes[1].id,
2024
- is_draft: false
2025
- }
2026
- }),
2027
-
2028
- // Badges do Momento 2 (A Investigação em Campo) - Pré-Piloto
2029
- prisma.badges.create({
2030
- data: {
2031
- title: 'Encontrámos algo',
2032
- condition: 'A primeira grande descoberta! Aqui começas a desvendar o que é o Ser+, através de uma explicação clara e direta. O primeiro investigador a explicar o que é Ser+ ganha este badge.',
2033
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLDTehb91XR9cH1dInMmbWUty0lKqjVFBLNfho", alt: "Encontrámos algo" },
2034
- points: 20,
2035
- initiative_id: initiatives[7].id,
2036
- moment_id: moments[18].id,
2037
- type_id: badgeTypes[1].id,
2038
- is_draft: false
2039
- }
2040
- }),
2041
- prisma.badges.create({
2042
- data: {
2043
- title: 'Novas descobertas',
2044
- condition: 'Um bom investigador nunca se fica pela primeira pista. Neste momento, aprofundas o conceito Ser+, acrescenta evidências relevantes, reflexões e pontos de melhoria que ajudam a completar e fortalecer a sua definição.',
2045
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLX5XTWNldvJGAK7hIXNtyoTEqgQ04UCcSeiLs", alt: "Novas descobertas" },
2046
- points: 15,
2047
- initiative_id: initiatives[7].id,
2048
- moment_id: moments[18].id,
2049
- type_id: badgeTypes[1].id,
2050
- is_draft: false
2051
- }
2052
- }),
2053
- prisma.badges.create({
2054
- data: {
2055
- title: 'Interrogatórios',
2056
- condition: 'Agora que já sabes o que estamos a investigar, é tempo de cruzar dados com a experiência real. Partilha a tua experiência pessoal em atividades que tenhas participado da Universidade de Aveiro, e contribui com testemunhos que enriquecem a investigação.',
2057
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLrbJ4iyFI4qe5wVBnWKNb0kxZMSAcpLmuOgRy", alt: "Interrogatórios" },
2058
- points: 15,
2059
- initiative_id: initiatives[7].id,
2060
- moment_id: moments[18].id,
2061
- type_id: badgeTypes[1].id,
2062
- is_draft: false
2063
- }
2064
- }),
2065
- prisma.badges.create({
2066
- data: {
2067
- title: 'Retratos falados',
2068
- condition: 'O Ser+ tem um símbolo enigmático, é hora de o revelar. A tua missão é descobrir, desenhar e registar o logótipo do Ser+, num quadro ou numa folha do kit, cria uma prova visual da investigação até ao final do momento.',
2069
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLqH3jzANuL4WyIt5BVKN6dRwAflsQZTgH3Upb", alt: "Retratos falados" },
2070
- points: 15,
2071
- initiative_id: initiatives[7].id,
2072
- moment_id: moments[18].id,
2073
- type_id: badgeTypes[1].id,
2074
- is_draft: false
2075
- }
2076
- }),
2077
-
2078
- // Badges do Momento 3 (A Revelação: Reconhecimento e Fecho) - Pré-Piloto
2079
- prisma.badges.create({
2080
- data: {
2081
- title: 'Medalha de mérito',
2082
- condition: 'Está na altura de reconhecermos que as pessoas que trabalham contigo, existem valores que podem ser destacados e nomeados. Oferecer soft skills aos investigadores que participarem contigo nesta iniciativa.',
2083
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLxJs1L1MATR9yGE3iIjrDsO7cStX01PfLx28C", alt: "Medalha de mérito" },
2084
- points: 20,
2085
- initiative_id: initiatives[7].id,
2086
- moment_id: moments[19].id,
2087
- type_id: badgeTypes[1].id,
2088
- is_draft: false
2089
- }
2090
- }),
2091
- prisma.badges.create({
2092
- data: {
2093
- title: 'Faro Apurado',
2094
- condition: 'Hoje estiveste muito bem e os restantes investigadores destacaram qualidades em ti. Se recebeste uma soft skill, procura-a a partir do perfil.',
2095
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLyor5QarDVhYgwvmbnDOCxdfIcs6jqEGe0oRk", alt: "Faro Apurado" },
2096
- points: 20,
2097
- initiative_id: initiatives[7].id,
2098
- moment_id: moments[19].id,
2099
- type_id: badgeTypes[1].id,
2100
- is_draft: false
2101
- }
2102
- }),
2103
- prisma.badges.create({
2104
- data: {
2105
- title: 'Pista escondida',
2106
- condition: 'Uma dica anónima foi recebida que existe um badge que podes recolher se leres um QR code, mas para isso precisas de o encontrar e ele está muito bem escondido. Encontrar um QR code escondido com o fim da iniciativa.',
2107
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLuJFTEJS3rREOWqaKkSP8VuDyAF5Zczps1v2n", alt: "Pista escondida" },
2108
- points: 15,
2109
- initiative_id: initiatives[7].id,
2110
- moment_id: moments[19].id,
2111
- type_id: badgeTypes[1].id,
2112
- is_draft: false
2113
- }
2114
- }),
2115
- prisma.badges.create({
2116
- data: {
2117
- title: 'Recolha',
2118
- condition: 'O Detetive Bigodes quer dar continuidade à investigação fora do terreno, mas para isso precisa da tua ajuda. No final da missão, é necessário recolher todos os papéis com informações sobre erros, melhorias e observações relacionadas com a aplicação. Cada contributo é uma peça essencial para que a investigação possa continuar e evoluir.',
2119
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLg9tuksvWic2V6dUlJseFtB7bnokO0jPm4vG3", alt: "Recolha" },
2120
- points: 15,
2121
- initiative_id: initiatives[7].id,
2122
- moment_id: moments[19].id,
2123
- type_id: badgeTypes[1].id,
2124
- is_draft: false
2125
- }
2126
- }),
2127
- prisma.badges.create({
2128
- data: {
2129
- title: 'Participação no Pré-Piloto',
2130
- condition: 'Completaste o Pré-Piloto do Ser+! Este certificado reconhece o teu empenho e participação ativa nesta fase crucial do projeto. Obrigado por fazeres parte desta jornada connosco.',
2131
- img: { "id": "c0229a89-f1d9-4ee8-adf7-a3324b939fac", "url": "https://minio.sermaisapp-qa.ua.pt/badges/76/c0229a89-f1d9-4ee8-adf7-a3324b939fac.pdf", "size": 459032, "mimeType": "application/pdf", "uploadedAt": "2026-01-28T15:16:11.178Z", "originalName": "certificadosermais.pdf", "thumbnailUrl": "https://minio.sermaisapp-qa.ua.pt/badges/76/c0229a89-f1d9-4ee8-adf7-a3324b939fac_thumb.jpg" },
2132
- points: 50,
2133
- initiative_id: initiatives[7].id,
2134
- type_id: badgeTypes[0].id,
2135
- is_draft: false
2136
- }
2137
- }),
2138
-
2139
- //Moment 1 initiative 8
2140
- prisma.badges.create({
2141
- data: {
2142
- title: 'Kit de investigação',
2143
- condition: 'Antes de os investigadores entrarem em ação, existe um grupo discreto, atento e essencial para o sucesso da operação: os Voluntários. Neste momento, os voluntários preparam e entregam o Kit de Investigação aos participantes e ficam com um para eles.',
2144
- img: { url: "https://576wibblum.ufs.sh/f/l7y45I6Co8dLuWIjOzS3rREOWqaKkSP8VuDyAF5Zczps1v2n", alt: "Kit de investigação" },
2145
- points: 15,
2146
- initiative_id: initiatives[7].id,
2147
- moment_id: moments[17].id,
2148
- type_id: badgeTypes[1].id,
2149
- is_draft: false
2150
- }
2151
- }),
2152
- ]);
2153
-
2154
- console.log(`✅ Created ${badges.length} badges`);
2155
-
2156
- // roles_initiative_badges
2157
- console.log('🏷️ Creating roles initiatives badges...');
2158
- await Promise.all([
2159
- // Apresentação com estilo
2160
- prisma.roles_initiatives_badges.create({
2161
- data: {
2162
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2163
- badges_id: badges[0].id
2164
- }
2165
- }),
2166
- // Funcionalidades principais
2167
- prisma.roles_initiatives_badges.create({
2168
- data: {
2169
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2170
- badges_id: badges[1].id
2171
- }
2172
- }),
2173
- // Protótipos finalizados
2174
- prisma.roles_initiatives_badges.create({
2175
- data: {
2176
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2177
- badges_id: badges[2].id
2178
- }
2179
- }),
2180
- // Resultado inovador
2181
- prisma.roles_initiatives_badges.create({
2182
- data: {
2183
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2184
- badges_id: badges[3].id
2185
- }
2186
- }),
2187
- // Juízo final
2188
- prisma.roles_initiatives_badges.create({
2189
- data: {
2190
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2191
- badges_id: badges[4].id
2192
- }
2193
- }),
2194
-
2195
-
2196
- // Explorador Transmídia
2197
- prisma.roles_initiatives_badges.create({
2198
- data: {
2199
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2200
- badges_id: badges[5].id
2201
- }
2202
- }),
2203
- // Mestre da Conexão Narrativa
2204
- prisma.roles_initiatives_badges.create({
2205
- data: {
2206
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2207
- badges_id: badges[6].id
2208
- }
2209
- }),
2210
- // Arquiteto Visual Transmídia
2211
- prisma.roles_initiatives_badges.create({
2212
- data: {
2213
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2214
- badges_id: badges[7].id
2215
- }
2216
- }),
2217
- // Visionário da Monetização
2218
- prisma.roles_initiatives_badges.create({
2219
- data: {
2220
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2221
- badges_id: badges[8].id
2222
- }
2223
- }),
2224
- // Campanha Transmídia Pro
2225
- prisma.roles_initiatives_badges.create({
2226
- data: {
2227
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2228
- badges_id: badges[9].id
2229
- }
2230
- }),
2231
-
2232
-
2233
- // Fundamentos SEO Desvendados
2234
- prisma.roles_initiatives_badges.create({
2235
- data: {
2236
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2237
- badges_id: badges[10].id
2238
- }
2239
- }),
2240
- // Analista Web Prático
2241
- prisma.roles_initiatives_badges.create({
2242
- data: {
2243
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2244
- badges_id: badges[11].id
2245
- }
2246
- }),
2247
- // Otimizador em Ação
2248
- prisma.roles_initiatives_badges.create({
2249
- data: {
2250
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2251
- badges_id: badges[12].id
2252
- }
2253
- }),
2254
- // Solucionador SEO
2255
- prisma.roles_initiatives_badges.create({
2256
- data: {
2257
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2258
- badges_id: badges[13].id
2259
- }
2260
- }),
2261
-
2262
-
2263
- // Transição Ensino Superior
2264
- prisma.roles_initiatives_badges.create({
2265
- data: {
2266
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2267
- badges_id: badges[14].id
2268
- }
2269
- }),
2270
- // Comunicação Empática
2271
- prisma.roles_initiatives_badges.create({
2272
- data: {
2273
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2274
- badges_id: badges[15].id
2275
- }
2276
- }),
2277
- // Defensor da Inclusão
2278
- prisma.roles_initiatives_badges.create({
2279
- data: {
2280
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2281
- badges_id: badges[16].id
2282
- }
2283
- }),
2284
- // Pilar de Suporte Emocional
2285
- prisma.roles_initiatives_badges.create({
2286
- data: {
2287
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2288
- badges_id: badges[17].id
2289
- }
2290
- }),
2291
- // Mediador de Conflitos
2292
- prisma.roles_initiatives_badges.create({
2293
- data: {
2294
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2295
- badges_id: badges[18].id
2296
- }
2297
- }),
2298
-
2299
- // Zona de partidas
2300
- prisma.roles_initiatives_badges.create({
2301
- data: {
2302
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2303
- badges_id: badges[19].id
2304
- }
2305
- }),
2306
- // Check-in
2307
- prisma.roles_initiatives_badges.create({
2308
- data: {
2309
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2310
- badges_id: badges[20].id
2311
- }
2312
- }),
2313
- // Check-out
2314
- prisma.roles_initiatives_badges.create({
2315
- data: {
2316
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2317
- badges_id: badges[21].id
2318
- }
2319
- }),
2320
- // Veterano
2321
- prisma.roles_initiatives_badges.create({
2322
- data: {
2323
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2324
- badges_id: badges[22].id
2325
- }
2326
- }),
2327
- // We made it
2328
- prisma.roles_initiatives_badges.create({
2329
- data: {
2330
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2331
- badges_id: badges[23].id
2332
- }
2333
- }),
2334
-
2335
- // UI-UX: Uma dúvida persistente
2336
- prisma.roles_initiatives_badges.create({
2337
- data: {
2338
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2339
- badges_id: badges[24].id
2340
- }
2341
- }),
2342
- // Transmídia para empreendedores
2343
- prisma.roles_initiatives_badges.create({
2344
- data: {
2345
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2346
- badges_id: badges[25].id
2347
- }
2348
- }),
2349
- // Otimização SEO
2350
- prisma.roles_initiatives_badges.create({
2351
- data: {
2352
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2353
- badges_id: badges[26].id
2354
- }
2355
- }),
2356
- // Mentor Capaz
2357
- prisma.roles_initiatives_badges.create({
2358
- data: {
2359
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2360
- badges_id: badges[27].id
2361
- }
2362
- }),
2363
- // Students@DigiMedia 2025/2026
2364
- prisma.roles_initiatives_badges.create({
2365
- data: {
2366
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2367
- badges_id: badges[28].id
2368
- }
2369
- }),
2370
- // Taça UA - Basquetebol 3x3
2371
- prisma.roles_initiatives_badges.create({
2372
- data: {
2373
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2374
- badges_id: badges[29].id
2375
- }
2376
- }),
2377
- // Convívio
2378
- prisma.roles_initiatives_badges.create({
2379
- data: {
2380
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2381
- badges_id: badges[30].id
2382
- }
2383
- }),
2384
- // Convívio
2385
- prisma.roles_initiatives_badges.create({
2386
- data: {
2387
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2388
- badges_id: badges[31].id
2389
- }
2390
- }),
2391
- // Convívio
2392
- prisma.roles_initiatives_badges.create({
2393
- data: {
2394
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2395
- badges_id: badges[32].id
2396
- }
2397
- }),
2398
- // Convívio
2399
- prisma.roles_initiatives_badges.create({
2400
- data: {
2401
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2402
- badges_id: badges[33].id
2403
- }
2404
- }),
2405
- prisma.roles_initiatives_badges.create({
2406
- data: {
2407
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2408
- badges_id: badges[34].id
2409
- }
2410
- }),
2411
- prisma.roles_initiatives_badges.create({
2412
- data: {
2413
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2414
- badges_id: badges[35].id
2415
- }
2416
- }),
2417
- prisma.roles_initiatives_badges.create({
2418
- data: {
2419
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2420
- badges_id: badges[36].id
2421
- }
2422
- }),
2423
- prisma.roles_initiatives_badges.create({
2424
- data: {
2425
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2426
- badges_id: badges[37].id
2427
- }
2428
- }),
2429
- prisma.roles_initiatives_badges.create({
2430
- data: {
2431
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2432
- badges_id: badges[38].id
2433
- }
2434
- }),
2435
- prisma.roles_initiatives_badges.create({
2436
- data: {
2437
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2438
- badges_id: badges[39].id
2439
- }
2440
- }),
2441
- prisma.roles_initiatives_badges.create({
2442
- data: {
2443
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2444
- badges_id: badges[40].id
2445
- }
2446
- }),
2447
- prisma.roles_initiatives_badges.create({
2448
- data: {
2449
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2450
- badges_id: badges[41].id
2451
- }
2452
- }),
2453
- prisma.roles_initiatives_badges.create({
2454
- data: {
2455
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2456
- badges_id: badges[42].id
2457
- }
2458
- }),
2459
- prisma.roles_initiatives_badges.create({
2460
- data: {
2461
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2462
- badges_id: badges[43].id
2463
- }
2464
- }),
2465
- prisma.roles_initiatives_badges.create({
2466
- data: {
2467
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2468
- badges_id: badges[44].id
2469
- }
2470
- }),
2471
- prisma.roles_initiatives_badges.create({
2472
- data: {
2473
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2474
- badges_id: badges[45].id
2475
- }
2476
- }),
2477
- prisma.roles_initiatives_badges.create({
2478
- data: {
2479
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2480
- badges_id: badges[46].id
2481
- }
2482
- }),
2483
- prisma.roles_initiatives_badges.create({
2484
- data: {
2485
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2486
- badges_id: badges[47].id
2487
- }
2488
- }),
2489
- prisma.roles_initiatives_badges.create({
2490
- data: {
2491
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2492
- badges_id: badges[48].id
2493
- }
2494
- }),
2495
- prisma.roles_initiatives_badges.create({
2496
- data: {
2497
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2498
- badges_id: badges[49].id
2499
- }
2500
- }),
2501
- prisma.roles_initiatives_badges.create({
2502
- data: {
2503
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2504
- badges_id: badges[50].id
2505
- }
2506
- }),
2507
- prisma.roles_initiatives_badges.create({
2508
- data: {
2509
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2510
- badges_id: badges[51].id
2511
- }
2512
- }),
2513
- prisma.roles_initiatives_badges.create({
2514
- data: {
2515
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2516
- badges_id: badges[52].id
2517
- }
2518
- }),
2519
- prisma.roles_initiatives_badges.create({
2520
- data: {
2521
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2522
- badges_id: badges[53].id
2523
- }
2524
- }),
2525
- prisma.roles_initiatives_badges.create({
2526
- data: {
2527
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2528
- badges_id: badges[54].id
2529
- }
2530
- }),
2531
- prisma.roles_initiatives_badges.create({
2532
- data: {
2533
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2534
- badges_id: badges[55].id
2535
- }
2536
- }),
2537
- prisma.roles_initiatives_badges.create({
2538
- data: {
2539
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2540
- badges_id: badges[56].id
2541
- }
2542
- }),
2543
- prisma.roles_initiatives_badges.create({
2544
- data: {
2545
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2546
- badges_id: badges[57].id
2547
- }
2548
- }),
2549
- prisma.roles_initiatives_badges.create({
2550
- data: {
2551
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2552
- badges_id: badges[58].id
2553
- }
2554
- }),
2555
- prisma.roles_initiatives_badges.create({
2556
- data: {
2557
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2558
- badges_id: badges[59].id
2559
- }
2560
- }),
2561
- prisma.roles_initiatives_badges.create({
2562
- data: {
2563
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2564
- badges_id: badges[60].id
2565
- }
2566
- }),
2567
- prisma.roles_initiatives_badges.create({
2568
- data: {
2569
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2570
- badges_id: badges[61].id
2571
- }
2572
- }),
2573
- prisma.roles_initiatives_badges.create({
2574
- data: {
2575
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2576
- badges_id: badges[62].id
2577
- }
2578
- }),
2579
- prisma.roles_initiatives_badges.create({
2580
- data: {
2581
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2582
- badges_id: badges[63].id
2583
- }
2584
- }),
2585
- prisma.roles_initiatives_badges.create({
2586
- data: {
2587
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2588
- badges_id: badges[64].id
2589
- }
2590
- }),
2591
- prisma.roles_initiatives_badges.create({
2592
- data: {
2593
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2594
- badges_id: badges[65].id
2595
- }
2596
- }),
2597
- prisma.roles_initiatives_badges.create({
2598
- data: {
2599
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2600
- badges_id: badges[66].id
2601
- }
2602
- }),
2603
- prisma.roles_initiatives_badges.create({
2604
- data: {
2605
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2606
- badges_id: badges[67].id
2607
- }
2608
- }),
2609
- prisma.roles_initiatives_badges.create({
2610
- data: {
2611
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2612
- badges_id: badges[68].id
2613
- }
2614
- }),
2615
- prisma.roles_initiatives_badges.create({
2616
- data: {
2617
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2618
- badges_id: badges[69].id
2619
- }
2620
- }),
2621
- prisma.roles_initiatives_badges.create({
2622
- data: {
2623
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2624
- badges_id: badges[70].id
2625
- }
2626
- }),
2627
- prisma.roles_initiatives_badges.create({
2628
- data: {
2629
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2630
- badges_id: badges[71].id
2631
- }
2632
- }),
2633
- prisma.roles_initiatives_badges.create({
2634
- data: {
2635
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2636
- badges_id: badges[72].id
2637
- }
2638
- }),
2639
- prisma.roles_initiatives_badges.create({
2640
- data: {
2641
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2642
- badges_id: badges[73].id
2643
- }
2644
- }),
2645
- prisma.roles_initiatives_badges.create({
2646
- data: {
2647
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2648
- badges_id: badges[74].id
2649
- }
2650
- }),
2651
- prisma.roles_initiatives_badges.create({
2652
- data: {
2653
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2654
- badges_id: badges[75].id
2655
- }
2656
- }),
2657
- prisma.roles_initiatives_badges.create({
2658
- data: {
2659
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2660
- badges_id: badges[76].id
2661
- }
2662
- }),
2663
- prisma.roles_initiatives_badges.create({
2664
- data: {
2665
- roles_initiatives_id: VOLUNTEERrole.id,
2666
- badges_id: badges[77].id
2667
- }
2668
- }),
2669
- prisma.roles_initiatives_badges.create({
2670
- data: {
2671
- roles_initiatives_id: VOLUNTEERrole.id,
2672
- badges_id: badges[78].id
2673
- }
2674
- }),
2675
- prisma.roles_initiatives_badges.create({
2676
- data: {
2677
- roles_initiatives_id: VOLUNTEERrole.id,
2678
- badges_id: badges[79].id
2679
- }
2680
- }),
2681
- prisma.roles_initiatives_badges.create({
2682
- data: {
2683
- roles_initiatives_id: VOLUNTEERrole.id,
2684
- badges_id: badges[80].id
2685
- }
2686
- }),
2687
- prisma.roles_initiatives_badges.create({
2688
- data: {
2689
- roles_initiatives_id: VOLUNTEERrole.id,
2690
- badges_id: badges[81].id
2691
- }
2692
- }),
2693
- prisma.roles_initiatives_badges.create({
2694
- data: {
2695
- roles_initiatives_id: VOLUNTEERrole.id,
2696
- badges_id: badges[82].id
2697
- }
2698
- }),
2699
- prisma.roles_initiatives_badges.create({
2700
- data: {
2701
- roles_initiatives_id: VOLUNTEERrole.id,
2702
- badges_id: badges[83].id
2703
- }
2704
- }),
2705
- prisma.roles_initiatives_badges.create({
2706
- data: {
2707
- roles_initiatives_id: VOLUNTEERrole.id,
2708
- badges_id: badges[84].id
2709
- }
2710
- }),
2711
- prisma.roles_initiatives_badges.create({
2712
- data: {
2713
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2714
- badges_id: badges[85].id
2715
- }
2716
- }),
2717
-
2718
- // === PRÉ-PILOTO BADGES (Initiative 8) ===
2719
- // Badge 86: "O caso está oficialmente aberto" - PARTICIPANT + VOLUNTEER
2720
- prisma.roles_initiatives_badges.create({
2721
- data: {
2722
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2723
- badges_id: badges[86].id
2724
- }
2725
- }),
2726
- prisma.roles_initiatives_badges.create({
2727
- data: {
2728
- roles_initiatives_id: VOLUNTEERrole.id,
2729
- badges_id: badges[86].id
2730
- }
2731
- }),
2732
- // Badge 87: "Estratégia e paciência" - PARTICIPANT
2733
- prisma.roles_initiatives_badges.create({
2734
- data: {
2735
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2736
- badges_id: badges[87].id
2737
- }
2738
- }),
2739
- // Badge 88: "Arquivos" - PARTICIPANT
2740
- prisma.roles_initiatives_badges.create({
2741
- data: {
2742
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2743
- badges_id: badges[88].id
2744
- }
2745
- }),
2746
- // Badge 89: "Hercule Poirot" - PARTICIPANT + VOLUNTEER
2747
- prisma.roles_initiatives_badges.create({
2748
- data: {
2749
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2750
- badges_id: badges[89].id
2751
- }
2752
- }),
2753
- prisma.roles_initiatives_badges.create({
2754
- data: {
2755
- roles_initiatives_id: VOLUNTEERrole.id,
2756
- badges_id: badges[89].id
2757
- }
2758
- }),
2759
- // Badge 90: "Algo aqui não está bem" - PARTICIPANT + VOLUNTEER
2760
- prisma.roles_initiatives_badges.create({
2761
- data: {
2762
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2763
- badges_id: badges[90].id
2764
- }
2765
- }),
2766
- prisma.roles_initiatives_badges.create({
2767
- data: {
2768
- roles_initiatives_id: VOLUNTEERrole.id,
2769
- badges_id: badges[90].id
2770
- }
2771
- }),
2772
-
2773
- // === PRÉ-PILOTO MOMENTO 1 BADGES ===
2774
- //Badge 104: "Kit de investigação" - VOLUNTEER only
2775
- prisma.roles_initiatives_badges.create({
2776
- data: {
2777
- roles_initiatives_id: VOLUNTEERrole.id,
2778
- badges_id: badges[104].id
2779
- }
2780
- }),
2781
- // Badge 91: "Todas as pessoas tem uma história" - PARTICIPANT + VOLUNTEER
2782
- prisma.roles_initiatives_badges.create({
2783
- data: {
2784
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2785
- badges_id: badges[91].id
2786
- }
2787
- }),
2788
- prisma.roles_initiatives_badges.create({
2789
- data: {
2790
- roles_initiatives_id: VOLUNTEERrole.id,
2791
- badges_id: badges[91].id
2792
- }
2793
- }),
2794
- // Badge 92: "British detective in the room" - PARTICIPANT + VOLUNTEER
2795
- prisma.roles_initiatives_badges.create({
2796
- data: {
2797
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2798
- badges_id: badges[92].id
2799
- }
2800
- }),
2801
- prisma.roles_initiatives_badges.create({
2802
- data: {
2803
- roles_initiatives_id: VOLUNTEERrole.id,
2804
- badges_id: badges[92].id
2805
- }
2806
- }),
2807
- // Badge 93: "Qual é o teu álibi?" - PARTICIPANT + VOLUNTEER
2808
- prisma.roles_initiatives_badges.create({
2809
- data: {
2810
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2811
- badges_id: badges[93].id
2812
- }
2813
- }),
2814
- prisma.roles_initiatives_badges.create({
2815
- data: {
2816
- roles_initiatives_id: VOLUNTEERrole.id,
2817
- badges_id: badges[93].id
2818
- }
2819
- }),
2820
- // Badge 94: "Provas" - PARTICIPANT + VOLUNTEER
2821
- prisma.roles_initiatives_badges.create({
2822
- data: {
2823
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2824
- badges_id: badges[94].id
2825
- }
2826
- }),
2827
- prisma.roles_initiatives_badges.create({
2828
- data: {
2829
- roles_initiatives_id: VOLUNTEERrole.id,
2830
- badges_id: badges[94].id
2831
- }
2832
- }),
2833
-
2834
- // === PRÉ-PILOTO MOMENTO 2 BADGES ===
2835
- // Badge 95: "Encontrámos algo" - PARTICIPANT + VOLUNTEER
2836
- prisma.roles_initiatives_badges.create({
2837
- data: {
2838
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2839
- badges_id: badges[95].id
2840
- }
2841
- }),
2842
- prisma.roles_initiatives_badges.create({
2843
- data: {
2844
- roles_initiatives_id: VOLUNTEERrole.id,
2845
- badges_id: badges[95].id
2846
- }
2847
- }),
2848
- // Badge 96: "Novas descobertas" - PARTICIPANT + VOLUNTEER
2849
- prisma.roles_initiatives_badges.create({
2850
- data: {
2851
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2852
- badges_id: badges[96].id
2853
- }
2854
- }),
2855
- prisma.roles_initiatives_badges.create({
2856
- data: {
2857
- roles_initiatives_id: VOLUNTEERrole.id,
2858
- badges_id: badges[96].id
2859
- }
2860
- }),
2861
- // Badge 97: "Interrogatórios" - PARTICIPANT + VOLUNTEER
2862
- prisma.roles_initiatives_badges.create({
2863
- data: {
2864
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2865
- badges_id: badges[97].id
2866
- }
2867
- }),
2868
- prisma.roles_initiatives_badges.create({
2869
- data: {
2870
- roles_initiatives_id: VOLUNTEERrole.id,
2871
- badges_id: badges[97].id
2872
- }
2873
- }),
2874
- // Badge 98: "Retratos falados" - PARTICIPANT only
2875
- prisma.roles_initiatives_badges.create({
2876
- data: {
2877
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2878
- badges_id: badges[98].id
2879
- }
2880
- }),
2881
-
2882
- // === PRÉ-PILOTO MOMENTO 3 BADGES ===
2883
- // Badge 99: "Medalha de mérito" - PARTICIPANT + VOLUNTEER
2884
- prisma.roles_initiatives_badges.create({
2885
- data: {
2886
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2887
- badges_id: badges[99].id
2888
- }
2889
- }),
2890
- prisma.roles_initiatives_badges.create({
2891
- data: {
2892
- roles_initiatives_id: VOLUNTEERrole.id,
2893
- badges_id: badges[99].id
2894
- }
2895
- }),
2896
- // Badge 100: "Faro Apurado" - PARTICIPANT + VOLUNTEER
2897
- prisma.roles_initiatives_badges.create({
2898
- data: {
2899
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2900
- badges_id: badges[100].id
2901
- }
2902
- }),
2903
- prisma.roles_initiatives_badges.create({
2904
- data: {
2905
- roles_initiatives_id: VOLUNTEERrole.id,
2906
- badges_id: badges[100].id
2907
- }
2908
- }),
2909
- // Badge 101: "Pista escondida" - PARTICIPANT only
2910
- prisma.roles_initiatives_badges.create({
2911
- data: {
2912
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2913
- badges_id: badges[101].id
2914
- }
2915
- }),
2916
- // Badge 102: "Recolha" - VOLUNTEER only
2917
- prisma.roles_initiatives_badges.create({
2918
- data: {
2919
- roles_initiatives_id: VOLUNTEERrole.id,
2920
- badges_id: badges[102].id
2921
- }
2922
- }),
2923
- // Badge 103: "Certificado" - PARTICIPANT + VOLUNTEER + ORGANIZATOR
2924
- prisma.roles_initiatives_badges.create({
2925
- data: {
2926
- roles_initiatives_id: PARTICIPANTinitiativerole.id,
2927
- badges_id: badges[103].id
2928
- }
2929
- }),
2930
- prisma.roles_initiatives_badges.create({
2931
- data: {
2932
- roles_initiatives_id: VOLUNTEERrole.id,
2933
- badges_id: badges[103].id
2934
- }
2935
- }),
2936
- prisma.roles_initiatives_badges.create({
2937
- data: {
2938
- roles_initiatives_id: ORGANIZATORrole.id,
2939
- badges_id: badges[103].id
2940
- }
2941
- })
2942
-
2943
- ]);
2944
-
2945
- // Associate initiatives with soft skills
2946
- console.log('🔗 Creating initiative-soft skills associations...');
2947
- await Promise.all([
2948
- prisma.initiatives_soft_skills.create({
2949
- data: {
2950
- initiative_id: initiatives[0].id,
2951
- soft_skill_id: softskills[0].id // Resolução de Problemas
2952
- }
2953
- }),
2954
- prisma.initiatives_soft_skills.create({
2955
- data: {
2956
- initiative_id: initiatives[0].id,
2957
- soft_skill_id: softskills[1].id // Criatividade e Inovação
2958
- }
2959
- }),
2960
- prisma.initiatives_soft_skills.create({
2961
- data: {
2962
- initiative_id: initiatives[1].id,
2963
- soft_skill_id: softskills[1].id // Criatividade e Inovação
2964
- }
2965
- }),
2966
- prisma.initiatives_soft_skills.create({
2967
- data: {
2968
- initiative_id: initiatives[1].id,
2969
- soft_skill_id: softskills[5].id // Comunicação Oral
2970
- }
2971
- }),
2972
- prisma.initiatives_soft_skills.create({
2973
- data: {
2974
- initiative_id: initiatives[2].id,
2975
- soft_skill_id: softskills[8].id // Pensamento Crítico
2976
- }
2977
- }),
2978
- prisma.initiatives_soft_skills.create({
2979
- data: {
2980
- initiative_id: initiatives[3].id,
2981
- soft_skill_id: softskills[2].id // Trabalho de Equipa
2982
- }
2983
- }),
2984
- prisma.initiatives_soft_skills.create({
2985
- data: {
2986
- initiative_id: initiatives[3].id,
2987
- soft_skill_id: softskills[4].id // Liderança
2988
- }
2989
- }),
2990
- prisma.initiatives_soft_skills.create({
2991
- data: {
2992
- initiative_id: initiatives[4].id,
2993
- soft_skill_id: softskills[0].id // Resolução de Problemas
2994
- }
2995
- }),
2996
- prisma.initiatives_soft_skills.create({
2997
- data: {
2998
- initiative_id: initiatives[7].id,
2999
- soft_skill_id: softskills[5].id // Comunicação Oral
3000
- }
3001
- }),
3002
- prisma.initiatives_soft_skills.create({
3003
- data: {
3004
- initiative_id: initiatives[7].id,
3005
- soft_skill_id: softskills[2].id // Trabalho de Equipa
3006
- }
3007
- }),
3008
- prisma.initiatives_soft_skills.create({
3009
- data: {
3010
- initiative_id: initiatives[7].id,
3011
- soft_skill_id: softskills[1].id // Criatividade e Inovação
3012
- }
3013
- }),
3014
- prisma.initiatives_soft_skills.create({
3015
- data: {
3016
- initiative_id: initiatives[7].id,
3017
- soft_skill_id: softskills[8].id // Pensamento Crítico
3018
- }
3019
- })
3020
- ]);
3021
-
3022
- // Update summary at the end
3023
- console.log('✅ Database seeding completed successfully!');
3024
- console.log('📊 Summary:');
3025
- console.log(` - ${areas.length} areas created`);
3026
- console.log(` - ${typologies.length} typologies created`);
3027
- console.log(` - ${softskills.length} soft skills created`);
3028
- console.log(` - ${programs.length} programs created`);
3029
- console.log(` - ${initiatives.length} initiatives created`);
3030
- console.log(` - ${moments.length} moments created`);
3031
- console.log(` - ${badges.length} badges created`);
3032
-
3033
- console.log('✅ Database seeding completed successfully!');
3034
-
3035
- }
3036
-
3037
- main()
3038
- .catch((e) => {
3039
- console.error('❌ Error during seeding:', e);
3040
- process.exit(1);
3041
- })
3042
- .finally(async () => {
3043
- await prisma.$disconnect();
3044
- });