Răsfoiți Sursa

feat(class): cliente de API da agenda de aulas

Métodos para CRUD de aulas, listagem de alunos e registro de presença.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ebagabee 1 lună în urmă
părinte
comite
06310e0b53
1 a modificat fișierele cu 38 adăugiri și 0 ștergeri
  1. 38 0
      src/api/class.js

+ 38 - 0
src/api/class.js

@@ -0,0 +1,38 @@
+import api from "src/api";
+
+export const getClasses = async (params = {}) => {
+  const { data } = await api.get("/class", { params });
+  return data.payload;
+};
+
+export const getClass = async (id) => {
+  const { data } = await api.get(`/class/${id}`);
+  return data.payload;
+};
+
+export const createClass = async (payload) => {
+  const { data } = await api.post("/class", payload);
+  return data.payload;
+};
+
+export const updateClass = async (payload, id) => {
+  const { data } = await api.put(`/class/${id}`, payload);
+  return data.payload;
+};
+
+export const deleteClass = async (id) => {
+  const { data } = await api.delete(`/class/${id}`);
+  return data.payload;
+};
+
+// Alunos com contrato ativo no pacote da aula + presença registrada
+export const getClassStudents = async (id) => {
+  const { data } = await api.get(`/class/${id}/students`);
+  return data.payload;
+};
+
+// Salva a lista de presença da aula em lote
+export const saveClassAttendance = async (id, attendances) => {
+  const { data } = await api.post(`/class/${id}/attendances`, { attendances });
+  return data.payload;
+};