mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Changes: ------- - Add aurweb.db.get_session() - Returns aurweb.db's global `session` instance - Provides us a way to change the implementation of the session instance without interrupting user code. - Use aurweb.db.get_session() in session API methods - Add docstrings to session API methods - Refactor aurweb.db.delete - Normalize aurweb.db.delete to an alias of session.delete - Refresh instances in places we depend on their non-PK columns being up to date. Signed-off-by: Kevin Morris <kevr@0cost.org>
19 lines
482 B
Python
19 lines
482 B
Python
from fastapi import Request
|
|
|
|
from aurweb import db, schema
|
|
from aurweb.models.declarative import Base
|
|
|
|
|
|
class Ban(Base):
|
|
__table__ = schema.Bans
|
|
__tablename__ = __table__.name
|
|
__mapper_args__ = {"primary_key": [__table__.c.IPAddress]}
|
|
|
|
def __init__(self, **kwargs):
|
|
super().__init__(**kwargs)
|
|
|
|
|
|
def is_banned(request: Request):
|
|
ip = request.client.host
|
|
exists = db.query(Ban).filter(Ban.IPAddress == ip).exists()
|
|
return db.query(exists).scalar()
|