58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
);
drop table if exists parsav_rights cascade;
create table parsav_rights (
key text,
actor bigint references parsav_actors(id)
on delete cascade,
allow boolean,
primary key (key,actor)
);
insert into parsav_actors (handle,rank,quota) values (:'admin',1,0);
insert into parsav_rights (actor,key,allow)
select (select id from parsav_actors where handle=:'admin'), a.column1, a.column2 from (values
('ban',true),
('config',true),
('censor',true),
('suspend',true),
('rebrand',true)
) as a;
drop table if exists parsav_posts cascade;
create table parsav_posts (
id bigint primary key default (1+random()*(2^63-1))::bigint,
author bigint references parsav_actors(id)
|
|
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
);
drop table if exists parsav_rights cascade;
create table parsav_rights (
key text,
actor bigint references parsav_actors(id)
on delete cascade,
allow boolean not null,
scope bigint, -- for future expansion
primary key (key,actor)
);
insert into parsav_actors (handle,rank,quota) values (:'admin',1,0);
insert into parsav_rights (actor,key,allow)
select (select id from parsav_actors where handle=:'admin'), a.column1, a.column2 from (values
('purge',true),
('config',true),
('censor',true),
('suspend',true),
('cred',true),
('elevate',true),
('demote',true),
('rebrand',true)
) as a;
drop table if exists parsav_posts cascade;
create table parsav_posts (
id bigint primary key default (1+random()*(2^63-1))::bigint,
author bigint references parsav_actors(id)
|