fix skins and capes saves
This commit is contained in:
@ -9,3 +9,9 @@ MONGO_URI = os.getenv("MONGO_URI")
|
||||
SECRET_KEY = os.getenv("SECRET_KEY")
|
||||
ALGORITHM = "HS256"
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES = 1440 # 24 часа
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent # /app/app
|
||||
STATIC_DIR = BASE_DIR / "static"
|
||||
SKINS_DIR = STATIC_DIR / "skins"
|
||||
CAPES_DIR = STATIC_DIR / "capes"
|
||||
CAPES_STORE_DIR = STATIC_DIR / "capes_store"
|
||||
@ -1,5 +1,5 @@
|
||||
from app.db.database import users_collection
|
||||
from app.core.config import FILES_URL
|
||||
from app.core.config import CAPES_DIR, FILES_URL
|
||||
from fastapi import HTTPException, UploadFile
|
||||
from datetime import datetime
|
||||
|
||||
@ -30,7 +30,7 @@ class CapeService:
|
||||
import os
|
||||
old_url = user["cloak_url"]
|
||||
old_filename = os.path.basename(urlparse(old_url).path)
|
||||
old_path = os.path.join("/app/static/capes", old_filename)
|
||||
old_path = CAPES_DIR / old_filename
|
||||
if os.path.exists(old_path):
|
||||
try:
|
||||
os.remove(old_path)
|
||||
@ -39,7 +39,7 @@ class CapeService:
|
||||
|
||||
# Создаем папку для плащей, если ее нет
|
||||
from pathlib import Path
|
||||
cape_dir = Path("/app/static/capes")
|
||||
cape_dir = CAPES_DIR
|
||||
cape_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
cape_filename = f"{username}_{int(datetime.now().timestamp())}.{ext}"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
from fastapi import HTTPException, UploadFile
|
||||
from datetime import datetime
|
||||
from app.db.database import users_collection
|
||||
from app.core.config import FILES_URL
|
||||
from app.core.config import FILES_URL, SKINS_DIR
|
||||
|
||||
class SkinService:
|
||||
async def set_skin(self, username: str, skin_file: UploadFile, skin_model: str = "classic"):
|
||||
@ -24,7 +24,7 @@ class SkinService:
|
||||
old_url = user["skin_url"]
|
||||
# Получаем имя файла из url
|
||||
old_filename = os.path.basename(urlparse(old_url).path)
|
||||
old_path = os.path.join("app/static/skins", old_filename)
|
||||
old_path = SKINS_DIR / old_filename
|
||||
print(f"Trying to delete old skin at: {old_path}")
|
||||
if os.path.exists(old_path):
|
||||
try:
|
||||
@ -34,7 +34,7 @@ class SkinService:
|
||||
|
||||
# Создаем папку для скинов, если ее нет
|
||||
from pathlib import Path
|
||||
skin_dir = Path("/app/static/skins")
|
||||
skin_dir = SKINS_DIR
|
||||
skin_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# Генерируем имя файла
|
||||
|
||||
@ -8,7 +8,7 @@ services:
|
||||
- "3001:3000"
|
||||
user: "${UID:-1000}:${GID:-1000}"
|
||||
volumes:
|
||||
- ./app/static:/app/static:rw
|
||||
- ./app/static:/app/app/static:rw
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
|
||||
8
main.py
8
main.py
@ -3,6 +3,8 @@ from fastapi.staticfiles import StaticFiles
|
||||
from app.api import users, skins, capes, meta, server, store, pranks, marketplace, bonuses
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
|
||||
from app.core.config import CAPES_DIR, CAPES_STORE_DIR, SKINS_DIR
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
app.include_router(meta.router)
|
||||
@ -16,9 +18,9 @@ app.include_router(marketplace.router)
|
||||
app.include_router(bonuses.router)
|
||||
|
||||
# Монтируем статику
|
||||
app.mount("/skins", StaticFiles(directory="app/static/skins"), name="skins")
|
||||
app.mount("/capes", StaticFiles(directory="app/static/capes"), name="capes")
|
||||
app.mount("/capes_store", StaticFiles(directory="app/static/capes_store"), name="capes_store")
|
||||
app.mount("/skins", StaticFiles(directory=str(SKINS_DIR)), name="skins")
|
||||
app.mount("/capes", StaticFiles(directory=str(CAPES_DIR)), name="capes")
|
||||
app.mount("/capes_store", StaticFiles(directory=str(CAPES_STORE_DIR)), name="capes_store")
|
||||
|
||||
# CORS, middleware и т.д.
|
||||
app.add_middleware(
|
||||
|
||||
Reference in New Issue
Block a user