@instructure/athena-api-client 2.14.4 → 2.15.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.
Files changed (38) hide show
  1. package/README.md +8 -0
  2. package/dist/apis/LearningSessionEvaluationsApi.d.ts +32 -0
  3. package/dist/apis/LearningSessionEvaluationsApi.js +74 -0
  4. package/dist/apis/UserConceptsApi.d.ts +57 -0
  5. package/dist/apis/UserConceptsApi.js +129 -0
  6. package/dist/apis/index.d.ts +2 -0
  7. package/dist/apis/index.js +2 -0
  8. package/dist/esm/apis/LearningSessionEvaluationsApi.d.ts +32 -0
  9. package/dist/esm/apis/LearningSessionEvaluationsApi.js +70 -0
  10. package/dist/esm/apis/UserConceptsApi.d.ts +57 -0
  11. package/dist/esm/apis/UserConceptsApi.js +125 -0
  12. package/dist/esm/apis/index.d.ts +2 -0
  13. package/dist/esm/apis/index.js +2 -0
  14. package/dist/esm/models/LearningSessionEvaluation.d.ts +80 -0
  15. package/dist/esm/models/LearningSessionEvaluation.js +75 -0
  16. package/dist/esm/models/PaginatedUserConcepts.d.ts +39 -0
  17. package/dist/esm/models/PaginatedUserConcepts.js +48 -0
  18. package/dist/esm/models/UpsertUserConceptByNameRequest.d.ts +32 -0
  19. package/dist/esm/models/UpsertUserConceptByNameRequest.js +43 -0
  20. package/dist/esm/models/UserConcept.d.ts +63 -0
  21. package/dist/esm/models/UserConcept.js +64 -0
  22. package/dist/esm/models/UserConceptConcept.d.ts +44 -0
  23. package/dist/esm/models/UserConceptConcept.js +51 -0
  24. package/dist/esm/models/index.d.ts +5 -0
  25. package/dist/esm/models/index.js +5 -0
  26. package/dist/models/LearningSessionEvaluation.d.ts +80 -0
  27. package/dist/models/LearningSessionEvaluation.js +82 -0
  28. package/dist/models/PaginatedUserConcepts.d.ts +39 -0
  29. package/dist/models/PaginatedUserConcepts.js +55 -0
  30. package/dist/models/UpsertUserConceptByNameRequest.d.ts +32 -0
  31. package/dist/models/UpsertUserConceptByNameRequest.js +50 -0
  32. package/dist/models/UserConcept.d.ts +63 -0
  33. package/dist/models/UserConcept.js +71 -0
  34. package/dist/models/UserConceptConcept.d.ts +44 -0
  35. package/dist/models/UserConceptConcept.js +58 -0
  36. package/dist/models/index.d.ts +5 -0
  37. package/dist/models/index.js +5 -0
  38. package/package.json +1 -1
@@ -0,0 +1,125 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ import * as runtime from '../runtime';
24
+ import { PaginatedUserConceptsFromJSON, UpsertUserConceptByNameRequestToJSON, UserConceptFromJSON, } from '../models/index';
25
+ /**
26
+ *
27
+ */
28
+ export class UserConceptsApi extends runtime.BaseAPI {
29
+ /**
30
+ * Returns a paginated list of concepts tracked for the authenticated account user. sortBy values: \'priority\' (v1 = updatedAt DESC with weakest-first tie-break), \'updated\' (updatedAt DESC), \'strength\' (weakest first).
31
+ * List user concepts
32
+ */
33
+ listUserConceptsRaw(requestParameters, initOverrides) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ if (requestParameters['xUserId'] == null) {
36
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling listUserConcepts().');
37
+ }
38
+ const queryParameters = {};
39
+ if (requestParameters['limit'] != null) {
40
+ queryParameters['limit'] = requestParameters['limit'];
41
+ }
42
+ if (requestParameters['cursor'] != null) {
43
+ queryParameters['cursor'] = requestParameters['cursor'];
44
+ }
45
+ if (requestParameters['sortBy'] != null) {
46
+ queryParameters['sortBy'] = requestParameters['sortBy'];
47
+ }
48
+ const headerParameters = {};
49
+ if (requestParameters['xUserId'] != null) {
50
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
51
+ }
52
+ if (this.configuration && this.configuration.apiKey) {
53
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
54
+ }
55
+ let urlPath = `/api/v1/user-concepts`;
56
+ const response = yield this.request({
57
+ path: urlPath,
58
+ method: 'GET',
59
+ headers: headerParameters,
60
+ query: queryParameters,
61
+ }, initOverrides);
62
+ return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedUserConceptsFromJSON(jsonValue));
63
+ });
64
+ }
65
+ /**
66
+ * Returns a paginated list of concepts tracked for the authenticated account user. sortBy values: \'priority\' (v1 = updatedAt DESC with weakest-first tie-break), \'updated\' (updatedAt DESC), \'strength\' (weakest first).
67
+ * List user concepts
68
+ */
69
+ listUserConcepts(requestParameters, initOverrides) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ const response = yield this.listUserConceptsRaw(requestParameters, initOverrides);
72
+ return yield response.value();
73
+ });
74
+ }
75
+ /**
76
+ * Finds or creates a concept matching the supplied name (case-insensitive, whitespace-normalized) and ensures a user-concept row exists for the calling account user. Returns the (possibly pre-existing) user-concept joined with its concept. Always responds 200 — both fresh creates and returning-existing-row paths are successful and idempotent. New user-concept rows are seeded with strength and confidence of 0.000; no user_concept_history row is written.
77
+ * Upsert user concept by name
78
+ */
79
+ upsertUserConceptByNameRaw(requestParameters, initOverrides) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ if (requestParameters['xUserId'] == null) {
82
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling upsertUserConceptByName().');
83
+ }
84
+ if (requestParameters['upsertUserConceptByNameRequest'] == null) {
85
+ throw new runtime.RequiredError('upsertUserConceptByNameRequest', 'Required parameter "upsertUserConceptByNameRequest" was null or undefined when calling upsertUserConceptByName().');
86
+ }
87
+ const queryParameters = {};
88
+ const headerParameters = {};
89
+ headerParameters['Content-Type'] = 'application/json';
90
+ if (requestParameters['xUserId'] != null) {
91
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
92
+ }
93
+ if (this.configuration && this.configuration.apiKey) {
94
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
95
+ }
96
+ let urlPath = `/api/v1/user-concepts`;
97
+ const response = yield this.request({
98
+ path: urlPath,
99
+ method: 'POST',
100
+ headers: headerParameters,
101
+ query: queryParameters,
102
+ body: UpsertUserConceptByNameRequestToJSON(requestParameters['upsertUserConceptByNameRequest']),
103
+ }, initOverrides);
104
+ return new runtime.JSONApiResponse(response, (jsonValue) => UserConceptFromJSON(jsonValue));
105
+ });
106
+ }
107
+ /**
108
+ * Finds or creates a concept matching the supplied name (case-insensitive, whitespace-normalized) and ensures a user-concept row exists for the calling account user. Returns the (possibly pre-existing) user-concept joined with its concept. Always responds 200 — both fresh creates and returning-existing-row paths are successful and idempotent. New user-concept rows are seeded with strength and confidence of 0.000; no user_concept_history row is written.
109
+ * Upsert user concept by name
110
+ */
111
+ upsertUserConceptByName(requestParameters, initOverrides) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ const response = yield this.upsertUserConceptByNameRaw(requestParameters, initOverrides);
114
+ return yield response.value();
115
+ });
116
+ }
117
+ }
118
+ /**
119
+ * @export
120
+ */
121
+ export const ListUserConceptsSortByEnum = {
122
+ Priority: 'priority',
123
+ Updated: 'updated',
124
+ Strength: 'strength'
125
+ };
@@ -9,6 +9,7 @@ export * from './FilesApi';
9
9
  export * from './HealthApi';
10
10
  export * from './LearningDaysApi';
11
11
  export * from './LearningMomentsApi';
12
+ export * from './LearningSessionEvaluationsApi';
12
13
  export * from './LearningStreakApi';
13
14
  export * from './MessagesApi';
14
15
  export * from './PlansApi';
@@ -18,5 +19,6 @@ export * from './ServiceTokensApi';
18
19
  export * from './TagsApi';
19
20
  export * from './TaxonomiesApi';
20
21
  export * from './TaxonomyEnrollmentsApi';
22
+ export * from './UserConceptsApi';
21
23
  export * from './UserContextApi';
22
24
  export * from './VotesApi';
@@ -11,6 +11,7 @@ export * from './FilesApi';
11
11
  export * from './HealthApi';
12
12
  export * from './LearningDaysApi';
13
13
  export * from './LearningMomentsApi';
14
+ export * from './LearningSessionEvaluationsApi';
14
15
  export * from './LearningStreakApi';
15
16
  export * from './MessagesApi';
16
17
  export * from './PlansApi';
@@ -20,5 +21,6 @@ export * from './ServiceTokensApi';
20
21
  export * from './TagsApi';
21
22
  export * from './TaxonomiesApi';
22
23
  export * from './TaxonomyEnrollmentsApi';
24
+ export * from './UserConceptsApi';
23
25
  export * from './UserContextApi';
24
26
  export * from './VotesApi';
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface LearningSessionEvaluation
16
+ */
17
+ export interface LearningSessionEvaluation {
18
+ /**
19
+ * Unique identifier for this evaluation row
20
+ * @type {string}
21
+ * @memberof LearningSessionEvaluation
22
+ */
23
+ id: string;
24
+ /**
25
+ * Chat the evaluation belongs to
26
+ * @type {string}
27
+ * @memberof LearningSessionEvaluation
28
+ */
29
+ chatId: string;
30
+ /**
31
+ * Message whose user turn this evaluation scored
32
+ * @type {string}
33
+ * @memberof LearningSessionEvaluation
34
+ */
35
+ messageId: string;
36
+ /**
37
+ * Evaluator-produced mastery strength for this turn, as a fixed-point string in [0, 1].
38
+ * @type {string}
39
+ * @memberof LearningSessionEvaluation
40
+ */
41
+ strength: string;
42
+ /**
43
+ * Evaluator-produced confidence weight for this turn's signal, as a fixed-point string in [0, 1].
44
+ * @type {string}
45
+ * @memberof LearningSessionEvaluation
46
+ */
47
+ confidence: string;
48
+ /**
49
+ * Short human-readable label for the evidence the evaluator surfaced (e.g. 'retrieval-correct').
50
+ * @type {string}
51
+ * @memberof LearningSessionEvaluation
52
+ */
53
+ evidenceLabel: string | null;
54
+ /**
55
+ * Free-form evaluator rationale.
56
+ * @type {string}
57
+ * @memberof LearningSessionEvaluation
58
+ */
59
+ reason: string | null;
60
+ /**
61
+ * Session beat the turn landed in (Level Up: 'orient' | 'warmup' | 'teach' | 'practice' | 'stretch' | 'teachback' | 'wrap'; Quick Practice: 'anchor' | 'retrieval' | 'commit').
62
+ * @type {string}
63
+ * @memberof LearningSessionEvaluation
64
+ */
65
+ sessionBeat: string;
66
+ /**
67
+ * When this evaluation was persisted
68
+ * @type {Date}
69
+ * @memberof LearningSessionEvaluation
70
+ */
71
+ createdAt: Date;
72
+ }
73
+ /**
74
+ * Check if a given object implements the LearningSessionEvaluation interface.
75
+ */
76
+ export declare function instanceOfLearningSessionEvaluation(value: object): value is LearningSessionEvaluation;
77
+ export declare function LearningSessionEvaluationFromJSON(json: any): LearningSessionEvaluation;
78
+ export declare function LearningSessionEvaluationFromJSONTyped(json: any, ignoreDiscriminator: boolean): LearningSessionEvaluation;
79
+ export declare function LearningSessionEvaluationToJSON(json: any): LearningSessionEvaluation;
80
+ export declare function LearningSessionEvaluationToJSONTyped(value?: LearningSessionEvaluation | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,75 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the LearningSessionEvaluation interface.
16
+ */
17
+ export function instanceOfLearningSessionEvaluation(value) {
18
+ if (!('id' in value) || value['id'] === undefined)
19
+ return false;
20
+ if (!('chatId' in value) || value['chatId'] === undefined)
21
+ return false;
22
+ if (!('messageId' in value) || value['messageId'] === undefined)
23
+ return false;
24
+ if (!('strength' in value) || value['strength'] === undefined)
25
+ return false;
26
+ if (!('confidence' in value) || value['confidence'] === undefined)
27
+ return false;
28
+ if (!('evidenceLabel' in value) || value['evidenceLabel'] === undefined)
29
+ return false;
30
+ if (!('reason' in value) || value['reason'] === undefined)
31
+ return false;
32
+ if (!('sessionBeat' in value) || value['sessionBeat'] === undefined)
33
+ return false;
34
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
35
+ return false;
36
+ return true;
37
+ }
38
+ export function LearningSessionEvaluationFromJSON(json) {
39
+ return LearningSessionEvaluationFromJSONTyped(json, false);
40
+ }
41
+ export function LearningSessionEvaluationFromJSONTyped(json, ignoreDiscriminator) {
42
+ if (json == null) {
43
+ return json;
44
+ }
45
+ return {
46
+ 'id': json['id'],
47
+ 'chatId': json['chatId'],
48
+ 'messageId': json['messageId'],
49
+ 'strength': json['strength'],
50
+ 'confidence': json['confidence'],
51
+ 'evidenceLabel': json['evidenceLabel'],
52
+ 'reason': json['reason'],
53
+ 'sessionBeat': json['sessionBeat'],
54
+ 'createdAt': (new Date(json['createdAt'])),
55
+ };
56
+ }
57
+ export function LearningSessionEvaluationToJSON(json) {
58
+ return LearningSessionEvaluationToJSONTyped(json, false);
59
+ }
60
+ export function LearningSessionEvaluationToJSONTyped(value, ignoreDiscriminator = false) {
61
+ if (value == null) {
62
+ return value;
63
+ }
64
+ return {
65
+ 'id': value['id'],
66
+ 'chatId': value['chatId'],
67
+ 'messageId': value['messageId'],
68
+ 'strength': value['strength'],
69
+ 'confidence': value['confidence'],
70
+ 'evidenceLabel': value['evidenceLabel'],
71
+ 'reason': value['reason'],
72
+ 'sessionBeat': value['sessionBeat'],
73
+ 'createdAt': value['createdAt'].toISOString(),
74
+ };
75
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { UserConcept } from './UserConcept';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface PaginatedUserConcepts
17
+ */
18
+ export interface PaginatedUserConcepts {
19
+ /**
20
+ * Array of user-concept rows for the current page
21
+ * @type {Array<UserConcept>}
22
+ * @memberof PaginatedUserConcepts
23
+ */
24
+ data: Array<UserConcept>;
25
+ /**
26
+ * Opaque cursor for fetching the next page. Null when there are no more results.
27
+ * @type {string}
28
+ * @memberof PaginatedUserConcepts
29
+ */
30
+ nextCursor: string | null;
31
+ }
32
+ /**
33
+ * Check if a given object implements the PaginatedUserConcepts interface.
34
+ */
35
+ export declare function instanceOfPaginatedUserConcepts(value: object): value is PaginatedUserConcepts;
36
+ export declare function PaginatedUserConceptsFromJSON(json: any): PaginatedUserConcepts;
37
+ export declare function PaginatedUserConceptsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedUserConcepts;
38
+ export declare function PaginatedUserConceptsToJSON(json: any): PaginatedUserConcepts;
39
+ export declare function PaginatedUserConceptsToJSONTyped(value?: PaginatedUserConcepts | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,48 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { UserConceptFromJSON, UserConceptToJSON, } from './UserConcept';
15
+ /**
16
+ * Check if a given object implements the PaginatedUserConcepts interface.
17
+ */
18
+ export function instanceOfPaginatedUserConcepts(value) {
19
+ if (!('data' in value) || value['data'] === undefined)
20
+ return false;
21
+ if (!('nextCursor' in value) || value['nextCursor'] === undefined)
22
+ return false;
23
+ return true;
24
+ }
25
+ export function PaginatedUserConceptsFromJSON(json) {
26
+ return PaginatedUserConceptsFromJSONTyped(json, false);
27
+ }
28
+ export function PaginatedUserConceptsFromJSONTyped(json, ignoreDiscriminator) {
29
+ if (json == null) {
30
+ return json;
31
+ }
32
+ return {
33
+ 'data': (json['data'].map(UserConceptFromJSON)),
34
+ 'nextCursor': json['nextCursor'],
35
+ };
36
+ }
37
+ export function PaginatedUserConceptsToJSON(json) {
38
+ return PaginatedUserConceptsToJSONTyped(json, false);
39
+ }
40
+ export function PaginatedUserConceptsToJSONTyped(value, ignoreDiscriminator = false) {
41
+ if (value == null) {
42
+ return value;
43
+ }
44
+ return {
45
+ 'data': (value['data'].map(UserConceptToJSON)),
46
+ 'nextCursor': value['nextCursor'],
47
+ };
48
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface UpsertUserConceptByNameRequest
16
+ */
17
+ export interface UpsertUserConceptByNameRequest {
18
+ /**
19
+ * Learner-supplied concept name. Leading/trailing whitespace is trimmed and internal runs of whitespace are collapsed before lookup; matching is case-insensitive. When a new concept row is created, the caller's original casing is preserved.
20
+ * @type {string}
21
+ * @memberof UpsertUserConceptByNameRequest
22
+ */
23
+ name: string;
24
+ }
25
+ /**
26
+ * Check if a given object implements the UpsertUserConceptByNameRequest interface.
27
+ */
28
+ export declare function instanceOfUpsertUserConceptByNameRequest(value: object): value is UpsertUserConceptByNameRequest;
29
+ export declare function UpsertUserConceptByNameRequestFromJSON(json: any): UpsertUserConceptByNameRequest;
30
+ export declare function UpsertUserConceptByNameRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpsertUserConceptByNameRequest;
31
+ export declare function UpsertUserConceptByNameRequestToJSON(json: any): UpsertUserConceptByNameRequest;
32
+ export declare function UpsertUserConceptByNameRequestToJSONTyped(value?: UpsertUserConceptByNameRequest | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,43 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the UpsertUserConceptByNameRequest interface.
16
+ */
17
+ export function instanceOfUpsertUserConceptByNameRequest(value) {
18
+ if (!('name' in value) || value['name'] === undefined)
19
+ return false;
20
+ return true;
21
+ }
22
+ export function UpsertUserConceptByNameRequestFromJSON(json) {
23
+ return UpsertUserConceptByNameRequestFromJSONTyped(json, false);
24
+ }
25
+ export function UpsertUserConceptByNameRequestFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'name': json['name'],
31
+ };
32
+ }
33
+ export function UpsertUserConceptByNameRequestToJSON(json) {
34
+ return UpsertUserConceptByNameRequestToJSONTyped(json, false);
35
+ }
36
+ export function UpsertUserConceptByNameRequestToJSONTyped(value, ignoreDiscriminator = false) {
37
+ if (value == null) {
38
+ return value;
39
+ }
40
+ return {
41
+ 'name': value['name'],
42
+ };
43
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { UserConceptConcept } from './UserConceptConcept';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface UserConcept
17
+ */
18
+ export interface UserConcept {
19
+ /**
20
+ * Foreign key to the concept row
21
+ * @type {string}
22
+ * @memberof UserConcept
23
+ */
24
+ conceptId: string;
25
+ /**
26
+ * Current mastery strength for this learner + concept, expressed as a fixed-point string in [0, 1].
27
+ * @type {string}
28
+ * @memberof UserConcept
29
+ */
30
+ strength: string;
31
+ /**
32
+ * Current confidence weight for the strength signal, expressed as a fixed-point string in [0, 1].
33
+ * @type {string}
34
+ * @memberof UserConcept
35
+ */
36
+ confidence: string;
37
+ /**
38
+ * When this user-concept row was first created
39
+ * @type {Date}
40
+ * @memberof UserConcept
41
+ */
42
+ createdAt: Date;
43
+ /**
44
+ * When this user-concept row's strength/confidence last changed
45
+ * @type {Date}
46
+ * @memberof UserConcept
47
+ */
48
+ updatedAt: Date;
49
+ /**
50
+ * Concept metadata joined in for convenience
51
+ * @type {UserConceptConcept}
52
+ * @memberof UserConcept
53
+ */
54
+ concept: UserConceptConcept;
55
+ }
56
+ /**
57
+ * Check if a given object implements the UserConcept interface.
58
+ */
59
+ export declare function instanceOfUserConcept(value: object): value is UserConcept;
60
+ export declare function UserConceptFromJSON(json: any): UserConcept;
61
+ export declare function UserConceptFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserConcept;
62
+ export declare function UserConceptToJSON(json: any): UserConcept;
63
+ export declare function UserConceptToJSONTyped(value?: UserConcept | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,64 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { UserConceptConceptFromJSON, UserConceptConceptToJSON, } from './UserConceptConcept';
15
+ /**
16
+ * Check if a given object implements the UserConcept interface.
17
+ */
18
+ export function instanceOfUserConcept(value) {
19
+ if (!('conceptId' in value) || value['conceptId'] === undefined)
20
+ return false;
21
+ if (!('strength' in value) || value['strength'] === undefined)
22
+ return false;
23
+ if (!('confidence' in value) || value['confidence'] === undefined)
24
+ return false;
25
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
26
+ return false;
27
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined)
28
+ return false;
29
+ if (!('concept' in value) || value['concept'] === undefined)
30
+ return false;
31
+ return true;
32
+ }
33
+ export function UserConceptFromJSON(json) {
34
+ return UserConceptFromJSONTyped(json, false);
35
+ }
36
+ export function UserConceptFromJSONTyped(json, ignoreDiscriminator) {
37
+ if (json == null) {
38
+ return json;
39
+ }
40
+ return {
41
+ 'conceptId': json['conceptId'],
42
+ 'strength': json['strength'],
43
+ 'confidence': json['confidence'],
44
+ 'createdAt': (new Date(json['createdAt'])),
45
+ 'updatedAt': (new Date(json['updatedAt'])),
46
+ 'concept': UserConceptConceptFromJSON(json['concept']),
47
+ };
48
+ }
49
+ export function UserConceptToJSON(json) {
50
+ return UserConceptToJSONTyped(json, false);
51
+ }
52
+ export function UserConceptToJSONTyped(value, ignoreDiscriminator = false) {
53
+ if (value == null) {
54
+ return value;
55
+ }
56
+ return {
57
+ 'conceptId': value['conceptId'],
58
+ 'strength': value['strength'],
59
+ 'confidence': value['confidence'],
60
+ 'createdAt': value['createdAt'].toISOString(),
61
+ 'updatedAt': value['updatedAt'].toISOString(),
62
+ 'concept': UserConceptConceptToJSON(value['concept']),
63
+ };
64
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface UserConceptConcept
16
+ */
17
+ export interface UserConceptConcept {
18
+ /**
19
+ * Unique identifier of the concept
20
+ * @type {string}
21
+ * @memberof UserConceptConcept
22
+ */
23
+ id: string;
24
+ /**
25
+ * Human-readable concept name
26
+ * @type {string}
27
+ * @memberof UserConceptConcept
28
+ */
29
+ name: string;
30
+ /**
31
+ * Optional free-form description
32
+ * @type {string}
33
+ * @memberof UserConceptConcept
34
+ */
35
+ description: string;
36
+ }
37
+ /**
38
+ * Check if a given object implements the UserConceptConcept interface.
39
+ */
40
+ export declare function instanceOfUserConceptConcept(value: object): value is UserConceptConcept;
41
+ export declare function UserConceptConceptFromJSON(json: any): UserConceptConcept;
42
+ export declare function UserConceptConceptFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserConceptConcept;
43
+ export declare function UserConceptConceptToJSON(json: any): UserConceptConcept;
44
+ export declare function UserConceptConceptToJSONTyped(value?: UserConceptConcept | null, ignoreDiscriminator?: boolean): any;