Skip to content

Commit 5ed2e8a

Browse files
committed
refactor: rename external tool URL methods and interfaces for clarity
1 parent fc750c9 commit 5ed2e8a

File tree

13 files changed

+105
-99
lines changed

13 files changed

+105
-99
lines changed

docs/useCases.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ The different use cases currently available in the package are classified below,
9696
- [External Tools](#external-tools)
9797
- [External Tools read use cases](#external-tools-read-use-cases)
9898
- [Get External Tools](#get-external-tools)
99-
- [Get Dataset External Tool Url](#get-dataset-external-tool-url)
100-
- [Get File External Tool Url](#get-file-external-tool-url)
99+
- [Get Dataset External Tool Resolved](#get-dataset-external-tool-resolved)
100+
- [Get File External Tool Resolved](#get-file-external-tool-resolved)
101101

102102
## Collections
103103

@@ -2172,14 +2172,14 @@ getExternalTools.execute().then((externalTools: ExternalTool[]) => {
21722172

21732173
_See [use case](../src/externalTools/domain/useCases/GetExternalTools.ts) implementation_.
21742174

2175-
#### Get Dataset External Tool Url
2175+
#### Get Dataset External Tool Resolved
21762176

2177-
Returns an instance of [DatasetExternalToolUrl](../src/externalTools/domain/models/ExternalTool.ts), which contains the resolved URL for accessing an external tool that operates at the dataset level.
2177+
Returns an instance of [DatasetExternalToolResolved](../src/externalTools/domain/models/ExternalTool.ts), which contains the resolved URL for accessing an external tool that operates at the dataset level.
21782178

21792179
##### Example call:
21802180

21812181
```typescript
2182-
import { getDatasetExternalToolUrl } from '@iqss/dataverse-client-javascript'
2182+
import { getDatasetExternalToolResolved } from '@iqss/dataverse-client-javascript'
21832183

21842184
/* ... */
21852185
const toolId = 1
@@ -2189,24 +2189,24 @@ const getExternalToolDTO: GetExternalToolDTO = {
21892189
locale: 'en'
21902190
}
21912191

2192-
getDatasetExternalToolUrl
2192+
getDatasetExternalToolResolved
21932193
.execute(toolId, datasetId, getExternalToolDTO)
2194-
.then((datasetExternalToolUrl: DatasetExternalToolUrl) => {
2194+
.then((datasetExternalToolResolved: DatasetExternalToolResolved) => {
21952195
/* ... */
21962196
})
21972197
/* ... */
21982198
```
21992199

2200-
_See [use case](../src/externalTools/domain/useCases/GetDatasetExternalToolUrl.ts) implementation_.
2200+
_See [use case](../src/externalTools/domain/useCases/GetDatasetExternalToolResolved.ts) implementation_.
22012201

2202-
#### Get File External Tool Url
2202+
#### Get File External Tool Resolved
22032203

2204-
Returns an instance of [FileExternalToolUrl](../src/externalTools/domain/models/ExternalTool.ts), which contains the resolved URL for accessing an external tool that operates at the file level.
2204+
Returns an instance of [FileExternalToolResolved](../src/externalTools/domain/models/ExternalTool.ts), which contains the resolved URL for accessing an external tool that operates at the file level.
22052205

22062206
##### Example call:
22072207

22082208
```typescript
2209-
import { getFileExternalToolUrl } from '@iqss/dataverse-client-javascript'
2209+
import { getFileExternalToolResolved } from '@iqss/dataverse-client-javascript'
22102210

22112211
/* ... */
22122212
const toolId = 1
@@ -2216,12 +2216,12 @@ const getExternalToolDTO: GetExternalToolDTO = {
22162216
locale: 'en'
22172217
}
22182218

2219-
getFileExternalToolUrl
2219+
getFileExternalToolResolved
22202220
.execute(toolId, fileId, getExternalToolDTO)
2221-
.then((fileExternalToolUrl: FileExternalToolUrl) => {
2221+
.then((fileExternalToolResolved: FileExternalToolResolved) => {
22222222
/* ... */
22232223
})
22242224
/* ... */
22252225
```
22262226

2227-
_See [use case](../src/externalTools/domain/useCases/GetfileExternalToolUrl.ts) implementation_.
2227+
_See [use case](../src/externalTools/domain/useCases/GetfileExternalToolResolved.ts) implementation_.

src/externalTools/domain/models/ExternalTool.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ export enum ToolScope {
1818
File = 'file'
1919
}
2020

21-
export interface DatasetExternalToolUrl {
21+
export interface DatasetExternalToolResolved {
2222
toolUrlResolved: string
2323
displayName: string
2424
datasetId: number
2525
preview: boolean
2626
}
2727

28-
export interface FileExternalToolUrl {
28+
export interface FileExternalToolResolved {
2929
toolUrlResolved: string
3030
displayName: string
3131
fileId: number
Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
import { GetExternalToolDTO } from '../dtos/GetExternalToolDTO'
2-
import { DatasetExternalToolUrl, ExternalTool, FileExternalToolUrl } from '../models/ExternalTool'
2+
import {
3+
DatasetExternalToolResolved,
4+
ExternalTool,
5+
FileExternalToolResolved
6+
} from '../models/ExternalTool'
37

48
export interface IExternalToolsRepository {
59
getExternalTools(): Promise<ExternalTool[]>
6-
getDatasetExternalToolUrl(
10+
getDatasetExternalToolResolved(
711
datasetId: number | string,
812
toolId: number,
913
getExternalToolDTO: GetExternalToolDTO
10-
): Promise<DatasetExternalToolUrl>
11-
getFileExternalToolUrl(
14+
): Promise<DatasetExternalToolResolved>
15+
getFileExternalToolResolved(
1216
fileId: number | string,
1317
toolId: number,
1418
getExternalToolDTO: GetExternalToolDTO
15-
): Promise<FileExternalToolUrl>
19+
): Promise<FileExternalToolResolved>
1620
}

src/externalTools/domain/useCases/GetDatasetExternalToolUrl.ts renamed to src/externalTools/domain/useCases/GetDatasetExternalToolResolved.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
import { UseCase } from '../../../core/domain/useCases/UseCase'
22
import { GetExternalToolDTO } from '../dtos/GetExternalToolDTO'
3-
import { DatasetExternalToolUrl } from '../models/ExternalTool'
3+
import { DatasetExternalToolResolved } from '../models/ExternalTool'
44
import { IExternalToolsRepository } from '../repositories/IExternalToolsRepository'
55

6-
export class GetDatasetExternalToolUrl implements UseCase<DatasetExternalToolUrl> {
6+
export class GetDatasetExternalToolResolved implements UseCase<DatasetExternalToolResolved> {
77
private externalToolsRepository: IExternalToolsRepository
88

99
constructor(externalToolsRepository: IExternalToolsRepository) {
1010
this.externalToolsRepository = externalToolsRepository
1111
}
1212

1313
/**
14-
* Returns a DatasetExternalToolUrl object containing the resolved URL for accessing an external tool that operates at the dataset level.
14+
* Returns a DatasetExternalToolResolved object containing the resolved URL for accessing an external tool that operates at the dataset level.
1515
* The URL includes necessary authentication tokens and parameters based on the user's permissions and the tool's configuration.
1616
* Authentication is required for draft or deaccessioned datasets and the user must have ViewUnpublishedDataset permission.
1717
*
1818
* @param {number | string} [datasetId] - The dataset identifier, which can be a string (for persistent identifiers), or a number (for numeric identifiers).
1919
* @param {number} toolId - The identifier of the external tool.
2020
* @param {GetExternalToolDTO} getExternalToolDTO - The GetExternalToolDTO object containing additional parameters for the request.
21-
* @returns {Promise<DatasetExternalToolUrl>}
21+
* @returns {Promise<DatasetExternalToolResolved>}
2222
*/
2323
async execute(
2424
datasetId: number | string,
2525
toolId: number,
2626
getExternalToolDTO: GetExternalToolDTO
27-
): Promise<DatasetExternalToolUrl> {
28-
return await this.externalToolsRepository.getDatasetExternalToolUrl(
27+
): Promise<DatasetExternalToolResolved> {
28+
return await this.externalToolsRepository.getDatasetExternalToolResolved(
2929
datasetId,
3030
toolId,
3131
getExternalToolDTO

src/externalTools/domain/useCases/GetFileExternalToolUrl.ts renamed to src/externalTools/domain/useCases/GetFileExternalToolResolved.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
import { UseCase } from '../../../core/domain/useCases/UseCase'
22
import { GetExternalToolDTO } from '../dtos/GetExternalToolDTO'
3-
import { FileExternalToolUrl } from '../models/ExternalTool'
3+
import { FileExternalToolResolved } from '../models/ExternalTool'
44
import { IExternalToolsRepository } from '../repositories/IExternalToolsRepository'
55

6-
export class GetFileExternalToolUrl implements UseCase<FileExternalToolUrl> {
6+
export class GetFileExternalToolResolved implements UseCase<FileExternalToolResolved> {
77
private externalToolsRepository: IExternalToolsRepository
88

99
constructor(externalToolsRepository: IExternalToolsRepository) {
1010
this.externalToolsRepository = externalToolsRepository
1111
}
1212

1313
/**
14-
* Returns a FileExternalToolUrl object containing the resolved URL for accessing an external tool that operates at the file level.
14+
* Returns a FileExternalToolResolved object containing the resolved URL for accessing an external tool that operates at the file level.
1515
* The URL includes necessary authentication tokens and parameters based on the user's permissions and the tool's configuration.
1616
* Authentication is required for draft, restricted, embargoed, or expired (retention period) files, the user must have appropriate permissions.
1717
*
1818
* @param {number | string} [fileId] - The File identifier, which can be a string (for persistent identifiers), or a number (for numeric identifiers).
1919
* @param {number} toolId - The identifier of the external tool.
2020
* @param {GetExternalToolDTO} getExternalToolDTO - The GetExternalToolDTO object containing additional parameters for the request.
21-
* @returns {Promise<FileExternalToolUrl>}
21+
* @returns {Promise<FileExternalToolResolved>}
2222
*/
2323
async execute(
2424
fileId: number | string,
2525
toolId: number,
2626
getExternalToolDTO: GetExternalToolDTO
27-
): Promise<FileExternalToolUrl> {
28-
return await this.externalToolsRepository.getFileExternalToolUrl(
27+
): Promise<FileExternalToolResolved> {
28+
return await this.externalToolsRepository.getFileExternalToolResolved(
2929
fileId,
3030
toolId,
3131
getExternalToolDTO

src/externalTools/index.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
import { GetDatasetExternalToolUrl } from './domain/useCases/GetDatasetExternalToolUrl'
1+
import { GetDatasetExternalToolResolved } from './domain/useCases/GetDatasetExternalToolResolved'
22
import { GetExternalTools } from './domain/useCases/GetExternalTools'
3-
import { GetFileExternalToolUrl } from './domain/useCases/GetFileExternalToolUrl'
3+
import { GetFileExternalToolResolved } from './domain/useCases/GetFileExternalToolResolved'
44
import { ExternalToolsRepository } from './infra/ExternalToolsRepository'
55

66
const externalToolsRepository = new ExternalToolsRepository()
77

88
const getExternalTools = new GetExternalTools(externalToolsRepository)
9-
const getDatasetExternalToolUrl = new GetDatasetExternalToolUrl(externalToolsRepository)
10-
const getFileExternalToolUrl = new GetFileExternalToolUrl(externalToolsRepository)
9+
const getDatasetExternalToolResolved = new GetDatasetExternalToolResolved(externalToolsRepository)
10+
const getFileExternalToolResolved = new GetFileExternalToolResolved(externalToolsRepository)
1111

1212
export {
1313
getExternalTools,
14-
getDatasetExternalToolUrl,
15-
getFileExternalToolUrl,
14+
getDatasetExternalToolResolved,
15+
getFileExternalToolResolved,
1616
externalToolsRepository
1717
}
1818

1919
export {
2020
ExternalTool,
2121
ToolScope,
2222
ToolType,
23-
DatasetExternalToolUrl,
24-
FileExternalToolUrl
23+
DatasetExternalToolResolved,
24+
FileExternalToolResolved
2525
} from './domain/models/ExternalTool'

src/externalTools/infra/ExternalToolsRepository.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { IExternalToolsRepository } from '../domain/repositories/IExternalToolsRepository'
22
import { ApiRepository } from '../../core/infra/repositories/ApiRepository'
33
import {
4-
DatasetExternalToolUrl,
4+
DatasetExternalToolResolved,
55
ExternalTool,
6-
FileExternalToolUrl
6+
FileExternalToolResolved
77
} from '../domain/models/ExternalTool'
88
import { GetExternalToolDTO } from '../domain/dtos/GetExternalToolDTO'
99
import { datasetExternalToolTransformer } from './transformers/datasetExternalToolTransformer'
@@ -21,11 +21,11 @@ export class ExternalToolsRepository extends ApiRepository implements IExternalT
2121
})
2222
}
2323

24-
public async getDatasetExternalToolUrl(
24+
public async getDatasetExternalToolResolved(
2525
datasetId: number | string,
2626
toolId: number,
2727
getExternalToolDTO: GetExternalToolDTO
28-
): Promise<DatasetExternalToolUrl> {
28+
): Promise<DatasetExternalToolResolved> {
2929
return this.doPost(
3030
this.buildApiEndpoint('datasets', `externalTool/${toolId}/toolUrl`, datasetId),
3131
getExternalToolDTO
@@ -36,11 +36,11 @@ export class ExternalToolsRepository extends ApiRepository implements IExternalT
3636
})
3737
}
3838

39-
public async getFileExternalToolUrl(
39+
public async getFileExternalToolResolved(
4040
fileId: number | string,
4141
toolId: number,
4242
getExternalToolDTO: GetExternalToolDTO
43-
): Promise<FileExternalToolUrl> {
43+
): Promise<FileExternalToolResolved> {
4444
return this.doPost(
4545
this.buildApiEndpoint('files', `externalTool/${toolId}/toolUrl`, fileId),
4646
getExternalToolDTO

src/externalTools/infra/transformers/datasetExternalToolTransformer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { AxiosResponse } from 'axios'
2-
import { DatasetExternalToolUrl } from '../../domain/models/ExternalTool'
2+
import { DatasetExternalToolResolved } from '../../domain/models/ExternalTool'
33

44
export const datasetExternalToolTransformer = (
55
response: AxiosResponse<{
66
data: { toolUrl: string; displayName: string; datasetId: number; preview: boolean }
77
}>
8-
): DatasetExternalToolUrl => {
8+
): DatasetExternalToolResolved => {
99
const datasetExtTool = response.data.data
1010

1111
return {

src/externalTools/infra/transformers/fileExternalToolTransformer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { AxiosResponse } from 'axios'
2-
import { FileExternalToolUrl } from '../../domain/models/ExternalTool'
2+
import { FileExternalToolResolved } from '../../domain/models/ExternalTool'
33

44
export const fileExternalToolTransformer = (
55
response: AxiosResponse<{
66
data: { toolUrl: string; displayName: string; fileId: number; preview: boolean }
77
}>
8-
): FileExternalToolUrl => {
8+
): FileExternalToolResolved => {
99
const fileExtTool = response.data.data
1010

1111
return {

0 commit comments

Comments
 (0)