@studious-lms/server 1.22.0 → 1.24.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.
- package/.env.example +0 -1
- package/data/curriculum/nepal-cdc-g4-g5/README.md +90 -0
- package/data/curriculum/nepal-cdc-g4-g5/manifest.json +97 -0
- package/data/curriculum/nepal-cdc-g4-g5/proficiency-scale.json +76 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/english.json +6936 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/health-physical-creative-arts.json +3401 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/mathematics.json +1511 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/nepali.json +7928 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/science-technology.json +2420 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/social-studies.json +2177 -0
- package/dist/lib/assignmentTypeDefaults.d.ts +41 -0
- package/dist/lib/assignmentTypeDefaults.d.ts.map +1 -0
- package/dist/lib/assignmentTypeDefaults.js +167 -0
- package/dist/lib/assignmentTypeDefaults.js.map +1 -0
- package/dist/lib/config/env.d.ts +0 -8
- package/dist/lib/config/env.d.ts.map +1 -1
- package/dist/lib/config/env.js +2 -5
- package/dist/lib/config/env.js.map +1 -1
- package/dist/lib/feePdf.d.ts +19 -0
- package/dist/lib/feePdf.d.ts.map +1 -0
- package/dist/lib/feePdf.js +167 -0
- package/dist/lib/feePdf.js.map +1 -0
- package/dist/lib/feePdfFormat.d.ts +4 -0
- package/dist/lib/feePdfFormat.d.ts.map +1 -0
- package/dist/lib/feePdfFormat.js +16 -0
- package/dist/lib/feePdfFormat.js.map +1 -0
- package/dist/lib/idCardPdf.d.ts +26 -0
- package/dist/lib/idCardPdf.d.ts.map +1 -0
- package/dist/lib/idCardPdf.js +272 -0
- package/dist/lib/idCardPdf.js.map +1 -0
- package/dist/lib/pdfLetterhead.d.ts +41 -0
- package/dist/lib/pdfLetterhead.d.ts.map +1 -0
- package/dist/lib/pdfLetterhead.js +86 -0
- package/dist/lib/pdfLetterhead.js.map +1 -0
- package/dist/lib/transcriptPdf.d.ts +55 -0
- package/dist/lib/transcriptPdf.d.ts.map +1 -0
- package/dist/lib/transcriptPdf.js +303 -0
- package/dist/lib/transcriptPdf.js.map +1 -0
- package/dist/models/academicCalendar.d.ts +198 -0
- package/dist/models/academicCalendar.d.ts.map +1 -0
- package/dist/models/academicCalendar.js +106 -0
- package/dist/models/academicCalendar.js.map +1 -0
- package/dist/models/agenda.d.ts +8 -0
- package/dist/models/agenda.d.ts.map +1 -1
- package/dist/models/announcement.d.ts +2 -0
- package/dist/models/announcement.d.ts.map +1 -1
- package/dist/models/assignment.d.ts +66 -0
- package/dist/models/assignment.d.ts.map +1 -1
- package/dist/models/attendance.d.ts +659 -21
- package/dist/models/attendance.d.ts.map +1 -1
- package/dist/models/attendance.js +544 -75
- package/dist/models/attendance.js.map +1 -1
- package/dist/models/auth.d.ts +2 -0
- package/dist/models/auth.d.ts.map +1 -1
- package/dist/models/class.d.ts +12 -0
- package/dist/models/class.d.ts.map +1 -1
- package/dist/models/class.js +3 -2
- package/dist/models/class.js.map +1 -1
- package/dist/models/event.d.ts +16 -0
- package/dist/models/event.d.ts.map +1 -1
- package/dist/models/fees.d.ts +554 -0
- package/dist/models/fees.d.ts.map +1 -0
- package/dist/models/fees.js +278 -0
- package/dist/models/fees.js.map +1 -0
- package/dist/models/file.d.ts +29 -0
- package/dist/models/file.d.ts.map +1 -1
- package/dist/models/folder.d.ts +2 -0
- package/dist/models/folder.d.ts.map +1 -1
- package/dist/models/labChat.d.ts +2 -0
- package/dist/models/labChat.d.ts.map +1 -1
- package/dist/models/marketplace.d.ts +178 -0
- package/dist/models/marketplace.d.ts.map +1 -0
- package/dist/models/marketplace.js +115 -0
- package/dist/models/marketplace.js.map +1 -0
- package/dist/models/moduleItem.d.ts +304 -0
- package/dist/models/moduleItem.d.ts.map +1 -0
- package/dist/models/moduleItem.js +78 -0
- package/dist/models/moduleItem.js.map +1 -0
- package/dist/models/newtonChat.d.ts +1 -0
- package/dist/models/newtonChat.d.ts.map +1 -1
- package/dist/models/school.d.ts +193 -0
- package/dist/models/school.d.ts.map +1 -1
- package/dist/models/school.js +80 -2
- package/dist/models/school.js.map +1 -1
- package/dist/models/section.d.ts +4 -0
- package/dist/models/section.d.ts.map +1 -1
- package/dist/models/worksheet.d.ts +19 -0
- package/dist/models/worksheet.d.ts.map +1 -1
- package/dist/models/worksheet.js +2 -2
- package/dist/models/worksheet.js.map +1 -1
- package/dist/routers/_app.d.ts +11605 -7133
- package/dist/routers/_app.d.ts.map +1 -1
- package/dist/routers/_app.js +12 -2
- package/dist/routers/_app.js.map +1 -1
- package/dist/routers/academicCalendar.d.ts +229 -0
- package/dist/routers/academicCalendar.d.ts.map +1 -0
- package/dist/routers/academicCalendar.js +75 -0
- package/dist/routers/academicCalendar.js.map +1 -0
- package/dist/routers/admin.d.ts +2 -0
- package/dist/routers/admin.d.ts.map +1 -1
- package/dist/routers/agenda.d.ts +8 -0
- package/dist/routers/agenda.d.ts.map +1 -1
- package/dist/routers/assignment.d.ts +75 -0
- package/dist/routers/assignment.d.ts.map +1 -1
- package/dist/routers/assignment.js +10 -2
- package/dist/routers/assignment.js.map +1 -1
- package/dist/routers/attendance.d.ts +103 -0
- package/dist/routers/attendance.d.ts.map +1 -1
- package/dist/routers/attendance.js +8 -5
- package/dist/routers/attendance.js.map +1 -1
- package/dist/routers/class.d.ts +27 -0
- package/dist/routers/class.d.ts.map +1 -1
- package/dist/routers/class.js +6 -2
- package/dist/routers/class.js.map +1 -1
- package/dist/routers/event.d.ts +8 -0
- package/dist/routers/event.d.ts.map +1 -1
- package/dist/routers/fees.d.ts +513 -0
- package/dist/routers/fees.d.ts.map +1 -0
- package/dist/routers/fees.js +88 -0
- package/dist/routers/fees.js.map +1 -0
- package/dist/routers/file.d.ts +2 -0
- package/dist/routers/file.d.ts.map +1 -1
- package/dist/routers/gradebook.d.ts +4 -1
- package/dist/routers/gradebook.d.ts.map +1 -1
- package/dist/routers/marketplace.d.ts +371 -0
- package/dist/routers/marketplace.d.ts.map +1 -0
- package/dist/routers/marketplace.js +87 -0
- package/dist/routers/marketplace.js.map +1 -0
- package/dist/routers/moduleItem.d.ts +263 -0
- package/dist/routers/moduleItem.d.ts.map +1 -0
- package/dist/routers/moduleItem.js +60 -0
- package/dist/routers/moduleItem.js.map +1 -0
- package/dist/routers/parent.d.ts +169 -0
- package/dist/routers/parent.d.ts.map +1 -0
- package/dist/routers/parent.js +49 -0
- package/dist/routers/parent.js.map +1 -0
- package/dist/routers/school.d.ts +476 -6
- package/dist/routers/school.d.ts.map +1 -1
- package/dist/routers/school.js +130 -4
- package/dist/routers/school.js.map +1 -1
- package/dist/routers/worksheet.d.ts +27 -0
- package/dist/routers/worksheet.d.ts.map +1 -1
- package/dist/routers/worksheet.js +10 -3
- package/dist/routers/worksheet.js.map +1 -1
- package/dist/services/academicCalendar.d.ts +173 -0
- package/dist/services/academicCalendar.d.ts.map +1 -0
- package/dist/services/academicCalendar.js +214 -0
- package/dist/services/academicCalendar.js.map +1 -0
- package/dist/services/adminInstitution.d.ts +2 -0
- package/dist/services/adminInstitution.d.ts.map +1 -1
- package/dist/services/agenda.d.ts +8 -0
- package/dist/services/agenda.d.ts.map +1 -1
- package/dist/services/assignment.d.ts +75 -0
- package/dist/services/assignment.d.ts.map +1 -1
- package/dist/services/assignment.js +91 -12
- package/dist/services/assignment.js.map +1 -1
- package/dist/services/attendance.d.ts +323 -10
- package/dist/services/attendance.d.ts.map +1 -1
- package/dist/services/attendance.js +385 -25
- package/dist/services/attendance.js.map +1 -1
- package/dist/services/attendanceMerge.d.ts +53 -0
- package/dist/services/attendanceMerge.d.ts.map +1 -0
- package/dist/services/attendanceMerge.js +87 -0
- package/dist/services/attendanceMerge.js.map +1 -0
- package/dist/services/attendanceRate.d.ts +24 -0
- package/dist/services/attendanceRate.d.ts.map +1 -0
- package/dist/services/attendanceRate.js +31 -0
- package/dist/services/attendanceRate.js.map +1 -0
- package/dist/services/attendanceStats.d.ts +22 -0
- package/dist/services/attendanceStats.d.ts.map +1 -0
- package/dist/services/attendanceStats.js +45 -0
- package/dist/services/attendanceStats.js.map +1 -0
- package/dist/services/class.d.ts +27 -0
- package/dist/services/class.d.ts.map +1 -1
- package/dist/services/class.js +26 -3
- package/dist/services/class.js.map +1 -1
- package/dist/services/event.d.ts +8 -0
- package/dist/services/event.d.ts.map +1 -1
- package/dist/services/fees.d.ts +422 -0
- package/dist/services/fees.d.ts.map +1 -0
- package/dist/services/fees.js +310 -0
- package/dist/services/fees.js.map +1 -0
- package/dist/services/feesAuthz.d.ts +49 -0
- package/dist/services/feesAuthz.d.ts.map +1 -0
- package/dist/services/feesAuthz.js +52 -0
- package/dist/services/feesAuthz.js.map +1 -0
- package/dist/services/file.d.ts +4 -0
- package/dist/services/file.d.ts.map +1 -1
- package/dist/services/gradebook.d.ts +18 -1
- package/dist/services/gradebook.d.ts.map +1 -1
- package/dist/services/gradebook.js +57 -2
- package/dist/services/gradebook.js.map +1 -1
- package/dist/services/idCard.d.ts +11 -0
- package/dist/services/idCard.d.ts.map +1 -0
- package/dist/services/idCard.js +122 -0
- package/dist/services/idCard.js.map +1 -0
- package/dist/services/marketplace.d.ts +301 -0
- package/dist/services/marketplace.d.ts.map +1 -0
- package/dist/services/marketplace.js +628 -0
- package/dist/services/marketplace.js.map +1 -0
- package/dist/services/moduleItem.d.ts +196 -0
- package/dist/services/moduleItem.d.ts.map +1 -0
- package/dist/services/moduleItem.js +188 -0
- package/dist/services/moduleItem.js.map +1 -0
- package/dist/services/notification.d.ts +58 -0
- package/dist/services/notification.d.ts.map +1 -1
- package/dist/services/notification.js +30 -2
- package/dist/services/notification.js.map +1 -1
- package/dist/services/parentPortal.d.ts +133 -0
- package/dist/services/parentPortal.d.ts.map +1 -0
- package/dist/services/parentPortal.js +328 -0
- package/dist/services/parentPortal.js.map +1 -0
- package/dist/services/school.d.ts +122 -3
- package/dist/services/school.d.ts.map +1 -1
- package/dist/services/school.js +179 -47
- package/dist/services/school.js.map +1 -1
- package/dist/services/studentImport.d.ts +34 -0
- package/dist/services/studentImport.d.ts.map +1 -0
- package/dist/services/studentImport.js +236 -0
- package/dist/services/studentImport.js.map +1 -0
- package/dist/services/transcript.d.ts +61 -0
- package/dist/services/transcript.d.ts.map +1 -0
- package/dist/services/transcript.js +243 -0
- package/dist/services/transcript.js.map +1 -0
- package/dist/services/worksheet.d.ts +22 -0
- package/dist/services/worksheet.d.ts.map +1 -1
- package/dist/services/worksheet.js +94 -2
- package/dist/services/worksheet.js.map +1 -1
- package/dist/trpc.d.ts +1 -1
- package/dist/trpc.d.ts.map +1 -1
- package/dist/trpc.js +5 -5
- package/dist/trpc.js.map +1 -1
- package/dist/utils/adminPanelAccess.d.ts +4 -5
- package/dist/utils/adminPanelAccess.d.ts.map +1 -1
- package/dist/utils/adminPanelAccess.js +12 -34
- package/dist/utils/adminPanelAccess.js.map +1 -1
- package/package.json +2 -1
- package/prisma/migrations/20260804120000_add_attendance_records_and_excusals/migration.sql +114 -0
- package/prisma/migrations/20260804120100_add_fee_plans_invoices_payments/migration.sql +101 -0
- package/prisma/migrations/20260804120200_add_marketplace_listings/migration.sql +54 -0
- package/prisma/migrations/20260804120300_content_platform_b3_b9/migration.sql +63 -0
- package/prisma/migrations/20260804120400_c_academic_ops/migration.sql +77 -0
- package/prisma/schema.prisma +371 -11
- package/scripts/import-nepal-cdc-curriculum.ts +379 -0
- package/src/lib/assignmentTypeDefaults.ts +222 -0
- package/src/lib/config/env.ts +0 -3
- package/src/lib/feePdf.ts +199 -0
- package/src/lib/feePdfFormat.ts +14 -0
- package/src/lib/idCardPdf.ts +336 -0
- package/src/lib/pdfLetterhead.ts +124 -0
- package/src/lib/transcriptPdf.ts +502 -0
- package/src/models/academicCalendar.ts +139 -0
- package/src/models/attendance.ts +704 -73
- package/src/models/class.ts +1 -0
- package/src/models/fees.ts +349 -0
- package/src/models/marketplace.ts +158 -0
- package/src/models/moduleItem.ts +107 -0
- package/src/models/school.ts +95 -0
- package/src/models/worksheet.ts +2 -0
- package/src/routers/_app.ts +10 -0
- package/src/routers/academicCalendar.ts +103 -0
- package/src/routers/assignment.ts +8 -0
- package/src/routers/attendance.ts +7 -3
- package/src/routers/class.ts +4 -0
- package/src/routers/fees.ts +126 -0
- package/src/routers/marketplace.ts +134 -0
- package/src/routers/moduleItem.ts +89 -0
- package/src/routers/parent.ts +68 -0
- package/src/routers/school.ts +184 -1
- package/src/routers/worksheet.ts +11 -0
- package/src/services/academicCalendar.ts +299 -0
- package/src/services/assignment.ts +122 -12
- package/src/services/attendance.ts +548 -26
- package/src/services/attendanceMerge.ts +139 -0
- package/src/services/attendanceRate.ts +41 -0
- package/src/services/attendanceStats.ts +63 -0
- package/src/services/class.ts +25 -1
- package/src/services/fees.ts +424 -0
- package/src/services/feesAuthz.ts +77 -0
- package/src/services/gradebook.ts +70 -0
- package/src/services/idCard.ts +147 -0
- package/src/services/marketplace.ts +785 -0
- package/src/services/moduleItem.ts +274 -0
- package/src/services/notification.ts +43 -0
- package/src/services/parentPortal.ts +380 -0
- package/src/services/school.ts +243 -45
- package/src/services/studentImport.ts +273 -0
- package/src/services/transcript.ts +313 -0
- package/src/services/worksheet.ts +111 -0
- package/src/trpc.ts +3 -3
- package/src/utils/adminPanelAccess.ts +12 -35
- package/tests/unit/assignmentTypeDefaults.test.ts +52 -0
- package/tests/unit/lib/feePdf.test.ts +15 -0
- package/tests/unit/lib/idCardPdf.test.ts +40 -0
- package/tests/unit/lib/transcriptPdf.test.ts +111 -0
- package/tests/unit/services/attendanceMerge.test.ts +90 -0
- package/tests/unit/services/attendanceRate.test.ts +38 -0
- package/tests/unit/services/attendanceStats.test.ts +54 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MarketplaceListing data access — B1 v1 (markschemes, worksheets, files).
|
|
3
|
+
* Isolated Marketplace* tables only; no Attendance/Fee coupling.
|
|
4
|
+
*/
|
|
5
|
+
import type { MarketplaceListingType, MarketplaceVisibility, Prisma } from "@prisma/client";
|
|
6
|
+
export declare const marketplaceListingInclude: {
|
|
7
|
+
readonly author: {
|
|
8
|
+
readonly select: {
|
|
9
|
+
readonly id: true;
|
|
10
|
+
readonly username: true;
|
|
11
|
+
readonly profile: {
|
|
12
|
+
readonly select: {
|
|
13
|
+
readonly displayName: true;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
readonly school: {
|
|
19
|
+
readonly select: {
|
|
20
|
+
readonly id: true;
|
|
21
|
+
readonly name: true;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export type MarketplaceListingWithRelations = Prisma.MarketplaceListingGetPayload<{
|
|
26
|
+
include: typeof marketplaceListingInclude;
|
|
27
|
+
}>;
|
|
28
|
+
export declare function createMarketplaceListing(data: {
|
|
29
|
+
type: MarketplaceListingType;
|
|
30
|
+
title: string;
|
|
31
|
+
description?: string | null;
|
|
32
|
+
authorId: string;
|
|
33
|
+
schoolId?: string | null;
|
|
34
|
+
visibility: MarketplaceVisibility;
|
|
35
|
+
markSchemeId?: string | null;
|
|
36
|
+
worksheetId?: string | null;
|
|
37
|
+
fileId?: string | null;
|
|
38
|
+
payload: Prisma.InputJsonValue;
|
|
39
|
+
tags?: string[];
|
|
40
|
+
}): Promise<{
|
|
41
|
+
school: {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
} | null;
|
|
45
|
+
author: {
|
|
46
|
+
id: string;
|
|
47
|
+
username: string;
|
|
48
|
+
profile: {
|
|
49
|
+
displayName: string | null;
|
|
50
|
+
} | null;
|
|
51
|
+
};
|
|
52
|
+
} & {
|
|
53
|
+
type: import(".prisma/client").$Enums.MarketplaceListingType;
|
|
54
|
+
payload: Prisma.JsonValue;
|
|
55
|
+
id: string;
|
|
56
|
+
createdAt: Date;
|
|
57
|
+
updatedAt: Date;
|
|
58
|
+
schoolId: string | null;
|
|
59
|
+
tags: string[];
|
|
60
|
+
description: string | null;
|
|
61
|
+
title: string;
|
|
62
|
+
worksheetId: string | null;
|
|
63
|
+
markSchemeId: string | null;
|
|
64
|
+
authorId: string;
|
|
65
|
+
fileId: string | null;
|
|
66
|
+
visibility: import(".prisma/client").$Enums.MarketplaceVisibility;
|
|
67
|
+
reportCount: number;
|
|
68
|
+
isHidden: boolean;
|
|
69
|
+
}>;
|
|
70
|
+
export declare function findMarketplaceListingById(id: string): Promise<({
|
|
71
|
+
school: {
|
|
72
|
+
id: string;
|
|
73
|
+
name: string;
|
|
74
|
+
} | null;
|
|
75
|
+
author: {
|
|
76
|
+
id: string;
|
|
77
|
+
username: string;
|
|
78
|
+
profile: {
|
|
79
|
+
displayName: string | null;
|
|
80
|
+
} | null;
|
|
81
|
+
};
|
|
82
|
+
} & {
|
|
83
|
+
type: import(".prisma/client").$Enums.MarketplaceListingType;
|
|
84
|
+
payload: Prisma.JsonValue;
|
|
85
|
+
id: string;
|
|
86
|
+
createdAt: Date;
|
|
87
|
+
updatedAt: Date;
|
|
88
|
+
schoolId: string | null;
|
|
89
|
+
tags: string[];
|
|
90
|
+
description: string | null;
|
|
91
|
+
title: string;
|
|
92
|
+
worksheetId: string | null;
|
|
93
|
+
markSchemeId: string | null;
|
|
94
|
+
authorId: string;
|
|
95
|
+
fileId: string | null;
|
|
96
|
+
visibility: import(".prisma/client").$Enums.MarketplaceVisibility;
|
|
97
|
+
reportCount: number;
|
|
98
|
+
isHidden: boolean;
|
|
99
|
+
}) | null>;
|
|
100
|
+
export declare function searchMarketplaceListings(input: {
|
|
101
|
+
schoolIds: string[];
|
|
102
|
+
type?: MarketplaceListingType;
|
|
103
|
+
search?: string;
|
|
104
|
+
tags?: string[];
|
|
105
|
+
cursor?: string;
|
|
106
|
+
limit: number;
|
|
107
|
+
/** When true, include the caller's own hidden listings (for authors). */
|
|
108
|
+
authorId?: string;
|
|
109
|
+
}): Promise<{
|
|
110
|
+
items: ({
|
|
111
|
+
school: {
|
|
112
|
+
id: string;
|
|
113
|
+
name: string;
|
|
114
|
+
} | null;
|
|
115
|
+
author: {
|
|
116
|
+
id: string;
|
|
117
|
+
username: string;
|
|
118
|
+
profile: {
|
|
119
|
+
displayName: string | null;
|
|
120
|
+
} | null;
|
|
121
|
+
};
|
|
122
|
+
} & {
|
|
123
|
+
type: import(".prisma/client").$Enums.MarketplaceListingType;
|
|
124
|
+
payload: Prisma.JsonValue;
|
|
125
|
+
id: string;
|
|
126
|
+
createdAt: Date;
|
|
127
|
+
updatedAt: Date;
|
|
128
|
+
schoolId: string | null;
|
|
129
|
+
tags: string[];
|
|
130
|
+
description: string | null;
|
|
131
|
+
title: string;
|
|
132
|
+
worksheetId: string | null;
|
|
133
|
+
markSchemeId: string | null;
|
|
134
|
+
authorId: string;
|
|
135
|
+
fileId: string | null;
|
|
136
|
+
visibility: import(".prisma/client").$Enums.MarketplaceVisibility;
|
|
137
|
+
reportCount: number;
|
|
138
|
+
isHidden: boolean;
|
|
139
|
+
})[];
|
|
140
|
+
nextCursor: string | undefined;
|
|
141
|
+
}>;
|
|
142
|
+
export declare function incrementMarketplaceReportCount(id: string): Promise<{
|
|
143
|
+
id: string;
|
|
144
|
+
reportCount: number;
|
|
145
|
+
isHidden: boolean;
|
|
146
|
+
}>;
|
|
147
|
+
export declare function setMarketplaceListingHidden(id: string, isHidden: boolean): Promise<{
|
|
148
|
+
school: {
|
|
149
|
+
id: string;
|
|
150
|
+
name: string;
|
|
151
|
+
} | null;
|
|
152
|
+
author: {
|
|
153
|
+
id: string;
|
|
154
|
+
username: string;
|
|
155
|
+
profile: {
|
|
156
|
+
displayName: string | null;
|
|
157
|
+
} | null;
|
|
158
|
+
};
|
|
159
|
+
} & {
|
|
160
|
+
type: import(".prisma/client").$Enums.MarketplaceListingType;
|
|
161
|
+
payload: Prisma.JsonValue;
|
|
162
|
+
id: string;
|
|
163
|
+
createdAt: Date;
|
|
164
|
+
updatedAt: Date;
|
|
165
|
+
schoolId: string | null;
|
|
166
|
+
tags: string[];
|
|
167
|
+
description: string | null;
|
|
168
|
+
title: string;
|
|
169
|
+
worksheetId: string | null;
|
|
170
|
+
markSchemeId: string | null;
|
|
171
|
+
authorId: string;
|
|
172
|
+
fileId: string | null;
|
|
173
|
+
visibility: import(".prisma/client").$Enums.MarketplaceVisibility;
|
|
174
|
+
reportCount: number;
|
|
175
|
+
isHidden: boolean;
|
|
176
|
+
}>;
|
|
177
|
+
export declare function deleteMarketplaceListing(id: string, authorId: string): Promise<import("@prisma/client/runtime/library.js").GetBatchResult>;
|
|
178
|
+
//# sourceMappingURL=marketplace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace.d.ts","sourceRoot":"/","sources":["models/marketplace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,EACP,MAAM,gBAAgB,CAAC;AAGxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;CAS5B,CAAC;AAEX,MAAM,MAAM,+BAA+B,GAAG,MAAM,CAAC,4BAA4B,CAAC;IAChF,OAAO,EAAE,OAAO,yBAAyB,CAAC;CAC3C,CAAC,CAAC;AAEH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,qBAAqB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiBA;AAED,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAK1D;AAED,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DA;AAED,wBAAsB,+BAA+B,CAAC,EAAE,EAAE,MAAM;;;;GAM/D;AAED,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOlB;AAED,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uEAI1E"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c91cb026-d857-5f1e-879c-e8dcd659347f")}catch(e){}}();
|
|
3
|
+
import { prisma } from "../lib/prisma.js";
|
|
4
|
+
export const marketplaceListingInclude = {
|
|
5
|
+
author: {
|
|
6
|
+
select: {
|
|
7
|
+
id: true,
|
|
8
|
+
username: true,
|
|
9
|
+
profile: { select: { displayName: true } },
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
school: { select: { id: true, name: true } },
|
|
13
|
+
};
|
|
14
|
+
export async function createMarketplaceListing(data) {
|
|
15
|
+
return prisma.marketplaceListing.create({
|
|
16
|
+
data: {
|
|
17
|
+
type: data.type,
|
|
18
|
+
title: data.title,
|
|
19
|
+
description: data.description ?? null,
|
|
20
|
+
authorId: data.authorId,
|
|
21
|
+
schoolId: data.schoolId ?? null,
|
|
22
|
+
visibility: data.visibility,
|
|
23
|
+
markSchemeId: data.markSchemeId ?? null,
|
|
24
|
+
worksheetId: data.worksheetId ?? null,
|
|
25
|
+
fileId: data.fileId ?? null,
|
|
26
|
+
payload: data.payload,
|
|
27
|
+
tags: data.tags ?? [],
|
|
28
|
+
},
|
|
29
|
+
include: marketplaceListingInclude,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export async function findMarketplaceListingById(id) {
|
|
33
|
+
return prisma.marketplaceListing.findUnique({
|
|
34
|
+
where: { id },
|
|
35
|
+
include: marketplaceListingInclude,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export async function searchMarketplaceListings(input) {
|
|
39
|
+
const search = input.search?.trim();
|
|
40
|
+
const where = {
|
|
41
|
+
AND: [
|
|
42
|
+
{
|
|
43
|
+
OR: [
|
|
44
|
+
{ visibility: "PUBLIC", isHidden: false },
|
|
45
|
+
{
|
|
46
|
+
visibility: "SCHOOL",
|
|
47
|
+
isHidden: false,
|
|
48
|
+
schoolId: { in: input.schoolIds },
|
|
49
|
+
},
|
|
50
|
+
// Authors can always see their own listings (including hidden).
|
|
51
|
+
...(input.authorId ? [{ authorId: input.authorId }] : []),
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
...(input.type ? [{ type: input.type }] : []),
|
|
55
|
+
...(input.tags?.length
|
|
56
|
+
? [{ tags: { hasSome: input.tags } }]
|
|
57
|
+
: []),
|
|
58
|
+
...(search
|
|
59
|
+
? [
|
|
60
|
+
{
|
|
61
|
+
OR: [
|
|
62
|
+
{ title: { contains: search, mode: "insensitive" } },
|
|
63
|
+
{
|
|
64
|
+
description: {
|
|
65
|
+
contains: search,
|
|
66
|
+
mode: "insensitive",
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{ tags: { has: search } },
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
]
|
|
73
|
+
: []),
|
|
74
|
+
],
|
|
75
|
+
};
|
|
76
|
+
const rows = await prisma.marketplaceListing.findMany({
|
|
77
|
+
where,
|
|
78
|
+
include: marketplaceListingInclude,
|
|
79
|
+
orderBy: [{ createdAt: "desc" }, { id: "desc" }],
|
|
80
|
+
take: input.limit + 1,
|
|
81
|
+
...(input.cursor
|
|
82
|
+
? {
|
|
83
|
+
cursor: { id: input.cursor },
|
|
84
|
+
skip: 1,
|
|
85
|
+
}
|
|
86
|
+
: {}),
|
|
87
|
+
});
|
|
88
|
+
let nextCursor;
|
|
89
|
+
if (rows.length > input.limit) {
|
|
90
|
+
const next = rows.pop();
|
|
91
|
+
nextCursor = next?.id;
|
|
92
|
+
}
|
|
93
|
+
return { items: rows, nextCursor };
|
|
94
|
+
}
|
|
95
|
+
export async function incrementMarketplaceReportCount(id) {
|
|
96
|
+
return prisma.marketplaceListing.update({
|
|
97
|
+
where: { id },
|
|
98
|
+
data: { reportCount: { increment: 1 } },
|
|
99
|
+
select: { id: true, reportCount: true, isHidden: true },
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
export async function setMarketplaceListingHidden(id, isHidden) {
|
|
103
|
+
return prisma.marketplaceListing.update({
|
|
104
|
+
where: { id },
|
|
105
|
+
data: { isHidden },
|
|
106
|
+
include: marketplaceListingInclude,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
export async function deleteMarketplaceListing(id, authorId) {
|
|
110
|
+
return prisma.marketplaceListing.deleteMany({
|
|
111
|
+
where: { id, authorId },
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=marketplace.js.map
|
|
115
|
+
//# debugId=c91cb026-d857-5f1e-879c-e8dcd659347f
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace.js","sources":["models/marketplace.ts"],"sourceRoot":"/","sourcesContent":["/**\n * MarketplaceListing data access — B1 v1 (markschemes, worksheets, files).\n * Isolated Marketplace* tables only; no Attendance/Fee coupling.\n */\nimport type {\n MarketplaceListingType,\n MarketplaceVisibility,\n Prisma,\n} from \"@prisma/client\";\nimport { prisma } from \"../lib/prisma.js\";\n\nexport const marketplaceListingInclude = {\n author: {\n select: {\n id: true,\n username: true,\n profile: { select: { displayName: true } },\n },\n },\n school: { select: { id: true, name: true } },\n} as const;\n\nexport type MarketplaceListingWithRelations = Prisma.MarketplaceListingGetPayload<{\n include: typeof marketplaceListingInclude;\n}>;\n\nexport async function createMarketplaceListing(data: {\n type: MarketplaceListingType;\n title: string;\n description?: string | null;\n authorId: string;\n schoolId?: string | null;\n visibility: MarketplaceVisibility;\n markSchemeId?: string | null;\n worksheetId?: string | null;\n fileId?: string | null;\n payload: Prisma.InputJsonValue;\n tags?: string[];\n}) {\n return prisma.marketplaceListing.create({\n data: {\n type: data.type,\n title: data.title,\n description: data.description ?? null,\n authorId: data.authorId,\n schoolId: data.schoolId ?? null,\n visibility: data.visibility,\n markSchemeId: data.markSchemeId ?? null,\n worksheetId: data.worksheetId ?? null,\n fileId: data.fileId ?? null,\n payload: data.payload,\n tags: data.tags ?? [],\n },\n include: marketplaceListingInclude,\n });\n}\n\nexport async function findMarketplaceListingById(id: string) {\n return prisma.marketplaceListing.findUnique({\n where: { id },\n include: marketplaceListingInclude,\n });\n}\n\nexport async function searchMarketplaceListings(input: {\n schoolIds: string[];\n type?: MarketplaceListingType;\n search?: string;\n tags?: string[];\n cursor?: string;\n limit: number;\n /** When true, include the caller's own hidden listings (for authors). */\n authorId?: string;\n}) {\n const search = input.search?.trim();\n const where: Prisma.MarketplaceListingWhereInput = {\n AND: [\n {\n OR: [\n { visibility: \"PUBLIC\", isHidden: false },\n {\n visibility: \"SCHOOL\",\n isHidden: false,\n schoolId: { in: input.schoolIds },\n },\n // Authors can always see their own listings (including hidden).\n ...(input.authorId ? [{ authorId: input.authorId }] : []),\n ],\n },\n ...(input.type ? [{ type: input.type }] : []),\n ...(input.tags?.length\n ? [{ tags: { hasSome: input.tags } }]\n : []),\n ...(search\n ? [\n {\n OR: [\n { title: { contains: search, mode: \"insensitive\" as const } },\n {\n description: {\n contains: search,\n mode: \"insensitive\" as const,\n },\n },\n { tags: { has: search } },\n ],\n },\n ]\n : []),\n ],\n };\n\n const rows = await prisma.marketplaceListing.findMany({\n where,\n include: marketplaceListingInclude,\n orderBy: [{ createdAt: \"desc\" }, { id: \"desc\" }],\n take: input.limit + 1,\n ...(input.cursor\n ? {\n cursor: { id: input.cursor },\n skip: 1,\n }\n : {}),\n });\n\n let nextCursor: string | undefined;\n if (rows.length > input.limit) {\n const next = rows.pop();\n nextCursor = next?.id;\n }\n\n return { items: rows, nextCursor };\n}\n\nexport async function incrementMarketplaceReportCount(id: string) {\n return prisma.marketplaceListing.update({\n where: { id },\n data: { reportCount: { increment: 1 } },\n select: { id: true, reportCount: true, isHidden: true },\n });\n}\n\nexport async function setMarketplaceListingHidden(\n id: string,\n isHidden: boolean\n) {\n return prisma.marketplaceListing.update({\n where: { id },\n data: { isHidden },\n include: marketplaceListingInclude,\n });\n}\n\nexport async function deleteMarketplaceListing(id: string, authorId: string) {\n return prisma.marketplaceListing.deleteMany({\n where: { id, authorId },\n });\n}\n"],"names":[],"mappings":"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","debug_id":"c91cb026-d857-5f1e-879c-e8dcd659347f"}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import type { ModuleItemType } from "@prisma/client";
|
|
2
|
+
export declare function findModuleItemsByClassId(classId: string): import("@prisma/client/runtime/library.js").PrismaPromise<({
|
|
3
|
+
section: {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
color: string | null;
|
|
7
|
+
classId: string;
|
|
8
|
+
};
|
|
9
|
+
files: {
|
|
10
|
+
path: string;
|
|
11
|
+
type: string;
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
size: number | null;
|
|
15
|
+
uploadStatus: import(".prisma/client").$Enums.UploadStatus;
|
|
16
|
+
}[];
|
|
17
|
+
} & {
|
|
18
|
+
type: import(".prisma/client").$Enums.ModuleItemType;
|
|
19
|
+
id: string;
|
|
20
|
+
createdAt: Date;
|
|
21
|
+
updatedAt: Date;
|
|
22
|
+
title: string;
|
|
23
|
+
body: string | null;
|
|
24
|
+
sectionId: string;
|
|
25
|
+
order: number | null;
|
|
26
|
+
published: boolean;
|
|
27
|
+
})[]>;
|
|
28
|
+
export declare function findModuleItemsBySectionId(sectionId: string): import("@prisma/client/runtime/library.js").PrismaPromise<({
|
|
29
|
+
section: {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
color: string | null;
|
|
33
|
+
classId: string;
|
|
34
|
+
};
|
|
35
|
+
files: {
|
|
36
|
+
path: string;
|
|
37
|
+
type: string;
|
|
38
|
+
id: string;
|
|
39
|
+
name: string;
|
|
40
|
+
size: number | null;
|
|
41
|
+
uploadStatus: import(".prisma/client").$Enums.UploadStatus;
|
|
42
|
+
}[];
|
|
43
|
+
} & {
|
|
44
|
+
type: import(".prisma/client").$Enums.ModuleItemType;
|
|
45
|
+
id: string;
|
|
46
|
+
createdAt: Date;
|
|
47
|
+
updatedAt: Date;
|
|
48
|
+
title: string;
|
|
49
|
+
body: string | null;
|
|
50
|
+
sectionId: string;
|
|
51
|
+
order: number | null;
|
|
52
|
+
published: boolean;
|
|
53
|
+
})[]>;
|
|
54
|
+
export declare function findModuleItemByIdForMember(id: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
|
|
55
|
+
result: {
|
|
56
|
+
userProfile: {
|
|
57
|
+
profilePicture: () => {
|
|
58
|
+
needs: {
|
|
59
|
+
profilePicture: true;
|
|
60
|
+
};
|
|
61
|
+
compute(profile: {
|
|
62
|
+
profilePicture: string | null;
|
|
63
|
+
}): string | null;
|
|
64
|
+
};
|
|
65
|
+
profilePictureThumbnail: () => {
|
|
66
|
+
needs: {
|
|
67
|
+
profilePictureThumbnail: true;
|
|
68
|
+
};
|
|
69
|
+
compute(profile: {
|
|
70
|
+
profilePictureThumbnail: string | null;
|
|
71
|
+
}): string | null;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
model: {};
|
|
76
|
+
query: {};
|
|
77
|
+
client: {};
|
|
78
|
+
}, {}>, "ModuleItem", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
|
|
79
|
+
section: {
|
|
80
|
+
id: string;
|
|
81
|
+
name: string;
|
|
82
|
+
color: string | null;
|
|
83
|
+
classId: string;
|
|
84
|
+
};
|
|
85
|
+
files: {
|
|
86
|
+
path: string;
|
|
87
|
+
type: string;
|
|
88
|
+
id: string;
|
|
89
|
+
name: string;
|
|
90
|
+
size: number | null;
|
|
91
|
+
uploadStatus: import(".prisma/client").$Enums.UploadStatus;
|
|
92
|
+
}[];
|
|
93
|
+
} & {
|
|
94
|
+
type: import(".prisma/client").$Enums.ModuleItemType;
|
|
95
|
+
id: string;
|
|
96
|
+
createdAt: Date;
|
|
97
|
+
updatedAt: Date;
|
|
98
|
+
title: string;
|
|
99
|
+
body: string | null;
|
|
100
|
+
sectionId: string;
|
|
101
|
+
order: number | null;
|
|
102
|
+
published: boolean;
|
|
103
|
+
}) | null>;
|
|
104
|
+
export declare function findModuleItemByIdForTeacher(id: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
|
|
105
|
+
result: {
|
|
106
|
+
userProfile: {
|
|
107
|
+
profilePicture: () => {
|
|
108
|
+
needs: {
|
|
109
|
+
profilePicture: true;
|
|
110
|
+
};
|
|
111
|
+
compute(profile: {
|
|
112
|
+
profilePicture: string | null;
|
|
113
|
+
}): string | null;
|
|
114
|
+
};
|
|
115
|
+
profilePictureThumbnail: () => {
|
|
116
|
+
needs: {
|
|
117
|
+
profilePictureThumbnail: true;
|
|
118
|
+
};
|
|
119
|
+
compute(profile: {
|
|
120
|
+
profilePictureThumbnail: string | null;
|
|
121
|
+
}): string | null;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
model: {};
|
|
126
|
+
query: {};
|
|
127
|
+
client: {};
|
|
128
|
+
}, {}>, "ModuleItem", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
|
|
129
|
+
section: {
|
|
130
|
+
id: string;
|
|
131
|
+
name: string;
|
|
132
|
+
color: string | null;
|
|
133
|
+
classId: string;
|
|
134
|
+
};
|
|
135
|
+
files: {
|
|
136
|
+
path: string;
|
|
137
|
+
type: string;
|
|
138
|
+
id: string;
|
|
139
|
+
name: string;
|
|
140
|
+
size: number | null;
|
|
141
|
+
uploadStatus: import(".prisma/client").$Enums.UploadStatus;
|
|
142
|
+
}[];
|
|
143
|
+
} & {
|
|
144
|
+
type: import(".prisma/client").$Enums.ModuleItemType;
|
|
145
|
+
id: string;
|
|
146
|
+
createdAt: Date;
|
|
147
|
+
updatedAt: Date;
|
|
148
|
+
title: string;
|
|
149
|
+
body: string | null;
|
|
150
|
+
sectionId: string;
|
|
151
|
+
order: number | null;
|
|
152
|
+
published: boolean;
|
|
153
|
+
}) | null>;
|
|
154
|
+
export declare function createModuleItem(data: {
|
|
155
|
+
sectionId: string;
|
|
156
|
+
title: string;
|
|
157
|
+
type: ModuleItemType;
|
|
158
|
+
body?: string | null;
|
|
159
|
+
order?: number | null;
|
|
160
|
+
published?: boolean;
|
|
161
|
+
}): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
|
|
162
|
+
result: {
|
|
163
|
+
userProfile: {
|
|
164
|
+
profilePicture: () => {
|
|
165
|
+
needs: {
|
|
166
|
+
profilePicture: true;
|
|
167
|
+
};
|
|
168
|
+
compute(profile: {
|
|
169
|
+
profilePicture: string | null;
|
|
170
|
+
}): string | null;
|
|
171
|
+
};
|
|
172
|
+
profilePictureThumbnail: () => {
|
|
173
|
+
needs: {
|
|
174
|
+
profilePictureThumbnail: true;
|
|
175
|
+
};
|
|
176
|
+
compute(profile: {
|
|
177
|
+
profilePictureThumbnail: string | null;
|
|
178
|
+
}): string | null;
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
model: {};
|
|
183
|
+
query: {};
|
|
184
|
+
client: {};
|
|
185
|
+
}, {}>, "ModuleItem", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
|
|
186
|
+
section: {
|
|
187
|
+
id: string;
|
|
188
|
+
name: string;
|
|
189
|
+
color: string | null;
|
|
190
|
+
classId: string;
|
|
191
|
+
};
|
|
192
|
+
files: {
|
|
193
|
+
path: string;
|
|
194
|
+
type: string;
|
|
195
|
+
id: string;
|
|
196
|
+
name: string;
|
|
197
|
+
size: number | null;
|
|
198
|
+
uploadStatus: import(".prisma/client").$Enums.UploadStatus;
|
|
199
|
+
}[];
|
|
200
|
+
} & {
|
|
201
|
+
type: import(".prisma/client").$Enums.ModuleItemType;
|
|
202
|
+
id: string;
|
|
203
|
+
createdAt: Date;
|
|
204
|
+
updatedAt: Date;
|
|
205
|
+
title: string;
|
|
206
|
+
body: string | null;
|
|
207
|
+
sectionId: string;
|
|
208
|
+
order: number | null;
|
|
209
|
+
published: boolean;
|
|
210
|
+
}>;
|
|
211
|
+
export declare function updateModuleItem(id: string, data: {
|
|
212
|
+
title?: string;
|
|
213
|
+
body?: string | null;
|
|
214
|
+
order?: number | null;
|
|
215
|
+
published?: boolean;
|
|
216
|
+
type?: ModuleItemType;
|
|
217
|
+
sectionId?: string;
|
|
218
|
+
}): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
|
|
219
|
+
result: {
|
|
220
|
+
userProfile: {
|
|
221
|
+
profilePicture: () => {
|
|
222
|
+
needs: {
|
|
223
|
+
profilePicture: true;
|
|
224
|
+
};
|
|
225
|
+
compute(profile: {
|
|
226
|
+
profilePicture: string | null;
|
|
227
|
+
}): string | null;
|
|
228
|
+
};
|
|
229
|
+
profilePictureThumbnail: () => {
|
|
230
|
+
needs: {
|
|
231
|
+
profilePictureThumbnail: true;
|
|
232
|
+
};
|
|
233
|
+
compute(profile: {
|
|
234
|
+
profilePictureThumbnail: string | null;
|
|
235
|
+
}): string | null;
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
model: {};
|
|
240
|
+
query: {};
|
|
241
|
+
client: {};
|
|
242
|
+
}, {}>, "ModuleItem", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
|
|
243
|
+
section: {
|
|
244
|
+
id: string;
|
|
245
|
+
name: string;
|
|
246
|
+
color: string | null;
|
|
247
|
+
classId: string;
|
|
248
|
+
};
|
|
249
|
+
files: {
|
|
250
|
+
path: string;
|
|
251
|
+
type: string;
|
|
252
|
+
id: string;
|
|
253
|
+
name: string;
|
|
254
|
+
size: number | null;
|
|
255
|
+
uploadStatus: import(".prisma/client").$Enums.UploadStatus;
|
|
256
|
+
}[];
|
|
257
|
+
} & {
|
|
258
|
+
type: import(".prisma/client").$Enums.ModuleItemType;
|
|
259
|
+
id: string;
|
|
260
|
+
createdAt: Date;
|
|
261
|
+
updatedAt: Date;
|
|
262
|
+
title: string;
|
|
263
|
+
body: string | null;
|
|
264
|
+
sectionId: string;
|
|
265
|
+
order: number | null;
|
|
266
|
+
published: boolean;
|
|
267
|
+
}>;
|
|
268
|
+
export declare function deleteModuleItem(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
|
|
269
|
+
result: {
|
|
270
|
+
userProfile: {
|
|
271
|
+
profilePicture: () => {
|
|
272
|
+
needs: {
|
|
273
|
+
profilePicture: true;
|
|
274
|
+
};
|
|
275
|
+
compute(profile: {
|
|
276
|
+
profilePicture: string | null;
|
|
277
|
+
}): string | null;
|
|
278
|
+
};
|
|
279
|
+
profilePictureThumbnail: () => {
|
|
280
|
+
needs: {
|
|
281
|
+
profilePictureThumbnail: true;
|
|
282
|
+
};
|
|
283
|
+
compute(profile: {
|
|
284
|
+
profilePictureThumbnail: string | null;
|
|
285
|
+
}): string | null;
|
|
286
|
+
};
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
model: {};
|
|
290
|
+
query: {};
|
|
291
|
+
client: {};
|
|
292
|
+
}, {}>, "ModuleItem", "delete", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
|
|
293
|
+
type: import(".prisma/client").$Enums.ModuleItemType;
|
|
294
|
+
id: string;
|
|
295
|
+
createdAt: Date;
|
|
296
|
+
updatedAt: Date;
|
|
297
|
+
title: string;
|
|
298
|
+
body: string | null;
|
|
299
|
+
sectionId: string;
|
|
300
|
+
order: number | null;
|
|
301
|
+
published: boolean;
|
|
302
|
+
}>;
|
|
303
|
+
export declare function attachFilesToModuleItem(moduleItemId: string, fileIds: string[]): import("@prisma/client/runtime/library.js").PrismaPromise<import("@prisma/client/runtime/library.js").GetBatchResult>;
|
|
304
|
+
//# sourceMappingURL=moduleItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moduleItem.d.ts","sourceRoot":"/","sources":["models/moduleItem.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAsBrD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;MAMvD;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;MAM3D;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAQrE;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAQtE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKA;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE1C;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EAAE,yHAMlB"}
|