-- phpMyAdmin SQL Dump
-- version 5.2.2
-- https://www.phpmyadmin.net/
--
-- Host: localhost:3306
-- Tempo de geração: 27/06/2025 às 19:46
-- Versão do servidor: 10.6.22-MariaDB-cll-lve
-- Versão do PHP: 8.3.22

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
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: `fzplayfu_bannersv6teste`
--

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

--
-- Estrutura para tabela `configuracoes`
--

CREATE TABLE `configuracoes` (
  `id` int(11) NOT NULL,
  `chave` varchar(50) NOT NULL,
  `valor` text NOT NULL,
  `editavel` tinyint(1) DEFAULT 1,
  `nivel_requerido` int(11) DEFAULT 1 COMMENT 'Nível mínimo para editar esta configuração'
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Despejando dados para a tabela `configuracoes`
--

INSERT INTO `configuracoes` (`id`, `chave`, `valor`, `editavel`, `nivel_requerido`) VALUES
(1, 'nome_sistema', 'FutBanner', 1, 1),
(2, 'manutencao', '0', 1, 1),
(3, 'limite_revendas', '50', 1, 1),
(4, 'limite_subrevendas', '100', 1, 2);

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

--
-- Estrutura para tabela `configuracoes_sistema`
--

CREATE TABLE `configuracoes_sistema` (
  `id` int(11) NOT NULL,
  `solicitacoes_ativas` tinyint(1) DEFAULT 1,
  `aprovacao_automatica` tinyint(1) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Despejando dados para a tabela `configuracoes_sistema`
--

INSERT INTO `configuracoes_sistema` (`id`, `solicitacoes_ativas`, `aprovacao_automatica`) VALUES
(1, 1, 0);

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

--
-- Estrutura para tabela `permissoes`
--

CREATE TABLE `permissoes` (
  `id` int(11) NOT NULL,
  `nome` varchar(50) NOT NULL,
  `descricao` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Despejando dados para a tabela `permissoes`
--

INSERT INTO `permissoes` (`id`, `nome`, `descricao`) VALUES
(1, 'acesso_painel', 'Acesso ao painel administrativo'),
(2, 'gerenciar_usuarios', 'Pode criar, editar e remover usuários'),
(3, 'gerenciar_revendas', 'Pode criar, editar e remover revendas'),
(4, 'gerenciar_subrevendas', 'Pode criar, editar e remover sub-revendas'),
(5, 'acesso_relatorios', 'Acesso aos relatórios do sistema'),
(6, 'editar_configuracoes', 'Editar configurações do sistema');

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

--
-- Estrutura para tabela `solicitacoes_redefinicao`
--

CREATE TABLE `solicitacoes_redefinicao` (
  `id` int(11) NOT NULL,
  `email` varchar(255) NOT NULL,
  `token` varchar(64) NOT NULL,
  `nova_senha` varchar(255) NOT NULL,
  `status` enum('pendente','aprovado','recusado') DEFAULT 'pendente',
  `data_solicitacao` datetime NOT NULL,
  `data_expiracao` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

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

--
-- Estrutura para tabela `usuarios`
--

CREATE TABLE `usuarios` (
  `id` int(11) NOT NULL,
  `username` varchar(50) NOT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(100) NOT NULL,
  `nivel` int(11) NOT NULL DEFAULT 3 COMMENT '1=Admin, 2=Revenda, 3=Sub-revenda',
  `revenda_id` int(11) DEFAULT NULL COMMENT 'ID da revenda responsável (para sub-revendas)',
  `data_criacao` datetime DEFAULT current_timestamp(),
  `ativo` tinyint(1) DEFAULT 1,
  `bloquear_credenciais` tinyint(1) NOT NULL DEFAULT 0 COMMENT '1=bloqueia alteracao propria de usuario e senha',
  `tema_painel` varchar(50) NOT NULL DEFAULT 'azul_noite' COMMENT 'Tema visual independente do painel',
  `limite_geracoes_dia` int(11) NOT NULL DEFAULT 0 COMMENT '0=ilimitado; limite diario de geracoes de jogos do dia',
  `pode_alterar_logo_cards` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1=permite alterar logos dos cards/banners',
  `pode_alterar_background` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1=permite alterar planos de fundo/backgrounds',
  `pode_gerenciar_admins` tinyint(1) NOT NULL DEFAULT 0 COMMENT '1=permite acessar gerenciamento de admins/revendedores'
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Despejando dados para a tabela `usuarios`
--

INSERT INTO `usuarios` (`id`, `username`, `password`, `email`, `nivel`, `revenda_id`, `data_criacao`, `ativo`, `bloquear_credenciais`, `tema_painel`, `limite_geracoes_dia`, `pode_alterar_logo_cards`, `pode_alterar_background`, `pode_gerenciar_admins`) VALUES
(1, 'admin', '$2y$10$coYJSLX7XZ7VfpTJk7/JGORgXCtCZNUx.V10WMlX6duWS8AeyxwXO', 'admin@futbanner.com', 1, NULL, '2025-06-26 16:44:03', 1, 0, 'azul_noite', 0, 1, 1, 1);

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


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

--
-- Estrutura para tabela `geracoes_jogos_dia`
--

CREATE TABLE `geracoes_jogos_dia` (
  `id` int(11) NOT NULL,
  `usuario_id` int(11) NOT NULL,
  `data_ref` date NOT NULL,
  `total` int(11) NOT NULL DEFAULT 0,
  `criado_em` datetime NOT NULL DEFAULT current_timestamp(),
  `atualizado_em` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Estrutura para tabela `usuario_permissoes`
--

CREATE TABLE `usuario_permissoes` (
  `usuario_id` int(11) NOT NULL,
  `permissao_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Despejando dados para a tabela `usuario_permissoes`
--

INSERT INTO `usuario_permissoes` (`usuario_id`, `permissao_id`) VALUES
(1, 1),
(1, 2),
(1, 3),
(1, 4),
(1, 5),
(1, 6);

--
-- Índices para tabelas despejadas
--

--
-- Índices de tabela `configuracoes`
--
ALTER TABLE `configuracoes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `chave` (`chave`);

--
-- Índices de tabela `configuracoes_sistema`
--
ALTER TABLE `configuracoes_sistema`
  ADD PRIMARY KEY (`id`);

--
-- Índices de tabela `permissoes`
--
ALTER TABLE `permissoes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `nome` (`nome`);

--
-- Índices de tabela `solicitacoes_redefinicao`
--
ALTER TABLE `solicitacoes_redefinicao`
  ADD PRIMARY KEY (`id`),
  ADD KEY `email` (`email`);

--
-- Índices de tabela `usuarios`
--
ALTER TABLE `usuarios`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `username` (`username`),
  ADD UNIQUE KEY `email` (`email`),
  ADD KEY `fk_revenda` (`revenda_id`);

--
-- Índices de tabela `usuario_permissoes`
--
ALTER TABLE `usuario_permissoes`
  ADD PRIMARY KEY (`usuario_id`,`permissao_id`),
  ADD KEY `fk_permissao` (`permissao_id`);

--
-- Indices de tabela `geracoes_jogos_dia`
--
ALTER TABLE `geracoes_jogos_dia`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_usuario_data` (`usuario_id`,`data_ref`),
  ADD KEY `idx_data_ref` (`data_ref`);

--
-- AUTO_INCREMENT para tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `configuracoes`
--
ALTER TABLE `configuracoes`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de tabela `configuracoes_sistema`
--
ALTER TABLE `configuracoes_sistema`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de tabela `permissoes`
--
ALTER TABLE `permissoes`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT de tabela `solicitacoes_redefinicao`
--
ALTER TABLE `solicitacoes_redefinicao`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de tabela `geracoes_jogos_dia`
--
ALTER TABLE `geracoes_jogos_dia`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `usuarios`
--
ALTER TABLE `usuarios`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- Restricoes para tabela `geracoes_jogos_dia`
--
ALTER TABLE `geracoes_jogos_dia`
  ADD CONSTRAINT `fk_geracoes_usuario` FOREIGN KEY (`usuario_id`) REFERENCES `usuarios` (`id`) ON DELETE CASCADE;

--
-- Restrições para tabelas despejadas
--

--
-- Restrições para tabelas `solicitacoes_redefinicao`
--
ALTER TABLE `solicitacoes_redefinicao`
  ADD CONSTRAINT `solicitacoes_redefinicao_ibfk_1` FOREIGN KEY (`email`) REFERENCES `usuarios` (`email`);

--
-- Restrições para tabelas `usuarios`
--
ALTER TABLE `usuarios`
  ADD CONSTRAINT `fk_revenda` FOREIGN KEY (`revenda_id`) REFERENCES `usuarios` (`id`) ON DELETE SET NULL;

--
-- Restrições para tabelas `usuario_permissoes`
--
ALTER TABLE `usuario_permissoes`
  ADD CONSTRAINT `fk_permissao` FOREIGN KEY (`permissao_id`) REFERENCES `permissoes` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_usuario_perm` FOREIGN KEY (`usuario_id`) REFERENCES `usuarios` (`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 */;
