Auth Roles
One-to-many approach
Have a roles table, which has a many-to-one relationship with users:
create table roles (
id uuid primary key,
name text
);
create table permissions (
id uuid primary key,
access text,
roles_id uuid references roles
);
insert into roles (name) values ('admin')
insert into permissions (access) values ('canDeleteUsers');
Many-to-many approach
create table roles (
id uuid primary key,
name text
);
create table user_roles (
user_id uuid references users,
role_id uuid references roles,
unique (role_id, user_id)
);
insert into roles (name) values ('admin')
insert into user_roles (user_id, role_id) values ('123', 'abc');