diff --git a/src/models/ActivityModel.ts b/src/models/ActivityModel.ts index a97b167..8c50f5c 100644 --- a/src/models/ActivityModel.ts +++ b/src/models/ActivityModel.ts @@ -2,10 +2,10 @@ import { Schema, Types, model } from 'mongoose'; export interface IActivity { id: string; + owner: Types.ObjectId; + classroom: Types.ObjectId; title: string; description: string; - classroomId: string; - owner: Types.ObjectId; dueDate?: string; createdAt: string; type: 'assignment' | 'material'; @@ -46,6 +46,12 @@ const activitySchema = new Schema( required: true, index: true }, + classroom: { + type: Schema.Types.ObjectId, + ref: 'classroom', + required: true, + index: true + }, title: { type: String, required: true @@ -54,10 +60,6 @@ const activitySchema = new Schema( type: String, required: true }, - classroomId: { - type: String, - required: true - }, dueDate: { type: String, required: false diff --git a/src/routes/classroom/activities/index.ts b/src/routes/classroom/activities/index.ts index 3444b43..051b42d 100644 --- a/src/routes/classroom/activities/index.ts +++ b/src/routes/classroom/activities/index.ts @@ -20,7 +20,7 @@ export const classroomActivitiesRoute = new Elysia({ if (!user) return status(400, 'Bad Request'); if (!user.classroomIds?.some((cId) => cId.toString() === classroomId)) return status(403, 'Forbidden'); - const activities = await ActivityModel.find({ classroomId: classroomId }, { __v: 0 }) + const activities = await ActivityModel.find({ classroom: classroomId }, { __v: 0 }) .lean() .exec() .catch(() => null); @@ -66,7 +66,7 @@ export const classroomActivitiesRoute = new Elysia({ const activity = new ActivityModel({ title, description, - classroomId: classroomId, + classroom: classroomId, type, content, dueDate, @@ -124,7 +124,7 @@ export const classroomActivitiesRoute = new Elysia({ const activity = await ActivityModel.findOne( { _id: activityId, - classroomId + classroom: classroomId }, { __v: 0 } ) @@ -163,7 +163,7 @@ export const classroomActivitiesRoute = new Elysia({ const activity = await ActivityModel.findOne( { _id: activityId, - classroomId + classroom: classroomId }, { __v: 0 } )