rairo commited on
Commit
21ac85d
·
verified ·
1 Parent(s): d808a4a

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +17 -4
main.py CHANGED
@@ -11,6 +11,7 @@ import google.generativeai as genai
11
  import firebase_admin
12
  from firebase_admin import credentials, db, storage, auth
13
  import pandas as pd
 
14
 
15
  app = Flask(__name__)
16
  CORS(app)
@@ -24,6 +25,7 @@ firebase_admin.initialize_app(cred, {
24
 
25
  bucket = storage.bucket()
26
  api_key = os.environ['Gemini']
 
27
 
28
  # Helper functions
29
  def configure_gemini():
@@ -54,7 +56,15 @@ def check_daily_reset(user_ref):
54
  print(f"Reset error: {str(e)}")
55
  return False
56
 
57
- # Enhanced receipt processing endpoint
 
 
 
 
 
 
 
 
58
  @app.route('/api/process-receipt', methods=['POST'])
59
  def process_receipt_endpoint():
60
  try:
@@ -175,7 +185,10 @@ def validate_and_save_transaction(uid, user_data, data, file_hash, image_bytes,
175
  'remaining_cash': new_remaining
176
  })
177
 
178
- # Enhanced data endpoints for visualizations
 
 
 
179
  @app.route('/api/user/spending-overview', methods=['GET'])
180
  def get_spending_overview():
181
  try:
@@ -232,7 +245,7 @@ def verify_admin(auth_header):
232
  if not user.custom_claims or not user.custom_claims.get('admin'):
233
  raise PermissionError('Admin access required')
234
 
235
- # User management endpoints
236
  @app.route('/api/user/profile', methods=['GET'])
237
  def get_user_profile():
238
  try:
@@ -252,4 +265,4 @@ def get_user_profile():
252
  return jsonify({'error': str(e)}), 500
253
 
254
  if __name__ == '__main__':
255
- app.run(debug=True, host="0.0.0.0", port=7860)
 
11
  import firebase_admin
12
  from firebase_admin import credentials, db, storage, auth
13
  import pandas as pd
14
+ import requests # Needed for calling Firebase REST API
15
 
16
  app = Flask(__name__)
17
  CORS(app)
 
25
 
26
  bucket = storage.bucket()
27
  api_key = os.environ['Gemini']
28
+ FIREBASE_API_KEY = os.environ.get('FIREBASE_API_KEY') # For auth REST API calls
29
 
30
  # Helper functions
31
  def configure_gemini():
 
56
  print(f"Reset error: {str(e)}")
57
  return False
58
 
59
+ # ========================================
60
+ # Authentication Endpoints
61
+ # ========================================
62
+
63
+
64
+ # ========================================
65
+ # Receipt Processing Endpoint (unchanged)
66
+ # ========================================
67
+
68
  @app.route('/api/process-receipt', methods=['POST'])
69
  def process_receipt_endpoint():
70
  try:
 
185
  'remaining_cash': new_remaining
186
  })
187
 
188
+ # ========================================
189
+ # Data Endpoints for Visualizations
190
+ # ========================================
191
+
192
  @app.route('/api/user/spending-overview', methods=['GET'])
193
  def get_spending_overview():
194
  try:
 
245
  if not user.custom_claims or not user.custom_claims.get('admin'):
246
  raise PermissionError('Admin access required')
247
 
248
+ # User management endpoint for profile
249
  @app.route('/api/user/profile', methods=['GET'])
250
  def get_user_profile():
251
  try:
 
265
  return jsonify({'error': str(e)}), 500
266
 
267
  if __name__ == '__main__':
268
+ app.run(debug=True, host="0.0.0.0", port=7860)