33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
JavaScript
import axios from 'axios'
|
|
|
|
const api = axios.create({ baseURL: '/api' })
|
|
|
|
export const wordsApi = {
|
|
getAll: (category) => api.get('/words', { params: { category } }),
|
|
getDaily: () => api.get('/words/daily'),
|
|
getQuiz: (count = 5) => api.get('/words/quiz', { params: { count } }),
|
|
getCategories: () => api.get('/words/categories'),
|
|
}
|
|
|
|
export const phrasesApi = {
|
|
getAll: (category) => api.get('/phrases', { params: { category } }),
|
|
getDaily: () => api.get('/phrases/daily'),
|
|
getCategories: () => api.get('/phrases/categories'),
|
|
}
|
|
|
|
export const grammarApi = {
|
|
getAll: () => api.get('/grammar'),
|
|
getOne: (id) => api.get(`/grammar/${id}`),
|
|
}
|
|
|
|
export const quizApi = {
|
|
generate: (count = 5) => api.get('/quiz/generate', { params: { count } }),
|
|
saveResult: (data) => api.post('/quiz/result', data),
|
|
}
|
|
|
|
export const questApi = {
|
|
getToday: (session) => api.get('/quest/today', { params: { session } }),
|
|
complete: (data) => api.post('/quest/complete', data),
|
|
getStreak: (session) => api.get('/quest/streak', { params: { session } }),
|
|
}
|