Skip to content

Commit cca147a

Browse files
committed
Fix: Replace flask_jwt_extended with custom auth middleware in stamps.py
The stamps.py route was using flask_jwt_extended which is not in requirements.txt and not used anywhere else in the project. The project uses a custom JWT auth system in middleware/auth.py. This was causing all backend tests to fail in CI. Changes: - Remove flask_jwt_extended import - Replace @jwt_required() with @require_auth decorator - Replace get_jwt_identity() with str(g.current_user['_id']) - Add flask.g import for accessing current user All 144 backend tests now pass.
1 parent 18d4f76 commit cca147a

1 file changed

Lines changed: 13 additions & 14 deletions

File tree

backend/routes/stamps.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
Provides CRUD operations for custom stamps
44
"""
55

6-
from flask import Blueprint, request, jsonify, current_app
7-
from flask_jwt_extended import jwt_required, get_jwt_identity
6+
from flask import Blueprint, request, jsonify, current_app, g
87
from bson import ObjectId
98
from datetime import datetime
109
import base64
@@ -18,11 +17,11 @@
1817
stamps_bp = Blueprint('stamps', __name__)
1918

2019
@stamps_bp.route('/stamps', methods=['GET'])
21-
@jwt_required()
20+
@require_auth
2221
def get_stamps():
2322
"""Get all stamps for the authenticated user"""
2423
try:
25-
user_id = get_jwt_identity()
24+
user_id = str(g.current_user['_id'])
2625
db = get_db()
2726

2827
# Get user's custom stamps
@@ -45,12 +44,12 @@ def get_stamps():
4544
}), 500
4645

4746
@stamps_bp.route('/stamps', methods=['POST'])
48-
@jwt_required()
47+
@require_auth
4948
@validate_json(['name', 'category'])
5049
def create_stamp():
5150
"""Create a new custom stamp"""
5251
try:
53-
user_id = get_jwt_identity()
52+
user_id = str(g.current_user['_id'])
5453
data = request.get_json()
5554

5655
# Validate required fields
@@ -151,12 +150,12 @@ def create_stamp():
151150
}), 500
152151

153152
@stamps_bp.route('/stamps/<stamp_id>', methods=['PUT'])
154-
@jwt_required()
153+
@require_auth
155154
@validate_json(['name', 'category'])
156155
def update_stamp(stamp_id):
157156
"""Update an existing stamp"""
158157
try:
159-
user_id = get_jwt_identity()
158+
user_id = str(g.current_user['_id'])
160159
data = request.get_json()
161160

162161
db = get_db()
@@ -209,11 +208,11 @@ def update_stamp(stamp_id):
209208
}), 500
210209

211210
@stamps_bp.route('/stamps/<stamp_id>', methods=['DELETE'])
212-
@jwt_required()
211+
@require_auth
213212
def delete_stamp(stamp_id):
214213
"""Delete a stamp (soft delete)"""
215214
try:
216-
user_id = get_jwt_identity()
215+
user_id = str(g.current_user['_id'])
217216

218217
db = get_db()
219218
stamps_collection = db.stamps
@@ -273,11 +272,11 @@ def get_stamp_image(filename):
273272
}), 500
274273

275274
@stamps_bp.route('/stamps/import', methods=['POST'])
276-
@jwt_required()
275+
@require_auth
277276
def import_stamps():
278277
"""Import stamps from a zip file or JSON"""
279278
try:
280-
user_id = get_jwt_identity()
279+
user_id = str(g.current_user['_id'])
281280

282281
# Handle file upload
283282
if 'file' not in request.files:
@@ -346,11 +345,11 @@ def import_stamps():
346345
}), 500
347346

348347
@stamps_bp.route('/stamps/export', methods=['GET'])
349-
@jwt_required()
348+
@require_auth
350349
def export_stamps():
351350
"""Export user's stamps as JSON"""
352351
try:
353-
user_id = get_jwt_identity()
352+
user_id = str(g.current_user['_id'])
354353

355354
db = get_db()
356355
stamps_collection = db.stamps

0 commit comments

Comments
 (0)