import apiClient from './clients/api-client'; import { AxiosResponse } from 'axios'; import { Training, TrainingIndexFilter } from '../models/training'; import ApiLib from '../lib/api'; export default class TrainingAPI { static async index (filters?: TrainingIndexFilter): Promise> { const res: AxiosResponse> = await apiClient.get(`/api/trainings${ApiLib.filtersToQuery(filters)}`); return res?.data; } static async create (training: Training): Promise { const data = ApiLib.serializeAttachments(training, 'training', ['training_image_attributes']); const res: AxiosResponse = await apiClient.post('/api/trainings', data, { headers: { 'Content-Type': 'multipart/form-data' } }); return res?.data; } static async update (training: Training): Promise { const data = ApiLib.serializeAttachments(training, 'training', ['training_image_attributes']); const res: AxiosResponse = await apiClient.put(`/api/trainings/${training.id}`, data, { headers: { 'Content-Type': 'multipart/form-data' } }); return res?.data; } }