mirror of https://github.com/sipwise/db-schema.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
170 lines
6.6 KiB
170 lines
6.6 KiB
set autocommit=0;
|
|
use provisioning;
|
|
|
|
DROP TABLE voip_mail_to_fax_acl;
|
|
DROP TABLE voip_mail_to_fax_secret_renew_notify;
|
|
DROP TABLE voip_mail_to_fax_preferences;
|
|
DROP TABLE voip_fax_journal;
|
|
|
|
DELIMITER ;;
|
|
CREATE TRIGGER voip_faxd_crepl_trig AFTER INSERT ON voip_fax_destinations
|
|
FOR EACH ROW BEGIN
|
|
DECLARE subscriber_username varchar(127);
|
|
DECLARE subscriber_domain varchar(127);
|
|
DECLARE os_subscriber_id int(10) UNSIGNED;
|
|
|
|
SELECT a.username, b.domain INTO subscriber_username, subscriber_domain
|
|
FROM voip_subscribers a, voip_domains b
|
|
WHERE a.id <=> NEW.subscriber_id
|
|
AND b.id = a.domain_id;
|
|
|
|
SELECT id INTO os_subscriber_id FROM kamailio.subscriber
|
|
WHERE username <=> subscriber_username AND domain <=> subscriber_domain;
|
|
|
|
INSERT INTO kamailio.fax_destinations (subscriber_id, destination, filetype,
|
|
cc, incoming, outgoing, status)
|
|
VALUES(os_subscriber_id, NEW.destination, NEW.filetype,
|
|
IF(NEW.cc, 'true', 'false'), IF(NEW.incoming, 'true', 'false'),
|
|
IF(NEW.outgoing, 'true', 'false'), IF(NEW.status, 'true', 'false'));
|
|
|
|
END;;
|
|
DELIMITER ;
|
|
|
|
DELIMITER ;;
|
|
CREATE TRIGGER voip_faxd_urepl_trig AFTER UPDATE ON voip_fax_destinations
|
|
FOR EACH ROW BEGIN
|
|
DECLARE subscriber_username varchar(127);
|
|
DECLARE subscriber_domain varchar(127);
|
|
DECLARE os_subscriber_id int(10) UNSIGNED;
|
|
DECLARE old_subscriber_username varchar(127);
|
|
DECLARE old_subscriber_domain varchar(127);
|
|
DECLARE old_os_subscriber_id int(10) UNSIGNED;
|
|
|
|
SELECT a.username, b.domain INTO subscriber_username, subscriber_domain
|
|
FROM voip_subscribers a, voip_domains b
|
|
WHERE a.id <=> NEW.subscriber_id
|
|
AND b.id <=> a.domain_id;
|
|
|
|
SELECT id INTO os_subscriber_id FROM kamailio.subscriber
|
|
WHERE username <=> subscriber_username AND domain <=> subscriber_domain;
|
|
|
|
SELECT a.username, b.domain INTO old_subscriber_username, old_subscriber_domain
|
|
FROM voip_subscribers a, voip_domains b
|
|
WHERE a.id <=> OLD.subscriber_id
|
|
AND b.id <=> a.domain_id;
|
|
|
|
SELECT id INTO old_os_subscriber_id FROM kamailio.subscriber
|
|
WHERE username <=> old_subscriber_username AND domain <=> old_subscriber_domain;
|
|
|
|
UPDATE kamailio.fax_destinations SET subscriber_id = os_subscriber_id, destination = NEW.destination,
|
|
filetype = NEW.filetype, cc = IF(NEW.cc, 'true', 'false'),
|
|
incoming = IF(NEW.incoming, 'true', 'false'),
|
|
outgoing = IF(NEW.outgoing, 'true', 'false'),
|
|
status = IF(NEW.status, 'true', 'false')
|
|
WHERE subscriber_id <=> old_os_subscriber_id
|
|
AND destination <=> OLD.destination;
|
|
|
|
END;;
|
|
DELIMITER ;
|
|
|
|
DELIMITER ;;
|
|
CREATE TRIGGER voip_faxd_drepl_trig BEFORE DELETE ON voip_fax_destinations
|
|
FOR EACH ROW BEGIN
|
|
DECLARE old_subscriber_username varchar(127);
|
|
DECLARE old_subscriber_domain varchar(127);
|
|
DECLARE old_os_subscriber_id int(10) UNSIGNED;
|
|
|
|
SELECT a.username, b.domain INTO old_subscriber_username, old_subscriber_domain
|
|
FROM voip_subscribers a, voip_domains b
|
|
WHERE a.id <=> OLD.subscriber_id
|
|
AND b.id <=> a.domain_id;
|
|
|
|
SELECT id INTO old_os_subscriber_id FROM kamailio.subscriber
|
|
WHERE username <=> old_subscriber_username AND domain <=> old_subscriber_domain;
|
|
|
|
DELETE FROM kamailio.fax_destinations WHERE subscriber_id <=> old_os_subscriber_id
|
|
AND destination <=> OLD.destination;
|
|
|
|
END;;
|
|
DELIMITER ;
|
|
|
|
DELIMITER ;;
|
|
CREATE TRIGGER voip_faxp_crepl_trig AFTER INSERT ON voip_fax_preferences
|
|
FOR EACH ROW BEGIN
|
|
DECLARE subscriber_username varchar(127);
|
|
DECLARE subscriber_domain varchar(127);
|
|
DECLARE os_subscriber_id int(10) UNSIGNED;
|
|
|
|
SELECT a.username, b.domain INTO subscriber_username, subscriber_domain
|
|
FROM voip_subscribers a, voip_domains b
|
|
WHERE a.id <=> NEW.subscriber_id
|
|
AND b.id <=> a.domain_id;
|
|
|
|
SELECT id INTO os_subscriber_id FROM kamailio.subscriber
|
|
WHERE username <=> subscriber_username AND domain <=> subscriber_domain;
|
|
|
|
INSERT INTO kamailio.fax_preferences
|
|
(subscriber_id, password, name, active, send_status, send_copy)
|
|
VALUES(os_subscriber_id, NEW.password, NEW.name, IF(NEW.active, 'true', 'false'),
|
|
IF(NEW.send_status, 'true', 'false'), IF(NEW.send_copy, 'true', 'false'));
|
|
|
|
END;;
|
|
DELIMITER ;
|
|
|
|
DELIMITER ;;
|
|
CREATE TRIGGER voip_faxp_urepl_trig AFTER UPDATE ON voip_fax_preferences
|
|
FOR EACH ROW BEGIN
|
|
DECLARE subscriber_username varchar(127);
|
|
DECLARE subscriber_domain varchar(127);
|
|
DECLARE os_subscriber_id int(10) UNSIGNED;
|
|
DECLARE old_subscriber_username varchar(127);
|
|
DECLARE old_subscriber_domain varchar(127);
|
|
DECLARE old_os_subscriber_id int(10) UNSIGNED;
|
|
|
|
SELECT a.username, b.domain INTO subscriber_username, subscriber_domain
|
|
FROM voip_subscribers a, voip_domains b
|
|
WHERE a.id <=> NEW.subscriber_id
|
|
AND b.id <=> a.domain_id;
|
|
|
|
SELECT id INTO os_subscriber_id FROM kamailio.subscriber
|
|
WHERE username <=> subscriber_username AND domain <=> subscriber_domain;
|
|
|
|
SELECT a.username, b.domain INTO old_subscriber_username, old_subscriber_domain
|
|
FROM voip_subscribers a, voip_domains b
|
|
WHERE a.id <=> OLD.subscriber_id
|
|
AND b.id <=> a.domain_id;
|
|
|
|
SELECT id INTO old_os_subscriber_id FROM kamailio.subscriber
|
|
WHERE username <=> old_subscriber_username AND domain <=> old_subscriber_domain;
|
|
|
|
UPDATE kamailio.fax_preferences SET subscriber_id = os_subscriber_id, password = NEW.password,
|
|
name = NEW.name, active = IF(NEW.active, 'true', 'false'),
|
|
send_status = IF(NEW.send_status, 'true', 'false'),
|
|
send_copy = IF(NEW.send_copy, 'true', 'false')
|
|
WHERE subscriber_id <=> old_os_subscriber_id;
|
|
|
|
END;;
|
|
DELIMITER ;
|
|
|
|
DELIMITER ;;
|
|
CREATE TRIGGER voip_faxp_drepl_trig BEFORE DELETE ON voip_fax_preferences
|
|
FOR EACH ROW BEGIN
|
|
DECLARE old_subscriber_username varchar(127);
|
|
DECLARE old_subscriber_domain varchar(127);
|
|
DECLARE old_os_subscriber_id int(10) UNSIGNED;
|
|
|
|
SELECT a.username, b.domain INTO old_subscriber_username, old_subscriber_domain
|
|
FROM voip_subscribers a, voip_domains b
|
|
WHERE a.id <=> OLD.subscriber_id
|
|
AND b.id <=> a.domain_id;
|
|
|
|
SELECT id INTO old_os_subscriber_id FROM kamailio.subscriber
|
|
WHERE username <=> old_subscriber_username AND domain <=> old_subscriber_domain;
|
|
|
|
DELETE FROM kamailio.fax_preferences WHERE subscriber_id <=> old_os_subscriber_id;
|
|
|
|
END;;
|
|
DELIMITER ;
|
|
|
|
commit;
|