From e553a805e764aa44e7057625f5a8206e558f27d0 Mon Sep 17 00:00:00 2001 From: javalosr2004 Date: Thu, 15 Feb 2024 20:04:56 -0800 Subject: [PATCH] feat: groupSchema --- .env.example | 3 --- package-lock.json | 22 +++----------------- src/app/components/Calendar.tsx | 2 +- src/app/components/ExpandedViewComponent.tsx | 4 +--- src/database/eventSchema.ts | 4 ++-- src/database/groupSchema.ts | 13 ++++++++++++ src/database/userSchema.ts | 4 ++-- 7 files changed, 22 insertions(+), 30 deletions(-) delete mode 100644 .env.example create mode 100644 src/database/groupSchema.ts diff --git a/.env.example b/.env.example deleted file mode 100644 index 3f6462ee..00000000 --- a/.env.example +++ /dev/null @@ -1,3 +0,0 @@ -# create local copy of this file and rename to .env -# make sure to add .env to .gitignore!! -MONGO_URI={mongo-uri-here} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a8d90010..bf7b53a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2005,13 +2005,13 @@ "version": "15.7.9", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", - "devOptional": true + "dev": true }, "node_modules/@types/react": { "version": "18.2.55", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.55.tgz", "integrity": "sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==", - "devOptional": true, + "dev": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -2031,7 +2031,7 @@ "version": "0.16.5", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", - "devOptional": true + "dev": true }, "node_modules/@types/stylis": { "version": "4.2.0", @@ -5076,22 +5076,6 @@ "node": ">= 0.8.0" } }, - "node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "peer": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", diff --git a/src/app/components/Calendar.tsx b/src/app/components/Calendar.tsx index 1134d0c0..3a78e255 100644 --- a/src/app/components/Calendar.tsx +++ b/src/app/components/Calendar.tsx @@ -60,7 +60,7 @@ export default function Calendar(props: { events: FCEvent[]; admin: Boolean }) { return (
- + = ({ eventDetails }) = {eventDetails.location} - - {eventDetails.groupsAllowed}/{eventDetails.groupsAllowed} Participants - + {eventDetails.description} diff --git a/src/database/eventSchema.ts b/src/database/eventSchema.ts index 8b2d3732..6c8982f1 100644 --- a/src/database/eventSchema.ts +++ b/src/database/eventSchema.ts @@ -9,7 +9,7 @@ export type IEvent = { startTime: Date; endTime: Date; volunteerEvent: boolean; - groupsAllowed: number[]; + groupsAllowed: Schema.Types.ObjectId[]; attendeeIds: Schema.Types.ObjectId[]; }; @@ -23,7 +23,7 @@ const eventSchema = new Schema({ startTime: { type: Date, required: true }, endTime: { type: Date, required: true }, volunteerEvent: { type: Boolean, required: true }, - groupsAllowed: { type: [Number], required: false }, + groupsAllowed: { type: [Schema.Types.ObjectId], required: false }, attendeeIds: { type: [Schema.Types.ObjectId], required: true, default: [] }, }); diff --git a/src/database/groupSchema.ts b/src/database/groupSchema.ts new file mode 100644 index 00000000..234ed557 --- /dev/null +++ b/src/database/groupSchema.ts @@ -0,0 +1,13 @@ +import mongoose, { Mongoose, Schema } from "mongoose"; + +export type IGroup = { + group_name: string; + groupees: Schema.Types.ObjectId[]; +}; + +const Group = new Schema({ + group_name: { type: String, required: true }, + groupees: { type: [Schema.Types.ObjectId], required: true, default: [] }, +}); + +export default mongoose.models["groups"] || mongoose.model("groups", Group); diff --git a/src/database/userSchema.ts b/src/database/userSchema.ts index f6618fb0..86c910f9 100644 --- a/src/database/userSchema.ts +++ b/src/database/userSchema.ts @@ -33,7 +33,7 @@ export type IUser = { role: "user" | "supervisor" | "admin"; eventsAttended: [Schema.Types.ObjectId]; digitalWaiver: Schema.Types.ObjectId | null; - groupId: number | null; + groupId: Schema.Types.ObjectId | null; }; const UserSchema = new Schema({ @@ -54,7 +54,7 @@ const UserSchema = new Schema({ required: true, default: [], }, - groupId: { type: Number, required: false }, + groupId: { type: Schema.Types.ObjectId, required: false }, digitalWaiver: { type: Schema.Types.ObjectId, required: false }, });