Source code for magpie.api.management.user
from magpie.api import schemas as s
from magpie.models import UserFactory
from magpie.utils import get_logger
[docs]
LOGGER = get_logger(__name__)
[docs]
def includeme(config):
LOGGER.info("Adding API user...")
# note: routes that require user 'self' operations must add the following, otherwise default RootFactory is used
user_kwargs = {"factory": UserFactory, "traverse": "/{user_name}"}
# Add user variable routes
config.add_route(**s.service_api_route_info(s.UsersAPI)) # no user instance, admin-only
config.add_route(**s.service_api_route_info(s.UserAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.UserGroupsAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.UserGroupAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.UserServicesAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.UserServicePermissionsAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.UserServicePermissionAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.UserServiceResourcesAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.UserResourcesAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.UserResourcePermissionsAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.UserResourcePermissionAPI, **user_kwargs))
# Logged User routes
config.add_route(**s.service_api_route_info(s.LoggedUserAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.LoggedUserGroupsAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.LoggedUserGroupAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.LoggedUserServicesAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.LoggedUserServicePermissionsAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.LoggedUserServicePermissionAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.LoggedUserServiceResourcesAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.LoggedUserResourcesAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.LoggedUserResourcePermissionsAPI, **user_kwargs))
config.add_route(**s.service_api_route_info(s.LoggedUserResourcePermissionAPI, **user_kwargs))
config.scan()