get keywords from api to avoid duplication, optimize some code

This commit is contained in:
2024-06-20 18:57:37 +02:00
parent 819881f9d9
commit 9ecb2d6769
5 changed files with 101 additions and 157 deletions

View File

@@ -1,7 +1,7 @@
import { Vacancies, VacancyData } from '~/services/vacancies/vacancies.types'
import { KeywordsResponse, Vacancies, VacancyData } from '~/services/vacancies/vacancies.types'
export class VacanciesService {
baseUrl = 'https://vacancies-trends-api.andrii.es'
baseUrl = process.env.VACANCIES_API_URL ?? 'https://vacancies-trends-api.andrii.es'
async getAll(): Promise<Vacancies> {
return await fetch(`${this.baseUrl}/vacancies`).then(res => res.json())
@@ -13,13 +13,21 @@ export class VacanciesService {
.then(this.formatDateOnData)
}
formatDateOnData(data: VacancyData): VacancyData {
return data.map(item => {
async getKeywords(): Promise<KeywordsResponse> {
return await fetch(`${this.baseUrl}/vacancies/keywords`).then(res => res.json())
}
private formatDateOnData(data: VacancyData): VacancyData {
const mapped = data.data.map(item => {
return {
...item,
date: new Date(item.date).toLocaleDateString('ru'),
}
})
return {
...data,
data: mapped,
}
}
}