瀏覽代碼

feat: add endpoint to retrieve subjects for a user from the last 30 days in TareasController

EmilianoChavarria 1 月之前
父節點
當前提交
bc974b92df
共有 1 個文件被更改,包括 25 次插入0 次删除
  1. 25 0
      Back/backendP-Educativa/app/Http/Controllers/Api/TareasController.php

+ 25 - 0
Back/backendP-Educativa/app/Http/Controllers/Api/TareasController.php

@@ -89,6 +89,31 @@ class TareasController extends Controller
         }
     }
 
+    public function getMateriasUsuarioUltimos30Dias($idUsuario)
+    {
+        try {
+            $materias = DB::table('tareas as t')
+                ->join('materias as m', 't.idMateriaTarea', '=', 'm.idMateria')
+                ->join('tareas_usuarios_colegioabc as tu', 't.idTarea', '=', 'tu.idTarea')
+                ->where('tu.idUsuario', $idUsuario)
+                ->where('t.fechaPublicacion', '>=', now()->subDays(30))
+                ->select(
+                    'm.idMateria',
+                    'm.nombreMateria'
+                )
+                ->distinct()
+                ->orderBy('m.nombreMateria', 'asc')
+                ->get();
+
+            return response()->json($materias);
+
+        } catch (\Exception $e) {
+            return response()->json([
+                'mensaje' => 'Error al obtener las materias: ' . $e->getMessage()
+            ], 500);
+        }
+    }
+
     public function getTareasPorMateria($idMateria)
     {
         try {