-- phpMyAdmin SQL Dump
-- version 4.9.5deb2
-- https://www.phpmyadmin.net/
--
-- Host: localhost:3306
-- Tempo de geração: 12-Jan-2022 às 17:20
-- Versão do servidor: 8.0.27-0ubuntu0.20.04.1
-- versão do PHP: 7.4.3

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Banco de dados: `docnex`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `alerts`
--

CREATE TABLE `alerts` (
  `id` int NOT NULL,
  `user_id` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `chapter_id` int NOT NULL,
  `message` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `was_read` tinyint(1) NOT NULL,
  `created_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Extraindo dados da tabela `alerts`
--

INSERT INTO `alerts` (`id`, `user_id`, `chapter_id`, `message`, `was_read`, `created_at`) VALUES
(1, '2', 1, 'Seu capítulo está sendo processado pelo analisador anti-plágio.', 0, '2021-11-26 09:00:02'),
(2, '2', 1, 'Seu capítulo está foi recusado pelo analisador anti-plágio.', 0, '2021-11-27 09:00:02'),
(3, '2', 1, 'Seu capítulo está foi recusado pelo analisador anti-plágio.', 0, '2021-11-27 09:00:02');

-- --------------------------------------------------------

--
-- Estrutura da tabela `books`
--

CREATE TABLE `books` (
  `id` int NOT NULL,
  `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `submission_rule` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `created_at` datetime DEFAULT NULL,
  `modified_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Estrutura da tabela `chapters`
--

CREATE TABLE `chapters` (
  `id` int NOT NULL,
  `unique_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `book_id` int NOT NULL,
  `title` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `abstract` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `keywords` tinytext CHARACTER SET utf8 COLLATE utf8_general_ci,
  `document` varchar(500) NOT NULL,
  `status` enum('waiting_review','in_review','approved','recused','approved_with_warnings') CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `author_id` int DEFAULT NULL,
  `editor_id` int DEFAULT NULL,
  `reviewer_id` int DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `modified_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Estrutura da tabela `comments`
--

CREATE TABLE `comments` (
  `id` int NOT NULL,
  `comment_author` int NOT NULL,
  `comment` text NOT NULL,
  `status` enum('waiting_review','in_review','approved','recused','approved_with_warnings') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `created_at` datetime NOT NULL,
  `chapter_id` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Estrutura da tabela `co_authors`
--

CREATE TABLE `co_authors` (
  `id` int NOT NULL,
  `co_author_name` varchar(255) NOT NULL,
  `co_author_email` varchar(255) NOT NULL,
  `co_author_phone` varchar(255) NOT NULL,
  `co_author_company` varchar(255) NOT NULL,
  `chapters_id` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Estrutura da tabela `email_templates`
--

CREATE TABLE `email_templates` (
  `id` int NOT NULL,
  `subject` varchar(200) NOT NULL,
  `title` varchar(200) NOT NULL,
  `body` text NOT NULL,
  `email_type` enum('new_article','resubmit_chapter','assigned_reviewer','assigned_editor','approved_chapter','recused_chapter','welcome','approved_w_warnings','in_review') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `role_id` int NOT NULL,
  `created_at` datetime DEFAULT NULL,
  `modified_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Extraindo dados da tabela `email_templates`
--

INSERT INTO `email_templates` (`id`, `subject`, `title`, `body`, `email_type`, `role_id`, `created_at`, `modified_at`) VALUES
(1, 'Novo capítulo criado', 'Novo capítulo criado - Admin', '<p>Ol&aacute; %admin_name%,</p>\r\n\r\n<p>Um novo cap&iacute;tulo&nbsp;<em>%chapter_title% c</em>om o c&oacute;digo&nbsp;<em>%chapter_code% f</em>oi enviado para revis&atilde;o.</p>\r\n\r\n<p>Por favor, atribua este artigo aos revisores.</p>\r\n', 'new_article', 1, '2022-01-10 15:10:17', NULL),
(2, 'Um capítulo foi atribuído a você', 'Um capítulo foi atribuído a você - Editor', '<p>Ol&aacute; %editor_name%,</p>\r\n\r\n<p>Um novo cap&iacute;tulo&nbsp;<em>%chapter_title%</em> com o c&oacute;digo <em>%chapter_code%&nbsp;</em>foi&nbsp; atribu&iacute;do a voc&ecirc;.<br />\r\nInicie a revis&atilde;o ou atribua a este cap&iacute;tulo um revisor.</p>\r\n', 'assigned_editor', 3, '2022-01-10 15:10:17', NULL),
(3, 'Um capítulo foi atribuído a você', 'Um capítulo foi atribuído a você - Revisor', '<p>Ol&aacute; <em>%reviewer_name%</em>,</p>\r\n\r\n<p>Um novo cap&iacute;tulo&nbsp;<em>%chapter_title%</em> com o c&oacute;digo <em>%chapter_code%&nbsp;</em>foi atribu&iacute;do a voc&ecirc;.<br />\r\n&nbsp;</p>\r\n', 'assigned_reviewer', 4, '2022-01-10 15:10:17', NULL),
(4, 'Reenvio de capítulo', 'Reenvio de capítulo - Admin', '<p>Ol&aacute; %admin_name%,</p>\r\n\r\n<p>O cap&iacute;tulo&nbsp;<em>%chapter_title%</em>&nbsp; com o c&oacute;digo&nbsp;&nbsp;<em>%chapter_code% f</em>oi reenviado para revis&atilde;o.</p>\r\n', 'resubmit_chapter', 1, '2022-01-10 15:10:17', NULL),
(5, 'Reenvio de capítulo', 'Reenvio de capítulo - Autor', '<p>Ol&aacute; <em>%author_name%,</em></p>\r\n\r\n<p><em>O seu cap&iacute;tulo %chapter_title%</em> com o c&oacute;digo <em>%chapter_code%&nbsp;</em>foi reenviado com sucesso!<br />\r\n&nbsp;</p>\r\n', 'resubmit_chapter', 2, '2022-01-10 15:10:17', NULL),
(6, 'Reenvio de capítulo', 'Reenvio de capítulo - Editor', '<p>Ol&aacute; <em>%editor_name%</em>,</p>\r\n\r\n<p>O cap&iacute;tulo&nbsp;<em>%chapter_title%</em> com o c&oacute;digo <em>%chapter_code%&nbsp;</em>que est&aacute; atribu&iacute;do a voc&ecirc; foi reenviado pelo autor.<br />\r\n&nbsp;</p>\r\n', 'resubmit_chapter', 3, '2022-01-10 15:10:17', NULL),
(7, 'Reenvio de capítulo', 'Reenvio de capítulo - Revisor', '<p>Ol&aacute; <em>%reviewer_name%</em>,</p>\r\n\r\n<p>O cap&iacute;tulo&nbsp;<em>%chapter_title%</em> com o c&oacute;digo <em>%chapter_code%&nbsp;</em>que est&aacute; atribu&iacute;do a voc&ecirc; foi reenviado pelo autor.</p>\r\n', 'resubmit_chapter', 4, '2022-01-10 15:10:17', NULL),
(8, 'Feedback do editor - Capítulo aprovado', 'Feedback do editor capítulo aprovado', '<p>Ol&aacute; <em>%author_name%,</em></p>\r\n\r\n<p>Um editor aprovou seu cap&iacute;tulo&nbsp;<em>%chapter_title% de c&oacute;digo&nbsp;%chapter_code%.</em></p>\r\n', 'approved_chapter', 3, '2022-01-10 15:10:17', NULL),
(9, 'Feedback do revisor - Capítulo aprovado', 'Feedback do revisor capítulo aprovado', '<p>Ol&aacute; <em>%author_name%,</em></p>\r\n\r\n<p>Um revisor aprovou seu cap&iacute;tulo&nbsp;<em>%chapter_title% de c&oacute;digo&nbsp;%chapter_code%.</em></p>\r\n', 'approved_chapter', 4, '2022-01-10 15:10:17', NULL),
(10, 'Feedback do editor - Capítulo recusado', 'Feedback do editor capítulo reprovado', '<p>Ol&aacute; <em>%author_name%,</em></p>\r\n\r\n<p>Um editor reprovou seu cap&iacute;tulo&nbsp;<em>%chapter_title% de c&oacute;digo&nbsp;%chapter_code%.</em></p>\r\n', 'recused_chapter', 3, '2022-01-10 15:10:17', NULL),
(11, 'Feedback do revisor - Capítulo recusado', 'Feedback do revisor capítulo reprovado', '<p>Ol&aacute; %author_name%, </p>\r\n\r\n<p>Um revisor reprovou seu cap&iacute;tulo&nbsp;<em>%chapter_title% de c&oacute;digo&nbsp;%chapter_code%.</em></p>\r\n', 'recused_chapter', 4, '2022-01-10 15:10:17', NULL),
(12, 'Feedback do editor - Capítulo aprovado com pendências', 'Feedback do editor capítulo aprovado com pendências', '<p>Ol&aacute; <em>%author_name%,</em></p>\r\n\r\n<p>Um revisor reprovou seu cap&iacute;tulo&nbsp;<em>%chapter_title% de c&oacute;digo&nbsp;%chapter_code%.</em></p>\r\n', 'approved_w_warnings', 3, '2022-01-10 15:10:17', NULL),
(13, 'Feedback do revisor - Capítulo aprovado com pendências', 'Feedback do revisor capítulo aprovado com pendências', '<p>Ol&aacute; <em>%author_name%,</em></p>\r\n\r\n<p>Um revisor reprovou seu cap&iacute;tulo&nbsp;<em>%chapter_title% de c&oacute;digo&nbsp;%chapter_code%.</em></p>\r\n', 'approved_w_warnings', 4, '2022-01-10 15:10:17', NULL),
(14, 'Bem vindo ao DocNex', 'Bem vindo', '<p>Seja bem vindo ao DocNex!</p>\r\n\r\n<p>Sua conta foi criada com sucesso!</p>\r\n\r\n<p>&nbsp;</p>\r\n', 'welcome', 0, '2022-01-10 15:10:17', NULL),
(15, 'Capítulo em revisão', 'Capítulo em revisão', '<p>Ol&aacute; <em>%author_name%,</em></p>\r\n\r\n<p>Seu cap&iacute;tulo&nbsp;<em>%chapter_title% de c&oacute;digo&nbsp;%chapter_code% est&aacute; em revis&atilde;o!</em></p>\r\n', 'in_review', 0, '2022-01-10 15:10:17', NULL);

-- --------------------------------------------------------

--
-- Estrutura da tabela `groups`
--

CREATE TABLE `groups` (
  `id` mediumint UNSIGNED NOT NULL,
  `name` varchar(20) NOT NULL,
  `description` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Extraindo dados da tabela `groups`
--

INSERT INTO `groups` (`id`, `name`, `description`) VALUES
(1, 'admin', 'Administrador'),
(2, 'author', 'Autor'),
(3, 'editor', 'Editor'),
(4, 'reviewer', 'Revisor');

-- --------------------------------------------------------

--
-- Estrutura da tabela `login_attempts`
--

CREATE TABLE `login_attempts` (
  `id` int UNSIGNED NOT NULL,
  `ip_address` varchar(45) NOT NULL,
  `login` varchar(100) NOT NULL,
  `time` int UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Extraindo dados da tabela `login_attempts`
--

INSERT INTO `login_attempts` (`id`, `ip_address`, `login`, `time`) VALUES
(40, '127.0.0.1', 'reviewe@reviewer.com', 1641995281);

-- --------------------------------------------------------

--
-- Estrutura da tabela `messages`
--

CREATE TABLE `messages` (
  `id` int NOT NULL,
  `comment_author` int NOT NULL,
  `comment_destination` int NOT NULL,
  `chapter_id` int NOT NULL,
  `message` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `was_read` tinyint(1) NOT NULL,
  `created_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Extraindo dados da tabela `messages`
--

INSERT INTO `messages` (`id`, `comment_author`, `comment_destination`, `chapter_id`, `message`, `was_read`, `created_at`) VALUES
(1, 1, 2, 1, 'Mensagem 1', 0, '2021-11-26 09:00:02'),
(2, 1, 2, 1, 'Mensagem 2', 0, '2021-11-26 09:00:02'),
(3, 1, 2, 1, 'Mensagem 3', 0, '2021-11-26 09:00:02');

-- --------------------------------------------------------

--
-- Estrutura da tabela `users`
--

CREATE TABLE `users` (
  `id` int UNSIGNED NOT NULL,
  `ip_address` varchar(45) NOT NULL,
  `username` varchar(100) DEFAULT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(254) NOT NULL,
  `activation_selector` varchar(255) DEFAULT NULL,
  `activation_code` varchar(255) DEFAULT NULL,
  `forgotten_password_selector` varchar(255) DEFAULT NULL,
  `forgotten_password_code` varchar(255) DEFAULT NULL,
  `forgotten_password_time` int UNSIGNED DEFAULT NULL,
  `remember_selector` varchar(255) DEFAULT NULL,
  `remember_code` varchar(255) DEFAULT NULL,
  `created_on` int UNSIGNED NOT NULL,
  `last_login` int UNSIGNED DEFAULT NULL,
  `active` tinyint UNSIGNED DEFAULT NULL,
  `first_name` varchar(50) DEFAULT NULL,
  `last_name` varchar(50) DEFAULT NULL,
  `company` varchar(100) DEFAULT NULL,
  `phone` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Extraindo dados da tabela `users`
--

INSERT INTO `users` (`id`, `ip_address`, `username`, `password`, `email`, `activation_selector`, `activation_code`, `forgotten_password_selector`, `forgotten_password_code`, `forgotten_password_time`, `remember_selector`, `remember_code`, `created_on`, `last_login`, `active`, `first_name`, `last_name`, `company`, `phone`) VALUES
(1, '127.0.0.1', 'administrator', '$2y$10$kEPO36T.rT.2PCBST0txO.dfzdgTpUlcPpxgFi6OUzMZVHvBjDl3y', 'admin@admin.com', NULL, '', NULL, NULL, NULL, NULL, NULL, 1268889823, 1642010098, 1, 'Romario', 'Torres', 'ADMIN', '(62) 3333-3333'),
(2, '127.0.0.1', 'authors', '$2y$10$kEPO36T.rT.2PCBST0txO.dfzdgTpUlcPpxgFi6OUzMZVHvBjDl3y', 'stju0101@gmail.com', NULL, '', NULL, NULL, NULL, NULL, NULL, 1268889823, 1641990716, 1, 'Sebastiao', 'Junior', 'AUTHOR', '(62) 9599-5999'),
(3, '127.0.0.1', 'editor', '$2y$10$kEPO36T.rT.2PCBST0txO.dfzdgTpUlcPpxgFi6OUzMZVHvBjDl3y', 'editor@editor.com', NULL, '', NULL, NULL, NULL, NULL, NULL, 1268889823, 1641995318, 1, 'Dyeine', 'Costa', 'EDITOR', '0'),
(4, '127.0.0.1', 'reviewer', '$2y$10$kEPO36T.rT.2PCBST0txO.dfzdgTpUlcPpxgFi6OUzMZVHvBjDl3y', 'reviewer@reviewer.com', NULL, '', NULL, NULL, NULL, NULL, NULL, 1268889823, 1641995293, 1, 'Pedro', 'Campos', 'REVIEWER', '0');

-- --------------------------------------------------------

--
-- Estrutura da tabela `users_groups`
--

CREATE TABLE `users_groups` (
  `id` int UNSIGNED NOT NULL,
  `user_id` int UNSIGNED NOT NULL,
  `group_id` mediumint UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Extraindo dados da tabela `users_groups`
--

INSERT INTO `users_groups` (`id`, `user_id`, `group_id`) VALUES
(12, 1, 1),
(13, 2, 2),
(3, 3, 3),
(8, 4, 4);

--
-- Índices para tabelas despejadas
--

--
-- Índices para tabela `alerts`
--
ALTER TABLE `alerts`
  ADD PRIMARY KEY (`id`);

--
-- Índices para tabela `books`
--
ALTER TABLE `books`
  ADD PRIMARY KEY (`id`);

--
-- Índices para tabela `chapters`
--
ALTER TABLE `chapters`
  ADD PRIMARY KEY (`id`);

--
-- Índices para tabela `comments`
--
ALTER TABLE `comments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_comments_chapters1_idx` (`chapter_id`);

--
-- Índices para tabela `co_authors`
--
ALTER TABLE `co_authors`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_co_authors_chapters1_idx` (`chapters_id`);

--
-- Índices para tabela `email_templates`
--
ALTER TABLE `email_templates`
  ADD PRIMARY KEY (`id`);

--
-- Índices para tabela `groups`
--
ALTER TABLE `groups`
  ADD PRIMARY KEY (`id`);

--
-- Índices para tabela `login_attempts`
--
ALTER TABLE `login_attempts`
  ADD PRIMARY KEY (`id`);

--
-- Índices para tabela `messages`
--
ALTER TABLE `messages`
  ADD PRIMARY KEY (`id`);

--
-- Índices para tabela `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uc_email` (`email`),
  ADD UNIQUE KEY `uc_activation_selector` (`activation_selector`),
  ADD UNIQUE KEY `uc_forgotten_password_selector` (`forgotten_password_selector`),
  ADD UNIQUE KEY `uc_remember_selector` (`remember_selector`);

--
-- Índices para tabela `users_groups`
--
ALTER TABLE `users_groups`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uc_users_groups` (`user_id`,`group_id`),
  ADD KEY `fk_users_groups_users1_idx` (`user_id`),
  ADD KEY `fk_users_groups_groups1_idx` (`group_id`);

--
-- AUTO_INCREMENT de tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `alerts`
--
ALTER TABLE `alerts`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de tabela `books`
--
ALTER TABLE `books`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `chapters`
--
ALTER TABLE `chapters`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `comments`
--
ALTER TABLE `comments`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `co_authors`
--
ALTER TABLE `co_authors`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `email_templates`
--
ALTER TABLE `email_templates`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=146;

--
-- AUTO_INCREMENT de tabela `groups`
--
ALTER TABLE `groups`
  MODIFY `id` mediumint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de tabela `login_attempts`
--
ALTER TABLE `login_attempts`
  MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=41;

--
-- AUTO_INCREMENT de tabela `messages`
--
ALTER TABLE `messages`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de tabela `users`
--
ALTER TABLE `users`
  MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18;

--
-- AUTO_INCREMENT de tabela `users_groups`
--
ALTER TABLE `users_groups`
  MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18;

--
-- Restrições para despejos de tabelas
--

--
-- Limitadores para a tabela `comments`
--
ALTER TABLE `comments`
  ADD CONSTRAINT `fk_comments_chapters1` FOREIGN KEY (`chapter_id`) REFERENCES `chapters` (`id`);

--
-- Limitadores para a tabela `co_authors`
--
ALTER TABLE `co_authors`
  ADD CONSTRAINT `fk_co_authors_chapters1` FOREIGN KEY (`chapters_id`) REFERENCES `chapters` (`id`);

--
-- Limitadores para a tabela `users_groups`
--
ALTER TABLE `users_groups`
  ADD CONSTRAINT `fk_users_groups_groups1` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_users_groups_users1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
