miva-proctor-sdk 0.0.20 → 0.0.22
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/src/core/client/config.d.ts +2 -0
- package/dist/cjs/src/core/client/config.js +3 -1
- package/dist/cjs/src/core/client/proctor-metric.service.d.ts +4 -1
- package/dist/cjs/src/core/client/proctor-metric.service.js +17 -1
- package/dist/cjs/src/core/client/proctor-metric.type.d.ts +12 -0
- package/dist/cjs/src/core/proctor/mediaPermission.d.ts +1 -0
- package/dist/cjs/src/core/proctor/mediaPermission.js +4 -1
- package/dist/cjs/src/modules/ProctoringManager.d.ts +9 -2
- package/dist/cjs/src/modules/ProctoringManager.js +35 -5
- package/dist/esm/src/core/client/config.d.ts +2 -0
- package/dist/esm/src/core/client/config.js +3 -1
- package/dist/esm/src/core/client/proctor-metric.service.d.ts +4 -1
- package/dist/esm/src/core/client/proctor-metric.service.js +17 -1
- package/dist/esm/src/core/client/proctor-metric.type.d.ts +12 -0
- package/dist/esm/src/core/proctor/mediaPermission.d.ts +1 -0
- package/dist/esm/src/core/proctor/mediaPermission.js +4 -1
- package/dist/esm/src/modules/ProctoringManager.d.ts +9 -2
- package/dist/esm/src/modules/ProctoringManager.js +35 -5
- package/dist/types/src/core/client/config.d.ts +2 -0
- package/dist/types/src/core/client/proctor-metric.service.d.ts +4 -1
- package/dist/types/src/core/client/proctor-metric.type.d.ts +12 -0
- package/dist/types/src/core/proctor/mediaPermission.d.ts +1 -0
- package/dist/types/src/modules/ProctoringManager.d.ts +9 -2
- package/dist/umd/index.js +1 -1
- package/package.json +1 -1
|
@@ -12,7 +12,9 @@ const CONFIG = {
|
|
|
12
12
|
},
|
|
13
13
|
API_ACTIVITIES_PATH: {
|
|
14
14
|
ACTIVITIES: '/activities',
|
|
15
|
+
MULTIPLE_ACTIVITIES: '/activities/multiple',
|
|
16
|
+
ACTIVITIES_METRICS: '/activities/metrics',
|
|
15
17
|
},
|
|
16
18
|
};
|
|
17
19
|
exports.CONFIG = CONFIG;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvcmUvY2xpZW50L2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFNLE1BQU0sR0FBRztJQUNiLGlCQUFpQixFQUFFO1FBQ2pCLGFBQWEsRUFBRSxpQkFBaUI7UUFDaEMsV0FBVyxFQUFFLG1CQUFtQjtRQUNoQyxZQUFZLEVBQUUsb0JBQW9CO1FBQ2xDLGNBQWMsRUFBRSxlQUFlO1FBQy9CLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLGVBQWUsRUFBRSxrQkFBa0I7S0FDcEM7SUFDRCxtQkFBbUIsRUFBRTtRQUNuQixVQUFVLEVBQUUsYUFBYTtRQUN6QixtQkFBbUIsRUFBRSxzQkFBc0I7UUFDM0Msa0JBQWtCLEVBQUUscUJBQXFCO0tBQzFDO0NBQ0YsQ0FBQztBQUVPLHdCQUFNIn0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Environment } from '../../types/common';
|
|
2
|
-
import {
|
|
2
|
+
import { APIResponse } from './baseAPI.d';
|
|
3
|
+
import { IActivityMetricResponse, IGetActivitiesParams, IGetActivityMetricsParams, IGetSessionsParams, IStartSessionParams, IUpdateActivitiesParams, IUpdateMultipleActivitiesParams } from './proctor-metric.type';
|
|
3
4
|
declare class ProctorMetricService {
|
|
4
5
|
private axiosInstance;
|
|
5
6
|
private axiosWrapper;
|
|
@@ -11,6 +12,8 @@ declare class ProctorMetricService {
|
|
|
11
12
|
pingSession(sessionId: string): Promise<any>;
|
|
12
13
|
deleteSession(sessionId: string): Promise<any>;
|
|
13
14
|
updateActivities(params: IUpdateActivitiesParams): Promise<any>;
|
|
15
|
+
updateMultipleActivities(params: IUpdateMultipleActivitiesParams): Promise<any>;
|
|
16
|
+
getActivityMetrics(params: IGetActivityMetricsParams): Promise<APIResponse<IActivityMetricResponse>>;
|
|
14
17
|
getActivities(params: IGetActivitiesParams): Promise<any>;
|
|
15
18
|
}
|
|
16
19
|
export { ProctorMetricService };
|
|
@@ -70,6 +70,22 @@ class ProctorMetricService {
|
|
|
70
70
|
});
|
|
71
71
|
return data;
|
|
72
72
|
}
|
|
73
|
+
async updateMultipleActivities(params) {
|
|
74
|
+
const data = await this.axiosWrapper.makeRequest({
|
|
75
|
+
url: config_1.CONFIG.API_ACTIVITIES_PATH.MULTIPLE_ACTIVITIES,
|
|
76
|
+
method: 'POST',
|
|
77
|
+
data: params,
|
|
78
|
+
});
|
|
79
|
+
return data;
|
|
80
|
+
}
|
|
81
|
+
async getActivityMetrics(params) {
|
|
82
|
+
const data = await this.axiosWrapper.makeRequest({
|
|
83
|
+
url: config_1.CONFIG.API_ACTIVITIES_PATH.ACTIVITIES_METRICS,
|
|
84
|
+
method: 'GET',
|
|
85
|
+
params: params,
|
|
86
|
+
});
|
|
87
|
+
return data;
|
|
88
|
+
}
|
|
73
89
|
async getActivities(params) {
|
|
74
90
|
const data = await this.axiosWrapper.makeRequest({
|
|
75
91
|
url: config_1.CONFIG.API_ACTIVITIES_PATH.ACTIVITIES,
|
|
@@ -80,4 +96,4 @@ class ProctorMetricService {
|
|
|
80
96
|
}
|
|
81
97
|
}
|
|
82
98
|
exports.ProctorMetricService = ProctorMetricService;
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY3Rvci1tZXRyaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL2NsaWVudC9wcm9jdG9yLW1ldHJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1DQUF1QztBQUV2Qyx1Q0FBd0M7QUFFeEMscUNBQWtDO0FBR2xDLE1BQU0sb0JBQW9CO0lBSXhCLFlBQW1CLEdBQWdCO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBQSxxQkFBVyxFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxvQkFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUEyQjtRQUNuRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQy9DLEdBQUcsRUFBRSxlQUFNLENBQUMsaUJBQWlCLENBQUMsYUFBYTtZQUMzQyxNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxNQUFNO1NBQ2IsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUEwQjtRQUNqRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQy9DLEdBQUcsRUFBRSxlQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUTtZQUN0QyxNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxNQUFNO1NBQ2IsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQWM7UUFDM0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUMvQyxHQUFH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
|
|
@@ -17,6 +17,18 @@ export interface IUpdateActivitiesParams {
|
|
|
17
17
|
details: string;
|
|
18
18
|
image?: Evidence;
|
|
19
19
|
}
|
|
20
|
+
export interface IGetActivityMetricsParams {
|
|
21
|
+
sessionId: string;
|
|
22
|
+
activityType: string;
|
|
23
|
+
}
|
|
24
|
+
export interface IActivityMetricResponse {
|
|
25
|
+
sessionId: string;
|
|
26
|
+
activityType: string;
|
|
27
|
+
metricsCount: number;
|
|
28
|
+
}
|
|
29
|
+
export interface IUpdateMultipleActivitiesParams {
|
|
30
|
+
data: IUpdateActivitiesParams[];
|
|
31
|
+
}
|
|
20
32
|
export interface IGetActivitiesParams {
|
|
21
33
|
sessionId: string;
|
|
22
34
|
page: number;
|
|
@@ -6,6 +6,7 @@ declare class MediaPermissions {
|
|
|
6
6
|
private audioPerm;
|
|
7
7
|
private constructor();
|
|
8
8
|
static getInstance(): MediaPermissions;
|
|
9
|
+
static getNewInstance(): MediaPermissions;
|
|
9
10
|
requestMediaPermission(): Promise<boolean>;
|
|
10
11
|
requestAudioPermission(): boolean;
|
|
11
12
|
requestScreenPermission(): Promise<boolean>;
|
|
@@ -14,6 +14,9 @@ class MediaPermissions {
|
|
|
14
14
|
}
|
|
15
15
|
return MediaPermissions.instance;
|
|
16
16
|
}
|
|
17
|
+
static getNewInstance() {
|
|
18
|
+
return new MediaPermissions();
|
|
19
|
+
}
|
|
17
20
|
async requestMediaPermission() {
|
|
18
21
|
try {
|
|
19
22
|
this.userMediaStream = await navigator.mediaDevices.getUserMedia({
|
|
@@ -74,4 +77,4 @@ class MediaPermissions {
|
|
|
74
77
|
}
|
|
75
78
|
}
|
|
76
79
|
exports.MediaPermissions = MediaPermissions;
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWFQZXJtaXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvcmUvcHJvY3Rvci9tZWRpYVBlcm1pc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdEO0FBRWhELE1BQU0sZ0JBQWdCO0lBT3BCO1FBSlEsb0JBQWUsR0FBdUIsSUFBSSxDQUFDO1FBQzNDLHVCQUFrQixHQUF1QixJQUFJLENBQUM7UUFDOUMsY0FBUyxHQUF5QixJQUFJLENBQUM7SUFFeEIsQ0FBQztJQUVqQixNQUFNLENBQUMsV0FBVztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFO1lBQzlCLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7U0FDcEQ7UUFDRCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWM7UUFDMUIsT0FBTyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxzQkFBc0I7UUFDakMsSUFBSTtZQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxTQUFTLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztnQkFDL0QsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ3BDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJO1lBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLDZCQUFhLENBQUM7Z0JBQ2pDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2dCQUNoQixRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztnQkFDbEIsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRSxDQUFDO2FBQzFCLENBQUMsQ0FBQztZQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUxQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBQ3RDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyx1QkFBdUI7UUFDbEMsSUFBSTtZQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLFNBQVMsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDO2dCQUNyRSxLQUFLLEVBQUUsSUFBSTtnQkFDWCxLQUFLLEVBQUUsSUFBSTthQUNaLENBQUMsQ0FBQztZQUVILE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztTQUN2QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxXQUFXOztRQUNoQixJQUFJO1lBQ0YsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxTQUFTLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzVDLE1BQUEsSUFBSSxDQUFDLGtCQUFrQiwwQ0FBRSxTQUFTLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQy9DLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsSUFBSSxFQUFFLENBQUM7WUFFdkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7Q0FDRjtBQUVRLDRDQUFnQiJ9
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Environment } from '../types/common';
|
|
2
|
-
import { IGetSessionsParams, IStartSessionParams, PossibleViolation, TrackingSession, ViolationsTracker } from '../core';
|
|
2
|
+
import { IActivityMetricResponse, IGetActivityMetricsParams, IGetSessionsParams, IStartSessionParams, PossibleViolation, TrackingSession, ViolationsTracker } from '../core';
|
|
3
3
|
import { Evidence } from '../types/sessions';
|
|
4
|
+
import { APIResponse } from '../core/client/baseAPI.d';
|
|
4
5
|
export interface IProctoringManagerConfig {
|
|
5
6
|
userId: string;
|
|
6
7
|
userEmail: string;
|
|
@@ -30,7 +31,13 @@ declare class ProctoringManager {
|
|
|
30
31
|
startSession(params: IStartSessionParams): Promise<any>;
|
|
31
32
|
endSession(): Promise<void>;
|
|
32
33
|
pingSession(): Promise<void>;
|
|
33
|
-
onReceiveViolationTracker(violation: PossibleViolation, evidence?: Evidence): void
|
|
34
|
+
onReceiveViolationTracker(violation: PossibleViolation, evidence?: Evidence): Promise<void>;
|
|
35
|
+
onReceiveMultipleViolationTracker(data: {
|
|
36
|
+
violation: PossibleViolation;
|
|
37
|
+
evidence?: Evidence;
|
|
38
|
+
}[]): Promise<void>;
|
|
39
|
+
getActivityMetrics(params: IGetActivityMetricsParams): Promise<APIResponse<IActivityMetricResponse>>;
|
|
40
|
+
getActivityMetricsInCurrentSession(activityType: string): Promise<APIResponse<IActivityMetricResponse>>;
|
|
34
41
|
onReceiveRandomPhoto(photo: Blob): void;
|
|
35
42
|
}
|
|
36
43
|
export { ProctoringManager };
|
|
@@ -23,7 +23,10 @@ class ProctoringManager {
|
|
|
23
23
|
audio: false,
|
|
24
24
|
screen: false,
|
|
25
25
|
};
|
|
26
|
-
|
|
26
|
+
let mediaPermissions = mediaPermission_1.MediaPermissions.getInstance();
|
|
27
|
+
if (!mediaPermissions.getUserMediaStream() || !mediaPermissions.getDisplayMediaStream() || !mediaPermissions.getAudioPerm()) {
|
|
28
|
+
mediaPermissions = mediaPermission_1.MediaPermissions.getNewInstance();
|
|
29
|
+
}
|
|
27
30
|
const requestMediaPermissionResponse = await mediaPermissions.requestMediaPermission();
|
|
28
31
|
console.log('requestMediaPermissionResponse', requestMediaPermissionResponse);
|
|
29
32
|
if (requestMediaPermissionResponse) {
|
|
@@ -109,18 +112,45 @@ class ProctoringManager {
|
|
|
109
112
|
await this.proctorMetricService.pingSession(this.currentSessionId);
|
|
110
113
|
console.log(`Session ${this.currentSessionId} pinged successfully`);
|
|
111
114
|
}
|
|
112
|
-
onReceiveViolationTracker(violation, evidence) {
|
|
115
|
+
async onReceiveViolationTracker(violation, evidence) {
|
|
113
116
|
if (!this.session) {
|
|
114
117
|
throw new Error('Session is not initialized');
|
|
115
118
|
}
|
|
116
|
-
this.proctorMetricService.updateActivities({
|
|
119
|
+
await this.proctorMetricService.updateActivities({
|
|
117
120
|
sessionId: this.currentSessionId,
|
|
118
|
-
activityType:
|
|
121
|
+
activityType: violation,
|
|
119
122
|
timestamp: new Date().toISOString(),
|
|
120
123
|
details: violation,
|
|
121
124
|
image: evidence,
|
|
122
125
|
});
|
|
123
126
|
}
|
|
127
|
+
async onReceiveMultipleViolationTracker(data) {
|
|
128
|
+
const multipleViolationsUpdate = {
|
|
129
|
+
data: []
|
|
130
|
+
};
|
|
131
|
+
const violations = [];
|
|
132
|
+
for (const violation of data) {
|
|
133
|
+
violations.push({
|
|
134
|
+
sessionId: this.currentSessionId,
|
|
135
|
+
activityType: violation.violation,
|
|
136
|
+
timestamp: new Date().toISOString(),
|
|
137
|
+
image: violation.evidence,
|
|
138
|
+
details: violation.violation,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
multipleViolationsUpdate.data = violations;
|
|
142
|
+
await this.proctorMetricService.updateMultipleActivities(multipleViolationsUpdate);
|
|
143
|
+
}
|
|
144
|
+
async getActivityMetrics(params) {
|
|
145
|
+
return this.proctorMetricService.getActivityMetrics(params);
|
|
146
|
+
}
|
|
147
|
+
async getActivityMetricsInCurrentSession(activityType) {
|
|
148
|
+
const params = {
|
|
149
|
+
sessionId: this.currentSessionId,
|
|
150
|
+
activityType: activityType,
|
|
151
|
+
};
|
|
152
|
+
return this.proctorMetricService.getActivityMetrics(params);
|
|
153
|
+
}
|
|
124
154
|
onReceiveRandomPhoto(photo) {
|
|
125
155
|
if (!this.session) {
|
|
126
156
|
throw new Error('Session is not initialized');
|
|
@@ -129,4 +159,4 @@ class ProctoringManager {
|
|
|
129
159
|
}
|
|
130
160
|
}
|
|
131
161
|
exports.ProctoringManager = ProctoringManager;
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvY3RvcmluZ01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9Qcm9jdG9yaW5nTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxrQ0FXaUI7QUFFakIscUVBQW1FO0FBU25FLE1BQU0saUJBQWlCO0lBVXJCLFlBQ0UsTUFBZ0M7UUFFaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSwyQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQWdDO1FBRWhDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDL0IsaUJBQWlCLENBQUMsUUFBUSxHQUFHLElBQUksaUJBQWlCLENBQ2hELE1BQU0sQ0FDUCxDQUFDO1NBQ0g7UUFDRCxPQUFPLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSyxDQUFDLHFCQUFxQjtRQUtoQyxJQUFJLFVBQVUsR0FBRztZQUNmLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLEtBQUs7WUFDWixNQUFNLEVBQUUsS0FBSztTQUNkLENBQUM7UUFDRixJQUFJLGdCQUFnQixHQUFHLGtDQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXRELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlB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
|
|
@@ -9,7 +9,9 @@ const CONFIG = {
|
|
|
9
9
|
},
|
|
10
10
|
API_ACTIVITIES_PATH: {
|
|
11
11
|
ACTIVITIES: '/activities',
|
|
12
|
+
MULTIPLE_ACTIVITIES: '/activities/multiple',
|
|
13
|
+
ACTIVITIES_METRICS: '/activities/metrics',
|
|
12
14
|
},
|
|
13
15
|
};
|
|
14
16
|
export { CONFIG };
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvcmUvY2xpZW50L2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE1BQU0sR0FBRztJQUNiLGlCQUFpQixFQUFFO1FBQ2pCLGFBQWEsRUFBRSxpQkFBaUI7UUFDaEMsV0FBVyxFQUFFLG1CQUFtQjtRQUNoQyxZQUFZLEVBQUUsb0JBQW9CO1FBQ2xDLGNBQWMsRUFBRSxlQUFlO1FBQy9CLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLGVBQWUsRUFBRSxrQkFBa0I7S0FDcEM7SUFDRCxtQkFBbUIsRUFBRTtRQUNuQixVQUFVLEVBQUUsYUFBYTtRQUN6QixtQkFBbUIsRUFBRSxzQkFBc0I7UUFDM0Msa0JBQWtCLEVBQUUscUJBQXFCO0tBQzFDO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyJ9
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Environment } from '../../types/common';
|
|
2
|
-
import {
|
|
2
|
+
import { APIResponse } from './baseAPI.d';
|
|
3
|
+
import { IActivityMetricResponse, IGetActivitiesParams, IGetActivityMetricsParams, IGetSessionsParams, IStartSessionParams, IUpdateActivitiesParams, IUpdateMultipleActivitiesParams } from './proctor-metric.type';
|
|
3
4
|
declare class ProctorMetricService {
|
|
4
5
|
private axiosInstance;
|
|
5
6
|
private axiosWrapper;
|
|
@@ -11,6 +12,8 @@ declare class ProctorMetricService {
|
|
|
11
12
|
pingSession(sessionId: string): Promise<any>;
|
|
12
13
|
deleteSession(sessionId: string): Promise<any>;
|
|
13
14
|
updateActivities(params: IUpdateActivitiesParams): Promise<any>;
|
|
15
|
+
updateMultipleActivities(params: IUpdateMultipleActivitiesParams): Promise<any>;
|
|
16
|
+
getActivityMetrics(params: IGetActivityMetricsParams): Promise<APIResponse<IActivityMetricResponse>>;
|
|
14
17
|
getActivities(params: IGetActivitiesParams): Promise<any>;
|
|
15
18
|
}
|
|
16
19
|
export { ProctorMetricService };
|
|
@@ -67,6 +67,22 @@ class ProctorMetricService {
|
|
|
67
67
|
});
|
|
68
68
|
return data;
|
|
69
69
|
}
|
|
70
|
+
async updateMultipleActivities(params) {
|
|
71
|
+
const data = await this.axiosWrapper.makeRequest({
|
|
72
|
+
url: CONFIG.API_ACTIVITIES_PATH.MULTIPLE_ACTIVITIES,
|
|
73
|
+
method: 'POST',
|
|
74
|
+
data: params,
|
|
75
|
+
});
|
|
76
|
+
return data;
|
|
77
|
+
}
|
|
78
|
+
async getActivityMetrics(params) {
|
|
79
|
+
const data = await this.axiosWrapper.makeRequest({
|
|
80
|
+
url: CONFIG.API_ACTIVITIES_PATH.ACTIVITIES_METRICS,
|
|
81
|
+
method: 'GET',
|
|
82
|
+
params: params,
|
|
83
|
+
});
|
|
84
|
+
return data;
|
|
85
|
+
}
|
|
70
86
|
async getActivities(params) {
|
|
71
87
|
const data = await this.axiosWrapper.makeRequest({
|
|
72
88
|
url: CONFIG.API_ACTIVITIES_PATH.ACTIVITIES,
|
|
@@ -77,4 +93,4 @@ class ProctorMetricService {
|
|
|
77
93
|
}
|
|
78
94
|
}
|
|
79
95
|
export { ProctorMetricService };
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY3Rvci1tZXRyaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL2NsaWVudC9wcm9jdG9yLW1ldHJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR2xDLE1BQU0sb0JBQW9CO0lBSXhCLFlBQW1CLEdBQWdCO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQTJCO1FBQ25ELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFDL0MsR0FBRyxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhO1lBQzNDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSSxFQUFFLE1BQU07U0FDYixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQTBCO1FBQ2pELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFDL0MsR0FBRyxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRO1lBQ3RDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsSUFBSSxFQUFFLE1BQU07U0FDYixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCLENB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
|
|
@@ -17,6 +17,18 @@ export interface IUpdateActivitiesParams {
|
|
|
17
17
|
details: string;
|
|
18
18
|
image?: Evidence;
|
|
19
19
|
}
|
|
20
|
+
export interface IGetActivityMetricsParams {
|
|
21
|
+
sessionId: string;
|
|
22
|
+
activityType: string;
|
|
23
|
+
}
|
|
24
|
+
export interface IActivityMetricResponse {
|
|
25
|
+
sessionId: string;
|
|
26
|
+
activityType: string;
|
|
27
|
+
metricsCount: number;
|
|
28
|
+
}
|
|
29
|
+
export interface IUpdateMultipleActivitiesParams {
|
|
30
|
+
data: IUpdateActivitiesParams[];
|
|
31
|
+
}
|
|
20
32
|
export interface IGetActivitiesParams {
|
|
21
33
|
sessionId: string;
|
|
22
34
|
page: number;
|
|
@@ -6,6 +6,7 @@ declare class MediaPermissions {
|
|
|
6
6
|
private audioPerm;
|
|
7
7
|
private constructor();
|
|
8
8
|
static getInstance(): MediaPermissions;
|
|
9
|
+
static getNewInstance(): MediaPermissions;
|
|
9
10
|
requestMediaPermission(): Promise<boolean>;
|
|
10
11
|
requestAudioPermission(): boolean;
|
|
11
12
|
requestScreenPermission(): Promise<boolean>;
|
|
@@ -11,6 +11,9 @@ class MediaPermissions {
|
|
|
11
11
|
}
|
|
12
12
|
return MediaPermissions.instance;
|
|
13
13
|
}
|
|
14
|
+
static getNewInstance() {
|
|
15
|
+
return new MediaPermissions();
|
|
16
|
+
}
|
|
14
17
|
async requestMediaPermission() {
|
|
15
18
|
try {
|
|
16
19
|
this.userMediaStream = await navigator.mediaDevices.getUserMedia({
|
|
@@ -71,4 +74,4 @@ class MediaPermissions {
|
|
|
71
74
|
}
|
|
72
75
|
}
|
|
73
76
|
export { MediaPermissions };
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWFQZXJtaXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvcmUvcHJvY3Rvci9tZWRpYVBlcm1pc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE1BQU0sZ0JBQWdCO0lBT3BCO1FBSlEsb0JBQWUsR0FBdUIsSUFBSSxDQUFDO1FBQzNDLHVCQUFrQixHQUF1QixJQUFJLENBQUM7UUFDOUMsY0FBUyxHQUF5QixJQUFJLENBQUM7SUFFeEIsQ0FBQztJQUVqQixNQUFNLENBQUMsV0FBVztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFO1lBQzlCLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7U0FDcEQ7UUFDRCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWM7UUFDMUIsT0FBTyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxzQkFBc0I7UUFDakMsSUFBSTtZQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxTQUFTLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztnQkFDL0QsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ3BDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJO1lBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGFBQWEsQ0FBQztnQkFDakMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7Z0JBQ2hCLFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2dCQUNsQixXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFFLENBQUM7YUFDMUIsQ0FBQyxDQUFDO1lBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDdEM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLHVCQUF1QjtRQUNsQyxJQUFJO1lBQ0YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sU0FBUyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUM7Z0JBQ3JFLEtBQUssRUFBRSxJQUFJO2dCQUNYLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQyxDQUFDO1lBRUgsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1NBQ3ZDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRU0sWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVNLFdBQVc7O1FBQ2hCLElBQUk7WUFDRixNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUMsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDL0MsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxJQUFJLEVBQUUsQ0FBQztZQUV2QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQUMsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztDQUNGO0FBRUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUMifQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Environment } from '../types/common';
|
|
2
|
-
import { IGetSessionsParams, IStartSessionParams, PossibleViolation, TrackingSession, ViolationsTracker } from '../core';
|
|
2
|
+
import { IActivityMetricResponse, IGetActivityMetricsParams, IGetSessionsParams, IStartSessionParams, PossibleViolation, TrackingSession, ViolationsTracker } from '../core';
|
|
3
3
|
import { Evidence } from '../types/sessions';
|
|
4
|
+
import { APIResponse } from '../core/client/baseAPI.d';
|
|
4
5
|
export interface IProctoringManagerConfig {
|
|
5
6
|
userId: string;
|
|
6
7
|
userEmail: string;
|
|
@@ -30,7 +31,13 @@ declare class ProctoringManager {
|
|
|
30
31
|
startSession(params: IStartSessionParams): Promise<any>;
|
|
31
32
|
endSession(): Promise<void>;
|
|
32
33
|
pingSession(): Promise<void>;
|
|
33
|
-
onReceiveViolationTracker(violation: PossibleViolation, evidence?: Evidence): void
|
|
34
|
+
onReceiveViolationTracker(violation: PossibleViolation, evidence?: Evidence): Promise<void>;
|
|
35
|
+
onReceiveMultipleViolationTracker(data: {
|
|
36
|
+
violation: PossibleViolation;
|
|
37
|
+
evidence?: Evidence;
|
|
38
|
+
}[]): Promise<void>;
|
|
39
|
+
getActivityMetrics(params: IGetActivityMetricsParams): Promise<APIResponse<IActivityMetricResponse>>;
|
|
40
|
+
getActivityMetricsInCurrentSession(activityType: string): Promise<APIResponse<IActivityMetricResponse>>;
|
|
34
41
|
onReceiveRandomPhoto(photo: Blob): void;
|
|
35
42
|
}
|
|
36
43
|
export { ProctoringManager };
|
|
@@ -20,7 +20,10 @@ class ProctoringManager {
|
|
|
20
20
|
audio: false,
|
|
21
21
|
screen: false,
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
let mediaPermissions = MediaPermissions.getInstance();
|
|
24
|
+
if (!mediaPermissions.getUserMediaStream() || !mediaPermissions.getDisplayMediaStream() || !mediaPermissions.getAudioPerm()) {
|
|
25
|
+
mediaPermissions = MediaPermissions.getNewInstance();
|
|
26
|
+
}
|
|
24
27
|
const requestMediaPermissionResponse = await mediaPermissions.requestMediaPermission();
|
|
25
28
|
console.log('requestMediaPermissionResponse', requestMediaPermissionResponse);
|
|
26
29
|
if (requestMediaPermissionResponse) {
|
|
@@ -106,18 +109,45 @@ class ProctoringManager {
|
|
|
106
109
|
await this.proctorMetricService.pingSession(this.currentSessionId);
|
|
107
110
|
console.log(`Session ${this.currentSessionId} pinged successfully`);
|
|
108
111
|
}
|
|
109
|
-
onReceiveViolationTracker(violation, evidence) {
|
|
112
|
+
async onReceiveViolationTracker(violation, evidence) {
|
|
110
113
|
if (!this.session) {
|
|
111
114
|
throw new Error('Session is not initialized');
|
|
112
115
|
}
|
|
113
|
-
this.proctorMetricService.updateActivities({
|
|
116
|
+
await this.proctorMetricService.updateActivities({
|
|
114
117
|
sessionId: this.currentSessionId,
|
|
115
|
-
activityType:
|
|
118
|
+
activityType: violation,
|
|
116
119
|
timestamp: new Date().toISOString(),
|
|
117
120
|
details: violation,
|
|
118
121
|
image: evidence,
|
|
119
122
|
});
|
|
120
123
|
}
|
|
124
|
+
async onReceiveMultipleViolationTracker(data) {
|
|
125
|
+
const multipleViolationsUpdate = {
|
|
126
|
+
data: []
|
|
127
|
+
};
|
|
128
|
+
const violations = [];
|
|
129
|
+
for (const violation of data) {
|
|
130
|
+
violations.push({
|
|
131
|
+
sessionId: this.currentSessionId,
|
|
132
|
+
activityType: violation.violation,
|
|
133
|
+
timestamp: new Date().toISOString(),
|
|
134
|
+
image: violation.evidence,
|
|
135
|
+
details: violation.violation,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
multipleViolationsUpdate.data = violations;
|
|
139
|
+
await this.proctorMetricService.updateMultipleActivities(multipleViolationsUpdate);
|
|
140
|
+
}
|
|
141
|
+
async getActivityMetrics(params) {
|
|
142
|
+
return this.proctorMetricService.getActivityMetrics(params);
|
|
143
|
+
}
|
|
144
|
+
async getActivityMetricsInCurrentSession(activityType) {
|
|
145
|
+
const params = {
|
|
146
|
+
sessionId: this.currentSessionId,
|
|
147
|
+
activityType: activityType,
|
|
148
|
+
};
|
|
149
|
+
return this.proctorMetricService.getActivityMetrics(params);
|
|
150
|
+
}
|
|
121
151
|
onReceiveRandomPhoto(photo) {
|
|
122
152
|
if (!this.session) {
|
|
123
153
|
throw new Error('Session is not initialized');
|
|
@@ -126,4 +156,4 @@ class ProctoringManager {
|
|
|
126
156
|
}
|
|
127
157
|
}
|
|
128
158
|
export { ProctoringManager };
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvY3RvcmluZ01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9Qcm9jdG9yaW5nTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBUUwsb0JBQW9CLEdBR3JCLE1BQU0sU0FBUyxDQUFDO0FBRWpCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBU25FLE1BQU0saUJBQWlCO0lBVXJCLFlBQ0UsTUFBZ0M7UUFFaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQWdDO1FBRWhDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDL0IsaUJBQWlCLENBQUMsUUFBUSxHQUFHLElBQUksaUJBQWlCLENBQ2hELE1BQU0sQ0FDUCxDQUFDO1NBQ0g7UUFDRCxPQUFPLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSyxDQUFDLHFCQUFxQjtRQUtoQyxJQUFJLFVBQVUsR0FBRztZQUNmLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLEtBQUs7WUFDWixNQUFNLEVBQUUsS0FBSztTQUNkLENBQUM7UUFDRixJQUFJLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXRELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFB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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Environment } from '../../types/common';
|
|
2
|
-
import {
|
|
2
|
+
import { APIResponse } from './baseAPI.d';
|
|
3
|
+
import { IActivityMetricResponse, IGetActivitiesParams, IGetActivityMetricsParams, IGetSessionsParams, IStartSessionParams, IUpdateActivitiesParams, IUpdateMultipleActivitiesParams } from './proctor-metric.type';
|
|
3
4
|
declare class ProctorMetricService {
|
|
4
5
|
private axiosInstance;
|
|
5
6
|
private axiosWrapper;
|
|
@@ -11,6 +12,8 @@ declare class ProctorMetricService {
|
|
|
11
12
|
pingSession(sessionId: string): Promise<any>;
|
|
12
13
|
deleteSession(sessionId: string): Promise<any>;
|
|
13
14
|
updateActivities(params: IUpdateActivitiesParams): Promise<any>;
|
|
15
|
+
updateMultipleActivities(params: IUpdateMultipleActivitiesParams): Promise<any>;
|
|
16
|
+
getActivityMetrics(params: IGetActivityMetricsParams): Promise<APIResponse<IActivityMetricResponse>>;
|
|
14
17
|
getActivities(params: IGetActivitiesParams): Promise<any>;
|
|
15
18
|
}
|
|
16
19
|
export { ProctorMetricService };
|
|
@@ -17,6 +17,18 @@ export interface IUpdateActivitiesParams {
|
|
|
17
17
|
details: string;
|
|
18
18
|
image?: Evidence;
|
|
19
19
|
}
|
|
20
|
+
export interface IGetActivityMetricsParams {
|
|
21
|
+
sessionId: string;
|
|
22
|
+
activityType: string;
|
|
23
|
+
}
|
|
24
|
+
export interface IActivityMetricResponse {
|
|
25
|
+
sessionId: string;
|
|
26
|
+
activityType: string;
|
|
27
|
+
metricsCount: number;
|
|
28
|
+
}
|
|
29
|
+
export interface IUpdateMultipleActivitiesParams {
|
|
30
|
+
data: IUpdateActivitiesParams[];
|
|
31
|
+
}
|
|
20
32
|
export interface IGetActivitiesParams {
|
|
21
33
|
sessionId: string;
|
|
22
34
|
page: number;
|
|
@@ -6,6 +6,7 @@ declare class MediaPermissions {
|
|
|
6
6
|
private audioPerm;
|
|
7
7
|
private constructor();
|
|
8
8
|
static getInstance(): MediaPermissions;
|
|
9
|
+
static getNewInstance(): MediaPermissions;
|
|
9
10
|
requestMediaPermission(): Promise<boolean>;
|
|
10
11
|
requestAudioPermission(): boolean;
|
|
11
12
|
requestScreenPermission(): Promise<boolean>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Environment } from '../types/common';
|
|
2
|
-
import { IGetSessionsParams, IStartSessionParams, PossibleViolation, TrackingSession, ViolationsTracker } from '../core';
|
|
2
|
+
import { IActivityMetricResponse, IGetActivityMetricsParams, IGetSessionsParams, IStartSessionParams, PossibleViolation, TrackingSession, ViolationsTracker } from '../core';
|
|
3
3
|
import { Evidence } from '../types/sessions';
|
|
4
|
+
import { APIResponse } from '../core/client/baseAPI.d';
|
|
4
5
|
export interface IProctoringManagerConfig {
|
|
5
6
|
userId: string;
|
|
6
7
|
userEmail: string;
|
|
@@ -30,7 +31,13 @@ declare class ProctoringManager {
|
|
|
30
31
|
startSession(params: IStartSessionParams): Promise<any>;
|
|
31
32
|
endSession(): Promise<void>;
|
|
32
33
|
pingSession(): Promise<void>;
|
|
33
|
-
onReceiveViolationTracker(violation: PossibleViolation, evidence?: Evidence): void
|
|
34
|
+
onReceiveViolationTracker(violation: PossibleViolation, evidence?: Evidence): Promise<void>;
|
|
35
|
+
onReceiveMultipleViolationTracker(data: {
|
|
36
|
+
violation: PossibleViolation;
|
|
37
|
+
evidence?: Evidence;
|
|
38
|
+
}[]): Promise<void>;
|
|
39
|
+
getActivityMetrics(params: IGetActivityMetricsParams): Promise<APIResponse<IActivityMetricResponse>>;
|
|
40
|
+
getActivityMetricsInCurrentSession(activityType: string): Promise<APIResponse<IActivityMetricResponse>>;
|
|
34
41
|
onReceiveRandomPhoto(photo: Blob): void;
|
|
35
42
|
}
|
|
36
43
|
export { ProctoringManager };
|