41 lines
912 B
TypeScript
41 lines
912 B
TypeScript
import axiosInstance from './axiosInstance'
|
|
import { Leader } from './leaders'
|
|
|
|
export interface CreateGroup {
|
|
name: string
|
|
project_supervisor_id: number
|
|
students: number[]
|
|
}
|
|
|
|
export interface Group {
|
|
cdyd_kod: string
|
|
id: number
|
|
name: string
|
|
points_for_first_term: number
|
|
points_for_second_term: number
|
|
project_supervisor: Leader
|
|
prz_kod: string
|
|
tzaj_kod: string
|
|
}
|
|
|
|
export const getGroups = (
|
|
params: Partial<{
|
|
year_group_id: number
|
|
page: number
|
|
per_page: number
|
|
name: string
|
|
}>,
|
|
) =>
|
|
axiosInstance.get<{ max_pages: number; groups: Group[] }>(
|
|
`coordinator/groups/${params.year_group_id}`,
|
|
{
|
|
params,
|
|
},
|
|
)
|
|
|
|
export const createGroup = (year_group_id: number, payload: CreateGroup) =>
|
|
axiosInstance.post(`coordinator/groups/${year_group_id}/`, payload)
|
|
|
|
export const deleteGroup = (id: number) =>
|
|
axiosInstance.delete(`coordinator/groups/${id}/`)
|