Website : rimsha.abasa.com
backdoor
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
ah7-backend
/
src
/
controllers
/
Filename :
workout.controller.js
back
Copy
import Workout from "../models/workout.model.js"; import responseHandler from "../utils/ResponseHandler.js"; // Create const saveWorkout = async (req, res) => { try { const { workout_name, exercises } = req.body; // Body se data extract karte hain const { userID } = req.params; // Route se userID lete hain if (!workout_name || !exercises || !Array.isArray(exercises)) return responseHandler.error(res, "Invalid data provided.", 400); // Workout ka naya document create karte hain const newWorkout = new Workout({ user: userID, workout_name, exercises, // Exercises IDs array }); console.log("New Workout Object:", newWorkout); const savedWorkout = await newWorkout.save(); return responseHandler.success(res, "Workout saved successfully!", savedWorkout, 201) } catch (error) { console.error("Error saving workout:", error); return responseHandler.error(res, "Failed to save workout.", 500) } }; // Read const getWorkouts = async (req, res) => { try { const { userID } = req.params; const workouts = await Workout.find({ user: userID }) if (!workouts || workouts.length === 0) return responseHandler.error(res, "No workouts found for the user.", 404); return responseHandler.success(res, "Workouts fetched successfully", workouts) } catch (error) { console.error("Error fetching workouts:", error); return responseHandler.error(res, "Fail to fetch workouts", 500, error.message) } } // Update const updateWorkout = async (req, res) => { try { const { workoutID } = req.params const { workout_name, exercises } = req.body if (!workout_name || !Array.isArray(exercises)) return responseHandler.error(res, "Invalid data provided.", 400); const updatedWorkout = await Workout.findByIdAndUpdate( workoutID, { workout_name, exercises }, { new: true } ); if (!updatedWorkout) return responseHandler.error(res, "Workout not found", 404) return responseHandler.success(res, "Workout updated successfully", updatedWorkout) } catch (error) { console.log(error); return responseHandler.error(res, "Fail to update workout", 500, error.message) } } // Delete const deleteWorkout = async (req, res) => { try { const { workoutID } = req.params const deletedWorkout = await Workout.findByIdAndDelete(workoutID); if (!deletedWorkout) return responseHandler.error(res, "Workout not found", 404) return responseHandler.success(res, "Workout deleted successfully", deletedWorkout) } catch (error) { console.log(error); return responseHandler.error(res, "Fail to delete workout", 500, error.message) } } export { saveWorkout, getWorkouts, updateWorkout, deleteWorkout };