From 0dd2fe356bfaeb71acdc7c10f2207a158ba390ba Mon Sep 17 00:00:00 2001 From: Carly Thomas Date: Mon, 23 Feb 2026 20:39:24 -0800 Subject: [PATCH 1/3] fix(prisma): store classroom certifications as string arrays --- .../migration.sql | 2 +- prisma/schema.prisma | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename prisma/migrations/{20251209034039_initial_setup => 20260224043602_initial_setup}/migration.sql (98%) diff --git a/prisma/migrations/20251209034039_initial_setup/migration.sql b/prisma/migrations/20260224043602_initial_setup/migration.sql similarity index 98% rename from prisma/migrations/20251209034039_initial_setup/migration.sql rename to prisma/migrations/20260224043602_initial_setup/migration.sql index aadb4dfd..4ca55c64 100644 --- a/prisma/migrations/20251209034039_initial_setup/migration.sql +++ b/prisma/migrations/20260224043602_initial_setup/migration.sql @@ -4,7 +4,7 @@ CREATE TABLE "Classroom" ( "classroomName" TEXT NOT NULL, "fccUserIds" TEXT[], "description" TEXT, - "fccCertifications" INTEGER[], + "fccCertifications" TEXT[], "classroomTeacherId" TEXT NOT NULL, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 24361c31..f09d38c1 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -16,7 +16,7 @@ model Classroom { classroomName String fccUserIds String[] description String? - fccCertifications Int[] + fccCertifications String[] classroomTeacherId String User User @relation(fields: [classroomTeacherId], references: [id]) createdAt DateTime @default(now()) From dd564fcc1a60ebb70d593850f0ae8d9e9c11d466 Mon Sep 17 00:00:00 2001 From: Newton Chung Date: Mon, 23 Feb 2026 22:46:13 -0800 Subject: [PATCH 2/3] Updated Class edit and test logic to expect strings --- __tests__/components/classInviteTable.test.jsx | 6 +++--- components/ClassInviteTable.js | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/__tests__/components/classInviteTable.test.jsx b/__tests__/components/classInviteTable.test.jsx index ba609ad7..6b82a8f6 100644 --- a/__tests__/components/classInviteTable.test.jsx +++ b/__tests__/components/classInviteTable.test.jsx @@ -13,21 +13,21 @@ const sampleCurrentClassrooms = [ description: 'learn how to build a website in a jiffy ', classroomId, createdAt: JSON.stringify(new Date('4/7/2019')), - fccCertifications: [1, 2] + fccCertifications: ['javascript-v9', 'python-v9'] }, { classroomName: 'responsive website', description: 'make a website responsive ', classroomId, createdAt: JSON.stringify(new Date('9/12/2022')), - fccCertifications: [4, 1] + fccCertifications: ['relational-databases-v9', 'javascript-v9'] }, { classroomName: 'javascript in a nutshell', description: 'add interactions with javascript', classroomId, createdAt: JSON.stringify(new Date('21/4/2023')), - fccCertifications: [3, 2] + fccCertifications: ['frontend-development-libraries-v9', 'python-v9'] } ]; const sampleClassroom = sampleCurrentClassrooms[0]; diff --git a/components/ClassInviteTable.js b/components/ClassInviteTable.js index f1965fc8..5f58d1b8 100644 --- a/components/ClassInviteTable.js +++ b/components/ClassInviteTable.js @@ -71,9 +71,7 @@ export default function ClassInviteTable({ e.preventDefault(); const fccCertifications = []; selected.map(x => fccCertifications.push(x.value)); - fccCertifications.sort(function (a, b) { - return a - b; - }); + fccCertifications.sort((a, b) => a.localeCompare(b)); formData.fccCertifications = fccCertifications; formData.classroomId = currentClass.classroomId; const JSONdata = JSON.stringify(formData); From b3de4958f3ec083fde56e570c86f950c8d27ea60 Mon Sep 17 00:00:00 2001 From: Newton Chung Date: Sat, 28 Feb 2026 16:11:15 -0800 Subject: [PATCH 3/3] Revert "Updated Class edit and test logic to expect strings" This reverts commit dd564fcc1a60ebb70d593850f0ae8d9e9c11d466. --- __tests__/components/classInviteTable.test.jsx | 6 +++--- components/ClassInviteTable.js | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/__tests__/components/classInviteTable.test.jsx b/__tests__/components/classInviteTable.test.jsx index 6b82a8f6..ba609ad7 100644 --- a/__tests__/components/classInviteTable.test.jsx +++ b/__tests__/components/classInviteTable.test.jsx @@ -13,21 +13,21 @@ const sampleCurrentClassrooms = [ description: 'learn how to build a website in a jiffy ', classroomId, createdAt: JSON.stringify(new Date('4/7/2019')), - fccCertifications: ['javascript-v9', 'python-v9'] + fccCertifications: [1, 2] }, { classroomName: 'responsive website', description: 'make a website responsive ', classroomId, createdAt: JSON.stringify(new Date('9/12/2022')), - fccCertifications: ['relational-databases-v9', 'javascript-v9'] + fccCertifications: [4, 1] }, { classroomName: 'javascript in a nutshell', description: 'add interactions with javascript', classroomId, createdAt: JSON.stringify(new Date('21/4/2023')), - fccCertifications: ['frontend-development-libraries-v9', 'python-v9'] + fccCertifications: [3, 2] } ]; const sampleClassroom = sampleCurrentClassrooms[0]; diff --git a/components/ClassInviteTable.js b/components/ClassInviteTable.js index 5f58d1b8..f1965fc8 100644 --- a/components/ClassInviteTable.js +++ b/components/ClassInviteTable.js @@ -71,7 +71,9 @@ export default function ClassInviteTable({ e.preventDefault(); const fccCertifications = []; selected.map(x => fccCertifications.push(x.value)); - fccCertifications.sort((a, b) => a.localeCompare(b)); + fccCertifications.sort(function (a, b) { + return a - b; + }); formData.fccCertifications = fccCertifications; formData.classroomId = currentClass.classroomId; const JSONdata = JSON.stringify(formData);