from data import model from data.database import User from config_app.config_endpoints.api.suconfig_models_interface import SuperuserConfigDataInterface class PreOCIModel(SuperuserConfigDataInterface): # Note: this method is different than has_users: the user select will throw if the user # table does not exist, whereas has_users assumes the table is valid def is_valid(self): try: list(User.select().limit(1)) return True except: return False def has_users(self): return bool(list(User.select().limit(1))) def create_superuser(self, username, password, email): return model.user.create_user(username, password, email, auto_verify=True).uuid def has_federated_login(self, username, service_name): user = model.user.get_user(username) if user is None: return False return bool(model.user.lookup_federated_login(user, service_name)) def attach_federated_login(self, username, service_name, federated_username): user = model.user.get_user(username) if user is None: return False model.user.attach_federated_login(user, service_name, federated_username) pre_oci_model = PreOCIModel()