from .content_node import ContentNodeSchema
from .document import DocumentSchema
from .document_node import DocumentNodeSchema
from .folder_node import FolderNodeSchema
from .node import NodeSchema
from .user import UserSchema
from ..models.document_model import DocumentModel
from ..models.document_node_model import DocumentNodeModel
from ..models.folder_node_model import FolderNodeModel
from ..models.node_model import NodeModel
from ..models.user_model import UserModel

blueprint = Blueprint('api_v1', __name__)
api = Api(blueprint)
api.authenticator = HMACAuthenticator()

@api.representation('application/vnd.api+json')
def output_jsonapi(data, code, headers=None):
    response = make_response(jsonify(data), code)
    response.headers.extend(headers or {})
    return response


api_acl = Acl()

# Grants
api_acl.grants({
    'administrator': {
        'User': ['read'],
        'Node': ['create', 'read', 'update', 'delete'],