|
|
|
|
|
def create_test_accounts(): |
|
|
try: |
|
|
|
|
|
try: |
|
|
admin_user = auth.create_user( |
|
|
email='admin2@test.com', |
|
|
password='password1' |
|
|
) |
|
|
except auth.EmailAlreadyExistsError: |
|
|
admin_user = auth.get_user_by_email('admin2@test.com') |
|
|
|
|
|
db.reference(f'users/{admin_user.uid}').set({ |
|
|
'daily_cash': 300, |
|
|
'remaining_cash': 300, |
|
|
'last_reset': '2000-01-01T00:00:00+00:00', |
|
|
'is_admin': True |
|
|
}) |
|
|
|
|
|
|
|
|
try: |
|
|
regular_user = auth.create_user( |
|
|
email='user1@test.com', |
|
|
password='123456' |
|
|
) |
|
|
except auth.EmailAlreadyExistsError: |
|
|
regular_user = auth.get_user_by_email('user1@test.com') |
|
|
|
|
|
db.reference(f'users/{regular_user.uid}').set({ |
|
|
'daily_cash': 300, |
|
|
'remaining_cash': 300, |
|
|
'last_reset': '2000-01-01T00:00:00+00:00', |
|
|
'is_admin': False |
|
|
}) |
|
|
|
|
|
print("Test accounts created/updated successfully") |
|
|
except Exception as e: |
|
|
print(f"Error creating test accounts: {str(e)}") |
|
|
|
|
|
|
|
|
create_test_accounts() |
|
|
|
|
|
@app.route('/api/admin/users/<string:uid>/cash-limit-period', methods=['PUT']) |
|
|
def update_cash_limit_period(uid): |
|
|
try: |
|
|
verify_admin(request.headers.get('Authorization', '')) |
|
|
data = request.get_json() |
|
|
start_date = data.get('start_date') |
|
|
end_date = data.get('end_date') |
|
|
cash_limit = data.get('cash_limit') |
|
|
if not (start_date and end_date and cash_limit is not None): |
|
|
return jsonify({'error': 'start_date, end_date, and cash_limit are required'}), 400 |
|
|
try: |
|
|
datetime.strptime(start_date, '%Y-%m-%d') |
|
|
datetime.strptime(end_date, '%Y-%m-%d') |
|
|
except Exception as e: |
|
|
return jsonify({'error': 'Invalid date format. Use YYYY-MM-DD for start_date and end_date'}), 400 |
|
|
|
|
|
user_ref = db.reference(f'users/{uid}') |
|
|
user_data = user_ref.get() |
|
|
if not user_data: |
|
|
return jsonify({'error': 'User not found'}), 404 |
|
|
|
|
|
user_ref.update({ |
|
|
'cash_limit_period': { |
|
|
'start_date': start_date, |
|
|
'end_date': end_date, |
|
|
'limit': float(cash_limit) |
|
|
} |
|
|
}) |
|
|
|
|
|
return jsonify({ |
|
|
'success': True, |
|
|
'cash_limit_period': { |
|
|
'start_date': start_date, |
|
|
'end_date': end_date, |
|
|
'limit': float(cash_limit) |
|
|
} |
|
|
}) |
|
|
except Exception as e: |
|
|
return jsonify({'error': str(e)}), 400 |
|
|
|