wedance-shared 1.0.189 → 1.0.190
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/dist/types/school.d.ts +106 -14
- package/package.json +1 -1
package/dist/types/school.d.ts
CHANGED
|
@@ -23,6 +23,11 @@ export interface SchoolStudent {
|
|
|
23
23
|
createdAt: string;
|
|
24
24
|
updatedAt: string;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Lightweight student projection for rosters, attendance, and check-in.
|
|
28
|
+
* Populated server-side via a join.
|
|
29
|
+
*/
|
|
30
|
+
export type SchoolStudentSummary = Pick<SchoolStudent, "id" | "firstName" | "lastName" | "email" | "phone" | "status" | "userId">;
|
|
26
31
|
/** Row shape for `public.school_staff`. */
|
|
27
32
|
export interface SchoolStaff {
|
|
28
33
|
id: string;
|
|
@@ -42,6 +47,30 @@ export interface SchoolStaff {
|
|
|
42
47
|
createdAt: string;
|
|
43
48
|
updatedAt: string;
|
|
44
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Lightweight staff projection for schedule and class display.
|
|
52
|
+
* Populated server-side via a join.
|
|
53
|
+
*/
|
|
54
|
+
export type SchoolStaffSummary = Pick<SchoolStaff, "id" | "firstName" | "lastName" | "email" | "roles" | "status" | "userId">;
|
|
55
|
+
export type SchoolRoomStatus = "active" | "inactive";
|
|
56
|
+
/** Row shape for `public.school_rooms`. */
|
|
57
|
+
export interface SchoolRoom {
|
|
58
|
+
id: string;
|
|
59
|
+
organizerId: string;
|
|
60
|
+
name: string;
|
|
61
|
+
location: string | null;
|
|
62
|
+
capacity: number | null;
|
|
63
|
+
color: string | null;
|
|
64
|
+
position: number;
|
|
65
|
+
status: SchoolRoomStatus;
|
|
66
|
+
createdAt: string;
|
|
67
|
+
updatedAt: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Lightweight room projection for schedule and session display.
|
|
71
|
+
* Populated server-side via a join.
|
|
72
|
+
*/
|
|
73
|
+
export type SchoolRoomSummary = Pick<SchoolRoom, "id" | "name" | "location" | "color" | "capacity">;
|
|
45
74
|
/** Row shape for `public.school_classes`. */
|
|
46
75
|
export interface SchoolClass {
|
|
47
76
|
id: string;
|
|
@@ -69,9 +98,30 @@ export interface SchoolClass {
|
|
|
69
98
|
/** Fallback session length when a session has no explicit endsAt override. */
|
|
70
99
|
defaultClassDurationMinutes: number | null;
|
|
71
100
|
status: SchoolClassStatus;
|
|
101
|
+
/**
|
|
102
|
+
* Populated by the server with a join. Not a column on the school_classes table.
|
|
103
|
+
*/
|
|
104
|
+
room?: SchoolRoomSummary;
|
|
105
|
+
/**
|
|
106
|
+
* Populated by the server with a join. Not a column on the school_classes table.
|
|
107
|
+
*/
|
|
108
|
+
instructor?: SchoolStaffSummary | null;
|
|
109
|
+
/**
|
|
110
|
+
* Populated by the server with a join. Not a column on the school_classes table.
|
|
111
|
+
*/
|
|
112
|
+
secondaryInstructor?: SchoolStaffSummary | null;
|
|
72
113
|
createdAt: string;
|
|
73
114
|
updatedAt: string;
|
|
74
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Lightweight class projection with the info needed when a class is
|
|
118
|
+
* attached to a session or enrollment. Populated server-side via a join.
|
|
119
|
+
*/
|
|
120
|
+
export type SchoolClassSummary = Pick<SchoolClass, "id" | "name" | "level" | "danceTags" | "format" | "status" | "capacity" | "capacityLead" | "capacityFollow" | "instructorStaffId" | "secondaryInstructorStaffId" | "defaultClassDurationMinutes"> & {
|
|
121
|
+
room?: SchoolRoomSummary;
|
|
122
|
+
instructor?: SchoolStaffSummary | null;
|
|
123
|
+
secondaryInstructor?: SchoolStaffSummary | null;
|
|
124
|
+
};
|
|
75
125
|
/** Row shape for `public.class_sessions`. */
|
|
76
126
|
export interface ClassSession {
|
|
77
127
|
id: string;
|
|
@@ -98,9 +148,35 @@ export interface ClassSession {
|
|
|
98
148
|
bookedFollowCount: number;
|
|
99
149
|
/** Separate by design: waitlisted rows hold no seat and never count towards capacity. */
|
|
100
150
|
waitlistCount: number;
|
|
151
|
+
/**
|
|
152
|
+
* Populated by the server with a join. Not a column on the class_sessions table.
|
|
153
|
+
*/
|
|
154
|
+
class?: SchoolClassSummary;
|
|
155
|
+
/**
|
|
156
|
+
* Populated by the server with a join. Not a column on the class_sessions table.
|
|
157
|
+
*/
|
|
158
|
+
room?: SchoolRoomSummary;
|
|
159
|
+
/**
|
|
160
|
+
* Populated by the server with a join. Not a column on the class_sessions table.
|
|
161
|
+
*/
|
|
162
|
+
instructor?: SchoolStaffSummary | null;
|
|
163
|
+
/**
|
|
164
|
+
* Populated by the server with a join. Not a column on the class_sessions table.
|
|
165
|
+
*/
|
|
166
|
+
secondaryInstructor?: SchoolStaffSummary | null;
|
|
101
167
|
createdAt: string;
|
|
102
168
|
updatedAt: string;
|
|
103
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Lightweight session projection for registration lists and attendance.
|
|
172
|
+
* Populated server-side via a join.
|
|
173
|
+
*/
|
|
174
|
+
export type ClassSessionSummary = Pick<ClassSession, "id" | "classId" | "startsAt" | "endsAt" | "status" | "locationName" | "locationAddress" | "roomId" | "instructorStaffId" | "secondaryInstructorStaffId"> & {
|
|
175
|
+
class?: SchoolClassSummary;
|
|
176
|
+
room?: SchoolRoomSummary;
|
|
177
|
+
instructor?: SchoolStaffSummary | null;
|
|
178
|
+
secondaryInstructor?: SchoolStaffSummary | null;
|
|
179
|
+
};
|
|
104
180
|
/** Row shape for `public.class_enrollments`. */
|
|
105
181
|
export interface ClassEnrollment {
|
|
106
182
|
id: string;
|
|
@@ -113,9 +189,22 @@ export interface ClassEnrollment {
|
|
|
113
189
|
enrolledAt: string;
|
|
114
190
|
waitlistedAt: string | null;
|
|
115
191
|
cancelledAt: string | null;
|
|
192
|
+
/**
|
|
193
|
+
* Populated by the server with a join. Not a column on the class_enrollments table.
|
|
194
|
+
*/
|
|
195
|
+
class?: SchoolClassSummary;
|
|
196
|
+
/**
|
|
197
|
+
* Populated by the server with a join. Not a column on the class_enrollments table.
|
|
198
|
+
*/
|
|
199
|
+
student?: SchoolStudentSummary;
|
|
116
200
|
createdAt: string;
|
|
117
201
|
updatedAt: string;
|
|
118
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Lightweight enrollment projection for course-based session access.
|
|
205
|
+
* Populated server-side via a join.
|
|
206
|
+
*/
|
|
207
|
+
export type ClassEnrollmentSummary = Pick<ClassEnrollment, "id" | "status" | "role" | "enrolledAt" | "sourceType">;
|
|
119
208
|
/** Row shape for `public.class_session_registrations`. */
|
|
120
209
|
export interface ClassSessionRegistration {
|
|
121
210
|
id: string;
|
|
@@ -130,21 +219,24 @@ export interface ClassSessionRegistration {
|
|
|
130
219
|
checkedInAt: string | null;
|
|
131
220
|
attendanceMarkedAt: string | null;
|
|
132
221
|
cancelledAt: string | null;
|
|
133
|
-
createdAt: string;
|
|
134
|
-
updatedAt: string;
|
|
135
222
|
role: DancerRole | null;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
223
|
+
/**
|
|
224
|
+
* Populated by the server with a join. Not a column on the class_session_registrations table.
|
|
225
|
+
*/
|
|
226
|
+
session?: ClassSessionSummary;
|
|
227
|
+
/**
|
|
228
|
+
* Populated by the server with a join. Not a column on the class_session_registrations table.
|
|
229
|
+
*/
|
|
230
|
+
student?: SchoolStudentSummary;
|
|
231
|
+
/**
|
|
232
|
+
* Populated by the server with a join. Not a column on the class_session_registrations table.
|
|
233
|
+
*/
|
|
234
|
+
class?: SchoolClassSummary;
|
|
235
|
+
/**
|
|
236
|
+
* Populated by the server with a join when access is course-based.
|
|
237
|
+
* Not a column on the class_session_registrations table.
|
|
238
|
+
*/
|
|
239
|
+
enrollment?: ClassEnrollmentSummary;
|
|
148
240
|
createdAt: string;
|
|
149
241
|
updatedAt: string;
|
|
150
242
|
}
|
package/package.json
CHANGED