2025-SSF-dotory-manage/routes/dotori.py
janghanul090801 b21fc45c7d fix: buy product
2025-07-09 23:02:32 +09:00

48 lines
1.3 KiB
Python

from flask_restx import Namespace, Resource, fields
from services.dotori_service import DotoriService
dotori_ns = Namespace("dotory", description="도토리 관련 API")
user_model = dotori_ns.model(
"UserDotori",
{
"user_id": fields.Integer,
"dotory": fields.Integer,
},
)
@dotori_ns.route("/<int:userId>")
class UserDotori(Resource):
@dotori_ns.marshal_with(user_model)
def get(self, userId):
user_dotori = DotoriService.get_user_dotori(userId)
if not user_dotori:
dotori_ns.abort(404, "User not found")
return user_dotori.to_response()
@dotori_ns.expect(
dotori_ns.model("AddDotori", {"num": fields.Integer(required=True)})
)
def put(self, userId):
data = dotori_ns.payload
num = data.get("num")
return DotoriService.add_dotori(userId, num).to_response()
@dotori_ns.route("")
class InitializeDotori(Resource):
@dotori_ns.expect(
dotori_ns.model("Initialize", {"user_id": fields.Integer(required=True)})
)
def post(self):
data = dotori_ns.payload
user_id = data.get("user_id")
return DotoriService.initialize_user_dotori(user_id)
@dotori_ns.route("/all")
class GetAllDotori(Resource):
def get(self):
users = DotoriService.get_all_users_dotori()
return users