vdct / ProjetDuMois

GNU Affero General Public License v3.0
21 stars 11 forks source link

Fonction SQL get_points() #245

Closed flacombe closed 2 years ago

flacombe commented 2 years ago

La fonction SQL get_points est appelée par website/index.js ligne 332 n'est définie nulle part dans le projet. A quoi fait-elle normalement référence ?

PanierAvide commented 2 years ago

Elle fait référence à une fonction dans le fichier 13_points.sql dont j'ai un exemple ci-dessous. Un truc qui était généré automatiquement lors du project:update. C'est pas désormais géré par une table de métadonnées avec les infos de chaque projet ?


-- Function to get points for each type of contribution per project
-- Generated automatically by npm run project:update
CREATE OR REPLACE FUNCTION get_points(the_project VARCHAR, the_contrib VARCHAR) RETURNS INT AS $$
BEGIN
    RETURN CASE
        WHEN the_project = '2017-04_electionboard' AND the_contrib = 'add' THEN 3
        WHEN the_project = '2017-04_electionboard' AND the_contrib = 'edit' THEN 1
        WHEN the_project = '2017-04_electionboard' AND the_contrib = 'note' THEN 1
        WHEN the_project = '2018-07_substation' AND the_contrib = 'add' THEN 3
        WHEN the_project = '2018-07_substation' AND the_contrib = 'edit' THEN 2
        WHEN the_project = '2018-11_police' AND the_contrib = 'add' THEN 2
        WHEN the_project = '2018-11_police' AND the_contrib = 'edit' THEN 2
        WHEN the_project = '2020-03_evcharging' AND the_contrib = 'add' THEN 3
        WHEN the_project = '2020-03_evcharging' AND the_contrib = 'edit' THEN 1
        WHEN the_project = '2020-04_covid19' AND the_contrib = 'add' THEN 3
        WHEN the_project = '2020-04_covid19' AND the_contrib = 'edit' THEN 1
        WHEN the_project = '2020-09_aed' AND the_contrib = 'add' THEN 3
        WHEN the_project = '2020-09_aed' AND the_contrib = 'edit' THEN 1
        WHEN the_project = '2020-09_aed' AND the_contrib = 'note' THEN 1
        WHEN the_project = '2020-12_pole' AND the_contrib = 'add' THEN 3
        WHEN the_project = '2020-12_pole' AND the_contrib = 'edit' THEN 1
        WHEN the_project = '2020-12_pole' AND the_contrib = 'note' THEN 1
        ELSE 1
    END;
END;
$$ LANGUAGE plpgsql
IMMUTABLE LEAKPROOF;
flacombe commented 2 years ago

Effectivement, c'est peut-être un oubli quand j'ai supprimé cette fonction.

Je propose une PR