mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-20 16:02:19 +00:00
e9e72fbbf8
* feat: edit scopes on existing API tokens Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix: address PR review feedback on token scope edit - add SECURITY DEFINER to notify_token_scopes_change so trigger fires under windmill_user/admin roles (cubic P1) - drop banned $bindable(default) on optional props (CLAUDE.md): make ScopesPicker.value and EditTokenScopesModal.open required - detect MCP only when *every* scope starts with mcp: so mixed/null-scope tokens fall back to standard picker without dropping non-mcp scopes - audit log scope payload via serde_json instead of Rust {:?} Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
19 lines
606 B
PL/PgSQL
19 lines
606 B
PL/PgSQL
-- Invalidate auth cache (across instances) when token scopes change.
|
|
-- Reuses the existing notify_token_invalidation channel handled in main.rs.
|
|
|
|
CREATE OR REPLACE FUNCTION notify_token_scopes_change()
|
|
RETURNS TRIGGER AS $$
|
|
BEGIN
|
|
IF OLD.scopes IS DISTINCT FROM NEW.scopes THEN
|
|
INSERT INTO notify_event (channel, payload)
|
|
VALUES ('notify_token_invalidation', NEW.token_prefix);
|
|
END IF;
|
|
RETURN NEW;
|
|
END;
|
|
$$ LANGUAGE plpgsql SECURITY DEFINER;
|
|
|
|
CREATE TRIGGER token_scopes_update_trigger
|
|
AFTER UPDATE OF scopes ON token
|
|
FOR EACH ROW
|
|
EXECUTE FUNCTION notify_token_scopes_change();
|