{-# LANGUAGE QuasiQuotes #-} module Simplex.Chat.Store.SQLite.Migrations.M20250729_member_contact_requests where import Database.SQLite.Simple (Query) import Database.SQLite.Simple.QQ (sql) m20250729_member_contact_requests :: Query m20250729_member_contact_requests :: Query m20250729_member_contact_requests = [sql| ALTER TABLE contacts ADD COLUMN grp_direct_inv_link BLOB; ALTER TABLE contacts ADD COLUMN grp_direct_inv_from_group_id INTEGER REFERENCES groups(group_id) ON DELETE SET NULL; ALTER TABLE contacts ADD COLUMN grp_direct_inv_from_group_member_id INTEGER REFERENCES group_members(group_member_id) ON DELETE SET NULL; ALTER TABLE contacts ADD COLUMN grp_direct_inv_from_member_conn_id INTEGER REFERENCES connections(connection_id) ON DELETE SET NULL; ALTER TABLE contacts ADD COLUMN grp_direct_inv_started_connection INTEGER NOT NULL DEFAULT 0; CREATE INDEX idx_contacts_grp_direct_inv_from_group_id ON contacts(grp_direct_inv_from_group_id); CREATE INDEX idx_contacts_grp_direct_inv_from_group_member_id ON contacts(grp_direct_inv_from_group_member_id); CREATE INDEX idx_contacts_grp_direct_inv_from_member_conn_id ON contacts(grp_direct_inv_from_member_conn_id); ALTER TABLE users ADD COLUMN auto_accept_member_contacts INTEGER NOT NULL DEFAULT 0; |] down_m20250729_member_contact_requests :: Query down_m20250729_member_contact_requests :: Query down_m20250729_member_contact_requests = [sql| ALTER TABLE users DROP COLUMN auto_accept_member_contacts; DROP INDEX idx_contacts_grp_direct_inv_from_group_id; DROP INDEX idx_contacts_grp_direct_inv_from_group_member_id; DROP INDEX idx_contacts_grp_direct_inv_from_member_conn_id; ALTER TABLE contacts DROP COLUMN grp_direct_inv_link; ALTER TABLE contacts DROP COLUMN grp_direct_inv_from_group_id; ALTER TABLE contacts DROP COLUMN grp_direct_inv_from_group_member_id; ALTER TABLE contacts DROP COLUMN grp_direct_inv_from_member_conn_id; ALTER TABLE contacts DROP COLUMN grp_direct_inv_started_connection; |]