import type { Language } from '../../runtime'; import { ApiHelper, toHeaderLanguage } from '../../runtime'; import type { IMultiSuggest } from '../../types'; /** Сервис для работы с API поиска */ export class SearchApiService { static async getMultiSuggest( lang: Language, query: string, phrasesLimit: number, modelsLimit: number, categoriesLimit: number, niche? = NicheHelper.getSiteDefaultNiche(), ): Promise { if (query.length > 2) { return await ApiHelper.fetch( '/search/multi-suggest', { method: 'GET', headers: { 'X-Niche': niche, 'X-Language': toHeaderLanguage(lang), 'X-Cache-Time': 259200, 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', }, params: { query, 'phrases-limit': phrasesLimit, 'models-limit': modelsLimit, 'categories-limit': categoriesLimit, }, }, useRuntimeConfig(), ); } return null; } static async getPhrases( lang: Language, limit = 15, niche? = NicheHelper.getSiteDefaultNiche(), ): Promise> { return await ApiHelper.fetch( '/search/phrases', { method: 'GET', headers: { 'X-Niche': niche, 'X-Language': toHeaderLanguage(lang), 'X-Cache-Time': 259200, 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', }, params: { limit: limit, }, }, useRuntimeConfig(), ); } }