Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/gql' into gql
Browse files Browse the repository at this point in the history
  • Loading branch information
mathhulk committed Jan 26, 2025
2 parents 6e810ae + 4d4dce5 commit 86e3e0e
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 11 deletions.
9 changes: 6 additions & 3 deletions apps/datapuller/src/lib/sections.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ export const formatSection = (input: ClassSection) => {
const courseId = input.class?.course?.identifiers?.find(
(i) => i.type === "cs-course-id"
)?.id;

const sessionId = input.class?.session?.id;
const termId = input.class?.session?.term?.id;
const courseNumber = input.class?.course?.catalogNumber?.formatted;
const classNumber = input.class?.number;
const number = input.number;
Expand All @@ -26,6 +27,8 @@ export const formatSection = (input: ClassSection) => {

const essentialFields = {
courseId,
sessionId,
termId,
classNumber,
sectionId,
number,
Expand All @@ -45,8 +48,8 @@ export const formatSection = (input: ClassSection) => {
const output: ISectionItem = {
courseId: courseId!,
classNumber: classNumber!,
sessionId: input.class?.session?.id,
termId: input.class?.session?.term?.id,
sessionId: sessionId!,
termId: termId!,
sectionId: sectionId!,
number: number!,
subject: subject!,
Expand Down
7 changes: 3 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

70 changes: 70 additions & 0 deletions packages/common/src/models/enrollmentNew.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
import { Document, Model, Schema, model } from "mongoose";

export interface IEnrollmentItem {
termId: string;
sessionId: string;
sectionId: string;
data: [
{
time: string;
status?: string;
enrolledCount?: number;
reservedCount?: number;
waitlistedCount?: number;
minEnroll?: number;
maxEnroll?: number;
maxWaitlist?: number;
openReserved?: number;
instructorAddConsentRequired?: boolean;
instructorDropConsentRequired?: boolean;
seatReservations?: [
{
number?: number;
requirementGroup?: string;
fromDate?: string;
maxEnroll?: number;
enrolledCount?: number;
},
];
},
];
}

export interface IEnrollmentItemDocument extends IEnrollmentItem, Document {}

const enrollmentSchema = new Schema<IEnrollmentItem>({
termId: { type: String, required: true },
sessionId: { type: String, required: true },
sectionId: { type: String, required: true },
data: [
{
time: { type: String, required: true },
status: { type: String },
enrolledCount: { type: Number },
reservedCount: { type: Number },
waitlistedCount: { type: Number },
minEnroll: { type: Number },
maxEnroll: { type: Number },
maxWaitlist: { type: Number },
openReserved: { type: Number },
instructorAddConsentRequired: { type: Boolean },
instructorDropConsentRequired: { type: Boolean },
seatReservations: [
{
number: { type: Number },
requirementGroup: { type: String },
fromDate: { type: String },
maxEnroll: { type: Number },
enrolledCount: { type: Number },
},
],
},
],
});
enrollmentSchema.index(
{ termId: 1, sessionId: 1, sectionId: 1 },
{ unique: true }
);

export const NewEnrollmentModel: Model<IEnrollmentItem> =
model<IEnrollmentItem>("NewEnrollment", enrollmentSchema);
8 changes: 4 additions & 4 deletions packages/common/src/models/sectionNew.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { Document, Model, Schema, model } from "mongoose";
export interface ISectionItem {
courseId: string;
classNumber: string;
sessionId?: string;
termId?: string;
sessionId: string;
termId: string;
sectionId: string;
number: string;
subject: string;
Expand Down Expand Up @@ -68,8 +68,8 @@ export interface ISectionItemDocument extends ISectionItem, Document {}
const sectionSchema = new Schema<ISectionItem>({
courseId: { type: String, required: true },
classNumber: { type: String, required: true },
sessionId: { type: String },
termId: { type: String },
sessionId: { type: String, required: true },
termId: { type: String, required: true },
sectionId: { type: String, required: true },
number: { type: String, required: true },
subject: { type: String, required: true },
Expand Down

0 comments on commit 86e3e0e

Please sign in to comment.