chore: organize files

This commit is contained in:
Alexandre Teles
2023-11-21 00:13:42 -03:00
committed by Alexandre Teles (afterSt0rm)
parent 10f5225f51
commit 73252524f1
5 changed files with 5 additions and 5 deletions

View File

@@ -21,7 +21,7 @@ import sanic_beskar
from api.models.announcements import AnnouncementResponseModel
from config import api_version
from limiter import limiter
from api.limiter import limiter
announcements: Blueprint = Blueprint("announcements", version=api_version)

40
api/auth.py Normal file
View File

@@ -0,0 +1,40 @@
import os
import secrets
import string
from data.database import Session
from sanic_beskar import Beskar
from data.models import UserDbModel
beskar = Beskar()
def configure_auth(app):
app.config.SECRET_KEY = os.environ.get("SECRET_KEY").join(
secrets.choice(string.ascii_letters) for i in range(15)
)
app.config["TOKEN_ACCESS_LIFESPAN"] = {"hours": 24}
app.config["TOKEN_REFRESH_LIFESPAN"] = {"days": 30}
beskar.init_app(app, UserDbModel)
_init_default_user()
def _init_default_user():
username = os.environ.get("USERNAME")
password = os.environ.get("PASSWORD")
if not username or not password:
raise Exception("Missing USERNAME or PASSWORD environment variables")
session = Session()
existing_user = session.query(UserDbModel).filter_by(username=username).first()
if not existing_user:
session.add(
UserDbModel(username=username, password=beskar.hash_password(password))
)
session.commit()
session.close()

7
api/limiter.py Normal file
View File

@@ -0,0 +1,7 @@
from sanic_limiter import Limiter, get_remote_address
limiter = Limiter(key_func=get_remote_address)
def configure_limiter(app):
limiter.init_app(app)

View File

@@ -10,8 +10,8 @@ from sanic.response import JSONResponse, json
from sanic_ext import openapi
from sanic_beskar.exceptions import AuthenticationError
from auth import beskar
from limiter import limiter
from api.auth import beskar
from api.limiter import limiter
from config import api_version