-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathExternalToolsRepository.ts
More file actions
53 lines (49 loc) · 1.9 KB
/
Copy pathExternalToolsRepository.ts
File metadata and controls
53 lines (49 loc) · 1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { IExternalToolsRepository } from '../domain/repositories/IExternalToolsRepository'
import { ApiRepository } from '../../core/infra/repositories/ApiRepository'
import {
DatasetExternalToolResolved,
ExternalTool,
FileExternalToolResolved
} from '../domain/models/ExternalTool'
import { GetExternalToolDTO } from '../domain/dtos/GetExternalToolDTO'
import { datasetExternalToolTransformer } from './transformers/datasetExternalToolTransformer'
import { fileExternalToolTransformer } from './transformers/fileExternalToolTransformer'
import { externalToolsTransformer } from './transformers/externalToolsTransformer'
export class ExternalToolsRepository extends ApiRepository implements IExternalToolsRepository {
private readonly externalToolsResourceName: string = 'externalTools'
public async getExternalTools(): Promise<ExternalTool[]> {
return this.doGet(this.buildApiEndpoint(this.externalToolsResourceName))
.then((response) => externalToolsTransformer(response))
.catch((error) => {
throw error
})
}
public async getDatasetExternalToolResolved(
datasetId: number | string,
toolId: number,
getExternalToolDTO: GetExternalToolDTO
): Promise<DatasetExternalToolResolved> {
return this.doPost(
this.buildApiEndpoint('datasets', `externalTool/${toolId}/toolUrl`, datasetId),
getExternalToolDTO
)
.then((response) => datasetExternalToolTransformer(response))
.catch((error) => {
throw error
})
}
public async getFileExternalToolResolved(
fileId: number | string,
toolId: number,
getExternalToolDTO: GetExternalToolDTO
): Promise<FileExternalToolResolved> {
return this.doPost(
this.buildApiEndpoint('files', `externalTool/${toolId}/toolUrl`, fileId),
getExternalToolDTO
)
.then((response) => fileExternalToolTransformer(response))
.catch((error) => {
throw error
})
}
}