Skip to content

Commit

Permalink
fix: schema typings / data fields
Browse files Browse the repository at this point in the history
  • Loading branch information
javalosr2004 committed Feb 5, 2024
1 parent 9b37781 commit 0d033d7
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
20 changes: 12 additions & 8 deletions src/database/eventSchema.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,31 @@

import mongoose, { Schema } from "mongoose";

export type IEvent = {
eventName: string;
description: string;
wheelchairAccessible: boolean;
spanishSpeakingAccommodation: boolean;
date: Date;
startTime: Date;
endTime: Date;
volunteerEvent: boolean;
attendeeIds: string[];
groupsAllowed: number[];
attendeeIds: Schema.Types.ObjectId[];
};

// Mongoose schema
// Mongoose schema
const eventSchema = new Schema<IEvent>({
eventName: { type: String, required: true },
description: { type: String, required: true },
wheelchairAccessible: { type: Boolean, required: true },
spanishSpeakingAccommodation: { type: Boolean, required: true },
date: { type: Date, required: true },
volunteerEvent: {type: Boolean, required: true},
attendeeIds: { type: [String], required: true, default: [] },
startTime: { type: Date, required: true },
endTime: { type: Date, required: true },
volunteerEvent: { type: Boolean, required: true },
groupsAllowed: { type: [Number], required: false },
attendeeIds: { type: [Schema.Types.ObjectId], required: true, default: [] },
});

const Event = mongoose.models['events'] || mongoose.model('events', eventSchema);
const Event =
mongoose.models["events"] || mongoose.model("events", eventSchema);

export default Event;
12 changes: 8 additions & 4 deletions src/database/userSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,25 @@ type User = {
firstName: string;
lastName: string;
age: number;
gender: number;
role: ["user", "admin"];
gender: string;
role: "user" | "admin";
digitalWaiver: Schema.Types.ObjectId | null;
eventsAttended: [Schema.Types.ObjectId];
};

const UserSchema = new Schema({
const UserSchema = new Schema<User>({
email: { type: String, required: true, unique: true },
firstName: { type: String, required: true },
lastName: { type: String, required: true },
age: { type: Number, required: true },
gender: { type: String, required: true },
role: { type: String, enum: ["user", "admin"], required: true },
digitalWaiver: { type: Schema.Types.ObjectId, required: false },
eventsAttended: [{ type: Schema.Types.ObjectId, ref: "Event" }],
eventsAttended: {
type: [Schema.Types.ObjectId],
required: true,
default: [],
},
});

export default mongoose.models.User || mongoose.model("User", UserSchema);

0 comments on commit 0d033d7

Please sign in to comment.