@timeback/oneroster 0.1.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/README.md +295 -0
- package/dist/client.d.ts +125 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/constants.d.ts +23 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/errors.d.ts +7 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +1414 -0
- package/dist/factory.d.ts +100 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2614 -0
- package/dist/lib/index.d.ts +11 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/pagination.d.ts +30 -0
- package/dist/lib/pagination.d.ts.map +1 -0
- package/dist/lib/resolve.d.ts +21 -0
- package/dist/lib/resolve.d.ts.map +1 -0
- package/dist/lib/transport.d.ts +32 -0
- package/dist/lib/transport.d.ts.map +1 -0
- package/dist/resources/assessment/index.d.ts +6 -0
- package/dist/resources/assessment/index.d.ts.map +1 -0
- package/dist/resources/assessment/line-items.d.ts +38 -0
- package/dist/resources/assessment/line-items.d.ts.map +1 -0
- package/dist/resources/assessment/results.d.ts +25 -0
- package/dist/resources/assessment/results.d.ts.map +1 -0
- package/dist/resources/base.d.ts +181 -0
- package/dist/resources/base.d.ts.map +1 -0
- package/dist/resources/gradebook/categories.d.ts +16 -0
- package/dist/resources/gradebook/categories.d.ts.map +1 -0
- package/dist/resources/gradebook/index.d.ts +8 -0
- package/dist/resources/gradebook/index.d.ts.map +1 -0
- package/dist/resources/gradebook/line-items.d.ts +52 -0
- package/dist/resources/gradebook/line-items.d.ts.map +1 -0
- package/dist/resources/gradebook/results.d.ts +24 -0
- package/dist/resources/gradebook/results.d.ts.map +1 -0
- package/dist/resources/gradebook/score-scales.d.ts +16 -0
- package/dist/resources/gradebook/score-scales.d.ts.map +1 -0
- package/dist/resources/index.d.ts +11 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/resources/index.d.ts +5 -0
- package/dist/resources/resources/index.d.ts.map +1 -0
- package/dist/resources/resources/resources.d.ts +39 -0
- package/dist/resources/resources/resources.d.ts.map +1 -0
- package/dist/resources/rostering/academic-sessions.d.ts +97 -0
- package/dist/resources/rostering/academic-sessions.d.ts.map +1 -0
- package/dist/resources/rostering/classes.d.ts +276 -0
- package/dist/resources/rostering/classes.d.ts.map +1 -0
- package/dist/resources/rostering/courses.d.ts +75 -0
- package/dist/resources/rostering/courses.d.ts.map +1 -0
- package/dist/resources/rostering/demographics.d.ts +18 -0
- package/dist/resources/rostering/demographics.d.ts.map +1 -0
- package/dist/resources/rostering/enrollments.d.ts +28 -0
- package/dist/resources/rostering/enrollments.d.ts.map +1 -0
- package/dist/resources/rostering/index.d.ts +12 -0
- package/dist/resources/rostering/index.d.ts.map +1 -0
- package/dist/resources/rostering/orgs.d.ts +18 -0
- package/dist/resources/rostering/orgs.d.ts.map +1 -0
- package/dist/resources/rostering/schools.d.ts +214 -0
- package/dist/resources/rostering/schools.d.ts.map +1 -0
- package/dist/resources/rostering/users.d.ts +191 -0
- package/dist/resources/rostering/users.d.ts.map +1 -0
- package/dist/types/base.d.ts +127 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/callable.d.ts +246 -0
- package/dist/types/callable.d.ts.map +1 -0
- package/dist/types/client.d.ts +58 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/filters.d.ts +165 -0
- package/dist/types/filters.d.ts.map +1 -0
- package/dist/types/gradebook.d.ts +262 -0
- package/dist/types/gradebook.d.ts.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/resources.d.ts +191 -0
- package/dist/types/resources.d.ts.map +1 -0
- package/dist/types/rostering.d.ts +732 -0
- package/dist/types/rostering.d.ts.map +1 -0
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +0 -0
- package/dist/utils.d.ts +51 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Callable Resource Types
|
|
3
|
+
*
|
|
4
|
+
* Types for callable resource patterns where
|
|
5
|
+
* `resource(id)` returns a scoped resource and `resource.list()` etc.
|
|
6
|
+
* access collection-level operations.
|
|
7
|
+
*/
|
|
8
|
+
import type { ListParams } from '@timeback/internal-client-infra';
|
|
9
|
+
import type { Paginator } from '../lib';
|
|
10
|
+
import type { ScopedAssessmentLineItemResource } from '../resources/assessment/line-items';
|
|
11
|
+
import type { ScopedLineItemResource } from '../resources/gradebook/line-items';
|
|
12
|
+
import type { ScopedResourceResource } from '../resources/resources/resources';
|
|
13
|
+
import type { ScopedTermResource } from '../resources/rostering/academic-sessions';
|
|
14
|
+
import type { ScopedClassResource } from '../resources/rostering/classes';
|
|
15
|
+
import type { ScopedCourseResource } from '../resources/rostering/courses';
|
|
16
|
+
import type { ScopedSchoolResource } from '../resources/rostering/schools';
|
|
17
|
+
import type { ScopedStudentResource, ScopedTeacherResource, ScopedUserResource } from '../resources/rostering/users';
|
|
18
|
+
import type { Base } from './base';
|
|
19
|
+
import type { AcademicSession, AcademicSessionFilterFields, AssessmentLineItem, AssessmentLineItemFilterFields, Class, ClassCreateInput, ClassFilterFields, ComponentResource, ComponentResourceCreateInput, ComponentResourceFilterFields, Course, CourseComponent, CourseComponentCreateInput, CourseComponentFilterFields, CourseCreateInput, CourseFilterFields, CourseStructureInput, CreateResponse, LineItem, LineItemCreateInput, LineItemFilterFields, Organization, OrganizationFilterFields, Resource, ResourceFilterFields, SchoolCreateInput, User, UserCreateInput, UserFilterFields } from './index';
|
|
20
|
+
/**
|
|
21
|
+
* Base interface for callable resources.
|
|
22
|
+
* Resources that support scoping by ID implement this pattern.
|
|
23
|
+
*
|
|
24
|
+
* @template T - The entity type
|
|
25
|
+
* @template F - Filter fields type
|
|
26
|
+
* @template S - Scoped resource type returned when called with an ID
|
|
27
|
+
* @template I - Input type for create/update (defaults to Partial<T>)
|
|
28
|
+
*/
|
|
29
|
+
export interface CallableResource<T extends Base, F, S, I = Partial<T>> {
|
|
30
|
+
/** Get a scoped resource for a specific entity */
|
|
31
|
+
(id: string): S;
|
|
32
|
+
/** List all entities */
|
|
33
|
+
list(params?: ListParams<F>): Promise<T[]>;
|
|
34
|
+
/** Stream entities with lazy pagination */
|
|
35
|
+
stream(params?: ListParams<F>): Paginator<T, F>;
|
|
36
|
+
/** Get a single entity by ID */
|
|
37
|
+
get(id: string): Promise<T>;
|
|
38
|
+
/** Create a new entity */
|
|
39
|
+
create(data: I): Promise<CreateResponse>;
|
|
40
|
+
/** Update an existing entity */
|
|
41
|
+
update(id: string, data: Partial<I>): Promise<void>;
|
|
42
|
+
/** Delete an entity */
|
|
43
|
+
delete(id: string): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Read-only callable resource (no create/update/delete).
|
|
47
|
+
*
|
|
48
|
+
* @template T - The entity type
|
|
49
|
+
* @template F - Filter fields type
|
|
50
|
+
* @template S - Scoped resource type returned when called with an ID
|
|
51
|
+
*/
|
|
52
|
+
export interface ReadOnlyCallableResource<T extends Base, F, S> {
|
|
53
|
+
/** Get a scoped resource for a specific entity */
|
|
54
|
+
(id: string): S;
|
|
55
|
+
/** List all entities */
|
|
56
|
+
list(params?: ListParams<F>): Promise<T[]>;
|
|
57
|
+
/** Stream entities with lazy pagination */
|
|
58
|
+
stream(params?: ListParams<F>): Paginator<T, F>;
|
|
59
|
+
/** Get a single entity by ID */
|
|
60
|
+
get(id: string): Promise<T>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Callable courses resource.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* // Collection operations
|
|
68
|
+
* const courses = await client.courses.list()
|
|
69
|
+
* const course = await client.courses.get(id)
|
|
70
|
+
*
|
|
71
|
+
* // Scoped operations
|
|
72
|
+
* const classes = await client.courses(courseId).classes()
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export interface CoursesCallable extends CallableResource<Course, CourseFilterFields, ScopedCourseResource, CourseCreateInput> {
|
|
76
|
+
/** List all course components */
|
|
77
|
+
components(params?: ListParams<CourseComponentFilterFields>): Promise<CourseComponent[]>;
|
|
78
|
+
/** Stream course components with lazy pagination */
|
|
79
|
+
streamComponents(params?: ListParams<CourseComponentFilterFields>): Paginator<CourseComponent, CourseComponentFilterFields>;
|
|
80
|
+
/** Get a specific course component */
|
|
81
|
+
getComponent(sourcedId: string): Promise<CourseComponent>;
|
|
82
|
+
/** Create a new course component */
|
|
83
|
+
createComponent(data: CourseComponentCreateInput): Promise<CreateResponse>;
|
|
84
|
+
/** Update a course component */
|
|
85
|
+
updateComponent(sourcedId: string, data: Partial<CourseComponent>): Promise<void>;
|
|
86
|
+
/** Delete a course component */
|
|
87
|
+
deleteComponent(sourcedId: string): Promise<void>;
|
|
88
|
+
/** List all component resources */
|
|
89
|
+
componentResources(params?: ListParams<ComponentResourceFilterFields>): Promise<ComponentResource[]>;
|
|
90
|
+
/** Stream component resources with lazy pagination */
|
|
91
|
+
streamComponentResources(params?: ListParams<ComponentResourceFilterFields>): Paginator<ComponentResource, ComponentResourceFilterFields>;
|
|
92
|
+
/** Get a specific component resource */
|
|
93
|
+
getComponentResource(sourcedId: string): Promise<ComponentResource>;
|
|
94
|
+
/** Create a new component resource */
|
|
95
|
+
createComponentResource(data: ComponentResourceCreateInput): Promise<CreateResponse>;
|
|
96
|
+
/** Update a component resource */
|
|
97
|
+
updateComponentResource(sourcedId: string, data: Partial<ComponentResource>): Promise<void>;
|
|
98
|
+
/** Delete a component resource */
|
|
99
|
+
deleteComponentResource(sourcedId: string): Promise<void>;
|
|
100
|
+
/** Create a course structure from QTI tests */
|
|
101
|
+
createStructure(data: CourseStructureInput): Promise<CreateResponse>;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Callable classes resource.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* // Collection operations
|
|
109
|
+
* const classes = await client.classes.list()
|
|
110
|
+
* const cls = await client.classes.get(id)
|
|
111
|
+
*
|
|
112
|
+
* // Scoped operations
|
|
113
|
+
* const students = await client.classes(classId).students()
|
|
114
|
+
* const lineItems = await client.classes(classId).lineItems()
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export type ClassesCallable = CallableResource<Class, ClassFilterFields, ScopedClassResource, ClassCreateInput>;
|
|
118
|
+
/**
|
|
119
|
+
* Callable schools resource.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* // Collection operations
|
|
124
|
+
* const schools = await client.schools.list()
|
|
125
|
+
* const school = await client.schools.get(id)
|
|
126
|
+
*
|
|
127
|
+
* // Scoped operations
|
|
128
|
+
* const classes = await client.schools(schoolId).classes()
|
|
129
|
+
* const students = await client.schools(schoolId).students()
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
export type SchoolsCallable = CallableResource<Organization, OrganizationFilterFields, ScopedSchoolResource, SchoolCreateInput>;
|
|
133
|
+
/**
|
|
134
|
+
* Callable users resource.
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typescript
|
|
138
|
+
* // Collection operations
|
|
139
|
+
* const users = await client.users.list()
|
|
140
|
+
* const user = await client.users.get(id)
|
|
141
|
+
*
|
|
142
|
+
* // Scoped operations
|
|
143
|
+
* const resources = await client.users(userId).resources()
|
|
144
|
+
* const classes = await client.users(userId).classes()
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export type UsersCallable = CallableResource<User, UserFilterFields, ScopedUserResource, UserCreateInput>;
|
|
148
|
+
/**
|
|
149
|
+
* Callable students resource (read-only).
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* // Collection operations
|
|
154
|
+
* const students = await client.students.list()
|
|
155
|
+
* const student = await client.students.get(id)
|
|
156
|
+
*
|
|
157
|
+
* // Scoped operations
|
|
158
|
+
* const classes = await client.students(studentId).classes()
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
export type StudentsCallable = ReadOnlyCallableResource<User, UserFilterFields, ScopedStudentResource>;
|
|
162
|
+
/**
|
|
163
|
+
* Callable teachers resource (read-only).
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```typescript
|
|
167
|
+
* // Collection operations
|
|
168
|
+
* const teachers = await client.teachers.list()
|
|
169
|
+
* const teacher = await client.teachers.get(id)
|
|
170
|
+
*
|
|
171
|
+
* // Scoped operations
|
|
172
|
+
* const classes = await client.teachers(teacherId).classes()
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
export type TeachersCallable = ReadOnlyCallableResource<User, UserFilterFields, ScopedTeacherResource>;
|
|
176
|
+
/**
|
|
177
|
+
* Callable terms resource (read-only).
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```typescript
|
|
181
|
+
* // Collection operations
|
|
182
|
+
* const terms = await client.terms.list()
|
|
183
|
+
* const term = await client.terms.get(id)
|
|
184
|
+
*
|
|
185
|
+
* // Scoped operations
|
|
186
|
+
* const classes = await client.terms(termId).classes()
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
export type TermsCallable = ReadOnlyCallableResource<AcademicSession, AcademicSessionFilterFields, ScopedTermResource>;
|
|
190
|
+
/**
|
|
191
|
+
* Callable line items resource.
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ```typescript
|
|
195
|
+
* // Collection operations
|
|
196
|
+
* const lineItems = await client.lineItems.list()
|
|
197
|
+
* const lineItem = await client.lineItems.get(id)
|
|
198
|
+
*
|
|
199
|
+
* // Scoped operations
|
|
200
|
+
* const results = await client.lineItems(lineItemId).results()
|
|
201
|
+
* ```
|
|
202
|
+
*/
|
|
203
|
+
export interface LineItemsCallable extends CallableResource<LineItem, LineItemFilterFields, ScopedLineItemResource> {
|
|
204
|
+
/** Create a new line item */
|
|
205
|
+
create(data: LineItemCreateInput): Promise<CreateResponse>;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Callable assessment line items resource.
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ```typescript
|
|
212
|
+
* // Collection operations
|
|
213
|
+
* const lineItems = await client.assessmentLineItems.list()
|
|
214
|
+
* const lineItem = await client.assessmentLineItems.get(id)
|
|
215
|
+
*
|
|
216
|
+
* // Partial update
|
|
217
|
+
* await client.assessmentLineItems.patch(id, { score: 95 })
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
export interface AssessmentLineItemsCallable extends CallableResource<AssessmentLineItem, AssessmentLineItemFilterFields, ScopedAssessmentLineItemResource> {
|
|
221
|
+
/** Partially update an assessment line item (only specified fields are changed) */
|
|
222
|
+
patch(id: string, data: Partial<AssessmentLineItem>): Promise<void>;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Callable resources resource.
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* // Collection operations
|
|
230
|
+
* const resources = await client.resources.list()
|
|
231
|
+
* const resource = await client.resources.get(id)
|
|
232
|
+
*
|
|
233
|
+
* // Nested resource queries (following convention)
|
|
234
|
+
* const classResources = await client.classes(classId).resources()
|
|
235
|
+
* const courseResources = await client.courses(courseId).resources()
|
|
236
|
+
* const userResources = await client.users(userId).resources()
|
|
237
|
+
*
|
|
238
|
+
* // Export
|
|
239
|
+
* await client.resources.export(resourceId)
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
export interface ResourcesCallable extends CallableResource<Resource, ResourceFilterFields, ScopedResourceResource> {
|
|
243
|
+
/** Export a resource to Common Cartridge (.zip) as an ArrayBuffer */
|
|
244
|
+
export(resourceId: string): Promise<ArrayBuffer>;
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=callable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callable.d.ts","sourceRoot":"","sources":["../../src/types/callable.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAA;AAC1F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,KAAK,EACX,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,KAAK,EACX,eAAe,EACf,2BAA2B,EAC3B,kBAAkB,EAClB,8BAA8B,EAC9B,KAAK,EACL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,6BAA6B,EAC7B,MAAM,EACN,eAAe,EACf,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,EACjB,IAAI,EACJ,eAAe,EACf,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAMhB;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IACrE,kDAAkD;IAClD,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAA;IAEf,wBAAwB;IACxB,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAE1C,2CAA2C;IAC3C,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE/C,gCAAgC;IAChC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAE3B,0BAA0B;IAC1B,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAExC,gCAAgC;IAChC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnD,uBAAuB;IACvB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7D,kDAAkD;IAClD,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAA;IAEf,wBAAwB;IACxB,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAE1C,2CAA2C;IAC3C,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE/C,gCAAgC;IAChC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CAC3B;AAMD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAgB,SAAQ,gBAAgB,CACxD,MAAM,EACN,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,CACjB;IACA,iCAAiC;IACjC,UAAU,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,2BAA2B,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IAExF,oDAAoD;IACpD,gBAAgB,CACf,MAAM,CAAC,EAAE,UAAU,CAAC,2BAA2B,CAAC,GAC9C,SAAS,CAAC,eAAe,EAAE,2BAA2B,CAAC,CAAA;IAE1D,sCAAsC;IACtC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAEzD,oCAAoC;IACpC,eAAe,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAE1E,gCAAgC;IAChC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjF,gCAAgC;IAChC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjD,mCAAmC;IACnC,kBAAkB,CACjB,MAAM,CAAC,EAAE,UAAU,CAAC,6BAA6B,CAAC,GAChD,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAE/B,sDAAsD;IACtD,wBAAwB,CACvB,MAAM,CAAC,EAAE,UAAU,CAAC,6BAA6B,CAAC,GAChD,SAAS,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAA;IAE9D,wCAAwC;IACxC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAEnE,sCAAsC;IACtC,uBAAuB,CAAC,IAAI,EAAE,4BAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAEpF,kCAAkC;IAClC,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3F,kCAAkC;IAClC,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzD,+CAA+C;IAC/C,eAAe,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CACpE;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAC7C,KAAK,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,CAChB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAC7C,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,CACjB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAC3C,IAAI,EACJ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,CACf,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,CACtD,IAAI,EACJ,gBAAgB,EAChB,qBAAqB,CACrB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,CACtD,IAAI,EACJ,gBAAgB,EAChB,qBAAqB,CACrB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG,wBAAwB,CACnD,eAAe,EACf,2BAA2B,EAC3B,kBAAkB,CAClB,CAAA;AAMD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB,CAC1D,QAAQ,EACR,oBAAoB,EACpB,sBAAsB,CACtB;IACA,6BAA6B;IAC7B,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAC1D;AAMD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB,CACpE,kBAAkB,EAClB,8BAA8B,EAC9B,gCAAgC,CAChC;IACA,mFAAmF;IACnF,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnE;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB,CAC1D,QAAQ,EACR,oBAAoB,EACpB,sBAAsB,CACtB;IACA,qEAAqE;IACrE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CAChD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client Configuration Types
|
|
3
|
+
*
|
|
4
|
+
* Types for configuring the OneRoster client.
|
|
5
|
+
*/
|
|
6
|
+
import type { BaseTransportConfig, ClientConfig, OneRosterPaths, PaginatedResponse, ProviderClientConfig, RequestOptions, ResolvedProvider, TransportOnlyConfig } from '@timeback/internal-client-infra';
|
|
7
|
+
export type { Environment, EnvAuth, ExplicitAuth, Platform } from '@timeback/internal-client-infra';
|
|
8
|
+
export type { TimebackProvider, ProviderAuth } from '@timeback/internal-client-infra';
|
|
9
|
+
/**
|
|
10
|
+
* Transport interface for OneRoster client.
|
|
11
|
+
*
|
|
12
|
+
* Extends base transport requirements with OneRoster-specific paths and pagination.
|
|
13
|
+
* Required when using transport mode with OneRosterClient.
|
|
14
|
+
*/
|
|
15
|
+
export interface OneRosterTransportLike {
|
|
16
|
+
/** Base URL of the API */
|
|
17
|
+
baseUrl: string;
|
|
18
|
+
/** API path profiles for OneRoster operations */
|
|
19
|
+
paths: OneRosterPaths;
|
|
20
|
+
/** Make an authenticated request */
|
|
21
|
+
request<T>(path: string, options?: RequestOptions): Promise<T>;
|
|
22
|
+
/** Make a raw request, returning the Response object (useful for binary responses) */
|
|
23
|
+
requestRaw(path: string, options?: RequestOptions): Promise<Response>;
|
|
24
|
+
/** Make a paginated request using header-based pagination */
|
|
25
|
+
requestPaginated<T>(path: string, options?: RequestOptions): Promise<PaginatedResponse<T>>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Configuration options for creating a OneRosterClient.
|
|
29
|
+
*
|
|
30
|
+
* Accepts one of six mutually exclusive modes:
|
|
31
|
+
* 1. **Provider**: Provide a pre-built `TimebackProvider` instance
|
|
32
|
+
* 2. **Explicit**: Provide `baseUrl` and `auth` with `authUrl`
|
|
33
|
+
* 3. **Environment**: Provide `platform?`, `env` and `auth` (URLs derived automatically)
|
|
34
|
+
* 4. **Token Provider**: Provide `platform?`, `env` and `tokenProvider` (shared auth)
|
|
35
|
+
* 5. **Transport**: Provide a pre-configured `transport` instance with paths
|
|
36
|
+
* 6. **Env Vars**: Omit config entirely (reads from environment variables)
|
|
37
|
+
*
|
|
38
|
+
* The `platform` field selects which Timeback implementation to use:
|
|
39
|
+
* - `'BEYOND_AI'` (default): BeyondAI's Timeback platform
|
|
40
|
+
* - `'LEARNWITH_AI'`: Samy's LearnWith.ai platform
|
|
41
|
+
*/
|
|
42
|
+
export type OneRosterClientConfig = ClientConfig | TransportOnlyConfig<OneRosterTransportLike> | ProviderClientConfig;
|
|
43
|
+
/**
|
|
44
|
+
* Configuration for OneRoster transport.
|
|
45
|
+
*/
|
|
46
|
+
export type OneRosterTransportConfig = BaseTransportConfig & {
|
|
47
|
+
/** API path profiles for OneRoster operations */
|
|
48
|
+
paths: OneRosterPaths;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Resolved provider type for OneRoster client.
|
|
52
|
+
*/
|
|
53
|
+
export type OneRosterResolvedProvider = ResolvedProvider<OneRosterTransportLike>;
|
|
54
|
+
/**
|
|
55
|
+
* Instance type of OneRosterClient.
|
|
56
|
+
*/
|
|
57
|
+
export type OneRosterClientInstance = InstanceType<typeof import('../client').OneRosterClient>;
|
|
58
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/types/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACX,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,MAAM,iCAAiC,CAAA;AAExC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AACnG,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAErF;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACtC,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,KAAK,EAAE,cAAc,CAAA;IACrB,oCAAoC;IACpC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9D,sFAAsF;IACtF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrE,6DAA6D;IAC7D,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;CAC1F;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,qBAAqB,GAC9B,YAAY,GACZ,mBAAmB,CAAC,sBAAsB,CAAC,GAC3C,oBAAoB,CAAA;AAEvB;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,GAAG;IAC5D,iDAAiD;IACjD,KAAK,EAAE,cAAc,CAAA;CACrB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAA;AAEhF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,cAAc,WAAW,EAAE,eAAe,CAAC,CAAA"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter Field Types
|
|
3
|
+
*
|
|
4
|
+
* These types define the server-side filterable fields for each OneRoster entity.
|
|
5
|
+
* They may differ from the entity structure (e.g., `role` vs `roles`).
|
|
6
|
+
*/
|
|
7
|
+
import type { OneRosterUserRole, OrganizationType } from '@timeback/types';
|
|
8
|
+
/**
|
|
9
|
+
* Base fields available for filtering on all entities.
|
|
10
|
+
*/
|
|
11
|
+
export interface BaseFilterFields {
|
|
12
|
+
sourcedId: string;
|
|
13
|
+
status: 'active' | 'tobedeleted';
|
|
14
|
+
dateLastModified: Date;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Filterable fields for User entities.
|
|
18
|
+
*
|
|
19
|
+
* Note: The server accepts `role` (singular) even though the entity has `roles` (array).
|
|
20
|
+
*/
|
|
21
|
+
export interface UserFilterFields extends BaseFilterFields {
|
|
22
|
+
givenName: string;
|
|
23
|
+
familyName: string;
|
|
24
|
+
email: string;
|
|
25
|
+
username: string;
|
|
26
|
+
enabledUser: string;
|
|
27
|
+
identifier: string;
|
|
28
|
+
userMasterIdentifier: string;
|
|
29
|
+
/** Server accepts singular `role` for filtering, even though entity has `roles` array */
|
|
30
|
+
role: OneRosterUserRole;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Filterable fields for Organization/School entities.
|
|
34
|
+
*/
|
|
35
|
+
export interface OrganizationFilterFields extends BaseFilterFields {
|
|
36
|
+
name: string;
|
|
37
|
+
identifier: string;
|
|
38
|
+
type: OrganizationType;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Filterable fields for Class entities.
|
|
42
|
+
*/
|
|
43
|
+
export interface ClassFilterFields extends BaseFilterFields {
|
|
44
|
+
title: string;
|
|
45
|
+
classCode: string;
|
|
46
|
+
classType: 'homeroom' | 'scheduled';
|
|
47
|
+
location: string;
|
|
48
|
+
grades: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Filterable fields for Course entities.
|
|
52
|
+
*/
|
|
53
|
+
export interface CourseFilterFields extends BaseFilterFields {
|
|
54
|
+
title: string;
|
|
55
|
+
courseCode: string;
|
|
56
|
+
grades: string;
|
|
57
|
+
subjects: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Filterable fields for Enrollment entities.
|
|
61
|
+
*/
|
|
62
|
+
export interface EnrollmentFilterFields extends BaseFilterFields {
|
|
63
|
+
role: OneRosterUserRole;
|
|
64
|
+
primary: string;
|
|
65
|
+
beginDate: Date;
|
|
66
|
+
endDate: Date;
|
|
67
|
+
'class.sourcedId': string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Filterable fields for AcademicSession entities.
|
|
71
|
+
*/
|
|
72
|
+
export interface AcademicSessionFilterFields extends BaseFilterFields {
|
|
73
|
+
title: string;
|
|
74
|
+
type: 'gradingPeriod' | 'semester' | 'schoolYear' | 'term';
|
|
75
|
+
startDate: Date;
|
|
76
|
+
endDate: Date;
|
|
77
|
+
schoolYear: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Filterable fields for LineItem (gradebook) entities.
|
|
81
|
+
*/
|
|
82
|
+
export interface LineItemFilterFields extends BaseFilterFields {
|
|
83
|
+
title: string;
|
|
84
|
+
description: string;
|
|
85
|
+
assignDate: Date;
|
|
86
|
+
dueDate: Date;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Filterable fields for Result (grade) entities.
|
|
90
|
+
*/
|
|
91
|
+
export interface ResultFilterFields extends BaseFilterFields {
|
|
92
|
+
score: number;
|
|
93
|
+
scoreDate: Date;
|
|
94
|
+
scoreStatus: 'exempt' | 'fully graded' | 'not submitted' | 'partially graded' | 'submitted';
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Filterable fields for Resource entities.
|
|
98
|
+
*/
|
|
99
|
+
export interface ResourceFilterFields extends BaseFilterFields {
|
|
100
|
+
title: string;
|
|
101
|
+
vendorResourceId: string;
|
|
102
|
+
importance: 'primary' | 'secondary';
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Filterable fields for CourseComponent entities.
|
|
106
|
+
*/
|
|
107
|
+
export interface CourseComponentFilterFields extends BaseFilterFields {
|
|
108
|
+
title: string;
|
|
109
|
+
resourceType: string;
|
|
110
|
+
'course.sourcedId': string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Filterable fields for ComponentResource entities.
|
|
114
|
+
*/
|
|
115
|
+
export interface ComponentResourceFilterFields extends BaseFilterFields {
|
|
116
|
+
title: string;
|
|
117
|
+
lessonType: string;
|
|
118
|
+
'courseComponent.sourcedId': string;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Filterable fields for AssessmentLineItem entities.
|
|
122
|
+
*/
|
|
123
|
+
export interface AssessmentLineItemFilterFields extends BaseFilterFields {
|
|
124
|
+
title: string;
|
|
125
|
+
description: string;
|
|
126
|
+
assignDate: Date;
|
|
127
|
+
dueDate: Date;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Filterable fields for AssessmentResult entities.
|
|
131
|
+
*/
|
|
132
|
+
export interface AssessmentResultFilterFields extends BaseFilterFields {
|
|
133
|
+
score: number;
|
|
134
|
+
scoreDate: Date;
|
|
135
|
+
scoreStatus: string;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Filterable fields for Demographics entities.
|
|
139
|
+
*/
|
|
140
|
+
export interface DemographicsFilterFields extends BaseFilterFields {
|
|
141
|
+
birthDate: string;
|
|
142
|
+
sex: 'male' | 'female';
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Filterable fields for Category entities.
|
|
146
|
+
*/
|
|
147
|
+
export interface CategoryFilterFields extends BaseFilterFields {
|
|
148
|
+
title: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Filterable fields for ScoreScale entities.
|
|
152
|
+
*/
|
|
153
|
+
export interface ScoreScaleFilterFields extends BaseFilterFields {
|
|
154
|
+
title: string;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Filterable fields for Resource entities.
|
|
158
|
+
*/
|
|
159
|
+
export interface ResourceFilterFields extends BaseFilterFields {
|
|
160
|
+
title: string;
|
|
161
|
+
vendorResourceId: string;
|
|
162
|
+
vendorId: string;
|
|
163
|
+
applicationId: string;
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/types/filters.ts"],"names":[],"mappings":"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"}
|