From b361849902f4eb1ed3911ed82238adecb9f410ef Mon Sep 17 00:00:00 2001 From: Dessalines Date: Tue, 23 Nov 2021 11:00:17 -0500 Subject: [PATCH] First pass at invite-only migration. --- .../down.sql | 11 +++++++++++ .../up.sql | 19 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 migrations/2021-11-23-153753_add_invite_only_columns/down.sql create mode 100644 migrations/2021-11-23-153753_add_invite_only_columns/up.sql diff --git a/migrations/2021-11-23-153753_add_invite_only_columns/down.sql b/migrations/2021-11-23-153753_add_invite_only_columns/down.sql new file mode 100644 index 000000000..23531ad9c --- /dev/null +++ b/migrations/2021-11-23-153753_add_invite_only_columns/down.sql @@ -0,0 +1,11 @@ +-- This file should undo anything in `up.sql` +-- Add columns to site table +alter table site drop column require_application; +alter table site drop column require_email; +alter table site drop column application_question; + +-- Add pending to local_user +alter table local_user drop column accepted_application; +alter table local_user drop column verified_email; + +drop table registration_application; diff --git a/migrations/2021-11-23-153753_add_invite_only_columns/up.sql b/migrations/2021-11-23-153753_add_invite_only_columns/up.sql new file mode 100644 index 000000000..25272221f --- /dev/null +++ b/migrations/2021-11-23-153753_add_invite_only_columns/up.sql @@ -0,0 +1,19 @@ +-- Add columns to site table +alter table site add column require_application boolean not null default false; +alter table site add column require_email boolean not null default false; +alter table site add column application_question text; + +-- Add pending to local_user +alter table local_user add column accepted_application boolean not null default false; +alter table local_user add column verified_email boolean not null default false; + +create table registration_application ( + id serial primary key, + local_user_id int references local_user on update cascade on delete cascade not null, + answer text not null, + acceptor_id int references person on update cascade on delete cascade, + accepted boolean not null default false, + deny_reason text, + published timestamp not null default now(), + unique(local_user_id) +);