27 lines
1.8 KiB
TypeScript
27 lines
1.8 KiB
TypeScript
import { IUserRepository } from '../../Domain/IRepository/IUserRepository';
|
|
import { IOrganizationRepository } from '../../Domain/IRepository/IOrganizationRepository';
|
|
import { IDeckRepository } from '../../Domain/IRepository/IDeckRepository';
|
|
import { SearchQuery, SearchResult } from '../DTOs/SearchDto';
|
|
import { ShortUserDto } from '../DTOs/UserDto';
|
|
import { ShortOrganizationDto } from '../DTOs/OrganizationDto';
|
|
import { ShortDeckDto } from '../DTOs/DeckDto';
|
|
export type SearchType = 'users' | 'organizations' | 'decks';
|
|
export interface IGeneralSearchService {
|
|
searchUsers(searchQuery: SearchQuery): Promise<SearchResult<ShortUserDto>>;
|
|
searchOrganizations(searchQuery: SearchQuery): Promise<SearchResult<ShortOrganizationDto>>;
|
|
searchDecks(searchQuery: SearchQuery): Promise<SearchResult<ShortDeckDto>>;
|
|
searchByType(searchType: SearchType, searchQuery: SearchQuery): Promise<SearchResult<ShortUserDto | ShortOrganizationDto | ShortDeckDto>>;
|
|
}
|
|
export declare class GeneralSearchService implements IGeneralSearchService {
|
|
private userRepo;
|
|
private organizationRepo;
|
|
private deckRepo;
|
|
constructor(userRepo: IUserRepository, organizationRepo: IOrganizationRepository, deckRepo: IDeckRepository);
|
|
static getSearchTypeFromUrl(url: string): SearchType;
|
|
searchUsers(searchQuery: SearchQuery): Promise<SearchResult<ShortUserDto>>;
|
|
searchOrganizations(searchQuery: SearchQuery): Promise<SearchResult<ShortOrganizationDto>>;
|
|
searchDecks(searchQuery: SearchQuery): Promise<SearchResult<ShortDeckDto>>;
|
|
searchByType(searchType: SearchType, searchQuery: SearchQuery): Promise<SearchResult<ShortUserDto | ShortOrganizationDto | ShortDeckDto>>;
|
|
searchFromUrl(url: string, searchQuery: SearchQuery): Promise<SearchResult<ShortUserDto | ShortOrganizationDto | ShortDeckDto>>;
|
|
}
|
|
//# sourceMappingURL=Generalsearch.d.ts.map
|