From 74e475906b8a4b7773f9a7d0ad6d2b5e0ddd48f2 Mon Sep 17 00:00:00 2001
From: "vincent.steinman" <vincent.steinmann@etu.hesge.ch>
Date: Wed, 31 Jan 2024 11:39:35 +0100
Subject: [PATCH] added tags list to seed.ts

---
 ExpressAPI/prisma/seed.ts | 389 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 388 insertions(+), 1 deletion(-)

diff --git a/ExpressAPI/prisma/seed.ts b/ExpressAPI/prisma/seed.ts
index 93680f6..3e0fdb3 100644
--- a/ExpressAPI/prisma/seed.ts
+++ b/ExpressAPI/prisma/seed.ts
@@ -13,6 +13,7 @@ async function main() {
     await assignments();
     await exercises();
     await results();
+    await tags();
 }
 
 main().then(async () => {
@@ -23,6 +24,13 @@ main().then(async () => {
     process.exit(1);
 });
 
+enum tagType{
+	Language,
+	Framework,
+	Theme,
+	UserDefined
+}
+
 //----------------------------------------------------------------------------------------------------------------------------------------------------------
 
 async function users() {
@@ -1580,4 +1588,383 @@ async function results() {
                                    }
                                });
     }
-}
\ No newline at end of file
+}
+
+async function tags() {
+    await db.tags.upsert({
+        where : { id: 'C' },
+        update: {},
+        create: {
+            id            : 'C',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Java' },
+        update: {},
+        create: {
+            id            : 'Java',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Scala' },
+        update: {},
+        create: {
+            id            : 'Scala',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Kotlin' },
+        update: {},
+        create: {
+            id            : 'Kotlin',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Rust' },
+        update: {},
+        create: {
+            id            : 'Rust',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'JavaScript' },
+        update: {},
+        create: {
+            id            : 'JavaScript',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'TypeScript' },
+        update: {},
+        create: {
+            id            : 'TypeScript',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Python' },
+        update: {},
+        create: {
+            id            : 'Python',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'HTML' },
+        update: {},
+        create: {
+            id            : 'HTML',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'CSS' },
+        update: {},
+        create: {
+            id            : 'CSS',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'C++' },
+        update: {},
+        create: {
+            id            : 'C++',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Go' },
+        update: {},
+        create: {
+            id            : 'Go',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'PHP' },
+        update: {},
+        create: {
+            id            : 'PHP',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'C#' },
+        update: {},
+        create: {
+            id            : 'C#',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Swift' },
+        update: {},
+        create: {
+            id            : 'Swift',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Matlab' },
+        update: {},
+        create: {
+            id            : 'Matlab',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'SQL' },
+        update: {},
+        create: {
+            id            : 'SQL',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Assembly' },
+        update: {},
+        create: {
+            id            : 'Assembly',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Ruby' },
+        update: {},
+        create: {
+            id            : 'Ruby',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Fortran' },
+        update: {},
+        create: {
+            id            : 'Fortran',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Pascal' },
+        update: {},
+        create: {
+            id            : 'Pascal',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Visual Basic' },
+        update: {},
+        create: {
+            id            : 'Visual Basic',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'R' },
+        update: {},
+        create: {
+            id            : 'R',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Objective-C' },
+        update: {},
+        create: {
+            id            : 'Objective-C',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Lua' },
+        update: {},
+        create: {
+            id            : 'Lua',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Ada' },
+        update: {},
+        create: {
+            id            : 'Ada',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Haskell' },
+        update: {},
+        create: {
+            id            : 'Haskell',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Shell/PowerShell' },
+        update: {},
+        create: {
+            id            : 'Shell/PowerShell',
+            type          : tagType.Language,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Express' },
+        update: {},
+        create: {
+            id            : 'Express',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Django' },
+        update: {},
+        create: {
+            id            : 'Django',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Ruby on Rails' },
+        update: {},
+        create: {
+            id            : 'Ruby on Rails',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Angular' },
+        update: {},
+        create: {
+            id            : 'Angular',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'React' },
+        update: {},
+        create: {
+            id            : 'React',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Flutter' },
+        update: {},
+        create: {
+            id            : 'Flutter',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Ionic' },
+        update: {},
+        create: {
+            id            : 'Ionic',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Flask' },
+        update: {},
+        create: {
+            id            : 'Flask',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'React Native' },
+        update: {},
+        create: {
+            id            : 'React Native',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Xamarin' },
+        update: {},
+        create: {
+            id            : 'Xamarin',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Laravel' },
+        update: {},
+        create: {
+            id            : 'Laravel',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Spring' },
+        update: {},
+        create: {
+            id            : 'Spring',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Play' },
+        update: {},
+        create: {
+            id            : 'Play',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Symfony' },
+        update: {},
+        create: {
+            id            : 'Symfony',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'ASP.NET' },
+        update: {},
+        create: {
+            id            : 'ASP.NET',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Meteor' },
+        update: {},
+        create: {
+            id            : 'Meteor',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Vue.js' },
+        update: {},
+        create: {
+            id            : 'Vue.js',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Svelte' },
+        update: {},
+        create: {
+            id            : 'Svelte',
+            type          : tagType.Framework,
+        }
+    });
+    await db.tags.upsert({
+        where : { id: 'Express.js' },
+        update: {},
+        create: {
+            id            : 'Express.js',
+            type          : tagType.Framework,
+        }
+    });
+}
-- 
GitLab