← back to de1yura__Adaptive-fit

Function bodies 285 total

All specs Real LLM only Function bodies
AdaptiveFitApplication class · java · L14-L19 (6 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/AdaptiveFitApplication.java
public class AdaptiveFitApplication {

    public static void main(String[] args) {
        SpringApplication.run(AdaptiveFitApplication.class, args);
    }
}
main method · java · L16-L18 (3 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/AdaptiveFitApplication.java
    public static void main(String[] args) {
        SpringApplication.run(AdaptiveFitApplication.class, args);
    }
JwtConfig class · java · L9-L16 (8 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/config/JwtConfig.java
public class JwtConfig {

    @Value("${jwt.secret}")
    private String secret;

    @Value("${jwt.expiration}")
    private long expiration;
}
authenticationManager function · java · L50-L52 (3 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/config/SecurityConfig.java
    public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception {
        return authenticationConfiguration.getAuthenticationManager();
    }
passwordEncoder function · java · L55-L57 (3 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/config/SecurityConfig.java
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
AdminController class · java · L25-L88 (64 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AdminController.java
public class AdminController {

    private final EventLogRepository eventLogRepository;
    private final DataExportService dataExportService;
    private final UserRepository userRepository;
    private final String adminEmail;

    public AdminController(EventLogRepository eventLogRepository,
                           DataExportService dataExportService,
                           UserRepository userRepository,
                           @Value("${app.admin.email}") String adminEmail) {
        this.eventLogRepository = eventLogRepository;
        this.dataExportService = dataExportService;
        this.userRepository = userRepository;
        this.adminEmail = adminEmail;
    }

    @GetMapping("/events")
    @Operation(summary = "Get event logs", description = "Returns event logs with optional filtering by event type and date range")
    public ResponseEntity<List<EventLog>> getEvents(
            @RequestParam(required = false) String eventType,
            @RequestParam(require
exportAll method · java · L73-L77 (5 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AdminController.java
    public ResponseEntity<List<Map<String, Object>>> exportAll(Authentication authentication) {
        checkAdmin(authentication);
        List<Map<String, Object>> data = dataExportService.exportAllUsers();
        return ResponseEntity.ok(data);
    }
Repobility · code-quality intelligence · https://repobility.com
checkAdmin method · java · L79-L87 (9 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AdminController.java
    private void checkAdmin(Authentication authentication) {
        String email = authentication.getName();
        if (!adminEmail.equals(email)) {
            User user = userRepository.findByEmail(email).orElse(null);
            if (user == null || !user.isAdmin()) {
                throw new ForbiddenException("Admin access required");
            }
        }
    }
AdminUserController class · java · L29-L190 (162 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AdminUserController.java
public class AdminUserController {

    private final UserRepository userRepository;
    private final WorkoutLogRepository workoutLogRepository;
    private final WeeklyCheckInRepository weeklyCheckInRepository;
    private final NutritionLogRepository nutritionLogRepository;
    private final PasswordEncoder passwordEncoder;
    private final String adminEmail;

    public AdminUserController(UserRepository userRepository,
                               WorkoutLogRepository workoutLogRepository,
                               WeeklyCheckInRepository weeklyCheckInRepository,
                               NutritionLogRepository nutritionLogRepository,
                               PasswordEncoder passwordEncoder,
                               @Value("${app.admin.email}") String adminEmail) {
        this.userRepository = userRepository;
        this.workoutLogRepository = workoutLogRepository;
        this.weeklyCheckInRepository = weeklyCheckInRepository;
        this.nutritionLogR
getStats method · java · L54-L69 (16 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AdminUserController.java
    public ResponseEntity<Map<String, Object>> getStats(Authentication authentication) {
        checkAdmin(authentication);

        long totalUsers = userRepository.count();
        long verifiedUsers = userRepository.countByEmailVerifiedTrue();
        long totalWorkouts = workoutLogRepository.count();
        long totalNutritionLogs = nutritionLogRepository.count();

        Map<String, Object> stats = new LinkedHashMap<>();
        stats.put("totalUsers", totalUsers);
        stats.put("verifiedUsers", verifiedUsers);
        stats.put("totalWorkouts", totalWorkouts);
        stats.put("totalNutritionLogs", totalNutritionLogs);

        return ResponseEntity.ok(stats);
    }
listUsers method · java · L73-L96 (24 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AdminUserController.java
    public ResponseEntity<List<Map<String, Object>>> listUsers(Authentication authentication) {
        checkAdmin(authentication);

        List<User> users = userRepository.findAll();
        List<Map<String, Object>> userList = users.stream()
                .map(user -> {
                    Map<String, Object> userMap = new LinkedHashMap<>();
                    userMap.put("id", user.getId());
                    userMap.put("email", user.getEmail());
                    userMap.put("emailVerified", user.isEmailVerified());
                    userMap.put("isAdmin", user.isAdmin());
                    userMap.put("createdAt", user.getCreatedAt());

                    Map<String, Object> counts = new LinkedHashMap<>();
                    counts.put("workoutLogs", workoutLogRepository.countByUserId(user.getId()));
                    counts.put("checkIns", weeklyCheckInRepository.countByUserId(user.getId()));
                    userMap.put("_count", counts);

                  
createUser method · java · L100-L134 (35 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AdminUserController.java
    public ResponseEntity<Map<String, Object>> createUser(
            @RequestBody Map<String, Object> body,
            Authentication authentication) {
        checkAdmin(authentication);

        String email = (String) body.get("email");
        String password = (String) body.get("password");

        if (email == null || password == null) {
            throw new BadRequestException("Email and password are required");
        }

        if (userRepository.findByEmail(email).isPresent()) {
            throw new BadRequestException("User with this email already exists");
        }

        User user = new User();
        user.setEmail(email);
        user.setPasswordHash(passwordEncoder.encode(password));
        user.setEmailVerified(true);

        if (body.containsKey("isAdmin")) {
            user.setAdmin(Boolean.TRUE.equals(body.get("isAdmin")));
        }

        User saved = userRepository.save(user);

        Map<String, Object> response = new LinkedHashMap<>();
        r
updateUser method · java · L138-L164 (27 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AdminUserController.java
    public ResponseEntity<Map<String, Object>> updateUser(
            @PathVariable Long id,
            @RequestBody Map<String, Object> body,
            Authentication authentication) {
        checkAdmin(authentication);

        User user = userRepository.findById(id)
                .orElseThrow(() -> new ResourceNotFoundException("User not found"));

        if (body.containsKey("isAdmin")) {
            user.setAdmin(Boolean.TRUE.equals(body.get("isAdmin")));
        }
        if (body.containsKey("password")) {
            String newPassword = (String) body.get("password");
            user.setPasswordHash(passwordEncoder.encode(newPassword));
        }

        User updated = userRepository.save(user);

        Map<String, Object> response = new LinkedHashMap<>();
        response.put("id", updated.getId());
        response.put("email", updated.getEmail());
        response.put("admin", updated.isAdmin());
        response.put("message", "User updated successfully");

     
deleteUser method · java · L169-L179 (11 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AdminUserController.java
    public ResponseEntity<Map<String, String>> deleteUser(
            @PathVariable Long id,
            Authentication authentication) {
        checkAdmin(authentication);

        User user = userRepository.findById(id)
                .orElseThrow(() -> new ResourceNotFoundException("User not found"));

        userRepository.delete(user);
        return ResponseEntity.ok(Map.of("message", "User deleted successfully"));
    }
checkAdmin method · java · L181-L189 (9 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AdminUserController.java
    private void checkAdmin(Authentication authentication) {
        String email = authentication.getName();
        if (!adminEmail.equals(email)) {
            User user = userRepository.findByEmail(email).orElse(null);
            if (user == null || !user.isAdmin()) {
                throw new ForbiddenException("Admin access required");
            }
        }
    }
All rows above produced by Repobility · https://repobility.com
AnnouncementController class · java · L22-L117 (96 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AnnouncementController.java
public class AnnouncementController {

    private final AnnouncementRepository announcementRepository;
    private final UserRepository userRepository;
    private final String adminEmail;

    public AnnouncementController(AnnouncementRepository announcementRepository,
                                  UserRepository userRepository,
                                  @Value("${app.admin.email}") String adminEmail) {
        this.announcementRepository = announcementRepository;
        this.userRepository = userRepository;
        this.adminEmail = adminEmail;
    }

    @GetMapping("/api/announcements")
    @Operation(summary = "List announcements", description = "Returns all announcements ordered by pinned status and date")
    public ResponseEntity<List<Announcement>> listAnnouncements() {
        List<Announcement> announcements = announcementRepository.findAllByOrderByPinnedDescCreatedAtDesc();
        return ResponseEntity.ok(announcements);
    }

    @GetMapping("/api/admin/ann
listAnnouncements method · java · L38-L41 (4 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AnnouncementController.java
    public ResponseEntity<List<Announcement>> listAnnouncements() {
        List<Announcement> announcements = announcementRepository.findAllByOrderByPinnedDescCreatedAtDesc();
        return ResponseEntity.ok(announcements);
    }
adminListAnnouncements method · java · L45-L49 (5 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AnnouncementController.java
    public ResponseEntity<List<Announcement>> adminListAnnouncements(Authentication authentication) {
        checkAdmin(authentication);
        List<Announcement> announcements = announcementRepository.findAllByOrderByPinnedDescCreatedAtDesc();
        return ResponseEntity.ok(announcements);
    }
createAnnouncement method · java · L53-L67 (15 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AnnouncementController.java
    public ResponseEntity<Announcement> createAnnouncement(
            @RequestBody Map<String, Object> body,
            Authentication authentication) {
        checkAdmin(authentication);

        Announcement announcement = new Announcement();
        announcement.setTitle((String) body.get("title"));
        announcement.setContent((String) body.get("content"));
        if (body.containsKey("pinned")) {
            announcement.setPinned(Boolean.TRUE.equals(body.get("pinned")));
        }

        Announcement saved = announcementRepository.save(announcement);
        return ResponseEntity.status(HttpStatus.CREATED).body(saved);
    }
updateAnnouncement method · java · L71-L92 (22 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AnnouncementController.java
    public ResponseEntity<Announcement> updateAnnouncement(
            @PathVariable Long id,
            @RequestBody Map<String, Object> body,
            Authentication authentication) {
        checkAdmin(authentication);

        Announcement announcement = announcementRepository.findById(id)
                .orElseThrow(() -> new ResourceNotFoundException("Announcement not found"));

        if (body.containsKey("title")) {
            announcement.setTitle((String) body.get("title"));
        }
        if (body.containsKey("content")) {
            announcement.setContent((String) body.get("content"));
        }
        if (body.containsKey("pinned")) {
            announcement.setPinned(Boolean.TRUE.equals(body.get("pinned")));
        }

        Announcement updated = announcementRepository.save(announcement);
        return ResponseEntity.ok(updated);
    }
deleteAnnouncement method · java · L96-L106 (11 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AnnouncementController.java
    public ResponseEntity<Map<String, String>> deleteAnnouncement(
            @PathVariable Long id,
            Authentication authentication) {
        checkAdmin(authentication);

        Announcement announcement = announcementRepository.findById(id)
                .orElseThrow(() -> new ResourceNotFoundException("Announcement not found"));

        announcementRepository.delete(announcement);
        return ResponseEntity.ok(Map.of("message", "Announcement deleted successfully"));
    }
checkAdmin method · java · L108-L116 (9 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AnnouncementController.java
    private void checkAdmin(Authentication authentication) {
        String email = authentication.getName();
        if (!adminEmail.equals(email)) {
            User user = userRepository.findByEmail(email).orElse(null);
            if (user == null || !user.isAdmin()) {
                throw new ForbiddenException("Admin access required");
            }
        }
    }
AuthController class · java · L25-L80 (56 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AuthController.java
public class AuthController {

    private final AuthService authService;
    private final UserRepository userRepository;

    public AuthController(AuthService authService, UserRepository userRepository) {
        this.authService = authService;
        this.userRepository = userRepository;
    }

    @PostMapping("/register")
    @Operation(summary = "Register a new user", description = "Creates a new user account and sends a verification email")
    public ResponseEntity<Map<String, String>> register(@Valid @RequestBody RegisterRequest request) {
        String message = authService.register(request.getEmail(), request.getPassword());
        return ResponseEntity.status(HttpStatus.CREATED).body(Map.of("message", message));
    }

    @GetMapping("/verify")
    @Operation(summary = "Verify email address", description = "Verifies a user's email address using the token sent via email")
    public ResponseEntity<Map<String, String>> verifyEmail(@RequestParam String token) {
        au
Repobility's GitHub App fixes findings like these · https://github.com/apps/repobility-bot
AuthController method · java · L30-L33 (4 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AuthController.java
    public AuthController(AuthService authService, UserRepository userRepository) {
        this.authService = authService;
        this.userRepository = userRepository;
    }
register method · java · L37-L40 (4 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AuthController.java
    public ResponseEntity<Map<String, String>> register(@Valid @RequestBody RegisterRequest request) {
        String message = authService.register(request.getEmail(), request.getPassword());
        return ResponseEntity.status(HttpStatus.CREATED).body(Map.of("message", message));
    }
verifyEmail method · java · L44-L47 (4 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AuthController.java
    public ResponseEntity<Map<String, String>> verifyEmail(@RequestParam String token) {
        authService.verifyEmail(token);
        return ResponseEntity.ok(Map.of("message", "Email verified successfully"));
    }
login method · java · L51-L56 (6 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AuthController.java
    public ResponseEntity<AuthResponse> login(@Valid @RequestBody LoginRequest request) {
        String token = authService.login(request.getEmail(), request.getPassword());
        User user = userRepository.findByEmail(request.getEmail()).orElse(null);
        boolean isAdmin = user != null && user.isAdmin();
        return ResponseEntity.ok(new AuthResponse(token, request.getEmail(), "Login successful", isAdmin));
    }
forgotPassword method · java · L60-L63 (4 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AuthController.java
    public ResponseEntity<Map<String, String>> forgotPassword(@Valid @RequestBody ForgotPasswordRequest request) {
        authService.forgotPassword(request.getEmail());
        return ResponseEntity.ok(Map.of("message", "Password reset email sent"));
    }
resetPassword method · java · L67-L70 (4 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AuthController.java
    public ResponseEntity<Map<String, String>> resetPassword(@Valid @RequestBody ResetPasswordRequest request) {
        authService.resetPassword(request.getToken(), request.getNewPassword());
        return ResponseEntity.ok(Map.of("message", "Password reset successful"));
    }
changePassword method · java · L74-L79 (6 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/AuthController.java
    public ResponseEntity<Map<String, String>> changePassword(
            @Valid @RequestBody ChangePasswordRequest request,
            Authentication authentication) {
        authService.changePassword(authentication.getName(), request.getCurrentPassword(), request.getNewPassword());
        return ResponseEntity.ok(Map.of("message", "Password changed successfully"));
    }
CheckInController class · java · L30-L114 (85 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CheckInController.java
public class CheckInController {

    private final AdaptiveEngineService adaptiveEngineService;
    private final EventLogService eventLogService;
    private final WeeklyCheckInRepository weeklyCheckInRepository;
    private final WorkoutPlanRepository workoutPlanRepository;
    private final UserRepository userRepository;

    public CheckInController(AdaptiveEngineService adaptiveEngineService,
                             EventLogService eventLogService,
                             WeeklyCheckInRepository weeklyCheckInRepository,
                             WorkoutPlanRepository workoutPlanRepository,
                             UserRepository userRepository) {
        this.adaptiveEngineService = adaptiveEngineService;
        this.eventLogService = eventLogService;
        this.weeklyCheckInRepository = weeklyCheckInRepository;
        this.workoutPlanRepository = workoutPlanRepository;
        this.userRepository = userRepository;
    }

    @PostMapping("/submit")
    @Oper
Repobility · open methodology · https://repobility.com/research/
CheckInController method · java · L38-L48 (11 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CheckInController.java
    public CheckInController(AdaptiveEngineService adaptiveEngineService,
                             EventLogService eventLogService,
                             WeeklyCheckInRepository weeklyCheckInRepository,
                             WorkoutPlanRepository workoutPlanRepository,
                             UserRepository userRepository) {
        this.adaptiveEngineService = adaptiveEngineService;
        this.eventLogService = eventLogService;
        this.weeklyCheckInRepository = weeklyCheckInRepository;
        this.workoutPlanRepository = workoutPlanRepository;
        this.userRepository = userRepository;
    }
submitCheckIn method · java · L52-L71 (20 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CheckInController.java
    public ResponseEntity<AdaptationResponse> submitCheckIn(
            @Valid @RequestBody CheckInRequest request,
            Authentication authentication) {
        Long userId = getUserId(authentication);

        AdaptationResponse response = adaptiveEngineService.processCheckIn(userId, request);

        eventLogService.logEvent(userId, "CHECKIN_SUBMITTED",
                "{\"weekNumber\":" + request.getWeekNumber()
                        + ",\"sessionsCompleted\":" + request.getSessionsCompleted()
                        + ",\"difficultyRating\":" + request.getDifficultyRating() + "}");

        if (response.isChangesApplied()) {
            eventLogService.logEvent(userId, "PLAN_ADAPTED",
                    "{\"newPlanVersion\":" + response.getNewPlanVersion()
                            + ",\"changeSummary\":\"" + response.getChangeSummary().replace("\"", "\\\"") + "\"}");
        }

        return ResponseEntity.ok(response);
    }
getCheckInHistory method · java · L75-L79 (5 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CheckInController.java
    public ResponseEntity<List<WeeklyCheckIn>> getCheckInHistory(Authentication authentication) {
        Long userId = getUserId(authentication);
        List<WeeklyCheckIn> checkIns = weeklyCheckInRepository.findByUserIdOrderByWeekNumberDesc(userId);
        return ResponseEntity.ok(checkIns);
    }
isCheckInDue method · java · L83-L106 (24 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CheckInController.java
    public ResponseEntity<Map<String, Boolean>> isCheckInDue(Authentication authentication) {
        Long userId = getUserId(authentication);

        boolean hasActivePlan = workoutPlanRepository
                .findByUserIdAndStatus(userId, PlanStatus.ACTIVE)
                .isPresent();

        if (!hasActivePlan) {
            return ResponseEntity.ok(Map.of("due", false));
        }

        Optional<WeeklyCheckIn> lastCheckIn = weeklyCheckInRepository
                .findFirstByUserIdOrderBySubmittedAtDesc(userId);

        if (lastCheckIn.isEmpty()) {
            return ResponseEntity.ok(Map.of("due", true));
        }

        long daysSinceLastCheckIn = ChronoUnit.DAYS.between(
                lastCheckIn.get().getSubmittedAt(), LocalDateTime.now());
        boolean due = daysSinceLastCheckIn >= 7;

        return ResponseEntity.ok(Map.of("due", due));
    }
getUserId method · java · L108-L113 (6 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CheckInController.java
    private Long getUserId(Authentication authentication) {
        String email = authentication.getName();
        User user = userRepository.findByEmail(email)
                .orElseThrow(() -> new ResourceNotFoundException("User not found"));
        return user.getId();
    }
ClockController class · java · L13-L25 (13 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/ClockController.java
public class ClockController {

    private final ClockService clockService;

    public ClockController(ClockService clockService) {
        this.clockService = clockService;
    }

    @GetMapping
    public ResponseEntity<Map<String, String>> getAppDate() {
        return ResponseEntity.ok(Map.of("today", clockService.today().toString()));
    }
}
ClockController method · java · L17-L19 (3 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/ClockController.java
    public ClockController(ClockService clockService) {
        this.clockService = clockService;
    }
getAppDate method · java · L22-L24 (3 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/ClockController.java
    public ResponseEntity<Map<String, String>> getAppDate() {
        return ResponseEntity.ok(Map.of("today", clockService.today().toString()));
    }
Repobility · code-quality intelligence · https://repobility.com
CustomExerciseController class · java · L22-L83 (62 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CustomExerciseController.java
public class CustomExerciseController {

    private final CustomExerciseRepository customExerciseRepository;
    private final UserRepository userRepository;

    public CustomExerciseController(CustomExerciseRepository customExerciseRepository,
                                    UserRepository userRepository) {
        this.customExerciseRepository = customExerciseRepository;
        this.userRepository = userRepository;
    }

    @GetMapping
    @Operation(summary = "List custom exercises", description = "Returns all custom exercises for the authenticated user")
    public ResponseEntity<List<CustomExercise>> listCustomExercises(Authentication authentication) {
        User user = getUser(authentication);
        List<CustomExercise> exercises = customExerciseRepository.findByUserOrderByCreatedAtDesc(user);
        return ResponseEntity.ok(exercises);
    }

    @PostMapping
    @Operation(summary = "Create custom exercise", description = "Creates a new custom exercise for the aut
CustomExerciseController method · java · L27-L31 (5 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CustomExerciseController.java
    public CustomExerciseController(CustomExerciseRepository customExerciseRepository,
                                    UserRepository userRepository) {
        this.customExerciseRepository = customExerciseRepository;
        this.userRepository = userRepository;
    }
listCustomExercises method · java · L35-L39 (5 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CustomExerciseController.java
    public ResponseEntity<List<CustomExercise>> listCustomExercises(Authentication authentication) {
        User user = getUser(authentication);
        List<CustomExercise> exercises = customExerciseRepository.findByUserOrderByCreatedAtDesc(user);
        return ResponseEntity.ok(exercises);
    }
createCustomExercise method · java · L43-L58 (16 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CustomExerciseController.java
    public ResponseEntity<CustomExercise> createCustomExercise(
            @RequestBody Map<String, String> body,
            Authentication authentication) {
        User user = getUser(authentication);

        CustomExercise exercise = new CustomExercise();
        exercise.setUser(user);
        exercise.setName(body.get("name"));
        exercise.setMuscleGroup(body.get("muscleGroup"));
        if (body.containsKey("equipment")) {
            exercise.setEquipment(body.get("equipment"));
        }

        CustomExercise saved = customExerciseRepository.save(exercise);
        return ResponseEntity.status(HttpStatus.CREATED).body(saved);
    }
deleteCustomExercise method · java · L63-L76 (14 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CustomExerciseController.java
    public ResponseEntity<Map<String, String>> deleteCustomExercise(
            @PathVariable Long id,
            Authentication authentication) {
        User user = getUser(authentication);
        CustomExercise exercise = customExerciseRepository.findById(id)
                .orElseThrow(() -> new ResourceNotFoundException("Custom exercise not found"));

        if (!exercise.getUser().getId().equals(user.getId())) {
            throw new ResourceNotFoundException("Custom exercise not found");
        }

        customExerciseRepository.delete(exercise);
        return ResponseEntity.ok(Map.of("message", "Custom exercise deleted successfully"));
    }
getUser method · java · L78-L82 (5 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/CustomExerciseController.java
    private User getUser(Authentication authentication) {
        String email = authentication.getName();
        return userRepository.findByEmail(email)
                .orElseThrow(() -> new ResourceNotFoundException("User not found"));
    }
DayTemplateController class · java · L24-L95 (72 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/DayTemplateController.java
public class DayTemplateController {

    private final DayTemplateRepository dayTemplateRepository;
    private final UserRepository userRepository;
    private final ObjectMapper objectMapper;

    public DayTemplateController(DayTemplateRepository dayTemplateRepository,
                                 UserRepository userRepository,
                                 ObjectMapper objectMapper) {
        this.dayTemplateRepository = dayTemplateRepository;
        this.userRepository = userRepository;
        this.objectMapper = objectMapper;
    }

    @GetMapping
    @Operation(summary = "List day templates", description = "Returns all day templates for the authenticated user")
    public ResponseEntity<List<DayTemplate>> listDayTemplates(Authentication authentication) {
        User user = getUser(authentication);
        List<DayTemplate> templates = dayTemplateRepository.findByUserOrderByCreatedAtDesc(user);
        return ResponseEntity.ok(templates);
    }

    @PostMapping
    @
DayTemplateController method · java · L30-L36 (7 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/DayTemplateController.java
    public DayTemplateController(DayTemplateRepository dayTemplateRepository,
                                 UserRepository userRepository,
                                 ObjectMapper objectMapper) {
        this.dayTemplateRepository = dayTemplateRepository;
        this.userRepository = userRepository;
        this.objectMapper = objectMapper;
    }
All rows above produced by Repobility · https://repobility.com
listDayTemplates method · java · L40-L44 (5 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/DayTemplateController.java
    public ResponseEntity<List<DayTemplate>> listDayTemplates(Authentication authentication) {
        User user = getUser(authentication);
        List<DayTemplate> templates = dayTemplateRepository.findByUserOrderByCreatedAtDesc(user);
        return ResponseEntity.ok(templates);
    }
createDayTemplate method · java · L48-L70 (23 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/DayTemplateController.java
    public ResponseEntity<DayTemplate> createDayTemplate(
            @RequestBody Map<String, Object> body,
            Authentication authentication) {
        User user = getUser(authentication);

        DayTemplate template = new DayTemplate();
        template.setUser(user);
        template.setName((String) body.get("name"));

        Object exercises = body.get("exercises");
        if (exercises instanceof String) {
            template.setExercises((String) exercises);
        } else {
            try {
                template.setExercises(objectMapper.writeValueAsString(exercises));
            } catch (JsonProcessingException e) {
                throw new com.adaptivefit.exception.BadRequestException("Invalid exercises JSON");
            }
        }

        DayTemplate saved = dayTemplateRepository.save(template);
        return ResponseEntity.status(HttpStatus.CREATED).body(saved);
    }
deleteDayTemplate method · java · L75-L88 (14 LOC)
adaptivefit-api/src/main/java/com/adaptivefit/controller/DayTemplateController.java
    public ResponseEntity<Map<String, String>> deleteDayTemplate(
            @PathVariable Long id,
            Authentication authentication) {
        User user = getUser(authentication);
        DayTemplate template = dayTemplateRepository.findById(id)
                .orElseThrow(() -> new ResourceNotFoundException("Day template not found"));

        if (!template.getUser().getId().equals(user.getId())) {
            throw new ResourceNotFoundException("Day template not found");
        }

        dayTemplateRepository.delete(template);
        return ResponseEntity.ok(Map.of("message", "Day template deleted successfully"));
    }
page 1 / 6next ›