Prepare search api for different types (#1732)

We introduced a new annotation '@IndexedType' which gets collected by the scm-annotation-processor. All classes which are annotated are index and searchable. This opens the search api for plugins.
This commit is contained in:
Sebastian Sdorra
2021-07-19 08:48:43 +02:00
committed by GitHub
parent 2de60a3007
commit e75d937ee5
36 changed files with 677 additions and 259 deletions

View File

@@ -29,14 +29,18 @@ import { createQueryString } from "./utils";
import { useQuery } from "react-query";
export type SearchOptions = {
type: string;
page?: number;
pageSize?: number;
};
const defaultSearchOptions: SearchOptions = {};
const defaultSearchOptions: SearchOptions = {
type: "repository",
};
export const useSearch = (query: string, options = defaultSearchOptions): ApiResult<QueryResult> => {
const link = useRequiredIndexLink("search");
export const useSearch = (query: string, optionParam = defaultSearchOptions): ApiResult<QueryResult> => {
const options = { ...defaultSearchOptions, ...optionParam };
const link = useRequiredIndexLink("search").replace("{type}", options.type);
const queryParams: Record<string, string> = {};
queryParams.q = query;