+5
-25
src/modules/search/application/useCases/queries/GetSimilarUrlsForUrlUseCase.ts
+5
-25
src/modules/search/application/useCases/queries/GetSimilarUrlsForUrlUseCase.ts
···
4
4
import { AppError } from '../../../../../shared/core/AppError';
5
5
import { URL } from '../../../../cards/domain/value-objects/URL';
6
6
import { SearchService } from '../../../domain/services/SearchService';
7
+
import { GetSimilarUrlsForUrlParams } from '@semble/types/api/requests';
8
+
import { GetSimilarUrlsForUrlResponse, UrlView } from '@semble/types/api/responses';
9
+
import { Pagination } from '@semble/types/api/common';
7
10
8
-
export interface GetSimilarUrlsForUrlQuery {
9
-
url: string;
11
+
export interface GetSimilarUrlsForUrlQuery extends GetSimilarUrlsForUrlParams {
10
12
callingUserId?: string;
11
-
page?: number;
12
-
limit?: number;
13
-
threshold?: number;
14
-
}
15
-
16
-
export interface UrlView {
17
-
url: string;
18
-
metadata: {
19
-
url: string;
20
-
title?: string;
21
-
description?: string;
22
-
author?: string;
23
-
thumbnailUrl?: string;
24
-
};
25
-
urlLibraryCount: number;
26
-
urlInLibrary: boolean;
27
13
}
28
14
29
15
export interface GetSimilarUrlsForUrlResult {
30
16
urls: UrlView[];
31
-
pagination: {
32
-
currentPage: number;
33
-
totalPages: number;
34
-
totalCount: number;
35
-
hasMore: boolean;
36
-
limit: number;
37
-
};
17
+
pagination: Pagination;
38
18
}
39
19
40
20
export class ValidationError extends UseCaseError {
+1
-1
src/modules/search/domain/services/SearchService.ts
+1
-1
src/modules/search/domain/services/SearchService.ts
···
3
3
import { IMetadataService } from '../../../cards/domain/services/IMetadataService';
4
4
import { ICardQueryRepository } from '../../../cards/domain/ICardQueryRepository';
5
5
import { IVectorDatabase, FindSimilarUrlsParams } from '../IVectorDatabase';
6
-
import { UrlView } from '../../application/useCases/queries/GetSimilarUrlsForUrlUseCase';
6
+
import { UrlView } from '@semble/types/api/responses';
7
7
8
8
export class SearchService {
9
9
constructor(