from api import cache import config from auth.atlas.constants import RSA_CACHE_KEY_PREFIX import requests from models.user import User from auth.models import UserDataSchema from services.users_service import UsersService def add_or_update_user(user_schema: UserDataSchema) -> User: users_service = UsersService() user = users_service.create_or_update_user(user_schema) users_service.add_or_remove_labels_from_user(user.id, user_schema.labels) return user @cache.cached(timeout=config.RSA_CACHE_TIMEOUT_SEC, key_prefix=RSA_CACHE_KEY_PREFIX) def get_rsa(): key_request = requests.get(config.ATLAS_UM_PUBLIC_KEY) return key_request.text