package com.plannaplan.controllers; import java.util.List; import com.plannaplan.App; import com.plannaplan.entities.Course; import com.plannaplan.responses.mappers.CoursesResponseMappers; import com.plannaplan.responses.models.GetCoursesResponse; import com.plannaplan.responses.models.GetCoursesWithGroupsResponse; import com.plannaplan.services.CourseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @RestController @CrossOrigin @RequestMapping("/api/" + App.API_VERSION + "/courses") public class CoursesController { @Autowired private CourseService courseService; @GetMapping("/getCourses") public ResponseEntity> getMethodName() { List courses = this.courseService.getAllCourses(); List response = CoursesResponseMappers.mapCoursesListToCoursesResponseList(courses); return new ResponseEntity<>(response, HttpStatus.OK); } @GetMapping("/getCoursesWithGroups") public ResponseEntity> getCoursesWithGroups() { final List courses = this.courseService.getAllCourses(); final List response = CoursesResponseMappers .mapCoursesWithGrtoupsListToCoursesResponseList(courses); return new ResponseEntity<>(response, HttpStatus.OK); // for (Course c : courses) { // Dictionary element = new Hashtable<>(); // element.put("id", c.getId()); // element.put("name", c.getName()); // List> groups = new ArrayList<>(); // for (Groups g : c.getGroups()) { // Dictionary group = new Hashtable<>(); // group.put("id", g.getId()); // group.put("day", g.getDay().label); // group.put("time", g.getTimeString()); // group.put("lecturer", g.getLecturer().toString()); // group.put("room", g.getRoom()); // group.put("type", g.getType()); // groups.add(group); // } // element.put("groups", groups); // response.add(element); // } // return new ResponseEntity<>(response, HttpStatus.OK); } }