blob: 3881925edd57f61b8a12953ff9cba782d31325b6 [file] [log] [blame]
--
-- Licensed to the Apache Software Foundation (ASF) under one
-- or more contributor license agreements. See the NOTICE file
-- distributed with this work for additional information
-- regarding copyright ownership. The ASF licenses this file
-- to you under the Apache License, Version 2.0 (the
-- "License"); you may not use this file except in compliance
-- with the License. You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing,
-- software distributed under the License is distributed on an
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-- KIND, either express or implied. See the License for the
-- specific language governing permissions and limitations
-- under the License.
--
CREATE TABLE `scheduled_email_campaign` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`campaign_name` VARCHAR(100) NOT NULL,
`campaign_type` INT NOT NULL,
`businessRule_id` INT NOT NULL,
`param_value` TEXT NULL,
`status_enum` INT NOT NULL,
`email_subject` VARCHAR(100) NOT NULL,
`email_message` TEXT NOT NULL,
`email_attachment_file_format` VARCHAR(10) NOT NULL,
`stretchy_report_id` INT NOT NULL,
`stretchy_report_param_map` TEXT NULL DEFAULT NULL,
`closedon_date` DATE NULL DEFAULT NULL,
`closedon_userid` BIGINT NULL DEFAULT NULL,
`submittedon_date` DATE NULL DEFAULT NULL,
`submittedon_userid` BIGINT NULL DEFAULT NULL,
`approvedon_date` DATE NULL DEFAULT NULL,
`approvedon_userid` BIGINT NULL DEFAULT NULL,
`recurrence` VARCHAR(100) NULL DEFAULT NULL,
`next_trigger_date` DATETIME NULL DEFAULT NULL,
`last_trigger_date` DATETIME NULL DEFAULT NULL,
`recurrence_start_date` DATETIME NULL DEFAULT NULL,
`is_visible` tinyint NULL DEFAULT '1',
`previous_run_error_log` TEXT NULL DEFAULT NULL,
`previous_run_error_message` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `scheduled_email_campaign_ibfk_1` FOREIGN KEY (`stretchy_report_id`) REFERENCES `stretchy_report` (`id`)
);
CREATE TABLE IF NOT EXISTS scheduled_email_messages_outbound (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`group_id` BIGINT DEFAULT NULL,
`client_id` BIGINT DEFAULT NULL,
`staff_id` BIGINT DEFAULT NULL,
`email_campaign_id` BIGINT DEFAULT NULL,
`status_enum` INT NOT NULL DEFAULT '100',
`email_address` varchar(50) NOT NULL,
`email_subject` varchar(50) NOT NULL,
`message` text NOT NULL,
`campaign_name` varchar(200) DEFAULT NULL,
`submittedon_date` date,
`error_message` text,
PRIMARY KEY (`id`),
KEY `SEFKGROUP000000001` (`group_id`),
KEY `SEFKCLIENT00000001` (`client_id`),
key `SEFKSTAFF000000001` (`staff_id`),
CONSTRAINT `SEFKGROUP000000001` FOREIGN KEY (`group_id`) REFERENCES `m_group` (`id`),
CONSTRAINT `SEFKCLIENT00000001` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`),
CONSTRAINT `SEFKSTAFF000000001` FOREIGN KEY (`staff_id`) REFERENCES `m_staff` (`id`),
CONSTRAINT `fk_schedule_email_campign1` FOREIGN KEY (`email_campaign_id`) REFERENCES `scheduled_email_campaign` (`id`)
);
create table if not exists scheduled_email_configuration (
id INT primary key auto_increment,
name varchar(50) not null,
`value` varchar(200) null,
constraint unique_name unique (name)
);
DELETE FROM `m_permission` WHERE `code`='READ_EMAIL';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'READ_EMAIL', 'EMAIL', 'READ', 0);
DELETE FROM `m_permission` WHERE `code`='CREATE_EMAIL';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'CREATE_EMAIL', 'EMAIL', 'CREATE', 0);
DELETE FROM `m_permission` WHERE `code`='CREATE_EMAIL_CHECKER';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'CREATE_EMAIL_CHECKER', 'EMAIL', 'CREATE_CHECKER', 0);
DELETE FROM `m_permission` WHERE `code`='UPDATE_EMAIL';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'UPDATE_EMAIL', 'EMAIL', 'UPDATE', 0);
DELETE FROM `m_permission` WHERE `code`='UPDATE_EMAIL_CHECKER';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'UPDATE_EMAIL_CHECKER', 'EMAIL', 'UPDATE_CHECKER', 0);
DELETE FROM `m_permission` WHERE `code`='DELETE_EMAIL';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'DELETE_EMAIL', 'EMAIL', 'DELETE', 0);
DELETE FROM `m_permission` WHERE `code`='DELETE_EMAIL_CHECKER';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'DELETE_EMAIL_CHECKER', 'EMAIL', 'DELETE_CHECKER', 0);
DELETE FROM `m_permission` WHERE `code`='READ_EMAIL_CAMPAIGN';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'READ_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'READ', 0);
DELETE FROM `m_permission` WHERE `code`='CREATE_EMAIL_CAMPAIGN';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'CREATE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'CREATE', 0);
DELETE FROM `m_permission` WHERE `code`='CREATE_EMAIL_CAMPAIGN_CHECKER';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'CREATE_EMAIL_CAMPAIGN_CHECKER', 'EMAIL_CAMPAIGN', 'CREATE_CHECKER', 0);
DELETE FROM `m_permission` WHERE `code`='UPDATE_EMAIL_CAMPAIGN';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'UPDATE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'UPDATE', 0);
DELETE FROM `m_permission` WHERE `code`='UPDATE_EMAIL_CAMPAIGN_CHECKER';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'UPDATE_EMAIL_CAMPAIGN_CHECKER', 'EMAIL_CAMPAIGN', 'UPDATE_CHECKER', 0);
DELETE FROM `m_permission` WHERE `code`='DELETE_EMAIL_CAMPAIGN';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'DELETE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'DELETE', 0);
DELETE FROM `m_permission` WHERE `code`='DELETE_EMAIL_CAMPAIGN_CHECKER';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'DELETE_EMAIL_CAMPAIGN_CHECKER', 'EMAIL_CAMPAIGN', 'DELETE_CHECKER', 0);
DELETE FROM `m_permission` WHERE `code`='CLOSE_EMAIL_CAMPAIGN';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'CLOSE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'CLOSE', 0);
DELETE FROM `m_permission` WHERE `code`='ACTIVATE_EMAIL_CAMPAIGN';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'ACTIVATE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'ACTIVATE', 0);
DELETE FROM `m_permission` WHERE `code`='REACTIVATE_EMAIL_CAMPAIGN';
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'REACTIVATE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'REACTIVATE', 0);
INSERT INTO `m_permission` (`grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`)
VALUES ('organisation', 'READ_EMAIL_CONFIGURATION', 'EMAIL_CONFIGURATION', 'READ', 0),
('organisation', 'UPDATE_EMAIL_CONFIGURATION', 'EMAIL_CONFIGURATION', 'UPDATE', 0);
Alter table m_client
ADD Column email_address varchar(150);
Alter table m_staff
ADD Column email_address varchar(150);
insert into job (name, display_name, cron_expression, create_time)
values ('Execute Email', 'Execute Email', '0 0/10 * * * ?', NOW());
insert into job (name, display_name, cron_expression, create_time)
values ('Update Email Outbound with campaign message', 'Update Email Outbound with campaign message', '0 0/15 * * * ?', NOW());
INSERT INTO `scheduled_email_configuration` (`name`)
VALUES ('SMTP_SERVER'),
('SMTP_PORT'),('SMTP_USERNAME'), ('SMTP_PASSWORD');