
-- We don't explicitly instantiate the 'Canvasser' role since every user is
-- deemed to be a canvasser.


-- an 'Expert' is someone with expertise in one or more issues, who is
-- trusted to discuss those issues in detail with electors.
insert into roles (name) values ('Expert');


-- an 'Administrator' is someone entitled to broadly alter reference data
-- throughout the system.
insert into roles (name) values ('Administrator');


-- a 'Recruiter' is someone entitled to invite other people to become users
-- ('Canvassers'). A Recruiter is entitled to lock the account of anyone they
-- have recruited, recursively.
insert into roles (name) values ('Recruiter');


-- an 'Organiser' is someone who organises one or more local teams. An Organiser
-- is entitled to exclude any Canvasser from any team they organise.
insert into roles (name) values ('Organiser');


-- an 'Editor' is someone entitled to add and edit issues.
insert into roles (name) values ('Editor');

-- issue text is local; there may still in addition be a further link to more
-- information, but the basic issue text should be part of the issue record.
-- The text should fit on a phone screen without scrolling, so is reasonably
-- short.
alter table issues add column content varchar(1024);

-- an issue may be current or not current; when not current it is not deleted
-- from the system but kept because it may become current again later. Only
-- current issues are shown in the app. Typically not fewer than three and not
-- more than about seven issues should be current at any time.
alter table issues add column current boolean default false;

insert into issues (id, content, current) values ('Currency',
                                        'Scotland could keep the Pound, or use the Euro. But we could also set up a new currency of our own.',
                                                 true);

insert into issues (id, content, current) values ('Monarchy',
                                        'Scotland could keep the Queen. This is an issue to be decided after independence.',
                                                 true);

insert into issues (id, content, current) values ('Defence',
                                        'Scotland will not have nuclear weapons, and will probably not choose to engage in far-off wars. But we could remain members of NATO.',
                                                 true);


insert into options (id) values ('Yes');

insert into options (id) values ('No');

