Tresore (SQL)

Geschrieben von Daniel von PhySonix

Zuletzt aktualisiert Vor 3 Monaten

Bei einem Tresor, allen Ordnern und Verbindungen die Zugriffssteuerung zurücksetzen

Mit folgendem SQL-Statement können Sie bei einem Tresor und allen Ordnern und Verbindungen in diesem Tresor die Zugriffssteuerung zurücksetzen.

Anschließend hat wieder jeder Benutzer Zugriff auf diesen Tresor, und Sie können nun erneut die Zugriffssteuerung definieren, oder auch den Tresor löschen.

Ersetzen Sie HIER DER NAME VON DEM TRESOR mit dem Namen des Tresors, bei dem die Zugriffssteuerung zurückgesetzt werden soll.

DO $$
DECLARE v_vault_id text;
BEGIN
    -- Select the vault_id by name
    SELECT id INTO v_vault_id
    FROM mt_doc_vault
    WHERE data->>'name' = 'HIER DER NAME VON DEM TRESOR';

    -- Update the vault itself
    UPDATE mt_doc_vault
    SET data = jsonb_set(data, '{accessControlEntries}', '[]'::jsonb, true)
    WHERE id = v_vault_id;

    -- Update all connections in that vault
    UPDATE mt_doc_vaultitem
    SET data = jsonb_set(data, '{accessControlEntries}', '[]'::jsonb, true)
    WHERE vault_id = v_vault_id;

    -- Update all folders in that vault
    UPDATE mt_doc_vaultfolder
    SET data = jsonb_set(data, '{accessControlEntries}', '[]'::jsonb, true)
    WHERE vault_id = v_vault_id;
END $$;