Source code for invenio_access.utils

# -*- coding: utf-8 -*-
# This file is part of Invenio.
# Copyright (C) 2017-2018 CERN.
# Invenio is free software; you can redistribute it and/or modify it
# under the terms of the MIT License; see LICENSE file for more details.

"""Utility functions for Invenio-Access."""

from __future__ import absolute_import, print_function

from flask_principal import Identity, RoleNeed, UserNeed

[docs]def get_identity(user): """Create an identity for a given user instance. Primarily useful for testing. """ identity = Identity( if hasattr(user, 'id'): identity.provides.add(UserNeed( for role in getattr(user, 'roles', []): identity.provides.add(RoleNeed( identity.user = user return identity