fix: use session to manage AppSite

This commit is contained in:
Yeuoly 2025-01-06 21:12:50 +08:00
parent 3799d40937
commit aa6452b3bf

View File

@ -2,6 +2,7 @@ from datetime import UTC, datetime
from flask_login import current_user # type: ignore
from flask_restful import Resource, marshal_with, reqparse # type: ignore
from sqlalchemy.orm import Session
from werkzeug.exceptions import Forbidden, NotFound
from constants.languages import supported_language
@ -50,7 +51,11 @@ class AppSite(Resource):
if not current_user.is_editor:
raise Forbidden()
site = Site.query.filter(Site.app_id == app_model.id).one_or_404()
with Session(db.engine) as session:
site = session.query(Site).filter(Site.app_id == app_model.id).first()
if not site:
raise NotFound
for attr_name in [
"title",
@ -76,7 +81,7 @@ class AppSite(Resource):
site.updated_by = current_user.id
site.updated_at = datetime.now(UTC).replace(tzinfo=None)
db.session.commit()
session.commit()
return site