foca.security.access_control package

Subpackages

Submodules

foca.security.access_control.access_control_server module

“Controllers for permission management endpoints.

foca.security.access_control.access_control_server.deletePermission(id: str) str

Method to delete a particular permission.

Parameters:

id – Permission identifier.

Returns:

Delete permission identifier.

foca.security.access_control.access_control_server.getAllPermissions(limit=None) List[Dict]

Method to fetch all permissions.

Parameters:

limit – Number of objects requested.

Returns:

List of permission dicts.

foca.security.access_control.access_control_server.getPermission(id: str) Dict

Method to fetch a particular permission.

Parameters:

id – Permission identifier.

Returns:

Permission data for the given id.

foca.security.access_control.access_control_server.postPermission() str

Method to register new permissions.

Returns:

Identifier of the new permission added.

foca.security.access_control.access_control_server.putPermission(id: str) str

Update permission with a user-supplied ID.

Parameters:

id – Identifier of permission to be updated.

Returns:

Identifier of updated permission.

foca.security.access_control.constants module

File to store permission based constants.

foca.security.access_control.register_access_control module

Methods to manage permission management configuration

foca.security.access_control.register_access_control.check_permissions(_fn: Callable | None = None) Callable

Decorator for checking user access to resource.

Returns:

The decorated function.

foca.security.access_control.register_access_control.register_access_control(cnx_app: FlaskApp, mongo_config: MongoConfig | None, access_control_config: AccessControlConfig) FlaskApp

Register access control configuration with flask app.

Parameters:
Returns:

Connexion application instance with registered access control config.

foca.security.access_control.register_access_control.register_casbin_enforcer(app: FlaskApp, access_control_config: AccessControlConfig, mongo_config: MongoConfig) FlaskApp

Method to add casbin permission enforcer.

Parameters:
Returns:

Connexion application instance with registered casbin configuration.

foca.security.access_control.register_access_control.register_permission_specs(app: FlaskApp, access_control_config: AccessControlConfig)

Register open api specs for permission management.

Parameters:
Returns:

Connexion app with updated permission specifications.