@timeback/oneroster 0.1.1 → 0.1.3
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/errors.js +93 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15336 -180
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/pagination.d.ts +3 -0
- package/dist/lib/pagination.d.ts.map +1 -1
- package/dist/lib/validation.d.ts +21 -0
- package/dist/lib/validation.d.ts.map +1 -0
- package/dist/resources/assessment/line-items.d.ts.map +1 -1
- package/dist/resources/assessment/results.d.ts +6 -1
- package/dist/resources/assessment/results.d.ts.map +1 -1
- package/dist/resources/base.d.ts +41 -2
- package/dist/resources/base.d.ts.map +1 -1
- package/dist/resources/gradebook/categories.d.ts +5 -1
- package/dist/resources/gradebook/categories.d.ts.map +1 -1
- package/dist/resources/gradebook/line-items.d.ts.map +1 -1
- package/dist/resources/gradebook/results.d.ts +8 -3
- package/dist/resources/gradebook/results.d.ts.map +1 -1
- package/dist/resources/gradebook/score-scales.d.ts +5 -1
- package/dist/resources/gradebook/score-scales.d.ts.map +1 -1
- package/dist/resources/resources/resources.d.ts.map +1 -1
- package/dist/resources/resources/resources.type-test.d.ts +2 -0
- package/dist/resources/resources/resources.type-test.d.ts.map +1 -0
- package/dist/resources/rostering/academic-sessions.d.ts +8 -1
- package/dist/resources/rostering/academic-sessions.d.ts.map +1 -1
- package/dist/resources/rostering/classes.d.ts +3 -1
- package/dist/resources/rostering/classes.d.ts.map +1 -1
- package/dist/resources/rostering/courses.d.ts +1 -1
- package/dist/resources/rostering/courses.d.ts.map +1 -1
- package/dist/resources/rostering/demographics.d.ts +5 -1
- package/dist/resources/rostering/demographics.d.ts.map +1 -1
- package/dist/resources/rostering/enrollments.d.ts +7 -1
- package/dist/resources/rostering/enrollments.d.ts.map +1 -1
- package/dist/resources/rostering/orgs.d.ts +5 -1
- package/dist/resources/rostering/orgs.d.ts.map +1 -1
- package/dist/resources/rostering/schools.d.ts +2 -1
- package/dist/resources/rostering/schools.d.ts.map +1 -1
- package/dist/resources/rostering/users.d.ts +6 -1
- package/dist/resources/rostering/users.d.ts.map +1 -1
- package/dist/types/callable.d.ts +5 -7
- package/dist/types/callable.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -10
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/streamable.d.ts +36 -0
- package/dist/types/streamable.d.ts.map +1 -0
- package/package.json +3 -2
- package/dist/types/base.d.ts +0 -137
- package/dist/types/base.d.ts.map +0 -1
- package/dist/types/filters.d.ts +0 -165
- package/dist/types/filters.d.ts.map +0 -1
- package/dist/types/gradebook.d.ts +0 -262
- package/dist/types/gradebook.d.ts.map +0 -1
- package/dist/types/resources.d.ts +0 -191
- package/dist/types/resources.d.ts.map +0 -1
- package/dist/types/rostering.d.ts +0 -732
- package/dist/types/rostering.d.ts.map +0 -1
package/dist/errors.js
CHANGED
|
@@ -15,6 +15,15 @@ var __toESM = (mod, isNodeMode, target) => {
|
|
|
15
15
|
});
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
|
+
var __export = (target, all) => {
|
|
19
|
+
for (var name in all)
|
|
20
|
+
__defProp(target, name, {
|
|
21
|
+
get: all[name],
|
|
22
|
+
enumerable: true,
|
|
23
|
+
configurable: true,
|
|
24
|
+
set: (newValue) => all[name] = () => newValue
|
|
25
|
+
});
|
|
26
|
+
};
|
|
18
27
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
19
28
|
|
|
20
29
|
// ../../internal/constants/src/endpoints.ts
|
|
@@ -68,9 +77,12 @@ var PLATFORM_ENDPOINTS = {
|
|
|
68
77
|
// ../../internal/constants/src/typescript.ts
|
|
69
78
|
var TypeScriptPackages = {
|
|
70
79
|
tsc: "tsc",
|
|
71
|
-
nativePreview: "@typescript/native-preview
|
|
80
|
+
nativePreview: "@typescript/native-preview"
|
|
81
|
+
};
|
|
82
|
+
var TYPESCRIPT_RUNNER = {
|
|
83
|
+
package: TypeScriptPackages.nativePreview,
|
|
84
|
+
bin: "tsgo"
|
|
72
85
|
};
|
|
73
|
-
var TYPESCRIPT_PACKAGE = TypeScriptPackages.nativePreview;
|
|
74
86
|
// ../../internal/logger/src/debug.ts
|
|
75
87
|
var patterns = null;
|
|
76
88
|
var debugAll = false;
|
|
@@ -475,6 +487,9 @@ var BEYONDAI_PATHS = {
|
|
|
475
487
|
},
|
|
476
488
|
edubridge: {
|
|
477
489
|
base: "/edubridge"
|
|
490
|
+
},
|
|
491
|
+
powerpath: {
|
|
492
|
+
base: "/powerpath"
|
|
478
493
|
}
|
|
479
494
|
};
|
|
480
495
|
var LEARNWITHAI_PATHS = {
|
|
@@ -490,7 +505,8 @@ var LEARNWITHAI_PATHS = {
|
|
|
490
505
|
gradebook: "/gradebook/1.0",
|
|
491
506
|
resources: "/resources/1.0"
|
|
492
507
|
},
|
|
493
|
-
edubridge: null
|
|
508
|
+
edubridge: null,
|
|
509
|
+
powerpath: null
|
|
494
510
|
};
|
|
495
511
|
var PLATFORM_PATHS = {
|
|
496
512
|
BEYOND_AI: BEYONDAI_PATHS,
|
|
@@ -512,7 +528,8 @@ function resolvePathProfiles(pathProfile, customPaths) {
|
|
|
512
528
|
return {
|
|
513
529
|
caliper: customPaths?.caliper ?? basePaths.caliper,
|
|
514
530
|
oneroster: customPaths?.oneroster ?? basePaths.oneroster,
|
|
515
|
-
edubridge: customPaths?.edubridge ?? basePaths.edubridge
|
|
531
|
+
edubridge: customPaths?.edubridge ?? basePaths.edubridge,
|
|
532
|
+
powerpath: customPaths?.powerpath ?? basePaths.powerpath
|
|
516
533
|
};
|
|
517
534
|
}
|
|
518
535
|
|
|
@@ -548,6 +565,10 @@ class TimebackProvider {
|
|
|
548
565
|
baseUrl: platformEndpoints.api[env],
|
|
549
566
|
authUrl: this.authUrl
|
|
550
567
|
},
|
|
568
|
+
powerpath: {
|
|
569
|
+
baseUrl: platformEndpoints.api[env],
|
|
570
|
+
authUrl: this.authUrl
|
|
571
|
+
},
|
|
551
572
|
caliper: {
|
|
552
573
|
baseUrl: platformEndpoints.caliper[env],
|
|
553
574
|
authUrl: this.authUrl
|
|
@@ -564,6 +585,7 @@ class TimebackProvider {
|
|
|
564
585
|
this.endpoints = {
|
|
565
586
|
oneroster: { baseUrl: config.baseUrl, authUrl: this.authUrl },
|
|
566
587
|
edubridge: { baseUrl: config.baseUrl, authUrl: this.authUrl },
|
|
588
|
+
powerpath: { baseUrl: config.baseUrl, authUrl: this.authUrl },
|
|
567
589
|
caliper: { baseUrl: config.baseUrl, authUrl: this.authUrl },
|
|
568
590
|
qti: { baseUrl: config.baseUrl, authUrl: this.authUrl }
|
|
569
591
|
};
|
|
@@ -971,6 +993,27 @@ class ValidationError extends ApiError {
|
|
|
971
993
|
super(message, 422, response);
|
|
972
994
|
}
|
|
973
995
|
}
|
|
996
|
+
|
|
997
|
+
class InputValidationError extends ApiError {
|
|
998
|
+
name = "InputValidationError";
|
|
999
|
+
issues;
|
|
1000
|
+
constructor(message, issues) {
|
|
1001
|
+
const response = {
|
|
1002
|
+
imsx_codeMajor: "failure",
|
|
1003
|
+
imsx_severity: "error",
|
|
1004
|
+
imsx_description: message,
|
|
1005
|
+
imsx_error_details: issues.map((issue) => ({
|
|
1006
|
+
path: issue.path,
|
|
1007
|
+
message: issue.message
|
|
1008
|
+
}))
|
|
1009
|
+
};
|
|
1010
|
+
super(message, 400, response);
|
|
1011
|
+
this.issues = issues;
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
function createInputValidationError(message, issues) {
|
|
1015
|
+
return new InputValidationError(message, issues);
|
|
1016
|
+
}
|
|
974
1017
|
// ../../internal/client-infra/src/transport/constants.ts
|
|
975
1018
|
var MAX_RETRIES = 3;
|
|
976
1019
|
var RETRY_STATUS_CODES = [429, 503];
|
|
@@ -1413,6 +1456,52 @@ function parseHeaderPagination(response, data) {
|
|
|
1413
1456
|
total
|
|
1414
1457
|
};
|
|
1415
1458
|
}
|
|
1459
|
+
// ../../internal/client-infra/src/validation/index.ts
|
|
1460
|
+
function issue(path, message) {
|
|
1461
|
+
return { path, message };
|
|
1462
|
+
}
|
|
1463
|
+
function validateWithSchema(schema, data, context) {
|
|
1464
|
+
const result = schema.safeParse(data);
|
|
1465
|
+
if (result.success) {
|
|
1466
|
+
return;
|
|
1467
|
+
}
|
|
1468
|
+
const issues = result.error.issues.map((errorIssue) => ({
|
|
1469
|
+
path: errorIssue.path.join(".") || "(root)",
|
|
1470
|
+
message: errorIssue.message
|
|
1471
|
+
}));
|
|
1472
|
+
throw createInputValidationError(`Invalid ${context} data`, issues);
|
|
1473
|
+
}
|
|
1474
|
+
function validateOffsetListParams(params) {
|
|
1475
|
+
if (!params) {
|
|
1476
|
+
return;
|
|
1477
|
+
}
|
|
1478
|
+
const issues = [];
|
|
1479
|
+
if (params.limit !== undefined) {
|
|
1480
|
+
if (!Number.isInteger(params.limit) || params.limit <= 0) {
|
|
1481
|
+
issues.push(issue("limit", "Must be a positive integer"));
|
|
1482
|
+
}
|
|
1483
|
+
}
|
|
1484
|
+
if (params.offset !== undefined) {
|
|
1485
|
+
if (!Number.isInteger(params.offset) || params.offset < 0) {
|
|
1486
|
+
issues.push(issue("offset", "Must be a non-negative integer"));
|
|
1487
|
+
}
|
|
1488
|
+
}
|
|
1489
|
+
if (params.max !== undefined) {
|
|
1490
|
+
if (!Number.isInteger(params.max) || params.max <= 0) {
|
|
1491
|
+
issues.push(issue("max", "Must be a positive integer"));
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1494
|
+
if (issues.length > 0) {
|
|
1495
|
+
throw createInputValidationError("Invalid list parameters", issues);
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
function validateSourcedId(sourcedId, context) {
|
|
1499
|
+
if (typeof sourcedId !== "string" || sourcedId.trim() === "") {
|
|
1500
|
+
throw createInputValidationError(`Invalid ${context} request`, [
|
|
1501
|
+
issue("sourcedId", "Must be a non-empty string")
|
|
1502
|
+
]);
|
|
1503
|
+
}
|
|
1504
|
+
}
|
|
1416
1505
|
export {
|
|
1417
1506
|
ValidationError,
|
|
1418
1507
|
UnauthorizedError,
|
package/dist/index.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export { OneRosterClient, type OneRosterClientInstance } from './client';
|
|
|
34
34
|
export { createOneRosterClient } from './factory';
|
|
35
35
|
export type { OneRosterClientConfig } from './types/client';
|
|
36
36
|
export type { Environment, EnvAuth, ExplicitAuth } from './types/client';
|
|
37
|
-
export type { StreamableResource } from './types
|
|
37
|
+
export type { StreamableResource } from './types';
|
|
38
38
|
export type { AuthCheckResult, ListParams, PageResult } from '@timeback/internal-client-infra';
|
|
39
39
|
export { whereToFilter } from '@timeback/internal-client-infra';
|
|
40
40
|
export type { FieldCondition, FieldOperators, FilterFields, FilterValue, OrCondition, WhereClause, } from '@timeback/internal-client-infra';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAM3D,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAExE,YAAY,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAM3D,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAExE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAM9F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,YAAY,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,GACX,MAAM,iCAAiC,CAAA;AAMxC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA"}
|