mirror of
https://github.com/YunoHost-Apps/noalyss_ynh.git
synced 2024-09-03 19:46:20 +02:00
3a905a4a87
Update files from sources with last update on noalyss.eu
351 lines
5.1 KiB
PL/PgSQL
351 lines
5.1 KiB
PL/PgSQL
|
|
SET statement_timeout = 0;
|
|
SET client_encoding = 'UTF8';
|
|
SET standard_conforming_strings = on;
|
|
SET check_function_bodies = false;
|
|
SET client_min_messages = warning;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SET search_path = public, pg_catalog;
|
|
|
|
|
|
CREATE FUNCTION limit_user() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
|
|
begin
|
|
NEW.ac_user := substring(NEW.ac_user from 1 for 80);
|
|
return NEW;
|
|
end; $$;
|
|
|
|
|
|
|
|
CREATE FUNCTION upgrade_repo(p_version integer) RETURNS void
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
declare
|
|
is_mono integer;
|
|
begin
|
|
select count (*) into is_mono from information_schema.tables where table_name='repo_version';
|
|
if is_mono = 1 then
|
|
update repo_version set val=p_version;
|
|
else
|
|
update version set val=p_version;
|
|
end if;
|
|
end;
|
|
$$;
|
|
|
|
|
|
SET default_tablespace = '';
|
|
|
|
SET default_with_oids = false;
|
|
|
|
|
|
CREATE TABLE ac_dossier (
|
|
dos_id integer DEFAULT nextval(('dossier_id'::text)::regclass) NOT NULL,
|
|
dos_name text NOT NULL,
|
|
dos_description text,
|
|
dos_email integer DEFAULT (-1)
|
|
);
|
|
|
|
|
|
|
|
COMMENT ON COLUMN ac_dossier.dos_email IS 'Max emails per day : 0 none , -1 unlimited or max value';
|
|
|
|
|
|
|
|
CREATE TABLE ac_users (
|
|
use_id integer DEFAULT nextval(('users_id'::text)::regclass) NOT NULL,
|
|
use_first_name text,
|
|
use_name text,
|
|
use_login text NOT NULL,
|
|
use_active integer DEFAULT 0,
|
|
use_pass text,
|
|
use_admin integer DEFAULT 0,
|
|
use_email text,
|
|
CONSTRAINT ac_users_use_active_check CHECK (((use_active = 0) OR (use_active = 1)))
|
|
);
|
|
|
|
|
|
|
|
COMMENT ON COLUMN ac_users.use_email IS 'Email of the user';
|
|
|
|
|
|
|
|
CREATE TABLE audit_connect (
|
|
ac_id integer NOT NULL,
|
|
ac_user text,
|
|
ac_date timestamp without time zone DEFAULT now(),
|
|
ac_ip text,
|
|
ac_state text,
|
|
ac_module text,
|
|
ac_url text,
|
|
CONSTRAINT valid_state CHECK ((((ac_state = 'FAIL'::text) OR (ac_state = 'SUCCESS'::text)) OR (ac_state = 'AUDIT'::text)))
|
|
);
|
|
|
|
|
|
|
|
CREATE SEQUENCE audit_connect_ac_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
ALTER SEQUENCE audit_connect_ac_id_seq OWNED BY audit_connect.ac_id;
|
|
|
|
|
|
|
|
CREATE SEQUENCE dossier_id
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
CREATE TABLE dossier_sent_email (
|
|
id integer NOT NULL,
|
|
de_date character varying(8) NOT NULL,
|
|
de_sent_email integer NOT NULL,
|
|
dos_id integer NOT NULL
|
|
);
|
|
|
|
|
|
|
|
COMMENT ON TABLE dossier_sent_email IS 'Count the sent email by folder';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN dossier_sent_email.id IS 'primary key';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN dossier_sent_email.de_date IS 'Date YYYYMMDD';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN dossier_sent_email.de_sent_email IS 'Number of sent emails';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN dossier_sent_email.dos_id IS 'Link to ac_dossier';
|
|
|
|
|
|
|
|
CREATE SEQUENCE dossier_sent_email_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
ALTER SEQUENCE dossier_sent_email_id_seq OWNED BY dossier_sent_email.id;
|
|
|
|
|
|
|
|
CREATE TABLE jnt_use_dos (
|
|
jnt_id integer DEFAULT nextval(('seq_jnt_use_dos'::text)::regclass) NOT NULL,
|
|
use_id integer NOT NULL,
|
|
dos_id integer NOT NULL
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE modeledef (
|
|
mod_id integer DEFAULT nextval(('s_modid'::text)::regclass) NOT NULL,
|
|
mod_name text NOT NULL,
|
|
mod_desc text
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE progress (
|
|
p_id character varying(16) NOT NULL,
|
|
p_value numeric(5,2) NOT NULL,
|
|
p_created timestamp without time zone DEFAULT now()
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE recover_pass (
|
|
use_id bigint NOT NULL,
|
|
request text NOT NULL,
|
|
password text NOT NULL,
|
|
created_on timestamp with time zone,
|
|
created_host text,
|
|
recover_on timestamp with time zone,
|
|
recover_by text
|
|
);
|
|
|
|
|
|
|
|
CREATE SEQUENCE s_modid
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
CREATE SEQUENCE seq_jnt_use_dos
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
CREATE SEQUENCE seq_priv_user
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
CREATE TABLE theme (
|
|
the_name text NOT NULL,
|
|
the_filestyle text,
|
|
the_filebutton text
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE user_global_pref (
|
|
user_id text NOT NULL,
|
|
parameter_type text NOT NULL,
|
|
parameter_value text
|
|
);
|
|
|
|
|
|
|
|
COMMENT ON TABLE user_global_pref IS 'The user''s global parameter ';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN user_global_pref.user_id IS 'user''s login ';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN user_global_pref.parameter_type IS 'the type of parameter ';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN user_global_pref.parameter_value IS 'the value of parameter ';
|
|
|
|
|
|
|
|
CREATE SEQUENCE users_id
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
CREATE TABLE version (
|
|
val integer NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE INDEX audit_connect_ac_user ON audit_connect USING btree (ac_user);
|
|
|
|
|
|
|
|
CREATE INDEX fk_jnt_dos_id ON jnt_use_dos USING btree (dos_id);
|
|
|
|
|
|
|
|
CREATE INDEX fk_jnt_use_dos ON jnt_use_dos USING btree (use_id);
|
|
|
|
|
|
|
|
CREATE INDEX fki_ac_users_recover_pass_fk ON recover_pass USING btree (use_id);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|