@studious-lms/server 1.24.0 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/data/curriculum/nepal-cdc-g4-g5/subjects/english.json +4 -4
  2. package/data/curriculum/nepal-cdc-g4-g5/subjects/mathematics.json +1 -1
  3. package/data/curriculum/nepal-cdc-g4-g5/subjects/science-technology.json +4 -4
  4. package/data/curriculum/nepal-cdc-g4-g5/subjects/social-studies.json +4 -4
  5. package/dist/models/attendance.d.ts.map +1 -1
  6. package/dist/models/attendance.js +17 -14
  7. package/dist/models/attendance.js.map +1 -1
  8. package/dist/models/marketplace.d.ts +37 -0
  9. package/dist/models/marketplace.d.ts.map +1 -1
  10. package/dist/models/marketplace.js +10 -2
  11. package/dist/models/marketplace.js.map +1 -1
  12. package/dist/models/module.d.ts +228 -0
  13. package/dist/models/module.d.ts.map +1 -0
  14. package/dist/models/module.js +69 -0
  15. package/dist/models/module.js.map +1 -0
  16. package/dist/models/moduleItem.d.ts +5 -1
  17. package/dist/models/moduleItem.d.ts.map +1 -1
  18. package/dist/models/moduleItem.js +19 -4
  19. package/dist/models/moduleItem.js.map +1 -1
  20. package/dist/pipelines/gradeWorksheet.d.ts.map +1 -1
  21. package/dist/pipelines/gradeWorksheet.js +4 -2
  22. package/dist/pipelines/gradeWorksheet.js.map +1 -1
  23. package/dist/routers/_app.d.ts +768 -6
  24. package/dist/routers/_app.d.ts.map +1 -1
  25. package/dist/routers/_app.js +4 -2
  26. package/dist/routers/_app.js.map +1 -1
  27. package/dist/routers/fees.d.ts +1 -1
  28. package/dist/routers/marketplace.d.ts +41 -0
  29. package/dist/routers/marketplace.d.ts.map +1 -1
  30. package/dist/routers/marketplace.js +13 -3
  31. package/dist/routers/marketplace.js.map +1 -1
  32. package/dist/routers/module.d.ts +345 -0
  33. package/dist/routers/module.d.ts.map +1 -0
  34. package/dist/routers/module.js +82 -0
  35. package/dist/routers/module.js.map +1 -0
  36. package/dist/routers/moduleItem.d.ts.map +1 -1
  37. package/dist/routers/moduleItem.js +7 -6
  38. package/dist/routers/moduleItem.js.map +1 -1
  39. package/dist/routers/parent.d.ts +2 -1
  40. package/dist/routers/parent.d.ts.map +1 -1
  41. package/dist/routers/school.d.ts +1 -1
  42. package/dist/routers/school.d.ts.map +1 -1
  43. package/dist/routers/school.js +14 -4
  44. package/dist/routers/school.js.map +1 -1
  45. package/dist/services/academicCalendar.d.ts.map +1 -1
  46. package/dist/services/academicCalendar.js +30 -2
  47. package/dist/services/academicCalendar.js.map +1 -1
  48. package/dist/services/assignment.d.ts.map +1 -1
  49. package/dist/services/assignment.js +8 -3
  50. package/dist/services/assignment.js.map +1 -1
  51. package/dist/services/attendance.d.ts +6 -2
  52. package/dist/services/attendance.d.ts.map +1 -1
  53. package/dist/services/attendance.js +8 -4
  54. package/dist/services/attendance.js.map +1 -1
  55. package/dist/services/class.d.ts +14 -9
  56. package/dist/services/class.d.ts.map +1 -1
  57. package/dist/services/class.js +4 -4
  58. package/dist/services/class.js.map +1 -1
  59. package/dist/services/fees.d.ts.map +1 -1
  60. package/dist/services/fees.js +24 -4
  61. package/dist/services/fees.js.map +1 -1
  62. package/dist/services/feesAuthz.d.ts +2 -5
  63. package/dist/services/feesAuthz.d.ts.map +1 -1
  64. package/dist/services/feesAuthz.js +5 -8
  65. package/dist/services/feesAuthz.js.map +1 -1
  66. package/dist/services/marketplace.d.ts +36 -0
  67. package/dist/services/marketplace.d.ts.map +1 -1
  68. package/dist/services/marketplace.js +36 -6
  69. package/dist/services/marketplace.js.map +1 -1
  70. package/dist/services/module.d.ts +288 -0
  71. package/dist/services/module.d.ts.map +1 -0
  72. package/dist/services/module.js +518 -0
  73. package/dist/services/module.js.map +1 -0
  74. package/dist/services/moduleItem.d.ts.map +1 -1
  75. package/dist/services/moduleItem.js +23 -7
  76. package/dist/services/moduleItem.js.map +1 -1
  77. package/dist/services/parentPortal.d.ts +3 -5
  78. package/dist/services/parentPortal.d.ts.map +1 -1
  79. package/dist/services/parentPortal.js +29 -43
  80. package/dist/services/parentPortal.js.map +1 -1
  81. package/dist/services/school.d.ts.map +1 -1
  82. package/dist/services/school.js +52 -16
  83. package/dist/services/school.js.map +1 -1
  84. package/dist/services/studentImport.d.ts.map +1 -1
  85. package/dist/services/studentImport.js +38 -25
  86. package/dist/services/studentImport.js.map +1 -1
  87. package/dist/services/transcript.d.ts +2 -3
  88. package/dist/services/transcript.d.ts.map +1 -1
  89. package/dist/services/transcript.js +13 -25
  90. package/dist/services/transcript.js.map +1 -1
  91. package/package.json +1 -1
  92. package/prisma/migrations/20260708013000_add_modules/migration.sql +100 -0
  93. package/prisma/schema.prisma +93 -0
  94. package/scripts/import-nepal-cdc-curriculum.ts +29 -6
  95. package/src/models/attendance.ts +10 -12
  96. package/src/models/marketplace.ts +19 -0
  97. package/src/models/module.ts +77 -0
  98. package/src/models/moduleItem.ts +20 -2
  99. package/src/pipelines/gradeWorksheet.ts +6 -0
  100. package/src/routers/_app.ts +2 -0
  101. package/src/routers/marketplace.ts +16 -0
  102. package/src/routers/module.ts +118 -0
  103. package/src/routers/moduleItem.ts +6 -4
  104. package/src/routers/school.ts +16 -6
  105. package/src/services/academicCalendar.ts +28 -0
  106. package/src/services/assignment.ts +12 -1
  107. package/src/services/attendance.ts +7 -3
  108. package/src/services/class.ts +2 -2
  109. package/src/services/fees.ts +25 -2
  110. package/src/services/feesAuthz.ts +3 -7
  111. package/src/services/marketplace.ts +47 -3
  112. package/src/services/module.ts +683 -0
  113. package/src/services/moduleItem.ts +28 -4
  114. package/src/services/parentPortal.ts +26 -39
  115. package/src/services/school.ts +52 -15
  116. package/src/services/studentImport.ts +37 -25
  117. package/src/services/transcript.ts +11 -23
@@ -7837,7 +7837,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
7837
7837
  revokedAt: Date | null;
7838
7838
  createdAt: Date;
7839
7839
  updatedAt: Date;
7840
- status: "ACTIVE" | "REVOKED" | "UPCOMING";
7840
+ status: "ACTIVE" | "REVOKED" | "EXPIRED" | "UPCOMING";
7841
7841
  studentIds: string[];
7842
7842
  students: {
7843
7843
  id: string;
@@ -10255,6 +10255,346 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
10255
10255
  meta: object;
10256
10256
  }>;
10257
10257
  }>>;
10258
+ module: import("@trpc/server").TRPCBuiltRouter<{
10259
+ ctx: import("../trpc.js").Context;
10260
+ meta: object;
10261
+ errorShape: {
10262
+ data: {
10263
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
10264
+ prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
10265
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
10266
+ httpStatus: number;
10267
+ path?: string;
10268
+ stack?: string;
10269
+ };
10270
+ message: string;
10271
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
10272
+ };
10273
+ transformer: false;
10274
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
10275
+ list: import("@trpc/server").TRPCQueryProcedure<{
10276
+ input: {
10277
+ [x: string]: unknown;
10278
+ classId: string;
10279
+ };
10280
+ output: ({
10281
+ items: {
10282
+ id: string;
10283
+ title: string | null;
10284
+ position: number;
10285
+ moduleId: string;
10286
+ indent: number;
10287
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
10288
+ itemId: string | null;
10289
+ externalUrl: string | null;
10290
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
10291
+ requiredScore: number | null;
10292
+ }[];
10293
+ prerequisites: {
10294
+ prerequisiteId: string;
10295
+ }[];
10296
+ } & {
10297
+ id: string;
10298
+ createdAt: Date;
10299
+ updatedAt: Date;
10300
+ classId: string;
10301
+ title: string;
10302
+ position: number;
10303
+ published: boolean;
10304
+ unlockAt: Date | null;
10305
+ requireSequential: boolean;
10306
+ })[];
10307
+ meta: object;
10308
+ }>;
10309
+ getStudentState: import("@trpc/server").TRPCQueryProcedure<{
10310
+ input: {
10311
+ [x: string]: unknown;
10312
+ classId: string;
10313
+ };
10314
+ output: {
10315
+ modules: {
10316
+ items: {
10317
+ completed: boolean;
10318
+ accessible: boolean;
10319
+ worksheetAssignmentId: string | null;
10320
+ id: string;
10321
+ title: string | null;
10322
+ position: number;
10323
+ moduleId: string;
10324
+ indent: number;
10325
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
10326
+ itemId: string | null;
10327
+ externalUrl: string | null;
10328
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
10329
+ requiredScore: number | null;
10330
+ }[];
10331
+ locked: boolean;
10332
+ lockedByPrerequisite: boolean;
10333
+ lockedByDate: boolean;
10334
+ completed: boolean;
10335
+ requiredCount: number;
10336
+ completedRequiredCount: number;
10337
+ percentComplete: number;
10338
+ prerequisites: {
10339
+ prerequisiteId: string;
10340
+ }[];
10341
+ id: string;
10342
+ createdAt: Date;
10343
+ updatedAt: Date;
10344
+ classId: string;
10345
+ title: string;
10346
+ position: number;
10347
+ published: boolean;
10348
+ unlockAt: Date | null;
10349
+ requireSequential: boolean;
10350
+ }[];
10351
+ continueItemId: null;
10352
+ continueModuleId: null;
10353
+ };
10354
+ meta: object;
10355
+ }>;
10356
+ create: import("@trpc/server").TRPCMutationProcedure<{
10357
+ input: {
10358
+ [x: string]: unknown;
10359
+ classId: string;
10360
+ title: string;
10361
+ unlockAt?: Date | null | undefined;
10362
+ requireSequential?: boolean | undefined;
10363
+ };
10364
+ output: {
10365
+ items: {
10366
+ id: string;
10367
+ title: string | null;
10368
+ position: number;
10369
+ moduleId: string;
10370
+ indent: number;
10371
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
10372
+ itemId: string | null;
10373
+ externalUrl: string | null;
10374
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
10375
+ requiredScore: number | null;
10376
+ }[];
10377
+ prerequisites: {
10378
+ prerequisiteId: string;
10379
+ }[];
10380
+ } & {
10381
+ id: string;
10382
+ createdAt: Date;
10383
+ updatedAt: Date;
10384
+ classId: string;
10385
+ title: string;
10386
+ position: number;
10387
+ published: boolean;
10388
+ unlockAt: Date | null;
10389
+ requireSequential: boolean;
10390
+ };
10391
+ meta: object;
10392
+ }>;
10393
+ update: import("@trpc/server").TRPCMutationProcedure<{
10394
+ input: {
10395
+ [x: string]: unknown;
10396
+ classId: string;
10397
+ id: string;
10398
+ title?: string | undefined;
10399
+ published?: boolean | undefined;
10400
+ unlockAt?: Date | null | undefined;
10401
+ requireSequential?: boolean | undefined;
10402
+ prerequisiteIds?: string[] | undefined;
10403
+ };
10404
+ output: {
10405
+ items: {
10406
+ id: string;
10407
+ title: string | null;
10408
+ position: number;
10409
+ moduleId: string;
10410
+ indent: number;
10411
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
10412
+ itemId: string | null;
10413
+ externalUrl: string | null;
10414
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
10415
+ requiredScore: number | null;
10416
+ }[];
10417
+ prerequisites: {
10418
+ prerequisiteId: string;
10419
+ }[];
10420
+ } & {
10421
+ id: string;
10422
+ createdAt: Date;
10423
+ updatedAt: Date;
10424
+ classId: string;
10425
+ title: string;
10426
+ position: number;
10427
+ published: boolean;
10428
+ unlockAt: Date | null;
10429
+ requireSequential: boolean;
10430
+ };
10431
+ meta: object;
10432
+ }>;
10433
+ delete: import("@trpc/server").TRPCMutationProcedure<{
10434
+ input: {
10435
+ [x: string]: unknown;
10436
+ classId: string;
10437
+ id: string;
10438
+ };
10439
+ output: {
10440
+ id: string;
10441
+ };
10442
+ meta: object;
10443
+ }>;
10444
+ reorder: import("@trpc/server").TRPCMutationProcedure<{
10445
+ input: {
10446
+ [x: string]: unknown;
10447
+ classId: string;
10448
+ orderedIds: string[];
10449
+ };
10450
+ output: ({
10451
+ items: {
10452
+ id: string;
10453
+ title: string | null;
10454
+ position: number;
10455
+ moduleId: string;
10456
+ indent: number;
10457
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
10458
+ itemId: string | null;
10459
+ externalUrl: string | null;
10460
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
10461
+ requiredScore: number | null;
10462
+ }[];
10463
+ prerequisites: {
10464
+ prerequisiteId: string;
10465
+ }[];
10466
+ } & {
10467
+ id: string;
10468
+ createdAt: Date;
10469
+ updatedAt: Date;
10470
+ classId: string;
10471
+ title: string;
10472
+ position: number;
10473
+ published: boolean;
10474
+ unlockAt: Date | null;
10475
+ requireSequential: boolean;
10476
+ })[];
10477
+ meta: object;
10478
+ }>;
10479
+ createItem: import("@trpc/server").TRPCMutationProcedure<{
10480
+ input: {
10481
+ [x: string]: unknown;
10482
+ classId: string;
10483
+ moduleId: string;
10484
+ itemType: "FILE" | "ASSIGNMENT" | "WORKSHEET" | "ANNOUNCEMENT" | "DISCUSSION" | "EXTERNAL_URL" | "SUB_HEADER";
10485
+ title?: string | undefined;
10486
+ indent?: number | undefined;
10487
+ itemId?: string | undefined;
10488
+ externalUrl?: string | undefined;
10489
+ requirementType?: "VIEW" | "SUBMIT" | "SCORE_AT_LEAST" | undefined;
10490
+ requiredScore?: number | undefined;
10491
+ };
10492
+ output: {
10493
+ id: string;
10494
+ title: string | null;
10495
+ position: number;
10496
+ moduleId: string;
10497
+ indent: number;
10498
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
10499
+ itemId: string | null;
10500
+ externalUrl: string | null;
10501
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
10502
+ requiredScore: number | null;
10503
+ };
10504
+ meta: object;
10505
+ }>;
10506
+ updateItem: import("@trpc/server").TRPCMutationProcedure<{
10507
+ input: {
10508
+ [x: string]: unknown;
10509
+ classId: string;
10510
+ id: string;
10511
+ title?: string | null | undefined;
10512
+ indent?: number | undefined;
10513
+ externalUrl?: string | undefined;
10514
+ requirementType?: "VIEW" | "SUBMIT" | "SCORE_AT_LEAST" | null | undefined;
10515
+ requiredScore?: number | null | undefined;
10516
+ };
10517
+ output: {
10518
+ id: string;
10519
+ title: string | null;
10520
+ position: number;
10521
+ moduleId: string;
10522
+ indent: number;
10523
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
10524
+ itemId: string | null;
10525
+ externalUrl: string | null;
10526
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
10527
+ requiredScore: number | null;
10528
+ };
10529
+ meta: object;
10530
+ }>;
10531
+ deleteItem: import("@trpc/server").TRPCMutationProcedure<{
10532
+ input: {
10533
+ [x: string]: unknown;
10534
+ classId: string;
10535
+ id: string;
10536
+ };
10537
+ output: {
10538
+ id: string;
10539
+ };
10540
+ meta: object;
10541
+ }>;
10542
+ reorderItems: import("@trpc/server").TRPCMutationProcedure<{
10543
+ input: {
10544
+ [x: string]: unknown;
10545
+ classId: string;
10546
+ items: {
10547
+ id: string;
10548
+ moduleId: string;
10549
+ }[];
10550
+ };
10551
+ output: ({
10552
+ items: {
10553
+ id: string;
10554
+ title: string | null;
10555
+ position: number;
10556
+ moduleId: string;
10557
+ indent: number;
10558
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
10559
+ itemId: string | null;
10560
+ externalUrl: string | null;
10561
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
10562
+ requiredScore: number | null;
10563
+ }[];
10564
+ prerequisites: {
10565
+ prerequisiteId: string;
10566
+ }[];
10567
+ } & {
10568
+ id: string;
10569
+ createdAt: Date;
10570
+ updatedAt: Date;
10571
+ classId: string;
10572
+ title: string;
10573
+ position: number;
10574
+ published: boolean;
10575
+ unlockAt: Date | null;
10576
+ requireSequential: boolean;
10577
+ })[];
10578
+ meta: object;
10579
+ }>;
10580
+ markItemViewed: import("@trpc/server").TRPCMutationProcedure<{
10581
+ input: {
10582
+ [x: string]: unknown;
10583
+ classId: string;
10584
+ itemId: string;
10585
+ };
10586
+ output: {
10587
+ status: import(".prisma/client").$Enums.ModuleItemProgressStatus;
10588
+ id: string;
10589
+ createdAt: Date;
10590
+ updatedAt: Date;
10591
+ moduleItemId: string;
10592
+ studentId: string;
10593
+ completedAt: Date | null;
10594
+ };
10595
+ meta: object;
10596
+ }>;
10597
+ }>>;
10258
10598
  gradebook: import("@trpc/server").TRPCBuiltRouter<{
10259
10599
  ctx: import("../trpc.js").Context;
10260
10600
  meta: object;
@@ -11060,7 +11400,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
11060
11400
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
11061
11401
  canManageFees: boolean;
11062
11402
  canViewFees: boolean;
11063
- feesImplemented: false;
11403
+ feesImplemented: true;
11064
11404
  message: string;
11065
11405
  };
11066
11406
  meta: object;
@@ -11366,6 +11706,46 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
11366
11706
  };
11367
11707
  meta: object;
11368
11708
  }>;
11709
+ update: import("@trpc/server").TRPCMutationProcedure<{
11710
+ input: {
11711
+ listingId: string;
11712
+ tags?: string[] | undefined;
11713
+ description?: string | null | undefined;
11714
+ title?: string | undefined;
11715
+ visibility?: "SCHOOL" | "PUBLIC" | undefined;
11716
+ };
11717
+ output: {
11718
+ school: {
11719
+ id: string;
11720
+ name: string;
11721
+ } | null;
11722
+ author: {
11723
+ id: string;
11724
+ username: string;
11725
+ profile: {
11726
+ displayName: string | null;
11727
+ } | null;
11728
+ };
11729
+ } & {
11730
+ type: import(".prisma/client").$Enums.MarketplaceListingType;
11731
+ payload: import("@prisma/client/runtime/library.js").JsonValue;
11732
+ id: string;
11733
+ createdAt: Date;
11734
+ updatedAt: Date;
11735
+ schoolId: string | null;
11736
+ tags: string[];
11737
+ description: string | null;
11738
+ title: string;
11739
+ worksheetId: string | null;
11740
+ markSchemeId: string | null;
11741
+ authorId: string;
11742
+ fileId: string | null;
11743
+ visibility: import(".prisma/client").$Enums.MarketplaceVisibility;
11744
+ reportCount: number;
11745
+ isHidden: boolean;
11746
+ };
11747
+ meta: object;
11748
+ }>;
11369
11749
  report: import("@trpc/server").TRPCMutationProcedure<{
11370
11750
  input: {
11371
11751
  listingId: string;
@@ -12032,6 +12412,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
12032
12412
  present: number;
12033
12413
  late: number;
12034
12414
  absent: number;
12415
+ excused: number;
12035
12416
  total: number;
12036
12417
  };
12037
12418
  records: {
@@ -12044,7 +12425,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
12044
12425
  name: string;
12045
12426
  subject: string;
12046
12427
  } | null;
12047
- status: "PRESENT" | "LATE" | "ABSENT";
12428
+ status: import(".prisma/client").$Enums.AttendanceStatus;
12048
12429
  }[];
12049
12430
  };
12050
12431
  meta: object;
@@ -19921,7 +20302,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
19921
20302
  revokedAt: Date | null;
19922
20303
  createdAt: Date;
19923
20304
  updatedAt: Date;
19924
- status: "ACTIVE" | "REVOKED" | "UPCOMING";
20305
+ status: "ACTIVE" | "REVOKED" | "EXPIRED" | "UPCOMING";
19925
20306
  studentIds: string[];
19926
20307
  students: {
19927
20308
  id: string;
@@ -22339,6 +22720,346 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
22339
22720
  meta: object;
22340
22721
  }>;
22341
22722
  }>>;
22723
+ module: import("@trpc/server").TRPCBuiltRouter<{
22724
+ ctx: import("../trpc.js").Context;
22725
+ meta: object;
22726
+ errorShape: {
22727
+ data: {
22728
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
22729
+ prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
22730
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
22731
+ httpStatus: number;
22732
+ path?: string;
22733
+ stack?: string;
22734
+ };
22735
+ message: string;
22736
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
22737
+ };
22738
+ transformer: false;
22739
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
22740
+ list: import("@trpc/server").TRPCQueryProcedure<{
22741
+ input: {
22742
+ [x: string]: unknown;
22743
+ classId: string;
22744
+ };
22745
+ output: ({
22746
+ items: {
22747
+ id: string;
22748
+ title: string | null;
22749
+ position: number;
22750
+ moduleId: string;
22751
+ indent: number;
22752
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
22753
+ itemId: string | null;
22754
+ externalUrl: string | null;
22755
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
22756
+ requiredScore: number | null;
22757
+ }[];
22758
+ prerequisites: {
22759
+ prerequisiteId: string;
22760
+ }[];
22761
+ } & {
22762
+ id: string;
22763
+ createdAt: Date;
22764
+ updatedAt: Date;
22765
+ classId: string;
22766
+ title: string;
22767
+ position: number;
22768
+ published: boolean;
22769
+ unlockAt: Date | null;
22770
+ requireSequential: boolean;
22771
+ })[];
22772
+ meta: object;
22773
+ }>;
22774
+ getStudentState: import("@trpc/server").TRPCQueryProcedure<{
22775
+ input: {
22776
+ [x: string]: unknown;
22777
+ classId: string;
22778
+ };
22779
+ output: {
22780
+ modules: {
22781
+ items: {
22782
+ completed: boolean;
22783
+ accessible: boolean;
22784
+ worksheetAssignmentId: string | null;
22785
+ id: string;
22786
+ title: string | null;
22787
+ position: number;
22788
+ moduleId: string;
22789
+ indent: number;
22790
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
22791
+ itemId: string | null;
22792
+ externalUrl: string | null;
22793
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
22794
+ requiredScore: number | null;
22795
+ }[];
22796
+ locked: boolean;
22797
+ lockedByPrerequisite: boolean;
22798
+ lockedByDate: boolean;
22799
+ completed: boolean;
22800
+ requiredCount: number;
22801
+ completedRequiredCount: number;
22802
+ percentComplete: number;
22803
+ prerequisites: {
22804
+ prerequisiteId: string;
22805
+ }[];
22806
+ id: string;
22807
+ createdAt: Date;
22808
+ updatedAt: Date;
22809
+ classId: string;
22810
+ title: string;
22811
+ position: number;
22812
+ published: boolean;
22813
+ unlockAt: Date | null;
22814
+ requireSequential: boolean;
22815
+ }[];
22816
+ continueItemId: null;
22817
+ continueModuleId: null;
22818
+ };
22819
+ meta: object;
22820
+ }>;
22821
+ create: import("@trpc/server").TRPCMutationProcedure<{
22822
+ input: {
22823
+ [x: string]: unknown;
22824
+ classId: string;
22825
+ title: string;
22826
+ unlockAt?: Date | null | undefined;
22827
+ requireSequential?: boolean | undefined;
22828
+ };
22829
+ output: {
22830
+ items: {
22831
+ id: string;
22832
+ title: string | null;
22833
+ position: number;
22834
+ moduleId: string;
22835
+ indent: number;
22836
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
22837
+ itemId: string | null;
22838
+ externalUrl: string | null;
22839
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
22840
+ requiredScore: number | null;
22841
+ }[];
22842
+ prerequisites: {
22843
+ prerequisiteId: string;
22844
+ }[];
22845
+ } & {
22846
+ id: string;
22847
+ createdAt: Date;
22848
+ updatedAt: Date;
22849
+ classId: string;
22850
+ title: string;
22851
+ position: number;
22852
+ published: boolean;
22853
+ unlockAt: Date | null;
22854
+ requireSequential: boolean;
22855
+ };
22856
+ meta: object;
22857
+ }>;
22858
+ update: import("@trpc/server").TRPCMutationProcedure<{
22859
+ input: {
22860
+ [x: string]: unknown;
22861
+ classId: string;
22862
+ id: string;
22863
+ title?: string | undefined;
22864
+ published?: boolean | undefined;
22865
+ unlockAt?: Date | null | undefined;
22866
+ requireSequential?: boolean | undefined;
22867
+ prerequisiteIds?: string[] | undefined;
22868
+ };
22869
+ output: {
22870
+ items: {
22871
+ id: string;
22872
+ title: string | null;
22873
+ position: number;
22874
+ moduleId: string;
22875
+ indent: number;
22876
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
22877
+ itemId: string | null;
22878
+ externalUrl: string | null;
22879
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
22880
+ requiredScore: number | null;
22881
+ }[];
22882
+ prerequisites: {
22883
+ prerequisiteId: string;
22884
+ }[];
22885
+ } & {
22886
+ id: string;
22887
+ createdAt: Date;
22888
+ updatedAt: Date;
22889
+ classId: string;
22890
+ title: string;
22891
+ position: number;
22892
+ published: boolean;
22893
+ unlockAt: Date | null;
22894
+ requireSequential: boolean;
22895
+ };
22896
+ meta: object;
22897
+ }>;
22898
+ delete: import("@trpc/server").TRPCMutationProcedure<{
22899
+ input: {
22900
+ [x: string]: unknown;
22901
+ classId: string;
22902
+ id: string;
22903
+ };
22904
+ output: {
22905
+ id: string;
22906
+ };
22907
+ meta: object;
22908
+ }>;
22909
+ reorder: import("@trpc/server").TRPCMutationProcedure<{
22910
+ input: {
22911
+ [x: string]: unknown;
22912
+ classId: string;
22913
+ orderedIds: string[];
22914
+ };
22915
+ output: ({
22916
+ items: {
22917
+ id: string;
22918
+ title: string | null;
22919
+ position: number;
22920
+ moduleId: string;
22921
+ indent: number;
22922
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
22923
+ itemId: string | null;
22924
+ externalUrl: string | null;
22925
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
22926
+ requiredScore: number | null;
22927
+ }[];
22928
+ prerequisites: {
22929
+ prerequisiteId: string;
22930
+ }[];
22931
+ } & {
22932
+ id: string;
22933
+ createdAt: Date;
22934
+ updatedAt: Date;
22935
+ classId: string;
22936
+ title: string;
22937
+ position: number;
22938
+ published: boolean;
22939
+ unlockAt: Date | null;
22940
+ requireSequential: boolean;
22941
+ })[];
22942
+ meta: object;
22943
+ }>;
22944
+ createItem: import("@trpc/server").TRPCMutationProcedure<{
22945
+ input: {
22946
+ [x: string]: unknown;
22947
+ classId: string;
22948
+ moduleId: string;
22949
+ itemType: "FILE" | "ASSIGNMENT" | "WORKSHEET" | "ANNOUNCEMENT" | "DISCUSSION" | "EXTERNAL_URL" | "SUB_HEADER";
22950
+ title?: string | undefined;
22951
+ indent?: number | undefined;
22952
+ itemId?: string | undefined;
22953
+ externalUrl?: string | undefined;
22954
+ requirementType?: "VIEW" | "SUBMIT" | "SCORE_AT_LEAST" | undefined;
22955
+ requiredScore?: number | undefined;
22956
+ };
22957
+ output: {
22958
+ id: string;
22959
+ title: string | null;
22960
+ position: number;
22961
+ moduleId: string;
22962
+ indent: number;
22963
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
22964
+ itemId: string | null;
22965
+ externalUrl: string | null;
22966
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
22967
+ requiredScore: number | null;
22968
+ };
22969
+ meta: object;
22970
+ }>;
22971
+ updateItem: import("@trpc/server").TRPCMutationProcedure<{
22972
+ input: {
22973
+ [x: string]: unknown;
22974
+ classId: string;
22975
+ id: string;
22976
+ title?: string | null | undefined;
22977
+ indent?: number | undefined;
22978
+ externalUrl?: string | undefined;
22979
+ requirementType?: "VIEW" | "SUBMIT" | "SCORE_AT_LEAST" | null | undefined;
22980
+ requiredScore?: number | null | undefined;
22981
+ };
22982
+ output: {
22983
+ id: string;
22984
+ title: string | null;
22985
+ position: number;
22986
+ moduleId: string;
22987
+ indent: number;
22988
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
22989
+ itemId: string | null;
22990
+ externalUrl: string | null;
22991
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
22992
+ requiredScore: number | null;
22993
+ };
22994
+ meta: object;
22995
+ }>;
22996
+ deleteItem: import("@trpc/server").TRPCMutationProcedure<{
22997
+ input: {
22998
+ [x: string]: unknown;
22999
+ classId: string;
23000
+ id: string;
23001
+ };
23002
+ output: {
23003
+ id: string;
23004
+ };
23005
+ meta: object;
23006
+ }>;
23007
+ reorderItems: import("@trpc/server").TRPCMutationProcedure<{
23008
+ input: {
23009
+ [x: string]: unknown;
23010
+ classId: string;
23011
+ items: {
23012
+ id: string;
23013
+ moduleId: string;
23014
+ }[];
23015
+ };
23016
+ output: ({
23017
+ items: {
23018
+ id: string;
23019
+ title: string | null;
23020
+ position: number;
23021
+ moduleId: string;
23022
+ indent: number;
23023
+ itemType: import(".prisma/client").$Enums.CourseModuleItemType;
23024
+ itemId: string | null;
23025
+ externalUrl: string | null;
23026
+ requirementType: import(".prisma/client").$Enums.ModuleItemRequirementType | null;
23027
+ requiredScore: number | null;
23028
+ }[];
23029
+ prerequisites: {
23030
+ prerequisiteId: string;
23031
+ }[];
23032
+ } & {
23033
+ id: string;
23034
+ createdAt: Date;
23035
+ updatedAt: Date;
23036
+ classId: string;
23037
+ title: string;
23038
+ position: number;
23039
+ published: boolean;
23040
+ unlockAt: Date | null;
23041
+ requireSequential: boolean;
23042
+ })[];
23043
+ meta: object;
23044
+ }>;
23045
+ markItemViewed: import("@trpc/server").TRPCMutationProcedure<{
23046
+ input: {
23047
+ [x: string]: unknown;
23048
+ classId: string;
23049
+ itemId: string;
23050
+ };
23051
+ output: {
23052
+ status: import(".prisma/client").$Enums.ModuleItemProgressStatus;
23053
+ id: string;
23054
+ createdAt: Date;
23055
+ updatedAt: Date;
23056
+ moduleItemId: string;
23057
+ studentId: string;
23058
+ completedAt: Date | null;
23059
+ };
23060
+ meta: object;
23061
+ }>;
23062
+ }>>;
22342
23063
  gradebook: import("@trpc/server").TRPCBuiltRouter<{
22343
23064
  ctx: import("../trpc.js").Context;
22344
23065
  meta: object;
@@ -23144,7 +23865,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
23144
23865
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
23145
23866
  canManageFees: boolean;
23146
23867
  canViewFees: boolean;
23147
- feesImplemented: false;
23868
+ feesImplemented: true;
23148
23869
  message: string;
23149
23870
  };
23150
23871
  meta: object;
@@ -23450,6 +24171,46 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
23450
24171
  };
23451
24172
  meta: object;
23452
24173
  }>;
24174
+ update: import("@trpc/server").TRPCMutationProcedure<{
24175
+ input: {
24176
+ listingId: string;
24177
+ tags?: string[] | undefined;
24178
+ description?: string | null | undefined;
24179
+ title?: string | undefined;
24180
+ visibility?: "SCHOOL" | "PUBLIC" | undefined;
24181
+ };
24182
+ output: {
24183
+ school: {
24184
+ id: string;
24185
+ name: string;
24186
+ } | null;
24187
+ author: {
24188
+ id: string;
24189
+ username: string;
24190
+ profile: {
24191
+ displayName: string | null;
24192
+ } | null;
24193
+ };
24194
+ } & {
24195
+ type: import(".prisma/client").$Enums.MarketplaceListingType;
24196
+ payload: import("@prisma/client/runtime/library.js").JsonValue;
24197
+ id: string;
24198
+ createdAt: Date;
24199
+ updatedAt: Date;
24200
+ schoolId: string | null;
24201
+ tags: string[];
24202
+ description: string | null;
24203
+ title: string;
24204
+ worksheetId: string | null;
24205
+ markSchemeId: string | null;
24206
+ authorId: string;
24207
+ fileId: string | null;
24208
+ visibility: import(".prisma/client").$Enums.MarketplaceVisibility;
24209
+ reportCount: number;
24210
+ isHidden: boolean;
24211
+ };
24212
+ meta: object;
24213
+ }>;
23453
24214
  report: import("@trpc/server").TRPCMutationProcedure<{
23454
24215
  input: {
23455
24216
  listingId: string;
@@ -24116,6 +24877,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
24116
24877
  present: number;
24117
24878
  late: number;
24118
24879
  absent: number;
24880
+ excused: number;
24119
24881
  total: number;
24120
24882
  };
24121
24883
  records: {
@@ -24128,7 +24890,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
24128
24890
  name: string;
24129
24891
  subject: string;
24130
24892
  } | null;
24131
- status: "PRESENT" | "LATE" | "ABSENT";
24893
+ status: import(".prisma/client").$Enums.AttendanceStatus;
24132
24894
  }[];
24133
24895
  };
24134
24896
  meta: object;