diff --git a/app/api/schema/sessions.py b/app/api/schema/sessions.py index 443dd3cf68..ee9e833f1a 100644 --- a/app/api/schema/sessions.py +++ b/app/api/schema/sessions.py @@ -33,7 +33,8 @@ class Meta: @validates_schema(pass_original=True) def validate_fields(self, data, original_data): - if 'id' in original_data['data']: + is_patch_request = 'id' in original_data['data'] + if is_patch_request: try: session = Session.query.filter_by(id=original_data['data']['id']).one() except NoResultFound: @@ -54,9 +55,9 @@ def validate_fields(self, data, original_data): {'pointer': '/data/attributes/ends-at'}, "ends-at should be after starts-at", ) - if datetime.timestamp(data['starts_at']) <= datetime.timestamp( - datetime.now() - ): + if not is_patch_request and datetime.timestamp( + data['starts_at'] + ) <= datetime.timestamp(datetime.now()): raise UnprocessableEntity( {'pointer': '/data/attributes/starts-at'}, "starts-at should be after current date-time",