@openstax/ts-utils 1.38.3 → 1.39.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/dist/cjs/services/httpMessageVerifier/index.d.ts +1 -0
- package/dist/cjs/services/httpMessageVerifier/index.js +2 -2
- package/dist/cjs/services/lrsGateway/addStatementDefaultFields.d.ts +3 -2
- package/dist/cjs/services/lrsGateway/attempt-utils.d.ts +1 -1
- package/dist/cjs/services/lrsGateway/attempt-utils.js +2 -2
- package/dist/cjs/services/lrsGateway/index.d.ts +1 -1
- package/dist/cjs/services/lrsGateway/index.js +5 -3
- package/dist/cjs/tsconfig.without-specs.cjs.tsbuildinfo +1 -1
- package/dist/esm/services/httpMessageVerifier/index.d.ts +1 -0
- package/dist/esm/services/httpMessageVerifier/index.js +2 -2
- package/dist/esm/services/lrsGateway/addStatementDefaultFields.d.ts +3 -2
- package/dist/esm/services/lrsGateway/attempt-utils.d.ts +1 -1
- package/dist/esm/services/lrsGateway/attempt-utils.js +2 -2
- package/dist/esm/services/lrsGateway/index.d.ts +1 -1
- package/dist/esm/services/lrsGateway/index.js +5 -3
- package/dist/esm/tsconfig.without-specs.esm.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ const helpers_1 = require("../../misc/helpers");
|
|
|
12
12
|
const jwks_1 = require("../../misc/jwks");
|
|
13
13
|
const createHttpMessageVerifier = ({ configSpace, fetcher }) => (configProvider) => {
|
|
14
14
|
const config = configProvider[configSpace !== null && configSpace !== void 0 ? configSpace : 'verifier'];
|
|
15
|
+
const getApiHost = (0, helpers_1.once)(async () => await (0, config_1.resolveConfigValue)(config.apiHost));
|
|
15
16
|
const getBypassSignatureVerification = (0, helpers_1.once)(async () => (await (0, config_1.resolveConfigValue)(config.bypassSignatureVerification)) === 'true');
|
|
16
17
|
return ({ request }) => ({
|
|
17
18
|
verify: async ({ configOverride, signatureAgentVerifier }) => {
|
|
@@ -44,8 +45,7 @@ const createHttpMessageVerifier = ({ configSpace, fetcher }) => (configProvider)
|
|
|
44
45
|
body,
|
|
45
46
|
headers,
|
|
46
47
|
method: requestContext.http.method,
|
|
47
|
-
|
|
48
|
-
url: requestContext.http.path,
|
|
48
|
+
url: `${await getApiHost()}${requestContext.http.path}${request.rawQueryString ? `?${request.rawQueryString}` : ''}`,
|
|
49
49
|
};
|
|
50
50
|
if (!await http_message_signatures_1.httpbis.verifyMessage({
|
|
51
51
|
all: true,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { User } from '../authProvider';
|
|
2
1
|
import { EagerXapiStatement, UXapiStatement, XapiStatement } from '.';
|
|
3
2
|
export declare const addStatementDefaultFields: (statement: (Pick<XapiStatement, "object" | "verb" | "context" | "result"> & {
|
|
4
3
|
id?: string;
|
|
5
|
-
}) | UXapiStatement, user:
|
|
4
|
+
}) | UXapiStatement, user: {
|
|
5
|
+
uuid: string;
|
|
6
|
+
}) => EagerXapiStatement;
|
|
@@ -79,7 +79,7 @@ export declare const putAttemptStatement: (gateway: LrsGateway, activity: {
|
|
|
79
79
|
export declare const createAttemptActivityStatement: (attemptStatement: UXapiStatement, verb: UXapiStatement["verb"], result?: UXapiStatement["result"]) => Pick<UXapiStatement, "object" | "verb" | "context" | "result">;
|
|
80
80
|
export declare const putAttemptActivityStatement: (gateway: LrsGateway, attemptStatement: UXapiStatement, verb: UXapiStatement["verb"], result?: UXapiStatement["result"]) => Promise<import(".").EagerXapiStatement>;
|
|
81
81
|
export declare const createCompletedStatement: (attemptStatement: UXapiStatement, result?: UXapiStatement["result"]) => Pick<UXapiStatement, "object" | "verb" | "context" | "result">;
|
|
82
|
-
export declare const putCompletedStatement: (gateway: LrsGateway, attemptStatement: UXapiStatement, result: UXapiStatement["result"]) => Promise<import(".").EagerXapiStatement>;
|
|
82
|
+
export declare const putCompletedStatement: (gateway: LrsGateway, attemptStatement: UXapiStatement, result: UXapiStatement["result"], user?: string) => Promise<import(".").EagerXapiStatement>;
|
|
83
83
|
export declare const createCompletedPendingScoringStatement: (attemptStatement: UXapiStatement) => Pick<UXapiStatement, "object" | "verb" | "context" | "result">;
|
|
84
84
|
export declare const putCompletedPendingScoringStatement: (gateway: LrsGateway, attemptStatement: UXapiStatement) => Promise<import(".").EagerXapiStatement>;
|
|
85
85
|
export declare const createScoredStatement: (attemptStatement: UXapiStatement, result: UXapiStatement["result"]) => Pick<UXapiStatement, "object" | "verb" | "context" | "result">;
|
|
@@ -311,8 +311,8 @@ const createCompletedStatement = (attemptStatement, result) => {
|
|
|
311
311
|
};
|
|
312
312
|
};
|
|
313
313
|
exports.createCompletedStatement = createCompletedStatement;
|
|
314
|
-
const putCompletedStatement = async (gateway, attemptStatement, result) => {
|
|
315
|
-
return (await gateway.putXapiStatements([(0, exports.createCompletedStatement)(attemptStatement, result)]))[0];
|
|
314
|
+
const putCompletedStatement = async (gateway, attemptStatement, result, user) => {
|
|
315
|
+
return (await gateway.putXapiStatements([(0, exports.createCompletedStatement)(attemptStatement, result)], user))[0];
|
|
316
316
|
};
|
|
317
317
|
exports.putCompletedStatement = putCompletedStatement;
|
|
318
318
|
// pending score statement for when the open written response has been graded.
|
|
@@ -84,7 +84,7 @@ export declare const lrsGateway: <C extends string = "lrs">(initializer: Initial
|
|
|
84
84
|
}) => {
|
|
85
85
|
putXapiStatements: (statements: Array<(Pick<XapiStatement, "object" | "verb" | "context" | "result"> & {
|
|
86
86
|
id?: string;
|
|
87
|
-
}) | UXapiStatement
|
|
87
|
+
}) | UXapiStatement>, user?: string) => Promise<EagerXapiStatement[]>;
|
|
88
88
|
getXapiStatements: (params: {
|
|
89
89
|
verb?: string;
|
|
90
90
|
activity?: string;
|
|
@@ -56,9 +56,11 @@ const lrsGateway = (initializer) => (configProvider) => {
|
|
|
56
56
|
status: [502]
|
|
57
57
|
});
|
|
58
58
|
// Note: This method actually uses POST
|
|
59
|
-
const putXapiStatements = async (statements) => {
|
|
60
|
-
const
|
|
61
|
-
|
|
59
|
+
const putXapiStatements = async (statements, user) => {
|
|
60
|
+
const userObj = user
|
|
61
|
+
? { uuid: user }
|
|
62
|
+
: (0, assertions_1.assertDefined)(await authProvider.getUser(), new errors_1.UnauthorizedError);
|
|
63
|
+
const statementsWithDefaults = statements.map(statement => (0, addStatementDefaultFields_1.addStatementDefaultFields)(statement, userObj));
|
|
62
64
|
const response = await fetcher((await lrsHost()).replace(/\/+$/, '') + '/data/xAPI/statements', {
|
|
63
65
|
body: JSON.stringify(statementsWithDefaults),
|
|
64
66
|
headers: {
|