Fix #14
This commit is contained in:
parent
991717687b
commit
0fa7cc3be2
4 changed files with 6 additions and 5 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,4 +1,5 @@
|
|||
.ruff-cache
|
||||
.ruff_cache
|
||||
/.vscode
|
||||
__pycache__
|
||||
/instance
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ def _ensure_at_least_one_admin(db: SQLAlchemy) -> Either[Exception, None]:
|
|||
).filter(
|
||||
SignUpCode.grants_admin
|
||||
).filter(
|
||||
SignUpCode.created_by == -1
|
||||
SignUpCode.created_by == None # noqa: E711
|
||||
).one_or_none()
|
||||
except Exception as e:
|
||||
log.error(f'Error while querying the database for admin sign-up codes: {e}!')
|
||||
|
|
@ -35,7 +35,7 @@ def _ensure_at_least_one_admin(db: SQLAlchemy) -> Either[Exception, None]:
|
|||
).filter(
|
||||
SignUpCode.grants_admin
|
||||
).filter(
|
||||
SignUpCode.created_by == -1
|
||||
SignUpCode.created_by == None # noqa:E711
|
||||
).delete()
|
||||
log.warning(f'Deleted {delete_count} admin sign-up keys.')
|
||||
return None
|
||||
|
|
@ -66,7 +66,7 @@ def _ensure_at_least_one_admin(db: SQLAlchemy) -> Either[Exception, None]:
|
|||
code=token_hex(16), # pyright:ignore[reportCallIssue]
|
||||
created=now(), # pyright:ignore[reportCallIssue]
|
||||
expires=now() + timedelta(hours=1), # pyright:ignore[reportCallIssue]
|
||||
created_by=-1, # pyright:ignore[reportCallIssue]
|
||||
created_by=None, # pyright:ignore[reportCallIssue]
|
||||
grants_admin=True # pyright:ignore[reportCallIssue]
|
||||
)
|
||||
db.session.add(code)
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ class SignUpCode(db.Model):
|
|||
expires: Mapped[datetime] = mapped_column(DateTime(timezone=False))
|
||||
grants_admin: Mapped[bool] = mapped_column(Boolean, default=False)
|
||||
|
||||
created_by: Mapped[int] = mapped_column(Integer, ForeignKey('user.id', ondelete='CASCADE'))
|
||||
created_by: Mapped[int|None] = mapped_column(Integer, ForeignKey('user.id', ondelete='CASCADE'), nullable=True)
|
||||
|
||||
class NamespaceInviteCode(db.Model):
|
||||
id: Mapped[int] = mapped_column(Integer, primary_key=True)
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ def code_valid(_: Form, field: Field):
|
|||
f_data: str|None = field.data # pyright:ignore[reportAny]
|
||||
|
||||
def _check_user_perms(code: SignUpCode) -> Either[Exception, SignUpCode]:
|
||||
if code.created_by == -1:
|
||||
if code.created_by is None:
|
||||
# codes created by the system have UID -1. Bypass checks on these codes.
|
||||
return Right(code)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue