Initial commit
This commit is contained in:
24
server/migrations/000007_personal_data_purge.up.sql
Normal file
24
server/migrations/000007_personal_data_purge.up.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
ALTER TABLE queue_tickets
|
||||
ADD COLUMN personal_data_purged_at timestamptz,
|
||||
ALTER COLUMN phone_ciphertext DROP NOT NULL,
|
||||
ALTER COLUMN phone_nonce DROP NOT NULL,
|
||||
ALTER COLUMN phone_hmac DROP NOT NULL;
|
||||
|
||||
ALTER TABLE queue_tickets
|
||||
DROP CONSTRAINT queue_tickets_phone_nonce_check,
|
||||
DROP CONSTRAINT queue_tickets_phone_hmac_check,
|
||||
ADD CONSTRAINT queue_tickets_phone_pair_check CHECK (
|
||||
(phone_ciphertext IS NULL AND phone_nonce IS NULL AND phone_hmac IS NULL)
|
||||
OR (
|
||||
phone_ciphertext IS NOT NULL
|
||||
AND phone_nonce IS NOT NULL
|
||||
AND octet_length(phone_nonce) = 12
|
||||
AND phone_hmac IS NOT NULL
|
||||
AND phone_hmac ~ '^[0-9a-f]{64}$'
|
||||
)
|
||||
);
|
||||
|
||||
CREATE INDEX queue_tickets_personal_purge_idx
|
||||
ON queue_tickets (personal_data_purge_at, id)
|
||||
WHERE status IN ('COMPLETED', 'MISSED', 'CANCELED')
|
||||
AND personal_data_purged_at IS NULL;
|
||||
Reference in New Issue
Block a user