"""Some common utils for requests to the resources endpoints.""" from functools import reduce from pymonad.either import Left, Right, Either def check_form(form, *fields) -> Either: """Check form for errors""" def __check_field__(errors, field): if not bool(form.get(field)): return errors + (f"Missing `{field}` value.",) return errors errors: tuple[str, ...] = reduce(__check_field__, fields, tuple()) if len(errors) > 0: return Left({ "error": "Invalid request data!", "error_description": "\n\t - ".join(errors) }) return Right(form)