mirror of
https://github.com/sunrin-ana/2025-SSF-dotory-manage.git
synced 2026-03-09 18:10:02 +00:00
40 lines
No EOL
1.3 KiB
Python
40 lines
No EOL
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', {
|
|
'userId': 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.route('')
|
|
class InitializeDotori(Resource):
|
|
@dotori_ns.expect(dotori_ns.model('Initialize', {'userId': fields.Integer(required=True)}))
|
|
def post(self):
|
|
data = dotori_ns.payload
|
|
user_id = data.get('userId')
|
|
return DotoriService.initialize_user_dotori(user_id)
|
|
|
|
@dotori_ns.route('/<int:userId>')
|
|
class AddDotori(Resource):
|
|
@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)
|
|
|
|
@dotori_ns.route('/all')
|
|
class GetAllDotori(Resource):
|
|
def get(self):
|
|
users = DotoriService.get_all_users_dotori()
|
|
return users |