@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,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal library modules.
|
|
3
|
+
*
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export { resolveToProvider } from './resolve';
|
|
7
|
+
export { Paginator } from './pagination';
|
|
8
|
+
export { Transport } from './transport';
|
|
9
|
+
export type { OneRosterResolvedProvider } from '../types';
|
|
10
|
+
export type { ListParams, PageResult, ResolvedConfig } from '@timeback/internal-client-infra';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,YAAY,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AACzD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination Utilities
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the common Paginator with OneRoster-specific configuration.
|
|
5
|
+
*/
|
|
6
|
+
import { Paginator as BasePaginator } from '@timeback/internal-client-infra';
|
|
7
|
+
import type { ListParams } from '@timeback/internal-client-infra';
|
|
8
|
+
import type { OneRosterTransportLike } from '../types';
|
|
9
|
+
/**
|
|
10
|
+
* OneRoster-specific Paginator that uses the OneRoster transport.
|
|
11
|
+
*
|
|
12
|
+
* Accepts params with `max` included for consumer convenience,
|
|
13
|
+
* then extracts and forwards it to the base Paginator.
|
|
14
|
+
*
|
|
15
|
+
* @typeParam T - The type of items being paginated
|
|
16
|
+
* @typeParam F - The filter fields type for type-safe where/sort
|
|
17
|
+
*/
|
|
18
|
+
export declare class Paginator<T, F = unknown> extends BasePaginator<T, F> {
|
|
19
|
+
/**
|
|
20
|
+
* Create a new OneRoster Paginator.
|
|
21
|
+
*
|
|
22
|
+
* @param transport - OneRoster transport instance
|
|
23
|
+
* @param path - API endpoint path
|
|
24
|
+
* @param params - List parameters including optional max
|
|
25
|
+
* @param unwrapKey - Response key containing the items array (e.g., "users")
|
|
26
|
+
* @param transform - Optional transform function applied to each item
|
|
27
|
+
*/
|
|
28
|
+
constructor(transport: OneRosterTransportLike, path: string, params?: ListParams<F>, unwrapKey?: string, transform?: (item: T) => T);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/lib/pagination.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAI5E,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,iCAAiC,CAAA;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEtD;;;;;;;;GAQG;AACH,qBAAa,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE;;;;;;;;OAQG;IACH,YACC,SAAS,EAAE,sBAAsB,EACjC,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,UAAU,CAAC,CAAC,CAAM,EAC1B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAc1B;CACD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Resolution
|
|
3
|
+
*
|
|
4
|
+
* OneRoster-specific wrapper around the generic provider resolver.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
import type { ProviderRegistry } from '@timeback/internal-client-infra';
|
|
9
|
+
import type { OneRosterClientConfig, OneRosterResolvedProvider } from '../types';
|
|
10
|
+
/**
|
|
11
|
+
* Resolve OneRoster client config to a TimebackProvider.
|
|
12
|
+
*
|
|
13
|
+
* @param config - Client configuration
|
|
14
|
+
* @param registry - Provider registry for platform/env resolution
|
|
15
|
+
* @returns Resolved provider or transport
|
|
16
|
+
* @throws {Error} If configuration is invalid or incomplete
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveToProvider(config: OneRosterClientConfig, registry?: ProviderRegistry): OneRosterResolvedProvider;
|
|
21
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/lib/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEhF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,GAAE,gBAA4C,GACpD,yBAAyB,CAM3B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport Layer
|
|
3
|
+
*
|
|
4
|
+
* Extends BaseTransport for OneRoster API communication.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseTransport } from '@timeback/internal-client-infra';
|
|
7
|
+
import type { OneRosterPaths, PaginatedResponse, RequestOptions } from '@timeback/internal-client-infra';
|
|
8
|
+
import type { OneRosterTransportConfig } from '../types';
|
|
9
|
+
/**
|
|
10
|
+
* HTTP transport layer for OneRoster API communication.
|
|
11
|
+
*
|
|
12
|
+
* Uses header-based pagination (Link, X-Total-Count) per IMS Global spec.
|
|
13
|
+
*/
|
|
14
|
+
export declare class Transport extends BaseTransport {
|
|
15
|
+
/** API path profiles for OneRoster operations */
|
|
16
|
+
readonly paths: OneRosterPaths;
|
|
17
|
+
constructor(config: OneRosterTransportConfig);
|
|
18
|
+
/**
|
|
19
|
+
* Make a paginated request using header-based pagination.
|
|
20
|
+
*
|
|
21
|
+
* OneRoster APIs return pagination metadata in HTTP headers:
|
|
22
|
+
* - `Link` header with `rel="next"` for more pages
|
|
23
|
+
* - `X-Total-Count` header for total item count
|
|
24
|
+
*
|
|
25
|
+
* @template T - Expected item type in the response array
|
|
26
|
+
* @param path - API endpoint path
|
|
27
|
+
* @param options - Request options
|
|
28
|
+
* @returns Response data with hasMore flag and optional total count
|
|
29
|
+
*/
|
|
30
|
+
requestPaginated<T>(path: string, options?: RequestOptions): Promise<PaginatedResponse<T>>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/lib/transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAyB,MAAM,iCAAiC,CAAA;AAItF,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACxG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAExD;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAC3C,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAE9B,YAAY,MAAM,EAAE,wBAAwB,EAG3C;IAED;;;;;;;;;;;OAWG;IACG,gBAAgB,CAAC,CAAC,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAI/B;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resources/assessment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iCAAiC,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAA;AAClG,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assessment Line Items Resource
|
|
3
|
+
*
|
|
4
|
+
* Manage standardized assessment line items.
|
|
5
|
+
*/
|
|
6
|
+
import type { AssessmentLineItem, AssessmentLineItemsCallable, OneRosterTransportLike } from '../../types';
|
|
7
|
+
/**
|
|
8
|
+
* Scoped resource for operations on a specific assessment line item.
|
|
9
|
+
*
|
|
10
|
+
* Access via `client.assessmentLineItems(lineItemId)`.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const lineItem = await client.assessmentLineItems(lineItemId).get()
|
|
15
|
+
*
|
|
16
|
+
* // To get results for an assessment line item, use assessmentResults with a filter:
|
|
17
|
+
* const results = await client.assessmentResults.list({
|
|
18
|
+
* filter: { lineItem: { sourcedId: lineItemId } }
|
|
19
|
+
* })
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class ScopedAssessmentLineItemResource {
|
|
23
|
+
private readonly transport;
|
|
24
|
+
private readonly basePath;
|
|
25
|
+
constructor(transport: OneRosterTransportLike, lineItemId: string);
|
|
26
|
+
/**
|
|
27
|
+
* Get the assessment line item details.
|
|
28
|
+
* @returns The assessment line item details
|
|
29
|
+
*/
|
|
30
|
+
get(): Promise<AssessmentLineItem>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Create a callable assessment line items resource.
|
|
34
|
+
* @param transport - OneRoster transport instance
|
|
35
|
+
* @returns Callable resource for assessment line items
|
|
36
|
+
*/
|
|
37
|
+
export declare function createAssessmentLineItemsResource(transport: OneRosterTransportLike): AssessmentLineItemsCallable;
|
|
38
|
+
//# sourceMappingURL=line-items.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-items.d.ts","sourceRoot":"","sources":["../../../src/resources/assessment/line-items.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACX,kBAAkB,EAElB,2BAA2B,EAC3B,sBAAsB,EACtB,MAAM,aAAa,CAAA;AAMpB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gCAAgC;IAI3C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAH3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAEjC,YACkB,SAAS,EAAE,sBAAsB,EAClD,UAAU,EAAE,MAAM,EAGlB;IAED;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAKvC;CACD;AA2CD;;;;GAIG;AACH,wBAAgB,iCAAiC,CAChD,SAAS,EAAE,sBAAsB,GAC/B,2BAA2B,CAe7B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assessment Results Resource
|
|
3
|
+
*
|
|
4
|
+
* Manage standardized assessment results.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseResource } from '../base';
|
|
7
|
+
import type { AssessmentResult, AssessmentResultFilterFields, OneRosterTransportLike } from '../../types';
|
|
8
|
+
/**
|
|
9
|
+
* Resource for managing assessment results.
|
|
10
|
+
*/
|
|
11
|
+
export declare class AssessmentResultsResource extends BaseResource<AssessmentResult, AssessmentResultFilterFields> {
|
|
12
|
+
constructor(transport: OneRosterTransportLike);
|
|
13
|
+
/**
|
|
14
|
+
* Partially update an assessment result.
|
|
15
|
+
*
|
|
16
|
+
* Only the fields provided will be updated. Other fields remain unchanged.
|
|
17
|
+
*
|
|
18
|
+
* @param sourcedId - The assessment result sourcedId
|
|
19
|
+
* @param data - The fields to update
|
|
20
|
+
*/
|
|
21
|
+
patch(sourcedId: string, data: Partial<AssessmentResult>): Promise<void>;
|
|
22
|
+
protected get unwrapKey(): string;
|
|
23
|
+
protected get wrapKey(): string;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../../src/resources/assessment/results.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EACX,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,YAAY,CAC1D,gBAAgB,EAChB,4BAA4B,CAC5B;IACA,YAAY,SAAS,EAAE,sBAAsB,EAE5C;IAED;;;;;;;OAOG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7E;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;IAED,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;CACD"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Resource
|
|
3
|
+
*
|
|
4
|
+
* Abstract base class for all OneRoster resources.
|
|
5
|
+
* Provides common CRUD operations.
|
|
6
|
+
*/
|
|
7
|
+
import { Paginator } from '../lib';
|
|
8
|
+
import type { ListParams } from '@timeback/internal-client-infra';
|
|
9
|
+
import type { Base, CreateResponse, OneRosterTransportLike, ResourceType } from '../types';
|
|
10
|
+
/**
|
|
11
|
+
* Abstract base class for all OneRoster resources.
|
|
12
|
+
*
|
|
13
|
+
* Provides common CRUD operations with automatic response unwrapping.
|
|
14
|
+
*
|
|
15
|
+
* @template T - The resource type (must extend Base) - used for responses
|
|
16
|
+
* @template F - The filter fields type for type-safe where clauses
|
|
17
|
+
* @template I - The input type for create/update (defaults to Partial<T>)
|
|
18
|
+
*/
|
|
19
|
+
export declare abstract class BaseResource<T extends Base, F = T, I = Partial<T>> {
|
|
20
|
+
protected readonly transport: OneRosterTransportLike;
|
|
21
|
+
/** Full path for this resource (pathPrefix + suffix) */
|
|
22
|
+
protected readonly basePath: string;
|
|
23
|
+
/**
|
|
24
|
+
* @param transport - Transport instance for making requests
|
|
25
|
+
* @param resourceType - Type of resource (rostering or gradebook)
|
|
26
|
+
* @param suffix - Resource suffix (e.g., '/users', '/lineItems')
|
|
27
|
+
*/
|
|
28
|
+
constructor(transport: OneRosterTransportLike, resourceType: ResourceType, suffix: string);
|
|
29
|
+
/**
|
|
30
|
+
* List all resources, fetching all pages automatically.
|
|
31
|
+
*
|
|
32
|
+
* @param params - Optional filtering, sorting, and pagination parameters
|
|
33
|
+
* @returns Promise resolving to an array of all matching resources
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const users = await client.users.list()
|
|
38
|
+
* const activeUsers = await client.users.list({ where: { status: 'active' } })
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
list(params?: ListParams<F>): Promise<T[]>;
|
|
42
|
+
/**
|
|
43
|
+
* Stream resources with lazy pagination.
|
|
44
|
+
*
|
|
45
|
+
* Use this for large datasets where you want to process items
|
|
46
|
+
* one at a time without loading everything into memory.
|
|
47
|
+
*
|
|
48
|
+
* @param params - Optional filtering, sorting, and pagination parameters
|
|
49
|
+
* @returns Async iterable paginator for streaming results
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* for await (const user of client.users.stream()) {
|
|
54
|
+
* console.log(user.name)
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
stream(params?: ListParams<F>): Paginator<T, F>;
|
|
59
|
+
/**
|
|
60
|
+
* Get a single resource by sourcedId.
|
|
61
|
+
*
|
|
62
|
+
* @param sourcedId - The unique identifier of the resource
|
|
63
|
+
* @returns The requested resource
|
|
64
|
+
* @throws {NotFoundError} If the resource doesn't exist
|
|
65
|
+
*/
|
|
66
|
+
get(sourcedId: string): Promise<T>;
|
|
67
|
+
/**
|
|
68
|
+
* Create a new resource.
|
|
69
|
+
*
|
|
70
|
+
* @param data - The resource data to create
|
|
71
|
+
* @returns Response containing the created resource's sourcedId
|
|
72
|
+
* @throws {ValidationError} If the data is invalid
|
|
73
|
+
*/
|
|
74
|
+
create(data: I): Promise<CreateResponse>;
|
|
75
|
+
/**
|
|
76
|
+
* Update an existing resource (full replacement).
|
|
77
|
+
*
|
|
78
|
+
* @param sourcedId - The unique identifier of the resource to update
|
|
79
|
+
* @param data - The fields to update
|
|
80
|
+
* @throws {NotFoundError} If the resource doesn't exist
|
|
81
|
+
* @throws {ValidationError} If the data is invalid
|
|
82
|
+
*/
|
|
83
|
+
update(sourcedId: string, data: Partial<I>): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Delete a resource.
|
|
86
|
+
*
|
|
87
|
+
* @param sourcedId - The unique identifier of the resource to delete
|
|
88
|
+
* @throws {NotFoundError} If the resource doesn't exist
|
|
89
|
+
*/
|
|
90
|
+
delete(sourcedId: string): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* The key used to unwrap list responses (e.g., "users", "classes").
|
|
93
|
+
* Override in subclasses.
|
|
94
|
+
*/
|
|
95
|
+
protected abstract get unwrapKey(): string;
|
|
96
|
+
/**
|
|
97
|
+
* The key used to wrap request bodies (e.g., "user", "class").
|
|
98
|
+
* Override in subclasses.
|
|
99
|
+
*/
|
|
100
|
+
protected abstract get wrapKey(): string;
|
|
101
|
+
/**
|
|
102
|
+
* Transform a response entity before returning it.
|
|
103
|
+
*
|
|
104
|
+
* Override in subclasses to normalize API responses (e.g., convert grades from strings to numbers).
|
|
105
|
+
* Default implementation returns the entity unchanged.
|
|
106
|
+
*
|
|
107
|
+
* @param entity - The raw entity from the API
|
|
108
|
+
* @returns The transformed entity
|
|
109
|
+
*/
|
|
110
|
+
protected transform(entity: T): T;
|
|
111
|
+
/**
|
|
112
|
+
* Unwrap a single-item response.
|
|
113
|
+
*
|
|
114
|
+
* @param response - Raw API response object
|
|
115
|
+
* @returns The unwrapped resource
|
|
116
|
+
* @throws {Error} If expected key is missing from response
|
|
117
|
+
*/
|
|
118
|
+
protected unwrapSingle(response: Record<string, T>): T;
|
|
119
|
+
/**
|
|
120
|
+
* Wrap data for POST/PUT requests.
|
|
121
|
+
*
|
|
122
|
+
* @param data - Resource data to wrap
|
|
123
|
+
* @returns Wrapped request body
|
|
124
|
+
*/
|
|
125
|
+
protected wrapBody(data: I): Record<string, I>;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Base class for read-only resources (no create/update/delete).
|
|
129
|
+
*
|
|
130
|
+
* @template T - The resource type (must extend Base)
|
|
131
|
+
* @template F - The filter fields type for type-safe where clauses
|
|
132
|
+
*/
|
|
133
|
+
export declare abstract class ReadOnlyResource<T extends Base, F = T> {
|
|
134
|
+
protected readonly transport: OneRosterTransportLike;
|
|
135
|
+
/** Full path for this resource (pathPrefix + suffix) */
|
|
136
|
+
protected readonly basePath: string;
|
|
137
|
+
/**
|
|
138
|
+
* @param transport - Transport instance for making requests
|
|
139
|
+
* @param resourceType - Type of resource (rostering or gradebook)
|
|
140
|
+
* @param suffix - Resource suffix (e.g., '/demographics')
|
|
141
|
+
*/
|
|
142
|
+
constructor(transport: OneRosterTransportLike, resourceType: ResourceType, suffix: string);
|
|
143
|
+
/**
|
|
144
|
+
* List all resources, fetching all pages automatically.
|
|
145
|
+
*
|
|
146
|
+
* @param params - Optional filtering, sorting, and pagination parameters
|
|
147
|
+
* @returns Promise resolving to an array of all matching resources
|
|
148
|
+
*/
|
|
149
|
+
list(params?: ListParams<F>): Promise<T[]>;
|
|
150
|
+
/**
|
|
151
|
+
* Stream resources with lazy pagination.
|
|
152
|
+
*
|
|
153
|
+
* Use this for large datasets where you want to process items
|
|
154
|
+
* one at a time without loading everything into memory.
|
|
155
|
+
*
|
|
156
|
+
* @param params - Optional filtering, sorting, and pagination parameters
|
|
157
|
+
* @returns Async iterable paginator for streaming results
|
|
158
|
+
*/
|
|
159
|
+
stream(params?: ListParams<F>): Paginator<T, F>;
|
|
160
|
+
/**
|
|
161
|
+
* Get a single resource by sourcedId.
|
|
162
|
+
*
|
|
163
|
+
* @param sourcedId - The unique identifier of the resource
|
|
164
|
+
* @returns The requested resource
|
|
165
|
+
* @throws {NotFoundError} If the resource doesn't exist
|
|
166
|
+
*/
|
|
167
|
+
get(sourcedId: string): Promise<T>;
|
|
168
|
+
/**
|
|
169
|
+
* Transform a response entity before returning it.
|
|
170
|
+
*
|
|
171
|
+
* Override in subclasses to normalize API responses.
|
|
172
|
+
* Default implementation returns the entity unchanged.
|
|
173
|
+
*
|
|
174
|
+
* @param entity - The raw entity from the API
|
|
175
|
+
* @returns The transformed entity
|
|
176
|
+
*/
|
|
177
|
+
protected transform(entity: T): T;
|
|
178
|
+
protected abstract get unwrapKey(): string;
|
|
179
|
+
protected abstract get wrapKey(): string;
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/resources/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Categories Resource
|
|
3
|
+
*
|
|
4
|
+
* Manage gradebook categories (e.g., "Homework", "Tests", "Projects").
|
|
5
|
+
*/
|
|
6
|
+
import { BaseResource } from '../base';
|
|
7
|
+
import type { Category, CategoryCreateInput, CategoryFilterFields, OneRosterTransportLike } from '../../types';
|
|
8
|
+
/**
|
|
9
|
+
* Resource for managing gradebook categories.
|
|
10
|
+
*/
|
|
11
|
+
export declare class CategoriesResource extends BaseResource<Category, CategoryFilterFields, CategoryCreateInput> {
|
|
12
|
+
constructor(transport: OneRosterTransportLike);
|
|
13
|
+
protected get unwrapKey(): string;
|
|
14
|
+
protected get wrapKey(): string;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=categories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/resources/gradebook/categories.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EACX,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY,CACnD,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,CACnB;IACA,YAAY,SAAS,EAAE,sBAAsB,EAE5C;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;IAED,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;CACD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gradebook Resources
|
|
3
|
+
*/
|
|
4
|
+
export { createLineItemsResource, ScopedLineItemResource } from './line-items';
|
|
5
|
+
export { ResultsResource } from './results';
|
|
6
|
+
export { CategoriesResource } from './categories';
|
|
7
|
+
export { ScoreScalesResource } from './score-scales';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resources/gradebook/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Line Items Resource
|
|
3
|
+
*
|
|
4
|
+
* Manage gradebook line items (assignments, assessments, etc.).
|
|
5
|
+
*/
|
|
6
|
+
import type { CreateResponse, LineItem, LineItemsCallable, OneRosterTransportLike, Result } from '../../types';
|
|
7
|
+
/**
|
|
8
|
+
* Scoped resource for operations on a specific line item.
|
|
9
|
+
*
|
|
10
|
+
* Access via `client.lineItems(lineItemId)`.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const lineItem = await client.lineItems(lineItemId).get()
|
|
15
|
+
*
|
|
16
|
+
* // To get results for a line item, use the class-scoped path:
|
|
17
|
+
* const results = await client.classes(classId).lineItem(lineItemId).results()
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare class ScopedLineItemResource {
|
|
21
|
+
private readonly transport;
|
|
22
|
+
private readonly basePath;
|
|
23
|
+
constructor(transport: OneRosterTransportLike, lineItemId: string);
|
|
24
|
+
/**
|
|
25
|
+
* Get the line item details.
|
|
26
|
+
* @returns The line item details
|
|
27
|
+
*/
|
|
28
|
+
get(): Promise<LineItem>;
|
|
29
|
+
/**
|
|
30
|
+
* Bulk create results for this line item.
|
|
31
|
+
*
|
|
32
|
+
* Use this to submit multiple student grades at once.
|
|
33
|
+
*
|
|
34
|
+
* @param results - Array of results to create
|
|
35
|
+
* @returns Create response with sourcedIdPairs
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* await client.lineItems(lineItemId).createResults([
|
|
39
|
+
* { student: { sourcedId: 'student1' }, score: 85 },
|
|
40
|
+
* { student: { sourcedId: 'student2' }, score: 92 },
|
|
41
|
+
* ])
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
createResults(results: Partial<Result>[]): Promise<CreateResponse>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create a callable line items resource.
|
|
48
|
+
* @param transport - OneRoster transport instance
|
|
49
|
+
* @returns Callable resource for line items
|
|
50
|
+
*/
|
|
51
|
+
export declare function createLineItemsResource(transport: OneRosterTransportLike): LineItemsCallable;
|
|
52
|
+
//# sourceMappingURL=line-items.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-items.d.ts","sourceRoot":"","sources":["../../../src/resources/gradebook/line-items.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACX,cAAc,EACd,QAAQ,EAGR,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,MAAM,aAAa,CAAA;AAMpB;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAsB;IAIjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAH3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAEjC,YACkB,SAAS,EAAE,sBAAsB,EAClD,UAAU,EAAE,MAAM,EAGlB;IAED;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAG7B;IAED;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAKjE;CACD;AA6BD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,sBAAsB,GAAG,iBAAiB,CAc5F"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Results Resource
|
|
3
|
+
*
|
|
4
|
+
* Manage student grades and scores.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseResource } from '../base';
|
|
7
|
+
import type { CreateResponse, OneRosterTransportLike, Result, ResultCreateInput, ResultFilterFields } from '../../types';
|
|
8
|
+
/**
|
|
9
|
+
* Resource for managing gradebook results (grades).
|
|
10
|
+
*/
|
|
11
|
+
export declare class ResultsResource extends BaseResource<Result, ResultFilterFields> {
|
|
12
|
+
constructor(transport: OneRosterTransportLike);
|
|
13
|
+
/**
|
|
14
|
+
* Create a new result (grade).
|
|
15
|
+
*
|
|
16
|
+
* @param data - Result data including required lineItem, student, scoreStatus, and scoreDate
|
|
17
|
+
* @returns Response containing the created result's sourcedId
|
|
18
|
+
* @throws {ValidationError} If required fields are missing
|
|
19
|
+
*/
|
|
20
|
+
create(data: ResultCreateInput): Promise<CreateResponse>;
|
|
21
|
+
protected get unwrapKey(): string;
|
|
22
|
+
protected get wrapKey(): string;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../../src/resources/gradebook/results.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EACX,cAAc,EACd,sBAAsB,EACtB,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAC5E,YAAY,SAAS,EAAE,sBAAsB,EAE5C;IAED;;;;;;OAMG;IACM,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAEhE;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;IAED,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;CACD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Score Scales Resource
|
|
3
|
+
*
|
|
4
|
+
* Manage grading rubrics and score definitions.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseResource } from '../base';
|
|
7
|
+
import type { OneRosterTransportLike, ScoreScale, ScoreScaleFilterFields } from '../../types';
|
|
8
|
+
/**
|
|
9
|
+
* Resource for managing score scales (grading rubrics).
|
|
10
|
+
*/
|
|
11
|
+
export declare class ScoreScalesResource extends BaseResource<ScoreScale, ScoreScaleFilterFields> {
|
|
12
|
+
constructor(transport: OneRosterTransportLike);
|
|
13
|
+
protected get unwrapKey(): string;
|
|
14
|
+
protected get wrapKey(): string;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=score-scales.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"score-scales.d.ts","sourceRoot":"","sources":["../../../src/resources/gradebook/score-scales.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAE7F;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;IACxF,YAAY,SAAS,EAAE,sBAAsB,EAE5C;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;IAED,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resources/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resources Resource
|
|
3
|
+
*
|
|
4
|
+
* Manage digital learning resources.
|
|
5
|
+
*/
|
|
6
|
+
import type { OneRosterTransportLike, Resource, ResourcesCallable } from '../../types';
|
|
7
|
+
/**
|
|
8
|
+
* Scoped resource for operations on a specific resource.
|
|
9
|
+
*
|
|
10
|
+
* Access via `client.resources(resourceId)`.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const resource = await client.resources(resourceId).get()
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare class ScopedResourceResource {
|
|
18
|
+
private readonly transport;
|
|
19
|
+
private readonly basePath;
|
|
20
|
+
private readonly resourceId;
|
|
21
|
+
constructor(transport: OneRosterTransportLike, resourceId: string);
|
|
22
|
+
/**
|
|
23
|
+
* Get the resource details.
|
|
24
|
+
* @returns The resource object
|
|
25
|
+
*/
|
|
26
|
+
get(): Promise<Resource>;
|
|
27
|
+
/**
|
|
28
|
+
* Export this resource.
|
|
29
|
+
* @returns Common Cartridge zip file as an ArrayBuffer
|
|
30
|
+
*/
|
|
31
|
+
export(): Promise<ArrayBuffer>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Create a callable resources resource.
|
|
35
|
+
* @param transport - OneRoster transport instance
|
|
36
|
+
* @returns Callable resource for resources
|
|
37
|
+
*/
|
|
38
|
+
export declare function createResourcesResource(transport: OneRosterTransportLike): ResourcesCallable;
|
|
39
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/resources/resources/resources.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACX,sBAAsB,EACtB,QAAQ,EAER,iBAAiB,EACjB,MAAM,aAAa,CAAA;AAMpB;;;;;;;;;GASG;AACH,qBAAa,sBAAsB;IAKjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAEnC,YACkB,SAAS,EAAE,sBAAsB,EAClD,UAAU,EAAE,MAAM,EAIlB;IAED;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAG7B;IAED;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,CAUnC;CACD;AA0CD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,sBAAsB,GAAG,iBAAiB,CAe5F"}
|