—
Actieve gebruikers
3
Nieuwsberichten
4
Agenda-items
14
Sponsors
Beschikbare modules
📰 Nieuwsberichten
| Titel | Datum | Status | Acties |
|---|---|---|---|
| Laden... | |||
Roostering
Diensten plannen, beschikbaarheid opgeven en weekoverzichten — dit module wordt binnenkort gebouwd!
In ontwikkeling · 15% gereed
Personeelsportaal
Medewerkers- en vrijwilligersbeheer, contactinfo, contracten en taakverdeling.
Gepland · 5% gereed
Bestandsbeheer
Documenten uploaden, ordenen per categorie en delen met specifieke medewerkers.
In planning · 10% gereed
🎭 Rolverdeling
Laden...
👤 Gebruikers
| Naam | Rol | Status | Aangemaakt | Acties |
|---|---|---|---|---|
| Laden... | ||||
⚙️ Supabase verbinding
Alleen lokaal opgeslagen in je browser. Nodig voor gebruikersbeheer.
🗄️ Database SQL
Voer dit eenmalig uit in de Supabase SQL Editor als je de database nog niet hebt ingesteld.
Toon setup SQL
-- Profielen
create table if not exists profielen (
id uuid references auth.users on delete cascade primary key,
naam text not null, actief boolean default true,
created_at timestamptz default now()
);
alter table profielen enable row level security;
create policy "eigen profiel" on profielen
for select using (auth.uid() = id);
create policy "bestuur leest alle profielen" on profielen
for select using (
(auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur'
);
-- Rol rechten
create table if not exists rol_rechten (
rol text not null, tegel text not null,
toegang boolean default false, primary key (rol, tegel)
);
alter table rol_rechten enable row level security;
create policy "authenticated leest rechten" on rol_rechten
for select using (auth.role() = 'authenticated');
create policy "bestuur beheert rechten" on rol_rechten
for all
using ((auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur')
with check ((auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur');
-- Standaard rechten
insert into rol_rechten (rol, tegel, toegang) values
('bestuur','website',true),('bestuur','roostering',true),
('bestuur','personeel',true),('bestuur','bestanden',true),('bestuur','gebruikers',true),
('administratie','website',true),('administratie','roostering',false),
('administratie','personeel',false),('administratie','bestanden',true),('administratie','gebruikers',false),
('vrijwilliger','website',false),('vrijwilliger','roostering',true),
('vrijwilliger','personeel',false),('vrijwilliger','bestanden',true),('vrijwilliger','gebruikers',false)
on conflict do nothing;