Skip to content

Commit bad5f7d

Browse files
Assistant checkpoint: Add regenerate_api_key route in main.py
Assistant generated file changes: - main.py: Add regenerate_api_key route --- User prompt: is regenerate api key in the backend? Replit-Commit-Author: Assistant Replit-Commit-Session-Id: 002aed14-85d6-4cba-be81-a8095645a2ee
1 parent 5a40c2f commit bad5f7d

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

main.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,29 @@ def reset_project_data(project_id):
506506

507507
return redirect(url_for('project_settings', project_id=project.id))
508508

509+
@app.route('/projects/<int:project_id>/regenerate-key', methods=['POST'])
510+
@login_required
511+
def regenerate_api_key(project_id):
512+
project = Project.query.get_or_404(project_id)
513+
514+
# Ensure the user owns this project
515+
if project.user_id != session['user_id']:
516+
flash('You do not have access to this project')
517+
return redirect(url_for('dashboard'))
518+
519+
try:
520+
# Generate a new unique API key
521+
new_api_key = str(uuid.uuid4()).replace('-', '')
522+
project.api_key = new_api_key
523+
db.session.commit()
524+
525+
flash('API key regenerated successfully')
526+
except Exception as e:
527+
db.session.rollback()
528+
flash(f'An error occurred: {str(e)}')
529+
530+
return redirect(url_for('project_settings', project_id=project.id))
531+
509532
@app.route('/projects/<int:project_id>/delete', methods=['POST'])
510533
@login_required
511534
def delete_project(project_id):

0 commit comments

Comments
 (0)