diff --git a/compendium_v2/db/auth_model.py b/compendium_v2/db/auth_model.py index 36f354d6c5b699e3554a7e6f70b28fe19ba1bd20..c8bf55411715d1dfd6e817ca6799871b3fcfc52d 100644 --- a/compendium_v2/db/auth_model.py +++ b/compendium_v2/db/auth_model.py @@ -25,7 +25,7 @@ class ROLES(Enum): user = "user" -uuid_pk = Annotated[UUID, mapped_column(primary_key=True, default=lambda _: str(uuid4()))] +uuid_pk = Annotated[UUID, mapped_column(primary_key=True, default=lambda _: uuid4())] int_pk_fkNREN = Annotated[int, mapped_column(ForeignKey("nren.id"), primary_key=True)] # TODO: active should be default False and require admin approval @@ -71,3 +71,13 @@ class User(UserMixin, db.Model): @property def is_active(self): return self.active + + @property + def is_admin(self): + return self.roles == ROLES.admin + + @property + def nren(self): + if len(self.nrens) == 0: + return None + return self.nrens[0]