pgadmin4/web/pgadmin/utils
Ashesh Vashi e4edcf2253
fix: SharedServer feature parity columns and write guards (#9835)
Add passexec_cmd, passexec_expiration, kerberos_conn, tags, and
post_connection_sql to SharedServer so non-owners get their own
per-user values instead of inheriting the owner's.  Drop the unused
db_res column which was never overlaid or writable by non-owners.

Key changes:
- New Alembic migration (sharedserver_feature_parity) adds 5 columns,
  drops db_res, cleans up orphaned records.  All operations idempotent.
- Overlay copies new fields from SharedServer instead of suppressing
- _owner_only_fields guard blocks non-owners from setting passexec_cmd,
  passexec_expiration, db_res, db_res_type via API
- Non-owners can set post_connection_sql (runs under their own creds)
- update_tags and flag_modified use sharedserver for non-owners
- update() response returns sharedserver tags for non-owners
- ServerManager passexec suppression with config.SERVER_MODE guard
- UI: post_connection_sql editable for non-owners (readonly only when
  connected, not when shared)
- SCHEMA_VERSION bumped to 51
- Comprehensive unit tests for overlay, write guards, and tag deltas
2026-04-13 15:03:31 +05:30
..
driver fix: SharedServer feature parity columns and write guards (#9835) 2026-04-13 15:03:31 +05:30
dynamic_registry Copyright updated for 2026 2026-01-05 13:33:45 +05:30
javascript Copyright updated for 2026 2026-01-05 13:33:45 +05:30
sqlautocomplete Copyright updated for 2026 2026-01-05 13:33:45 +05:30
tests Copyright updated for 2026 2026-01-05 13:33:45 +05:30
__init__.py fix: enforce data isolation and harden shared servers in server mode (#9830) 2026-04-09 18:32:59 +05:30
ajax.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
check_external_config_db.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
compile_template_name.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
constants.py Core LLM integration infrastructure to allow pgAdmin to connect to AI providers. #9641 2026-02-17 17:16:06 +05:30
crypto.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
csrf.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
csv_lib.py Updated entrypoint.sh to utilize the email-validator package for email validation. #7297 2024-07-18 11:05:37 +05:30
enhanced_log_rotation.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
exception.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
heartbeat.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
html.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
locker.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
master_password.py Ensure the saved passwords are decrypted with the correct encryption key for external authentication in server mode. #8435 2025-02-18 11:54:57 +05:30
menu.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
passexec.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
paths.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
preferences.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
route.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
security_headers.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
server_access.py fix: enforce data isolation and harden shared servers in server mode (#9830) 2026-04-09 18:32:59 +05:30
server_utils.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
session.py fix TypeError Exception in session.py 2026-03-09 12:21:36 +05:30
validation_utils.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30
versioned_template_loader.py Copyright updated for 2026 2026-01-05 13:33:45 +05:30