participer.thsf.net/participate.sql

108 lines
6.0 KiB
SQL

\echo ******************************
\echo * Dropping database participer_thsf
\echo ******************************
\c postgres;
drop database participer_thsf;
\echo **************************
\echo * Dropping role participer_thsf
\echo **************************
drop role participer_thsf;
\echo ***************************************************
\echo * Creating role participer_thsf with password participer_thsf
\echo ***************************************************
create role participer_thsf with LOGIN ENCRYPTED PASSWORD 'participer_thsf';
\echo ******************************
\echo * Creating database participer_thsf
\echo ******************************
create database participer_thsf;
\echo *******************************************
\echo * Giving participer_thsf ownership to participer_thsf
\echo *******************************************
alter database participer_thsf owner to participer_thsf;
\echo *********************************
\echo * Creating participer_thsf_users table
\echo *********************************
\c participer_thsf;
CREATE TABLE participer_thsf_users (
id serial primary key,
mail text not NULL,
password text not NULL,
name text,
phone text,
diet text,
is_admin integer not NULL
);
\echo *********************************
\echo * Creating participer_thsf_roles table
\echo *********************************
CREATE TABLE participer_thsf_roles (
id serial primary key,
role text not NULL,
description text not NULL
);
\echo *********************************
\echo * Creating participer_thsf_turns table
\echo *********************************
CREATE TYPE dow AS ENUM ('Jeudi', 'Vendredi', 'Samedi', 'Dimanche');
CREATE TABLE participer_thsf_turns (
id serial primary key,
role_id integer not NULL,
user_id integer,
wday dow not NULL,
start_time time not NULL,
end_time time not NULL,
constraint fk_turns_role
foreign key (role_id)
REFERENCES participer_thsf_roles (id),
constraint fk_turns_user
foreign key (user_id)
REFERENCES participer_thsf_users (id)
);
\echo *************************************************
\echo * Giving participer_thsf_users ownership to participer_thsf
\echo *************************************************
alter table participer_thsf_users owner to participer_thsf;
\echo *************************************************
\echo * Giving participer_thsf_roles ownership to participer_thsf
\echo *************************************************
alter table participer_thsf_roles owner to participer_thsf;
\echo *************************************************
\echo * Giving participer_thsf_turns ownership to participer_thsf
\echo *************************************************
alter table participer_thsf_turns owner to participer_thsf;
\echo *********************************************************************
\echo * Inserting user demo identified by password demo to participer_thsf_users
\echo *********************************************************************
insert into participer_thsf_users (mail, password, name, phone, diet, is_admin) values ('bofh@tetalab.org',
'$2b$12$wm7PQ9IE7TYGYk1XB11mPusq7HsjYLYxt5G4v5Wz.jZbh5iWDHP5q',
'BOFH',
'0000000000',
'Omnivore',
1);
\echo *********************************************************************
\echo * Inserting roles to participer_thsf_roles
\echo *********************************************************************
insert into participer_thsf_roles (role, description) values ('Préparation/Installation/signalétique', 'Fermeture des zones inaccessibles au public|Prépa buvette : allumage tireuses et frigos 4h avant ouverture + approvisionnement des bars en produits destinés à la vente|Préparation des différents postes / stands selon besoins : PLN, billetterie, T-Shirts...|Prépa toilettes public : aspiration/pompage, nettoyage à grandes eaux, remplissage du produit, changement poubelles, approvisionnement PQ|Nettoyage lieu, réapprovisionnement poubelles aux endroits stratégiques');
insert into participer_thsf_roles (role, description) values ('Volante', 'veille à la sécurité du lieu : rondes, surveillance accès, gestion de crises, messager, remplaçant, etc... (collaboration avec référent staff)|Ramassage verre, check PQ, ménage ponctuel|Sur le dernier créneau horaire, nettoyage de deux blocs WC|Au moins une personne connaissant bien Myrys sur chaque créneau horaire');
insert into participer_thsf_roles (role, description) values ('P.L.N', 'Accueil public, explication du concept de PLN, tampons (si besoin)|Informer et guider le public (prog, espaces, toilettes,...)|Comptage du public');
insert into participer_thsf_roles (role, description) values ('Buvette','Service au bar et encaissement (caisse ou tickets boisson selon besoins)|Nettoyage régulier : bar, tireuses, cendriers, verres abandonnés...');
insert into participer_thsf_roles (role, description) values ('Billeterie','Vente de tickets boisson / 1 ticket = 2,50 €|Poinçonnage des cartes VIP. 1 poinçon = 1 ticket = 1 euros|Tickets valables sur les 4 jours mais NON REMBOURSABLES');
insert into participer_thsf_roles (role, description) values ('Catering', 'Vérification de l''accès au catering (badge)|Service à l''assiette si besoin, gestion des quantités, réapprovisionnement du buffet|Maintenir la propreté des espaces catering (cuisine, buffet, tables, salle d''AG, tables extérieures, jardins)|Informer / rappeler le principe d''autogestion pour la vaisselle');
insert into participer_thsf_roles (role, description) values ('Ménage', 'Nettoyage général à la fermeture du lieu : ramasser verres / déchets / cendriers, sortir poubelles, cleaner surfaces (bar, stand,...) + balai');