Files
story/migrations/000028_rtc_credential_metadata.up.sql

18 lines
555 B
PL/PgSQL

BEGIN;
ALTER TABLE rtc_task
ADD COLUMN credential_issued_at timestamptz NOT NULL DEFAULT now(),
ADD COLUMN credential_expires_at timestamptz NOT NULL DEFAULT (now() + interval '5 minutes');
UPDATE rtc_task rt
SET credential_issued_at = rt.created_at,
credential_expires_at = GREATEST(c.allocation_expires_at, rt.created_at + interval '1 second')
FROM conversation c
WHERE c.id = rt.conversation_id;
ALTER TABLE rtc_task
ADD CONSTRAINT rtc_credential_expiry_after_issue
CHECK (credential_expires_at > credential_issued_at);
COMMIT;