-- Dokumentation, siehe README.md. Wird zur Laufzeit idempotent von
-- internal/storage/sftp_credentials.go initSFTPCredentialsSchema() erzeugt.

-- Per-Mandant-Zugangsdaten fuer den eingebetteten SFTP-Server
-- (internal/sftpserver). Bewusst getrennt von `users`: ein SFTP-Zugang ist
-- ein eigenstaendiges, jederzeit widerrufbares Credential, kein volles
-- Login-Konto.
CREATE TABLE IF NOT EXISTS sftp_credentials (
    id            BIGSERIAL PRIMARY KEY,
    tenant_id     BIGINT NOT NULL,
    username      TEXT NOT NULL UNIQUE,
    password_hash TEXT NOT NULL,  -- bcrypt, analog users.password_hash
    active        BOOLEAN NOT NULL DEFAULT true,
    created_at    TIMESTAMPTZ NOT NULL DEFAULT now(),
    last_login_at TIMESTAMPTZ
);
CREATE INDEX IF NOT EXISTS idx_sftp_credentials_tenant ON sftp_credentials(tenant_id);
