Prepare secure config and reliable workout sync
This commit is contained in:
@@ -32,6 +32,11 @@ class WorkoutValidator {
|
||||
|
||||
// Validate data types and values
|
||||
$this->validateWorkoutType($payload['workout_type']);
|
||||
if (isset($payload['client_workout_id']) &&
|
||||
(!is_string($payload['client_workout_id']) ||
|
||||
preg_match('/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i', $payload['client_workout_id']) !== 1)) {
|
||||
$this->errors[] = 'client_workout_id must be a UUID';
|
||||
}
|
||||
$this->validateNumericField('distance_meters', $payload['distance_meters'], self::MIN_DISTANCE, self::MAX_DISTANCE);
|
||||
$this->validateNumericField('duration_seconds', $payload['duration_seconds'], self::MIN_DURATION, self::MAX_DURATION);
|
||||
$this->validateNumericField('elevation_gain_meters', $payload['elevation_gain_meters'], 0, 10000);
|
||||
|
||||
Reference in New Issue
Block a user