Eerste commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
-- MijnBesluit - een beheerder
|
||||
--
|
||||
-- Er is één situatie waar niemand meer uit komt: een overlijden dat ten onrechte is bevestigd,
|
||||
-- terwijl de bezwaarlink uit de waarschuwingsmail is verlopen. Het account staat dan op
|
||||
-- "overleden", inloggen kan niet meer, en de enige weg terug is weg.
|
||||
--
|
||||
-- Daarvoor is een beheerder. Bewust zo klein mogelijk gehouden:
|
||||
--
|
||||
-- * een beheerder kan een profiel opzoeken op het VOLLEDIGE e-mailadres, niet op naam. Zoeken
|
||||
-- op naam zou een zoekmachine op mensen zijn - zie docs/Identiteit.md.
|
||||
-- * een beheerder kan een bevestigd overlijden terugdraaien, met een reden die wordt vastgelegd.
|
||||
-- * een beheerder kan GEEN kluis openen. Die handeling geeft nooit toegang, hij neemt alleen
|
||||
-- toegang weg.
|
||||
--
|
||||
-- Beheerder word je alleen hier, met de hand:
|
||||
-- UPDATE `users` SET `is_beheerder` = 1 WHERE `email` = 'jij@voorbeeld.nl';
|
||||
--
|
||||
-- Er is met opzet geen scherm om iemand beheerder te maken. Wat niet via de applicatie kan,
|
||||
-- kan ook niet via een lek in de applicatie.
|
||||
--
|
||||
-- Draaien met:
|
||||
-- mysql -u root -p mijnbesluit < db\11_beheerder.sql
|
||||
--
|
||||
-- Opnieuw draaien mag: er gebeurt dan niets.
|
||||
|
||||
USE `mijnbesluit`;
|
||||
|
||||
SET @bestaat := (
|
||||
SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'users' AND COLUMN_NAME = 'is_beheerder');
|
||||
|
||||
SET @sql := IF(@bestaat = 0,
|
||||
'ALTER TABLE `users` ADD COLUMN `is_beheerder` TINYINT(1) NOT NULL DEFAULT 0',
|
||||
'SELECT "is_beheerder bestaat al" AS melding');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
SELECT 'Klaar. Maak iemand beheerder met: UPDATE `users` SET `is_beheerder` = 1 WHERE `email` = ...' AS melding;
|
||||
Reference in New Issue
Block a user