export const updateCurrentUser: UpdateCurrentUser<Partial<User>, User> = async (args, context) => {
if (!context.user) {
throw new Error('Usuario no autenticado');
}
const {
firstName,
lastName,
gender,
age,
height,
currentWeight,
trainingGoal,
experienceLevel,
trainingFrequency,
sessionDuration,
healthConditions,
equipmentAccess,
dietaryPreferences,
availableTime,
exercisePreference
} = args;
const updatedUser = await context.entities.User.update({
where: { id: context.user.id },
data: {
firstName,
lastName,
gender,
age: age !== undefined ? parseInt(age.toString()) : undefined,
height: height !== undefined ? parseFloat(height.toString()) : undefined,
currentWeight: currentWeight !== undefined ? parseFloat(currentWeight.toString()) : undefined,
trainingGoal,
experienceLevel,
trainingFrequency,
sessionDuration,
healthConditions,
equipmentAccess,
dietaryPreferences,
availableTime,
exercisePreference
}
});
return updatedUser;
};
export const updateCurrentUser: UpdateCurrentUser<Partial<User>, User> = async (args, context) => {
if (!context.user) {
throw new Error('Usuario no autenticado');
}
const {
firstName,
lastName,
gender,
age,
height,
currentWeight,
trainingGoal,
experienceLevel,
trainingFrequency,
sessionDuration,
healthConditions,
equipmentAccess,
dietaryPreferences,
availableTime,
exercisePreference
} = args;
const updatedUser = await context.entities.User.update({
where: { id: context.user.id },
data: {
firstName,
lastName,
gender,
age: age !== undefined ? parseInt(age.toString()) : undefined,
height: height !== undefined ? parseFloat(height.toString()) : undefined,
currentWeight: currentWeight !== undefined ? parseFloat(currentWeight.toString()) : undefined,
trainingGoal,
experienceLevel,
trainingFrequency,
sessionDuration,
healthConditions,
equipmentAccess,
dietaryPreferences,
availableTime,
exercisePreference
}
});
return updatedUser;
};