Skip to content

Commit 9a313b5

Browse files
committed
Stash: GetSearchServices WIP
1 parent 6d0f5a1 commit 9a313b5

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export interface SearchService {
2+
name: string
3+
displayName: string
4+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { SearchService } from '../models/SearchService'
2+
3+
export interface ISearchServicesRepository {
4+
getSearchServices(): Promise<SearchService[]>
5+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { UseCase } from '../../../core/domain/useCases/UseCase'
2+
import { SearchService } from '../models/SearchService'
3+
import { ISearchServicesRepository } from '../repositories/ISearchServicesRepository'
4+
5+
export class GetSearchServices implements UseCase<SearchService[]> {
6+
private searchServicesRepository: ISearchServicesRepository
7+
8+
constructor(searchServicesRepository: ISearchServicesRepository) {
9+
this.searchServicesRepository = searchServicesRepository
10+
}
11+
12+
/**
13+
* Returns all search services available in the installation.
14+
*
15+
* @returns {Promise<SearchService[]>}
16+
*/
17+
async execute(): Promise<SearchService[]> {
18+
return await this.searchServicesRepository.getSearchServices()
19+
}
20+
}

0 commit comments

Comments
 (0)