Change suconfig to use a data model interface
This commit is contained in:
parent
074b4e4981
commit
72a9652d0f
3 changed files with 84 additions and 19 deletions
33
endpoints/api/suconfig_models_pre_oci.py
Normal file
33
endpoints/api/suconfig_models_pre_oci.py
Normal file
|
@ -0,0 +1,33 @@
|
|||
from data import model
|
||||
from data.database import User
|
||||
from endpoints.api.suconfig_models_interface import SuperuserConfigDataInterface
|
||||
|
||||
class PreOCIModel(SuperuserConfigDataInterface):
|
||||
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()
|
Reference in a new issue