rairo commited on
Commit
89ba2b2
·
verified ·
1 Parent(s): ff30f1e

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +43 -2
main.py CHANGED
@@ -42,9 +42,9 @@ try:
42
  admin_user = auth.get_user_by_email("rairorr@gmail.com")
43
  except firebase_admin._auth_utils.UserNotFoundError:
44
  admin_user = auth.create_user(
45
- email="rairorr@gmail.com",
46
  email_verified=True,
47
- password="123456",
48
  display_name="Admin"
49
  )
50
  auth.set_custom_user_claims(admin_user.uid, {"admin": True})
@@ -242,6 +242,47 @@ def add_link():
242
  ref.push({"keyword": keyword, "url": url})
243
  return jsonify({"message": "Link added successfully"})
244
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  @app.route("/admin/stats", methods=["GET"])
246
  @verify_id_token
247
  @require_admin
 
42
  admin_user = auth.get_user_by_email("rairorr@gmail.com")
43
  except firebase_admin._auth_utils.UserNotFoundError:
44
  admin_user = auth.create_user(
45
+ email="gsamukange@yahoo.com",
46
  email_verified=True,
47
+ password="marco2025",
48
  display_name="Admin"
49
  )
50
  auth.set_custom_user_claims(admin_user.uid, {"admin": True})
 
242
  ref.push({"keyword": keyword, "url": url})
243
  return jsonify({"message": "Link added successfully"})
244
 
245
+ @app.route("/admin/update_link/<link_id>", methods=["PUT"])
246
+ @verify_id_token
247
+ @require_admin
248
+ def update_link(link_id):
249
+ data = request.get_json()
250
+ keyword = data.get("keyword")
251
+ url = data.get("url")
252
+ if not (keyword and url):
253
+ return jsonify({"error": "Both 'keyword' and 'url' are required"}), 400
254
+
255
+ ref = firebase_db.reference(f"sponsoredLinks/{link_id}")
256
+ if not ref.get():
257
+ return jsonify({"error": "Link not found"}), 404
258
+
259
+ ref.update({"keyword": keyword, "url": url})
260
+ return jsonify({"message": "Link updated successfully"})
261
+
262
+ @app.route("/admin/sponsored_links", methods=["GET"])
263
+ @verify_id_token
264
+ @require_admin
265
+ def get_sponsored_links():
266
+ ref = firebase_db.reference("sponsoredLinks")
267
+ data = ref.get() or {}
268
+
269
+ # Convert to a list of objects with id included
270
+ links = [{"id": key, "keyword": val.get("keyword"), "url": val.get("url")}
271
+ for key, val in data.items()]
272
+
273
+ return jsonify({"sponsored_links": links})
274
+
275
+ @app.route("/admin/delete_link/<link_id>", methods=["DELETE"])
276
+ @verify_id_token
277
+ @require_admin
278
+ def delete_link(link_id):
279
+ ref = firebase_db.reference(f"sponsoredLinks/{link_id}")
280
+ if not ref.get():
281
+ return jsonify({"error": "Link not found"}), 404
282
+
283
+ ref.delete()
284
+ return jsonify({"message": "Link deleted successfully"})
285
+
286
  @app.route("/admin/stats", methods=["GET"])
287
  @verify_id_token
288
  @require_admin