Files
ServerKit/backend/tests/api_controller_boundary_baseline.json
Juan Denis fde0acee6d fix(ai): satisfy release gates and prepare 1.10.0 [skip version]
Keep connection persistence behind the service boundary, use typed errors and shared JSON parsing, and refresh reviewed inventories. The new GET connection catalog accepts API keys so API clients managing connections can discover IDs without exposing credentials; existing JWT-only routes stay unchanged. Add regression coverage and release notes.
2026-09-08 01:30:03 -04:00

696 lines
59 KiB
JSON

{
"schema_version": 1,
"policy": "Exact reviewed inventory of direct persistence, subprocess, and filesystem mutation calls in Flask API controllers. New calls are forbidden; remove entries as controllers delegate to services.",
"counts": {
"filesystem": 8,
"persistence": 487
},
"owners": {
"api/admin.py": {
"owner": "ServerKit backend / admin domain",
"rationale": "Legacy admin controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/ai.py": {
"owner": "ServerKit backend / ai domain",
"rationale": "Legacy ai controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/app_volumes.py": {
"owner": "ServerKit backend / app volumes domain",
"rationale": "Legacy app volumes controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/apps.py": {
"owner": "ServerKit backend / apps domain",
"rationale": "Legacy apps controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/auth.py": {
"owner": "ServerKit backend / auth domain",
"rationale": "Legacy auth controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/backups.py": {
"owner": "ServerKit backend / backups domain",
"rationale": "Legacy backups controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/bandwidth.py": {
"owner": "ServerKit backend / bandwidth domain",
"rationale": "Legacy bandwidth controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/buildpacks.py": {
"owner": "ServerKit backend / buildpacks domain",
"rationale": "Legacy buildpacks controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/builds.py": {
"owner": "ServerKit backend / builds domain",
"rationale": "Legacy builds controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/cron.py": {
"owner": "ServerKit backend / cron domain",
"rationale": "Legacy cron controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/database_engines.py": {
"owner": "ServerKit backend / database engines domain",
"rationale": "Legacy database engines controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/databases.py": {
"owner": "ServerKit backend / databases domain",
"rationale": "Legacy databases controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/deploy.py": {
"owner": "ServerKit backend / deploy domain",
"rationale": "Legacy deploy controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/deployment_jobs.py": {
"owner": "ServerKit backend / deployment jobs domain",
"rationale": "Legacy deployment jobs controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/deployments.py": {
"owner": "ServerKit backend / deployments domain",
"rationale": "Legacy deployments controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/dns_zones.py": {
"owner": "ServerKit backend / dns zones domain",
"rationale": "Legacy dns zones controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/docker.py": {
"owner": "ServerKit backend / docker domain",
"rationale": "Legacy docker controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/domains.py": {
"owner": "ServerKit backend / domains domain",
"rationale": "Legacy domains controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/env_vars.py": {
"owner": "ServerKit backend / env vars domain",
"rationale": "Legacy env vars controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/environments.py": {
"owner": "ServerKit backend / environments domain",
"rationale": "Legacy environments controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/files.py": {
"owner": "ServerKit backend / files domain",
"rationale": "Legacy files controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/fleet.py": {
"owner": "ServerKit backend / fleet domain",
"rationale": "Legacy fleet controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/git.py": {
"owner": "ServerKit backend / git domain",
"rationale": "Legacy git controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/image_updates.py": {
"owner": "ServerKit backend / image updates domain",
"rationale": "Legacy image updates controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/managed_db_users.py": {
"owner": "ServerKit backend / managed db users domain",
"rationale": "Legacy managed db users controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/manifests.py": {
"owner": "ServerKit backend / manifests domain",
"rationale": "Legacy manifests controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/mobile.py": {
"owner": "ServerKit backend / mobile domain",
"rationale": "Legacy mobile controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/notifications.py": {
"owner": "ServerKit backend / notifications domain",
"rationale": "Legacy notifications controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/previews.py": {
"owner": "ServerKit backend / previews domain",
"rationale": "Legacy previews controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/private_urls.py": {
"owner": "ServerKit backend / private urls domain",
"rationale": "Legacy private urls controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/projects.py": {
"owner": "ServerKit backend / projects domain",
"rationale": "Legacy projects controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/proxy.py": {
"owner": "ServerKit backend / proxy domain",
"rationale": "Legacy proxy controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/python.py": {
"owner": "ServerKit backend / python domain",
"rationale": "Legacy python controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/recipes.py": {
"owner": "ServerKit backend / recipes domain",
"rationale": "Legacy recipes controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/secrets_webhooks.py": {
"owner": "ServerKit backend / secrets webhooks domain",
"rationale": "Legacy secrets webhooks controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/servers.py": {
"owner": "ServerKit backend / servers domain",
"rationale": "Legacy servers controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/shared_resources.py": {
"owner": "ServerKit backend / shared resources domain",
"rationale": "Legacy shared resources controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/site_imports.py": {
"owner": "ServerKit backend / site imports domain",
"rationale": "Legacy site imports controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/snapshots.py": {
"owner": "ServerKit backend / snapshots domain",
"rationale": "Legacy snapshots controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/sso.py": {
"owner": "ServerKit backend / sso domain",
"rationale": "Legacy sso controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/survey.py": {
"owner": "ServerKit backend / survey domain",
"rationale": "Legacy survey controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/system.py": {
"owner": "ServerKit backend / system domain",
"rationale": "Legacy system controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/telemetry.py": {
"owner": "ServerKit backend / telemetry domain",
"rationale": "Legacy telemetry controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/templates.py": {
"owner": "ServerKit backend / templates domain",
"rationale": "Legacy templates controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/two_factor.py": {
"owner": "ServerKit backend / two factor domain",
"rationale": "Legacy two factor controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/waf.py": {
"owner": "ServerKit backend / waf domain",
"rationale": "Legacy waf controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
},
"api/webhooks.py": {
"owner": "ServerKit backend / webhooks domain",
"rationale": "Legacy webhooks controllers still cross a persistence or host-operation boundary; move each call into an app.services use case before removing it."
}
},
"violations": [
"api/admin.py::_daily_action_counts::persistence::db.session.query(day_bucket.label('day'), func.count(AuditLog.id))::1",
"api/admin.py::create_user::persistence::User.query.filter(func.lower(User.email) == func.lower(email)).first()::1",
"api/admin.py::create_user::persistence::User.query.filter_by(username=username).first()::1",
"api/admin.py::create_user::persistence::db.session.add(user)::1",
"api/admin.py::create_user::persistence::db.session.commit()::1",
"api/admin.py::create_user::persistence::db.session.commit()::2",
"api/admin.py::delete_user::persistence::User.query.filter_by(role=User.ROLE_ADMIN).count()::1",
"api/admin.py::delete_user::persistence::User.query.get(user_id)::1",
"api/admin.py::delete_user::persistence::db.session.commit()::1",
"api/admin.py::delete_user::persistence::db.session.commit()::2",
"api/admin.py::delete_user::persistence::db.session.delete(user)::1",
"api/admin.py::get_activity_summary::persistence::User.query.filter(User.id.in_(ranked_ids)).all()::1",
"api/admin.py::get_activity_summary::persistence::User.query.filter_by(is_active=True).count()::1",
"api/admin.py::get_activity_summary::persistence::db.session.query(AuditLog.user_id, func.count(AuditLog.id).label('action_count'))::1",
"api/admin.py::get_activity_summary::persistence::db.session.query(func.count(AuditLog.id))::1",
"api/admin.py::get_activity_summary::persistence::db.session.query(func.count(func.distinct(AuditLog.user_id)))::1",
"api/admin.py::get_admin_stats::persistence::AuditLog.query.filter_by(action=AuditLog.ACTION_LOGIN).order_by(AuditLog.created_at.desc()).limit(10).all()::1",
"api/admin.py::get_admin_stats::persistence::User.query.count()::1",
"api/admin.py::get_admin_stats::persistence::User.query.filter_by(is_active=True).count()::1",
"api/admin.py::get_admin_stats::persistence::User.query.filter_by(role=User.ROLE_ADMIN).count()::1",
"api/admin.py::get_admin_stats::persistence::User.query.filter_by(role=User.ROLE_DEVELOPER).count()::1",
"api/admin.py::get_admin_stats::persistence::User.query.filter_by(role=User.ROLE_VIEWER).count()::1",
"api/admin.py::get_audit_log_actions::persistence::db.session.query(AuditLog.action)::1",
"api/admin.py::get_user::persistence::User.query.get(user_id)::1",
"api/admin.py::list_users::persistence::User.query.order_by(User.created_at.desc()).all()::1",
"api/admin.py::reset_user_permissions::persistence::db.session.commit()::1",
"api/admin.py::set_canonical_domain::persistence::db.session.commit()::1",
"api/admin.py::set_canonical_domain::persistence::db.session.commit()::2",
"api/admin.py::update_setting::persistence::db.session.commit()::1",
"api/admin.py::update_settings::persistence::db.session.commit()::1",
"api/admin.py::update_user::persistence::User.query.filter(func.lower(User.email) == func.lower(data['email'])).first()::1",
"api/admin.py::update_user::persistence::User.query.filter_by(role=User.ROLE_ADMIN).count()::1",
"api/admin.py::update_user::persistence::User.query.filter_by(username=data['username']).first()::1",
"api/admin.py::update_user::persistence::User.query.get(user_id)::1",
"api/admin.py::update_user::persistence::db.session.commit()::1",
"api/admin.py::update_user::persistence::db.session.commit()::2",
"api/admin.py::update_user_permissions::persistence::db.session.commit()::1",
"api/ai.py::_load_or_create::persistence::db.session.add(row)::1",
"api/ai.py::_load_or_create::persistence::db.session.commit()::1",
"api/ai.py::_owned_conversation::persistence::db.session.get(AiConversation, conversation_id)::1",
"api/ai.py::_persist_assistant_message::persistence::db.session.add(msg)::1",
"api/ai.py::_persist_assistant_message::persistence::db.session.commit()::1",
"api/ai.py::_persist_assistant_message::persistence::db.session.rollback()::1",
"api/ai.py::_persist_user_message::persistence::db.session.add(message)::1",
"api/ai.py::_persist_user_message::persistence::db.session.commit()::1",
"api/ai.py::_persist_user_message::persistence::db.session.rollback()::1",
"api/ai.py::chat_confirm::persistence::db.session.get(AiPendingAction, token)::1",
"api/ai.py::chat_stream.producer::persistence::db.session.get(AiConversation, conversation_id)::1",
"api/ai.py::chat_stream.producer::persistence::db.session.get(AiConversation, conversation_id)::2",
"api/ai.py::create_conversation::persistence::db.session.commit()::1",
"api/ai.py::delete_conversation::persistence::db.session.commit()::1",
"api/ai.py::delete_conversation::persistence::db.session.delete(row)::1",
"api/ai.py::list_conversations::persistence::AiConversation.query.filter_by(user_id=user.id).order_by(AiConversation.updated_at.desc()).limit(100).all()::1",
"api/ai.py::rename_conversation::persistence::db.session.commit()::1",
"api/app_volumes.py::_load_app_for::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::_load_app_for_backup::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::_resolve_project_env::persistence::Environment.query.get(environment_id)::1",
"api/apps.py::_resolve_project_env::persistence::Project.query.get(project_id)::1",
"api/apps.py::_sync_manual_app_status::persistence::db.session.commit()::1",
"api/apps.py::_wp_site_for_app::persistence::WordPressSite.query.filter_by(application_id=app.id).first()::1",
"api/apps.py::apply_image_update::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::apply_image_update::persistence::User.query.get(current_user_id)::1",
"api/apps.py::apply_image_update::persistence::db.session.commit()::1",
"api/apps.py::create_app::persistence::User.query.get(current_user_id)::1",
"api/apps.py::create_app::persistence::db.session.add(app)::1",
"api/apps.py::create_app::persistence::db.session.commit()::1",
"api/apps.py::create_app_db_snapshot::persistence::db.session.add(snapshot)::1",
"api/apps.py::create_app_db_snapshot::persistence::db.session.commit()::1",
"api/apps.py::create_app_from_repository::persistence::Application.query.filter_by(name=name, server_id=None).first()::1",
"api/apps.py::create_manual_app::persistence::Application.query.filter_by(name=name).first()::1",
"api/apps.py::create_manual_app::persistence::db.session.add(app)::1",
"api/apps.py::create_manual_app::persistence::db.session.commit()::1",
"api/apps.py::delete_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::delete_app::persistence::User.query.get(current_user_id)::1",
"api/apps.py::delete_app_db_snapshot::persistence::DatabaseSnapshot.query.filter_by(id=snapshot_id, site_id=site.id).first()::1",
"api/apps.py::delete_app_db_snapshot::persistence::db.session.commit()::1",
"api/apps.py::delete_app_db_snapshot::persistence::db.session.delete(snapshot)::1",
"api/apps.py::evaluate_scale::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_app_containers::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_app_containers::persistence::User.query.get(current_user_id)::1",
"api/apps.py::get_app_logs::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_app_logs::persistence::User.query.get(current_user_id)::1",
"api/apps.py::get_app_related::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_app_related::persistence::BackupPolicy.query.filter_by(target_type='application', target_id=app.id).first()::1",
"api/apps.py::get_app_related::persistence::Deployment.query.filter_by(app_id=app.id).count()::1",
"api/apps.py::get_app_related::persistence::Domain.query_active().filter_by(application_id=app.id).all()::1",
"api/apps.py::get_app_related::persistence::ManagedDatabase.query_active().filter_by(owner_application_id=app.id).all()::1",
"api/apps.py::get_app_resources::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_app_status::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_app_status::persistence::User.query.get(current_user_id)::1",
"api/apps.py::get_app_status::persistence::db.session.commit()::1",
"api/apps.py::get_app_versions::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_app_versions::persistence::User.query.get(current_user_id)::1",
"api/apps.py::get_apps::persistence::Application.query_active()::1",
"api/apps.py::get_apps::persistence::User.query.get(current_user_id)::1",
"api/apps.py::get_compose_services::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_container_logs::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_container_logs::persistence::User.query.get(current_user_id)::1",
"api/apps.py::get_linked_apps::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_linked_apps::persistence::User.query.get(current_user_id)::1",
"api/apps.py::get_scale_policy::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::get_sleep_policy::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::grant_app_access::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::grant_app_access::persistence::User.query.get(grantee_id)::1",
"api/apps.py::link_apps::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::link_apps::persistence::Application.query_active().filter_by(id=target_app_id).first()::1",
"api/apps.py::link_apps::persistence::User.query.get(current_user_id)::1",
"api/apps.py::link_apps::persistence::db.session.commit()::1",
"api/apps.py::list_app_db_snapshots::persistence::DatabaseSnapshot.query.filter_by(site_id=site.id).order_by(DatabaseSnapshot.created_at.desc()).all()::1",
"api/apps.py::list_app_grants::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::move_apps_to_project::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::move_apps_to_project::persistence::Environment.query.get(environment_id)::1",
"api/apps.py::move_apps_to_project::persistence::Project.query.get(req_project_id)::1",
"api/apps.py::move_apps_to_project::persistence::db.session.commit()::1",
"api/apps.py::purge_micro_cache::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::restart_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::restart_app::persistence::User.query.get(current_user_id)::1",
"api/apps.py::revoke_app_access::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::rollback_app_version::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::rollback_app_version::persistence::User.query.get(current_user_id)::1",
"api/apps.py::rollback_app_version::persistence::db.session.commit()::1",
"api/apps.py::scale_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::set_app_workspace::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::set_app_workspace::persistence::Workspace.query.get(target)::1",
"api/apps.py::set_app_workspace::persistence::db.session.commit()::1",
"api/apps.py::set_micro_cache::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::set_micro_cache::persistence::db.session.commit()::1",
"api/apps.py::sleep_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::start_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::start_app::persistence::User.query.get(current_user_id)::1",
"api/apps.py::stop_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::stop_app::persistence::User.query.get(current_user_id)::1",
"api/apps.py::unlink_apps::persistence::Application.query.get(app.linked_app_id)::1",
"api/apps.py::unlink_apps::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::unlink_apps::persistence::User.query.get(current_user_id)::1",
"api/apps.py::unlink_apps::persistence::db.session.commit()::1",
"api/apps.py::update_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::update_app::persistence::User.query.get(current_user_id)::1",
"api/apps.py::update_app::persistence::db.session.commit()::1",
"api/apps.py::update_app_resources::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::update_app_resources::persistence::db.session.commit()::1",
"api/apps.py::update_environment::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::update_environment::persistence::User.query.get(current_user_id)::1",
"api/apps.py::update_environment::persistence::db.session.commit()::1",
"api/apps.py::update_scale_policy::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::update_sleep_policy::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/apps.py::upload_app_archive::filesystem::os.makedirs(temp_dir, exist_ok=True)::1",
"api/apps.py::upload_app_archive::filesystem::os.remove(zippath)::1",
"api/apps.py::upload_app_archive::filesystem::os.remove(zippath)::2",
"api/apps.py::upload_app_archive::filesystem::os.remove(zippath)::3",
"api/apps.py::upload_app_archive::filesystem::os.remove(zippath)::4",
"api/apps.py::upload_app_archive::persistence::Application.query.filter_by(name=name).first()::1",
"api/apps.py::upload_app_archive::persistence::Application.query_active().filter_by(name=name).first()::1",
"api/apps.py::upload_app_archive::persistence::db.session.add(app)::1",
"api/apps.py::upload_app_archive::persistence::db.session.commit()::1",
"api/apps.py::upload_app_archive::persistence::db.session.commit()::2",
"api/apps.py::wake_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/auth.py::create_login_link::persistence::User.query.get(target_id)::1",
"api/auth.py::create_login_link::persistence::db.session.commit()::1",
"api/auth.py::demo_info::persistence::User.query.filter_by(username='demo').first()::1",
"api/auth.py::demo_info::persistence::db.session.add(user)::1",
"api/auth.py::demo_info::persistence::db.session.commit()::1",
"api/auth.py::demo_info::persistence::db.session.commit()::2",
"api/auth.py::get_current_user::persistence::User.query.get(current_user_id)::1",
"api/auth.py::login::persistence::User.query.filter((func.lower(User.email) == func.lower(login_id)) | (User.username == login_id)).first()::1",
"api/auth.py::login::persistence::db.session.commit()::1",
"api/auth.py::login::persistence::db.session.commit()::2",
"api/auth.py::login::persistence::db.session.commit()::3",
"api/auth.py::login::persistence::db.session.commit()::4",
"api/auth.py::logout::persistence::db.session.add(RevokedSession(session_id=get_jwt()['session_id'], user_id=g.session_user.id))::1",
"api/auth.py::logout::persistence::db.session.commit()::1",
"api/auth.py::passkey_auth_options::persistence::User.query.get(user_id)::1",
"api/auth.py::passkey_authenticate::persistence::User.query.get(user_id)::1",
"api/auth.py::passkey_authenticate::persistence::db.session.commit()::1",
"api/auth.py::passkey_authenticate::persistence::db.session.commit()::2",
"api/auth.py::passkey_register::persistence::User.query.get(user_id)::1",
"api/auth.py::passkey_register_options::persistence::User.query.get(user_id)::1",
"api/auth.py::redeem_login_link::persistence::db.session.commit()::1",
"api/auth.py::redeem_login_link::persistence::db.session.commit()::2",
"api/auth.py::refresh::persistence::User.query.get(current_user_id)::1",
"api/auth.py::register::persistence::User.query.count()::1",
"api/auth.py::register::persistence::User.query.filter(func.lower(User.email) == func.lower(email)).first()::1",
"api/auth.py::register::persistence::User.query.filter_by(username=username).first()::1",
"api/auth.py::register::persistence::db.session.add(user)::1",
"api/auth.py::register::persistence::db.session.commit()::1",
"api/auth.py::register::persistence::db.session.commit()::2",
"api/auth.py::revoke_login_link::persistence::LoginLink.query.get(link_id)::1",
"api/auth.py::revoke_login_link::persistence::db.session.commit()::1",
"api/auth.py::revoke_login_link::persistence::db.session.delete(link)::1",
"api/auth.py::update_current_user::persistence::User.query.filter(func.lower(User.email) == func.lower(data['email'])).first()::1",
"api/auth.py::update_current_user::persistence::User.query.filter_by(username=data['username']).first()::1",
"api/auth.py::update_current_user::persistence::User.query.get(current_user_id)::1",
"api/auth.py::update_current_user::persistence::db.session.commit()::1",
"api/backups.py::backup_application::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/backups.py::cost_summary::persistence::BackupPolicy.query.all()::1",
"api/backups.py::cost_summary::persistence::BackupRun.query.filter_by(policy_id=policy.id, status='success').order_by(BackupRun.started_at.desc()).limit(5).all()::1",
"api/backups.py::cost_summary::persistence::db.session.query(func.coalesce(func.sum(BackupRun.size_local), 0), func.coalesce(func.sum(BackupRun.size_remote), 0), func.count(BackupRun.id))::1",
"api/backups.py::list_runs::persistence::db.session.query(BackupRun, BackupPolicy)::1",
"api/bandwidth.py::get_app_bandwidth::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/buildpacks.py::detect::filesystem::shutil.rmtree(workdir, ignore_errors=True)::1",
"api/builds.py::configure_build::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::deploy_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::deploy_app::persistence::User.query.get(current_user_id)::1",
"api/builds.py::detect_build_method::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::detect_build_method::persistence::User.query.get(current_user_id)::1",
"api/builds.py::get_build_config::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::get_build_config::persistence::User.query.get(current_user_id)::1",
"api/builds.py::get_build_log_detail::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::get_build_log_detail::persistence::User.query.get(current_user_id)::1",
"api/builds.py::get_build_logs::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::get_build_logs::persistence::User.query.get(current_user_id)::1",
"api/builds.py::get_current_deployment::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::get_current_deployment::persistence::User.query.get(current_user_id)::1",
"api/builds.py::get_deployment::persistence::Application.query_active().filter_by(id=deployment.app_id).first()::1",
"api/builds.py::get_deployment::persistence::Deployment.query.get(deployment_id)::1",
"api/builds.py::get_deployment::persistence::User.query.get(current_user_id)::1",
"api/builds.py::get_deployment_diff::persistence::Application.query_active().filter_by(id=deployment.app_id).first()::1",
"api/builds.py::get_deployment_diff::persistence::Deployment.query.get(deployment_id)::1",
"api/builds.py::get_deployment_diff::persistence::User.query.get(current_user_id)::1",
"api/builds.py::get_deployments::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::get_deployments::persistence::User.query.get(current_user_id)::1",
"api/builds.py::get_nixpacks_plan::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::get_nixpacks_plan::persistence::User.query.get(current_user_id)::1",
"api/builds.py::rollback::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::rollback::persistence::User.query.get(current_user_id)::1",
"api/builds.py::trigger_build::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/builds.py::trigger_build::persistence::User.query.get(current_user_id)::1",
"api/cron.py::_attach_attribution::persistence::Application.query.filter(Application.id.in_(ids)).all()::1",
"api/cron.py::_attach_attribution::persistence::Workspace.query.filter(Workspace.id.in_(ws_ids)).all()::1",
"api/cron.py::_notify_run_transition::persistence::Application.query.get(int(aid))::1",
"api/cron.py::_notify_run_transition::persistence::Workspace.query.get(app.workspace_id)::1",
"api/cron.py::_validate_application_id::persistence::Application.query_active().filter_by(id=aid).first()::1",
"api/database_engines.py::_require_app_access::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/databases.py::get_app_databases::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/databases.py::get_app_databases::persistence::User.query.get(current_user_id)::1",
"api/databases.py::list_all_docker_databases::persistence::Application.query_active().filter_by(app_type='docker')::1",
"api/databases.py::list_all_docker_databases::persistence::User.query.get(current_user_id)::1",
"api/deploy.py::configure_deployment::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deploy.py::get_branches::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deploy.py::get_branches::persistence::User.query.get(current_user_id)::1",
"api/deploy.py::get_commit_info::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deploy.py::get_commit_info::persistence::User.query.get(current_user_id)::1",
"api/deploy.py::get_deploy_config::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deploy.py::get_deploy_config::persistence::User.query.get(current_user_id)::1",
"api/deploy.py::get_deployment_history::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deploy.py::get_deployment_history::persistence::User.query.get(current_user_id)::1",
"api/deploy.py::get_git_status::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deploy.py::get_git_status::persistence::User.query.get(current_user_id)::1",
"api/deploy.py::get_webhook_logs::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deploy.py::get_webhook_logs::persistence::User.query.get(current_user_id)::1",
"api/deploy.py::pull_changes::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deploy.py::pull_changes::persistence::User.query.get(current_user_id)::1",
"api/deploy.py::trigger_deploy::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deploy.py::trigger_deploy::persistence::User.query.get(current_user_id)::1",
"api/deployment_jobs.py::_job_operable_by::persistence::Application.query_active().filter_by(id=job.app_id).first()::1",
"api/deployment_jobs.py::_job_visible_to::persistence::Application.query_active().filter_by(id=job.app_id).first()::1",
"api/deployment_jobs.py::get_deployment_job::persistence::DeploymentJob.query.get(job_id)::1",
"api/deployment_jobs.py::get_deployment_job_logs::persistence::DeploymentJob.query.get(job_id)::1",
"api/deployment_jobs.py::get_deployment_job_logs::persistence::DeploymentJobLog.query.filter_by(job_id=job_id)::1",
"api/deployment_jobs.py::list_deployment_jobs::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deployment_jobs.py::list_deployment_jobs::persistence::User.query.get(current_user_id)::1",
"api/deployment_jobs.py::retry_deployment_job::persistence::DeploymentJob.query.get(job_id)::1",
"api/deployments.py::_access::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/deployments.py::app_history::persistence::Deployment.query.filter_by(app_id=app_id).order_by(Deployment.created_at.desc()).limit(limit).all()::1",
"api/deployments.py::app_history::persistence::GitDeployment.query.filter_by(app_id=app_id).order_by(GitDeployment.created_at.desc()).limit(limit).all()::1",
"api/deployments.py::get_deployment::persistence::Deployment.query.get(deployment_id)::1",
"api/dns_zones.py::list_managed_records::persistence::Application.query.all()::1",
"api/docker.py::cleanup_all_apps::filesystem::shutil.rmtree(app.root_path)::1",
"api/docker.py::cleanup_all_apps::persistence::Application.query_active().filter_by(app_type='docker').all()::1",
"api/docker.py::cleanup_all_apps::persistence::db.session.commit()::1",
"api/docker.py::cleanup_all_apps::persistence::db.session.delete(app)::1",
"api/docker.py::create_docker_app::persistence::db.session.add(app)::1",
"api/docker.py::create_docker_app::persistence::db.session.commit()::1",
"api/domains.py::create_domain::persistence::Application.query_active().filter_by(id=application_id).first()::1",
"api/domains.py::create_domain::persistence::Domain.query_active().filter_by(application_id=application_id, is_primary=True).update({'is_primary': False}, synchronize_session=False)::1",
"api/domains.py::create_domain::persistence::Domain.query_active().filter_by(name=name).first()::1",
"api/domains.py::create_domain::persistence::User.query.get(current_user_id)::1",
"api/domains.py::create_domain::persistence::db.session.add(domain)::1",
"api/domains.py::create_domain::persistence::db.session.commit()::1",
"api/domains.py::delete_domain::persistence::Application.query_active().filter_by(id=domain.application_id).first()::1",
"api/domains.py::delete_domain::persistence::Domain.query_active().filter_by(application_id=application_id).count()::1",
"api/domains.py::delete_domain::persistence::Domain.query_active().filter_by(id=domain_id).first()::1",
"api/domains.py::delete_domain::persistence::User.query.get(current_user_id)::1",
"api/domains.py::delete_domain::persistence::db.session.commit()::1",
"api/domains.py::diagnose_app_routing::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/domains.py::diagnose_app_routing::persistence::Domain.query_active().filter_by(application_id=app_id).all()::1",
"api/domains.py::disable_ssl::persistence::Application.query_active().filter_by(id=domain.application_id).first()::1",
"api/domains.py::disable_ssl::persistence::Domain.query_active().filter_by(id=domain_id).first()::1",
"api/domains.py::disable_ssl::persistence::User.query.get(current_user_id)::1",
"api/domains.py::disable_ssl::persistence::db.session.commit()::1",
"api/domains.py::enable_ssl::persistence::Application.query_active().filter_by(id=domain.application_id).first()::1",
"api/domains.py::enable_ssl::persistence::Domain.query_active().filter_by(id=domain_id).first()::1",
"api/domains.py::enable_ssl::persistence::User.query.get(current_user_id)::1",
"api/domains.py::enable_ssl::persistence::db.session.commit()::1",
"api/domains.py::get_domain::persistence::Application.query_active().filter_by(id=domain.application_id).first()::1",
"api/domains.py::get_domain::persistence::Domain.query_active().filter_by(id=domain_id).first()::1",
"api/domains.py::get_domain::persistence::User.query.get(current_user_id)::1",
"api/domains.py::get_domains::persistence::Application.query_active()::1",
"api/domains.py::get_domains::persistence::Domain.query_active().filter(Domain.application_id.in_(app_ids)).all()::1",
"api/domains.py::get_domains::persistence::User.query.get(current_user_id)::1",
"api/domains.py::give_subdomain::persistence::Application.query_active().filter_by(id=data.get('application_id')).first()::1",
"api/domains.py::give_subdomain::persistence::User.query.get(current_user_id)::1",
"api/domains.py::regenerate_nginx_config::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/domains.py::regenerate_nginx_config::persistence::Domain.query_active().filter_by(application_id=app_id).all()::1",
"api/domains.py::renew_ssl::persistence::Application.query_active().filter_by(id=domain.application_id).first()::1",
"api/domains.py::renew_ssl::persistence::Domain.query_active().filter_by(id=domain_id).first()::1",
"api/domains.py::renew_ssl::persistence::User.query.get(current_user_id)::1",
"api/domains.py::suggest_subdomain::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/domains.py::test_app_routing::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/domains.py::test_app_routing::persistence::Domain.query_active().filter_by(application_id=app_id).first()::1",
"api/domains.py::test_app_routing::persistence::Domain.query_active().filter_by(application_id=app_id, is_primary=True).first()::1",
"api/domains.py::update_domain::persistence::Application.query_active().filter_by(id=domain.application_id).first()::1",
"api/domains.py::update_domain::persistence::Domain.query_active().filter_by(application_id=domain.application_id, is_primary=True).update({'is_primary': False}, synchronize_session=False)::1",
"api/domains.py::update_domain::persistence::Domain.query_active().filter_by(id=domain_id).first()::1",
"api/domains.py::update_domain::persistence::User.query.get(current_user_id)::1",
"api/domains.py::update_domain::persistence::db.session.commit()::1",
"api/domains.py::verify_domain::persistence::Domain.query_active().filter_by(id=domain_id).first()::1",
"api/env_vars.py::check_app_access::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/env_vars.py::check_app_access::persistence::User.query.get(user_id)::1",
"api/environments.py::_accessible_workspace_ids::persistence::Workspace.query.all()::1",
"api/environments.py::create_environment::persistence::db.session.commit()::1",
"api/files.py::upload_file::filesystem::os.makedirs(parent)::1",
"api/fleet.py::list_targets::persistence::Server.query.get(server_id)::1",
"api/git.py::_webhook_visible_to::persistence::Application.query.get(webhook.app_id)::1",
"api/git.py::get_deployment::persistence::Application.query_active().filter_by(id=deployment.app_id).first()::1",
"api/git.py::get_deployment::persistence::GitDeployment.query.get(deployment_id)::1",
"api/git.py::get_webhook::persistence::GitWebhook.query.get(webhook_id)::1",
"api/git.py::get_webhook_deployments::persistence::GitDeployment.query.filter_by(webhook_id=webhook_id).order_by(GitDeployment.created_at.desc()).limit(limit).all()::1",
"api/git.py::get_webhook_deployments::persistence::GitWebhook.query.get(webhook_id)::1",
"api/git.py::get_webhook_logs::persistence::GitWebhook.query.get(webhook_id)::1",
"api/git.py::list_webhooks::persistence::GitWebhook.query.get(w.get('id'))::1",
"api/image_updates.py::latest::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/managed_db_users.py::delete_managed_db_user::persistence::ManagedDatabaseUser.query.filter_by(id=user_id, managed_database_id=managed.id).first()::1",
"api/manifests.py::_load_normalized::persistence::ApplicationManifest.query.filter_by(project_id=project_id).first()::1",
"api/manifests.py::apply_manifest::persistence::Project.query.get(data.get('project_id'))::1",
"api/manifests.py::apply_manifest::persistence::db.session.commit()::1",
"api/manifests.py::get_manifest::persistence::ApplicationManifest.query.filter_by(project_id=project_id).first()::1",
"api/manifests.py::plan_manifest::persistence::Project.query.get(data.get('project_id'))::1",
"api/manifests.py::reset_bootstrap::persistence::Application.query_active().filter_by(id=data.get('app_id')).first()::1",
"api/manifests.py::reset_bootstrap::persistence::db.session.commit()::1",
"api/manifests.py::scaffold_manifest::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/mobile.py::get_mobile_summary::persistence::SecurityAlert.query.filter_by(resolved=False).count()::1",
"api/mobile.py::get_mobile_summary::persistence::Server.query.count()::1",
"api/mobile.py::get_offline_data::persistence::Server.query.limit(50).all()::1",
"api/mobile.py::register_push::persistence::User.query.get(user_id)::1",
"api/mobile.py::register_push::persistence::db.session.commit()::1",
"api/notifications.py::get_user_preferences::persistence::User.query.get(current_user_id)::1",
"api/notifications.py::test_user_notification::persistence::User.query.get(current_user_id)::1",
"api/notifications.py::unmute_own_email::persistence::User.query.get(current_user_id)::1",
"api/notifications.py::update_user_preferences::persistence::db.session.commit()::1",
"api/previews.py::_get_app_or_404::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/previews.py::destroy_preview::persistence::ApplicationPreview.query.filter_by(id=preview_id, application_id=app_id).first()::1",
"api/previews.py::list_previews::persistence::ApplicationPreview.query.filter(ApplicationPreview.application_id == app_id, ApplicationPreview.status != ApplicationPreview.STATUS_DESTROYED).order_by(ApplicationPreview.pr_number.desc()).all()::1",
"api/previews.py::redeploy_preview::persistence::ApplicationPreview.query.filter_by(id=preview_id, application_id=app_id).first()::1",
"api/private_urls.py::disable_private_url::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/private_urls.py::disable_private_url::persistence::User.query.get(current_user_id)::1",
"api/private_urls.py::disable_private_url::persistence::db.session.commit()::1",
"api/private_urls.py::enable_private_url::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/private_urls.py::enable_private_url::persistence::User.query.get(current_user_id)::1",
"api/private_urls.py::enable_private_url::persistence::db.session.commit()::1",
"api/private_urls.py::get_private_url::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/private_urls.py::get_private_url::persistence::User.query.get(current_user_id)::1",
"api/private_urls.py::regenerate_private_url::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/private_urls.py::regenerate_private_url::persistence::User.query.get(current_user_id)::1",
"api/private_urls.py::regenerate_private_url::persistence::db.session.commit()::1",
"api/private_urls.py::resolve_private_url::persistence::Application.query_active().filter_by(private_slug=slug, private_url_enabled=True).first()::1",
"api/private_urls.py::update_private_url::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/private_urls.py::update_private_url::persistence::User.query.get(current_user_id)::1",
"api/private_urls.py::update_private_url::persistence::db.session.commit()::1",
"api/projects.py::_accessible_workspace_ids::persistence::Workspace.query.all()::1",
"api/proxy.py::_require_server::persistence::Server.query.get(server_id)::1",
"api/python.py::create_django_app::persistence::db.session.add(app)::1",
"api/python.py::create_django_app::persistence::db.session.commit()::1",
"api/python.py::create_flask_app::persistence::db.session.add(app)::1",
"api/python.py::create_flask_app::persistence::db.session.commit()::1",
"api/python.py::delete_app::persistence::db.session.commit()::1",
"api/python.py::delete_app::persistence::db.session.delete(app)::1",
"api/python.py::get_app_or_404::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/python.py::get_app_or_404::persistence::User.query.get(current_user_id)::1",
"api/python.py::restart_app::persistence::db.session.commit()::1",
"api/python.py::start_app::persistence::db.session.commit()::1",
"api/python.py::stop_app::persistence::db.session.commit()::1",
"api/recipes.py::_normalized_recipe::persistence::ApplicationManifest.query.filter_by(project_id=project_id).first()::1",
"api/recipes.py::get_recipe_run::persistence::DeploymentJob.query.get(job_id)::1",
"api/recipes.py::start_recipe_run::persistence::Project.query.get(data.get('project_id'))::1",
"api/recipes.py::start_recipe_run::persistence::db.session.commit()::1",
"api/recipes.py::start_recipe_run::persistence::db.session.commit()::2",
"api/recipes.py::submit_recipe_handoff::persistence::DeploymentJob.query.get(job_id)::1",
"api/secrets_webhooks.py::create_vault::persistence::Workspace.query.get(explicit_ws)::1",
"api/servers.py::acknowledge_alert::persistence::SecurityAlert.query.get(alert_id)::1",
"api/servers.py::add_agent_version::persistence::db.session.add(version)::1",
"api/servers.py::add_agent_version::persistence::db.session.commit()::1",
"api/servers.py::compare_server_metrics::persistence::Server.query.get(server_id)::1",
"api/servers.py::compare_server_metrics::persistence::ServerMetrics.query.filter_by(server_id=server_id).order_by(ServerMetrics.timestamp.desc()).limit(limit).all()::1",
"api/servers.py::create_group::persistence::db.session.add(group)::1",
"api/servers.py::create_group::persistence::db.session.commit()::1",
"api/servers.py::create_server::persistence::Server.query.filter_by(workspace_id=ws_id).count()::1",
"api/servers.py::create_server::persistence::db.session.add(server)::1",
"api/servers.py::create_server::persistence::db.session.commit()::1",
"api/servers.py::create_server::persistence::db.session.commit()::2",
"api/servers.py::delete_group::persistence::ServerGroup.query.get(group_id)::1",
"api/servers.py::delete_group::persistence::db.session.commit()::1",
"api/servers.py::delete_group::persistence::db.session.delete(group)::1",
"api/servers.py::delete_server::persistence::Server.query.get(server_id)::1",
"api/servers.py::delete_server::persistence::db.session.commit()::1",
"api/servers.py::delete_server::persistence::db.session.delete(server)::1",
"api/servers.py::get_allowed_ips::persistence::Server.query.get(server_id)::1",
"api/servers.py::get_command_history::persistence::Server.query.get(server_id)::1",
"api/servers.py::get_command_history::persistence::ServerCommand.query.filter_by(server_id=server_id).order_by(ServerCommand.created_at.desc()).limit(limit).all()::1",
"api/servers.py::get_connection_info::persistence::AgentSession.query.filter_by(server_id=server_id, is_active=True).first()::1",
"api/servers.py::get_connection_info::persistence::Server.query.get(server_id)::1",
"api/servers.py::get_group::persistence::ServerGroup.query.get(group_id)::1",
"api/servers.py::get_install_instructions::persistence::Server.query.get(server_id)::1",
"api/servers.py::get_server::persistence::Server.query.get(server_id)::1",
"api/servers.py::get_server::persistence::db.session.commit()::1",
"api/servers.py::get_server::persistence::db.session.rollback()::1",
"api/servers.py::get_server_metrics::persistence::Server.query.get(server_id)::1",
"api/servers.py::get_server_metrics::persistence::ServerMetrics.query.filter_by(server_id=server_id)::1",
"api/servers.py::get_server_onboarding_status::persistence::Server.query.get(server_id)::1",
"api/servers.py::get_server_security_alerts::persistence::Server.query.get(server_id)::1",
"api/servers.py::get_server_status::persistence::Server.query.get(server_id)::1",
"api/servers.py::get_servers_overview::persistence::Server.query.options(joinedload(Server.group)).all()::1",
"api/servers.py::list_agent_versions::persistence::AgentVersion.query.order_by(AgentVersion.version.desc()).all()::1",
"api/servers.py::list_groups::persistence::ServerGroup.query.all()::1",
"api/servers.py::ping_server::persistence::Server.query.get(server_id)::1",
"api/servers.py::regenerate_token::persistence::Server.query.get(server_id)::1",
"api/servers.py::regenerate_token::persistence::db.session.commit()::1",
"api/servers.py::register_agent::persistence::Server.query.filter(Server.registration_token_hash.isnot(None)).all()::1",
"api/servers.py::register_agent::persistence::db.session.commit()::1",
"api/servers.py::resolve_alert::persistence::SecurityAlert.query.get(alert_id)::1",
"api/servers.py::retry_server_onboarding::persistence::Server.query.get(server_id)::1",
"api/servers.py::rotate_api_key::persistence::Server.query.get(server_id)::1",
"api/servers.py::rotate_api_key::persistence::db.session.commit()::1",
"api/servers.py::set_server_workspace::persistence::Server.query.filter_by(workspace_id=ws.id).count()::1",
"api/servers.py::set_server_workspace::persistence::Server.query.get(server_id)::1",
"api/servers.py::set_server_workspace::persistence::Workspace.query.get(target)::1",
"api/servers.py::set_server_workspace::persistence::db.session.commit()::1",
"api/servers.py::start_server_onboarding::persistence::Server.query.get(server_id)::1",
"api/servers.py::trigger_agent_update::persistence::Server.query.get(server_id)::1",
"api/servers.py::update_allowed_ips::persistence::Server.query.get(server_id)::1",
"api/servers.py::update_allowed_ips::persistence::db.session.commit()::1",
"api/servers.py::update_group::persistence::ServerGroup.query.get(group_id)::1",
"api/servers.py::update_group::persistence::db.session.commit()::1",
"api/servers.py::update_server::persistence::Server.query.get(server_id)::1",
"api/servers.py::update_server::persistence::db.session.commit()::1",
"api/servers.py::upgrade_fleet::persistence::Server.query.filter_by(status='online').all()::1",
"api/shared_resources.py::_check_resource_write::persistence::ManagedDatabase.query_active().filter_by(id=int(resource_id)).first()::1",
"api/shared_resources.py::_check_resource_write::persistence::Server.query.get(str(resource_id))::1",
"api/shared_resources.py::_resolve_app::persistence::Application.query_active().filter_by(id=rid).first()::1",
"api/shared_resources.py::_resolve_app::persistence::Application.query_active().filter_by(id=site.application_id).first()::1",
"api/shared_resources.py::_resolve_app::persistence::WordPressSite.query.get(rid)::1",
"api/shared_resources.py::_scope_workspace_id::persistence::Environment.query.get(sid)::1",
"api/shared_resources.py::_scope_workspace_id::persistence::Project.query.get(env.project_id)::1",
"api/shared_resources.py::_scope_workspace_id::persistence::Project.query.get(sid)::1",
"api/shared_resources.py::_scope_workspace_id::persistence::Workspace.query.get(sid)::1",
"api/shared_resources.py::delete_variable::persistence::SharedVariable.query.get(variable_id)::1",
"api/shared_resources.py::update_variable::persistence::SharedVariable.query.get(variable_id)::1",
"api/site_imports.py::run_import::persistence::db.session.commit()::1",
"api/snapshots.py::_get_app_or_404::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/snapshots.py::_get_snapshot_or_404::persistence::DeploymentSnapshot.query.filter_by(id=snap_id, application_id=app_id).first()::1",
"api/snapshots.py::diff_snapshot::persistence::DeploymentSnapshot.query.filter(DeploymentSnapshot.application_id == app_id, DeploymentSnapshot.created_at < snap.created_at).order_by(DeploymentSnapshot.created_at.desc(), DeploymentSnapshot.id.desc()).first()::1",
"api/snapshots.py::list_snapshots::persistence::DeploymentSnapshot.query.filter_by(application_id=app_id).order_by(DeploymentSnapshot.created_at.desc(), DeploymentSnapshot.id.desc()).limit(limit).all()::1",
"api/sso.py::_complete_sso_login::persistence::db.session.commit()::1",
"api/sso.py::_complete_sso_login::persistence::db.session.commit()::2",
"api/sso.py::link_provider::persistence::OAuthIdentity.query.filter_by(provider=provider, provider_user_id=profile['provider_user_id']).first()::1",
"api/sso.py::list_identities::persistence::OAuthIdentity.query.filter_by(user_id=user_id).all()::1",
"api/survey.py::diff_surveys._load::persistence::ServerSurvey.query.filter_by(id=int(raw), server_id=server_id).first()::1",
"api/survey.py::get_survey::persistence::ServerSurvey.query.filter_by(id=survey_id, server_id=server_id).first()::1",
"api/survey.py::list_surveys::persistence::Server.query.get(server_id)::1",
"api/survey.py::observed_status::persistence::Server.query.get(server_id)::1",
"api/survey.py::run_survey::persistence::Server.query.get(server_id)::1",
"api/survey.py::set_management_mode::persistence::Server.query.get(server_id)::1",
"api/survey.py::set_management_mode::persistence::db.session.commit()::1",
"api/system.py::get_host_snapshot_history::persistence::HostSnapshot.query.order_by(HostSnapshot.captured_at.desc(), HostSnapshot.id.desc()).limit(limit).all()::1",
"api/system.py::get_system_notices::persistence::User.query.get(current_user_id)::1",
"api/telemetry.py::list_event_types::persistence::db.session.query(SystemEvent.event_type)::1",
"api/telemetry.py::list_sources::persistence::db.session.query(SystemEvent.source)::1",
"api/templates.py::check_app_update::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/templates.py::check_app_update::persistence::User.query.get(current_user_id)::1",
"api/templates.py::get_app_template_info::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/templates.py::get_app_template_info::persistence::User.query.get(current_user_id)::1",
"api/templates.py::update_app::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/templates.py::validate_installation::persistence::Application.query.filter_by(name=app_name).first()::1",
"api/two_factor.py::confirm_2fa_setup::persistence::User.query.get(current_user_id)::1",
"api/two_factor.py::disable_2fa::persistence::User.query.get(current_user_id)::1",
"api/two_factor.py::get_2fa_status::persistence::User.query.get(current_user_id)::1",
"api/two_factor.py::initiate_2fa_setup::persistence::User.query.get(current_user_id)::1",
"api/two_factor.py::regenerate_backup_codes::persistence::User.query.get(current_user_id)::1",
"api/two_factor.py::verify_2fa_code::persistence::db.session.commit()::1",
"api/two_factor.py::verify_2fa_code::persistence::db.session.commit()::2",
"api/two_factor.py::verify_2fa_code::persistence::db.session.commit()::3",
"api/waf.py::_get_application_or_404::persistence::Application.query_active().filter_by(id=app_id).first()::1",
"api/webhooks.py::receive_pull_request::persistence::ApplicationPreview.query.filter_by(application_id=webhook.app_id, pr_number=pr.get('pr_number')).first()::1",
"api/webhooks.py::receive_pull_request::persistence::GitWebhook.query.filter_by(webhook_token=token).first()::1"
]
}