"""Validates request query.""" import functools from flask import request def validate_request_query(schema, partial=False): """Decorate requests' input query string validation. Args: schema (marshmallow.Schema()): schema instance to apply partial (bool): validate only derived fields """ def validator(func): @functools.wraps(func) def wrapper(*args, **kwargs): data = request.get_json() validated = schema.load(data, partial=partial) return func(*args, data=validated, **kwargs) return wrapper return validator def schema_dump(schema, body): """Wrap schema dump. Args: schema (marshmallow.Schema()): schema instance body (Object): object to serialize """ return schema.dump(body)