@ampsec/platform-client 84.27.0 → 84.28.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/build/src/dto/trainings.dto.d.ts +29 -0
- package/build/src/dto/trainings.dto.js +11 -0
- package/build/src/dto/trainings.dto.js.map +1 -0
- package/build/src/services/AmpApi.d.ts +2 -0
- package/build/src/services/AmpApi.js +2 -0
- package/build/src/services/AmpApi.js.map +1 -1
- package/build/src/services/constants.d.ts +1 -0
- package/build/src/services/constants.js +1 -0
- package/build/src/services/constants.js.map +1 -1
- package/build/src/services/trainings.service.d.ts +23 -0
- package/build/src/services/trainings.service.js +41 -0
- package/build/src/services/trainings.service.js.map +1 -0
- package/package.json +1 -1
- package/src/dto/trainings.dto.ts +12 -0
- package/src/services/AmpApi.ts +3 -0
- package/src/services/constants.ts +1 -0
- package/src/services/trainings.service.ts +47 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const _TrainingDto: z.ZodObject<{
|
|
3
|
+
subject: z.ZodString;
|
|
4
|
+
videoUrl: z.ZodString;
|
|
5
|
+
thumbnailUrl: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
subject: string;
|
|
8
|
+
videoUrl: string;
|
|
9
|
+
thumbnailUrl?: string | undefined;
|
|
10
|
+
}, {
|
|
11
|
+
subject: string;
|
|
12
|
+
videoUrl: string;
|
|
13
|
+
thumbnailUrl?: string | undefined;
|
|
14
|
+
}>;
|
|
15
|
+
export type TrainingDto = z.infer<typeof _TrainingDto>;
|
|
16
|
+
export declare const _TrainingUpsertDto: z.ZodObject<{
|
|
17
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
18
|
+
videoUrl: z.ZodOptional<z.ZodString>;
|
|
19
|
+
thumbnailUrl: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
20
|
+
}, "strip", z.ZodTypeAny, {
|
|
21
|
+
subject?: string | undefined;
|
|
22
|
+
videoUrl?: string | undefined;
|
|
23
|
+
thumbnailUrl?: string | undefined;
|
|
24
|
+
}, {
|
|
25
|
+
subject?: string | undefined;
|
|
26
|
+
videoUrl?: string | undefined;
|
|
27
|
+
thumbnailUrl?: string | undefined;
|
|
28
|
+
}>;
|
|
29
|
+
export type TrainingUpsertDto = z.infer<typeof _TrainingUpsertDto>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._TrainingUpsertDto = exports._TrainingDto = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports._TrainingDto = zod_1.z.object({
|
|
6
|
+
subject: zod_1.z.string(),
|
|
7
|
+
videoUrl: zod_1.z.string().url(),
|
|
8
|
+
thumbnailUrl: zod_1.z.string().url().optional(),
|
|
9
|
+
});
|
|
10
|
+
exports._TrainingUpsertDto = exports._TrainingDto.partial();
|
|
11
|
+
//# sourceMappingURL=trainings.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trainings.dto.js","sourceRoot":"","sources":["../../../src/dto/trainings.dto.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AAET,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAIU,QAAA,kBAAkB,GAAG,oBAAY,CAAC,OAAO,EAAE,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { FlowSpecsService } from './flowSpecs.service';
|
|
|
6
6
|
import { CohortService } from './rest/CohortService';
|
|
7
7
|
import { AgentsService } from './AgentsService';
|
|
8
8
|
import { EngagementService } from './engagements.service';
|
|
9
|
+
import { TrainingsService } from './trainings.service';
|
|
9
10
|
export type AmpApiOptions = AmpRestClientOptions;
|
|
10
11
|
/**
|
|
11
12
|
* AMP API
|
|
@@ -46,6 +47,7 @@ export declare class AmpApi {
|
|
|
46
47
|
readonly settings: AmpSettingsService;
|
|
47
48
|
readonly tenants: AmpEntityService<TenantUpsertDto, TenantDto>;
|
|
48
49
|
readonly tokens: AmpDataService<TokenDto>;
|
|
50
|
+
readonly trainings: TrainingsService;
|
|
49
51
|
readonly users: AmpDataService<UserDto>;
|
|
50
52
|
readonly usersInsights: UsersInsightsService;
|
|
51
53
|
readonly prediction: PredictionService;
|
|
@@ -9,6 +9,7 @@ const flowSpecs_service_1 = require("./flowSpecs.service");
|
|
|
9
9
|
const CohortService_1 = require("./rest/CohortService");
|
|
10
10
|
const AgentsService_1 = require("./AgentsService");
|
|
11
11
|
const engagements_service_1 = require("./engagements.service");
|
|
12
|
+
const trainings_service_1 = require("./trainings.service");
|
|
12
13
|
/**
|
|
13
14
|
* AMP API
|
|
14
15
|
* This client is a wrapper around the AMP REST API meant to be used by
|
|
@@ -49,6 +50,7 @@ class AmpApi {
|
|
|
49
50
|
this.settings = new _1.AmpSettingsService(rest);
|
|
50
51
|
this.tenants = new _1.AmpEntityServiceImpl(rest, constants_1.KIND.TENANTS);
|
|
51
52
|
this.tokens = new _1.AmpDataServiceImpl(rest, constants_1.KIND.TOKENS);
|
|
53
|
+
this.trainings = new trainings_service_1.TrainingsService(rest, constants_1.KIND.TRAININGS);
|
|
52
54
|
this.users = new _1.AmpDataServiceImpl(rest, constants_1.KIND.USERS);
|
|
53
55
|
this.usersInsights = new usersInsights_service_1.UsersInsightsService(rest);
|
|
54
56
|
this.prediction = new _1.PredictionService(rest, constants_1.KIND.FINDINGS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmpApi.js","sourceRoot":"","sources":["../../../src/services/AmpApi.ts"],"names":[],"mappings":";;;AAmBA,wBAcW;AACX,2CAAmD;AACnD,iCAA0J;AAC1J,mEAA6D;AAC7D,2DAAqD;AACrD,wDAAmD;AACnD,mDAA8C;AAC9C,+DAAwD;
|
|
1
|
+
{"version":3,"file":"AmpApi.js","sourceRoot":"","sources":["../../../src/services/AmpApi.ts"],"names":[],"mappings":";;;AAmBA,wBAcW;AACX,2CAAmD;AACnD,iCAA0J;AAC1J,mEAA6D;AAC7D,2DAAqD;AACrD,wDAAmD;AACnD,mDAA8C;AAC9C,+DAAwD;AACxD,2DAAqD;AAIrD;;;;;;;;;;;GAWG;AACH,MAAa,MAAM;IAgCjB,YAAY,IAAgB;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,qBAAkB,CAAqB,IAAI,EAAE,gBAAI,CAAC,gBAAgB,CAAC,CAAC;QAChG,IAAI,CAAC,MAAM,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAkB,CAAW,IAAI,EAAE,gBAAI,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAoB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,IAAI,uBAAoB,CAAmD,IAAI,EAAE,gBAAI,CAAC,oBAAoB,CAAC,CAAC;QACtI,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAoB,CAAiD,IAAI,EAAE,gBAAI,CAAC,mBAAmB,CAAC,CAAC;QAClI,IAAI,CAAC,WAAW,GAAG,IAAI,uCAAiB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,0BAAuB,CAAC,IAAI,EAAE,gBAAI,CAAC,iBAAiB,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,GAAG,IAAI,uBAAoB,CAAuC,IAAI,EAAE,gBAAI,CAAC,aAAa,CAAC,CAAC;QAC7G,IAAI,CAAC,SAAS,GAAG,IAAI,oCAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAoB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,8BAAuB,CAAC,IAAI,EAAE,4BAAgB,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAmB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAkB,CAAc,IAAI,EAAE,gBAAI,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,aAAa,GAAG,IAAI,qBAAkB,CAAkB,IAAI,EAAE,gBAAI,CAAC,cAAc,CAAC,CAAC;QACxF,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAoB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAkB,CAAe,IAAI,EAAE,gBAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,qBAAkB,CAAmB,IAAI,EAAE,gBAAI,CAAC,eAAe,CAAC,CAAC;QAC3F,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAkB,CAAc,IAAI,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAoB,CAA6B,IAAI,EAAE,gBAAI,CAAC,OAAO,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAkB,CAAW,IAAI,EAAE,gBAAI,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,IAAI,oCAAgB,CAAC,IAAI,EAAE,gBAAI,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAkB,CAAU,IAAI,EAAE,gBAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,4CAAoB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAiB,CAAC,IAAI,EAAE,gBAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAAsB;QACpC,MAAM,IAAI,GAAG,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;QACvC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AArED,wBAqEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/services/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/services/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TrainingDto } from '../dto/trainings.dto';
|
|
2
|
+
import { TargetApi } from './constants';
|
|
3
|
+
import { RestClient, RestResponse } from './rest';
|
|
4
|
+
/**
|
|
5
|
+
* Service to manage compliance trainings.
|
|
6
|
+
*/
|
|
7
|
+
export declare class TrainingsService {
|
|
8
|
+
protected readonly rest: RestClient;
|
|
9
|
+
protected readonly targetApi: string;
|
|
10
|
+
protected readonly kind: string;
|
|
11
|
+
constructor(rest: RestClient, kind: string, targetApi?: TargetApi);
|
|
12
|
+
createTraining: (trainingDto: TrainingDto) => Promise<RestResponse>;
|
|
13
|
+
getVideoUrl: (hmac: string) => Promise<{
|
|
14
|
+
success: boolean;
|
|
15
|
+
videoUrl: string;
|
|
16
|
+
}>;
|
|
17
|
+
completeTraining: (hmac: string) => Promise<{
|
|
18
|
+
success: boolean;
|
|
19
|
+
message: string;
|
|
20
|
+
findingsClosed: number;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export default TrainingsService;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrainingsService = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Service to manage compliance trainings.
|
|
6
|
+
*/
|
|
7
|
+
class TrainingsService {
|
|
8
|
+
constructor(rest, kind, targetApi = 'api') {
|
|
9
|
+
// Creates a new training with the provided details
|
|
10
|
+
this.createTraining = async (trainingDto) => {
|
|
11
|
+
const res = await this.rest.call({
|
|
12
|
+
url: `/${this.targetApi}/v1/${this.kind}/create`,
|
|
13
|
+
method: 'POST',
|
|
14
|
+
data: trainingDto,
|
|
15
|
+
});
|
|
16
|
+
return res;
|
|
17
|
+
};
|
|
18
|
+
// Fetches the video URL for a given training identified by HMAC
|
|
19
|
+
this.getVideoUrl = async (hmac) => {
|
|
20
|
+
const res = await this.rest.call({
|
|
21
|
+
url: `/${this.targetApi}/v1/${this.kind}/${hmac}`,
|
|
22
|
+
method: 'GET',
|
|
23
|
+
});
|
|
24
|
+
return res;
|
|
25
|
+
};
|
|
26
|
+
// Marks the training identified by HMAC as complete
|
|
27
|
+
this.completeTraining = async (hmac) => {
|
|
28
|
+
const res = await this.rest.call({
|
|
29
|
+
url: `/${this.targetApi}/v1/${this.kind}/${hmac}/complete`,
|
|
30
|
+
method: 'POST',
|
|
31
|
+
});
|
|
32
|
+
return res;
|
|
33
|
+
};
|
|
34
|
+
this.rest = rest;
|
|
35
|
+
this.kind = kind;
|
|
36
|
+
this.targetApi = targetApi;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.TrainingsService = TrainingsService;
|
|
40
|
+
exports.default = TrainingsService;
|
|
41
|
+
//# sourceMappingURL=trainings.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trainings.service.js","sourceRoot":"","sources":["../../../src/services/trainings.service.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,MAAa,gBAAgB;IAI3B,YAAY,IAAgB,EAAE,IAAY,EAAE,YAAuB,KAAK;QAMxE,mDAAmD;QACnD,mBAAc,GAAG,KAAK,EAAE,WAAwB,EAAyB,EAAE;YACzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,SAAS;gBAChD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,gEAAgE;QAChE,gBAAW,GAAG,KAAK,EAAE,IAAY,EAAiD,EAAE;YAClF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACjD,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,OAAO,GAAsD,CAAC;QAChE,CAAC,CAAC;QAEF,oDAAoD;QACpD,qBAAgB,GAAG,KAAK,EAAE,IAAY,EAAwE,EAAE;YAC9G,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,WAAW;gBAC1D,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,OAAO,GAA6E,CAAC;QACvF,CAAC,CAAC;QA/BA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CA6BF;AArCD,4CAqCC;AAED,kBAAe,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {z} from 'zod';
|
|
2
|
+
|
|
3
|
+
export const _TrainingDto = z.object({
|
|
4
|
+
subject: z.string(),
|
|
5
|
+
videoUrl: z.string().url(),
|
|
6
|
+
thumbnailUrl: z.string().url().optional(),
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export type TrainingDto = z.infer<typeof _TrainingDto>;
|
|
10
|
+
|
|
11
|
+
export const _TrainingUpsertDto = _TrainingDto.partial();
|
|
12
|
+
export type TrainingUpsertDto = z.infer<typeof _TrainingUpsertDto>;
|
package/src/services/AmpApi.ts
CHANGED
|
@@ -39,6 +39,7 @@ import {FlowSpecsService} from './flowSpecs.service';
|
|
|
39
39
|
import {CohortService} from './rest/CohortService';
|
|
40
40
|
import {AgentsService} from './AgentsService';
|
|
41
41
|
import {EngagementService} from './engagements.service';
|
|
42
|
+
import {TrainingsService} from './trainings.service';
|
|
42
43
|
|
|
43
44
|
export type AmpApiOptions = AmpRestClientOptions;
|
|
44
45
|
|
|
@@ -81,6 +82,7 @@ export class AmpApi {
|
|
|
81
82
|
readonly settings: AmpSettingsService;
|
|
82
83
|
readonly tenants: AmpEntityService<TenantUpsertDto, TenantDto>;
|
|
83
84
|
readonly tokens: AmpDataService<TokenDto>;
|
|
85
|
+
readonly trainings: TrainingsService;
|
|
84
86
|
readonly users: AmpDataService<UserDto>;
|
|
85
87
|
readonly usersInsights: UsersInsightsService;
|
|
86
88
|
readonly prediction: PredictionService;
|
|
@@ -112,6 +114,7 @@ export class AmpApi {
|
|
|
112
114
|
this.settings = new AmpSettingsService(rest);
|
|
113
115
|
this.tenants = new AmpEntityServiceImpl<TenantUpsertDto, TenantDto>(rest, KIND.TENANTS);
|
|
114
116
|
this.tokens = new AmpDataServiceImpl<TokenDto>(rest, KIND.TOKENS);
|
|
117
|
+
this.trainings = new TrainingsService(rest, KIND.TRAININGS);
|
|
115
118
|
this.users = new AmpDataServiceImpl<UserDto>(rest, KIND.USERS);
|
|
116
119
|
this.usersInsights = new UsersInsightsService(rest);
|
|
117
120
|
this.prediction = new PredictionService(rest, KIND.FINDINGS);
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {TrainingDto} from '../dto/trainings.dto';
|
|
2
|
+
import {TargetApi} from './constants';
|
|
3
|
+
import {RestClient, RestResponse} from './rest';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Service to manage compliance trainings.
|
|
7
|
+
*/
|
|
8
|
+
export class TrainingsService {
|
|
9
|
+
protected readonly rest: RestClient;
|
|
10
|
+
protected readonly targetApi: string;
|
|
11
|
+
protected readonly kind: string;
|
|
12
|
+
constructor(rest: RestClient, kind: string, targetApi: TargetApi = 'api') {
|
|
13
|
+
this.rest = rest;
|
|
14
|
+
this.kind = kind;
|
|
15
|
+
this.targetApi = targetApi;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Creates a new training with the provided details
|
|
19
|
+
createTraining = async (trainingDto: TrainingDto): Promise<RestResponse> => {
|
|
20
|
+
const res = await this.rest.call({
|
|
21
|
+
url: `/${this.targetApi}/v1/${this.kind}/create`,
|
|
22
|
+
method: 'POST',
|
|
23
|
+
data: trainingDto,
|
|
24
|
+
});
|
|
25
|
+
return res;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// Fetches the video URL for a given training identified by HMAC
|
|
29
|
+
getVideoUrl = async (hmac: string): Promise<{success: boolean; videoUrl: string}> => {
|
|
30
|
+
const res = await this.rest.call({
|
|
31
|
+
url: `/${this.targetApi}/v1/${this.kind}/${hmac}`,
|
|
32
|
+
method: 'GET',
|
|
33
|
+
});
|
|
34
|
+
return res as unknown as {success: boolean; videoUrl: string};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// Marks the training identified by HMAC as complete
|
|
38
|
+
completeTraining = async (hmac: string): Promise<{success: boolean; message: string; findingsClosed: number}> => {
|
|
39
|
+
const res = await this.rest.call({
|
|
40
|
+
url: `/${this.targetApi}/v1/${this.kind}/${hmac}/complete`,
|
|
41
|
+
method: 'POST',
|
|
42
|
+
});
|
|
43
|
+
return res as unknown as {success: boolean; message: string; findingsClosed: number};
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default TrainingsService;
|