CREATE TABLE webdav_tokens ( id UUID PRIMARY KEY, user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, tenant_id UUID NOT NULL REFERENCES tenants(id) ON DELETE CASCADE, token_prefix TEXT NOT NULL, token_hash TEXT NOT NULL, label TEXT, scopes JSONB NOT NULL DEFAULT '["webdav"]'::jsonb, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), last_used_at TIMESTAMPTZ, expires_at TIMESTAMPTZ, revoked_at TIMESTAMPTZ ); CREATE UNIQUE INDEX webdav_tokens_token_prefix_key ON webdav_tokens(token_prefix); CREATE INDEX webdav_tokens_user_tenant_idx ON webdav_tokens(user_id, tenant_id);