add /api/v1/sim-cards GET endpoint

This commit is contained in:
2026-05-01 20:37:17 +02:00
parent e5128df5a0
commit ab86ed7e76
4 changed files with 55 additions and 8 deletions
+17 -1
View File
@@ -24,6 +24,8 @@ file_handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s: %(messag
app.logger.addHandler(file_handler)
app.logger.setLevel(logging.INFO)
msg_403_not_primary = "Only a PRIMARY device can perform this action"
@app.route("/api/v1/login", methods=["POST"])
def login():
@@ -69,5 +71,19 @@ def refresh_token():
@jwt_required()
def get_all_devices():
if get_jwt()["typ"] != "PRIMARY":
return make_response(jsonify(msg="Only a PRIMARY device can list all devices"), 403)
return make_response(jsonify(msg=msg_403_not_primary), 403)
return make_response(jsonify([d.to_dict() for d in db.get_all_devices(cur)]), 200)
@app.route("/api/v1/sim-cards", methods=["GET"])
@jwt_required()
def get_sim_cards_by_device():
if not is_primary(get_jwt()):
return make_response(jsonify(msg=msg_403_not_primary), 403)
access_key = request.args.get('access_key', None)
return make_response(jsonify([s.to_dict() for s in db.get_sim_cards_by_device(cur, access_key)]), 200)
def is_primary(jwt):
return jwt["typ"] == "PRIMARY"