-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Tempo de geração: 08-Ago-2026 às 17:01
-- Versão do servidor: 10.4.32-MariaDB
-- versão do PHP: 8.2.12

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: `amd-topografia`
--

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

--
-- Estrutura da tabela `activity_logs`
--

CREATE TABLE `activity_logs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `action` varchar(255) NOT NULL,
  `target_type` varchar(255) NOT NULL,
  `target_id` bigint(20) UNSIGNED NOT NULL,
  `details` text DEFAULT NULL,
  `ip_address` varchar(45) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `activity_logs`
--

INSERT INTO `activity_logs` (`id`, `user_id`, `action`, `target_type`, `target_id`, `details`, `ip_address`, `created_at`, `updated_at`) VALUES
(2, 2, 'Atualizou Utilizador', 'User', 2, 'Editou os dados de: Olímpio Kalueto', '127.0.0.1', '2026-06-16 13:02:52', '2026-06-16 13:02:52'),
(3, 2, 'Eliminou Utilizador', 'User', 3, 'Removeu permanentemente: AMOS CARLOS', '127.0.0.1', '2026-06-26 18:41:18', '2026-06-26 18:41:18'),
(4, 2, 'Atualizou Status Pedido', 'Pedido', 2, 'Alterou o status do pedido/proforma PF-20260604-6398 de \'Pendente\' para \'Pendente\'', '127.0.0.1', '2026-06-26 18:41:39', '2026-06-26 18:41:39'),
(5, 2, 'Atualizou Status Pedido', 'Pedido', 3, 'Alterou o status do pedido/proforma PF-20260615-5996 de \'Pendente\' para \'Pendente\'', '127.0.0.1', '2026-06-26 18:41:41', '2026-06-26 18:41:41'),
(6, 2, 'Atualizou Status Pedido', 'Pedido', 1, 'Alterou o status do pedido/proforma PF-20260525-7435 de \'Pendente\' para \'Pendente\'', '127.0.0.1', '2026-06-26 18:41:44', '2026-06-26 18:41:44'),
(7, 2, 'Eliminou Notícia', 'Noticia', 5, 'Removeu a notícia: exemplo', '127.0.0.1', '2026-07-04 12:12:41', '2026-07-04 12:12:41'),
(8, 2, 'Eliminou Notícia', 'Noticia', 1, 'Removeu a notícia: A Importância do GNSS RTK nas Obras de Infraestrutura em Luanda', '127.0.0.1', '2026-07-04 12:12:49', '2026-07-04 12:12:49'),
(9, 2, 'Eliminou Notícia', 'Noticia', 3, 'Removeu a notícia: AMD Topografia Fecha Parceria para Suporte de Equipamentos Leica', '127.0.0.1', '2026-07-04 12:12:55', '2026-07-04 12:12:55'),
(10, 2, 'Eliminou Notícia', 'Noticia', 2, 'Removeu a notícia: Como os Drones estão a Revolucionar o Cadastro Predial em Angola', '127.0.0.1', '2026-07-04 12:13:06', '2026-07-04 12:13:06'),
(11, 2, 'Eliminou Notícia', 'Noticia', 4, 'Removeu a notícia: Novas Turmas Abertas para Formação em Geoprocessamento', '127.0.0.1', '2026-07-04 12:13:10', '2026-07-04 12:13:10'),
(12, 2, 'Eliminou Notícia', 'Noticia', 6, 'Removeu a notícia: Teste pdo_mysql', '127.0.0.1', '2026-07-04 12:37:20', '2026-07-04 12:37:20'),
(13, 2, 'Criou Notícia', 'Noticia', 7, 'Publicou a notícia: 🛠️ Descrição Técnica', '127.0.0.1', '2026-07-04 12:49:25', '2026-07-04 12:49:25'),
(14, 2, 'Editou Notícia', 'Noticia', 7, 'Atualizou a notícia: 🛠️ Descrição Técnica', '127.0.0.1', '2026-07-04 12:54:46', '2026-07-04 12:54:46'),
(15, 2, 'Criou Notícia', 'Noticia', 8, 'Publicou a notícia: 🏗️ Treinamento Prático: Levantamento Topográfico (IPCG)', '127.0.0.1', '2026-07-04 13:02:43', '2026-07-04 13:02:43'),
(16, 2, 'Eliminou Produto', 'Produto', 15, 'Removeu o equipamento: GNSS RTK Trimble R12i', '127.0.0.1', '2026-07-04 13:06:20', '2026-07-04 13:06:20'),
(17, 2, 'Alterou Preço/Stock', 'Produto', 16, 'Modificou o equipamento GNSS RTK Hi-Target V200. Alterações: Preço de Venda alterado de 4.500.000,00 Kz para 6.300.000,00 Kz | Preço de Aluguer alterado de 80.000,00 Kz para 85.000,00 Kz', '127.0.0.1', '2026-07-04 13:11:42', '2026-07-04 13:11:42'),
(18, 2, 'Eliminou Notícia', 'Noticia', 7, 'Removeu a notícia: 🛠️ Descrição Técnica', '127.0.0.1', '2026-08-05 15:44:51', '2026-08-05 15:44:51'),
(19, 2, 'Eliminou Notícia', 'Noticia', 8, 'Removeu a notícia: 🏗️ Treinamento Prático: Levantamento Topográfico (IPCG)', '127.0.0.1', '2026-08-05 15:44:57', '2026-08-05 15:44:57'),
(20, 2, 'Eliminou Produto', 'Produto', 17, 'Removeu o equipamento: GNSS RTK South Galaxy G1', '127.0.0.1', '2026-08-06 17:21:20', '2026-08-06 17:21:20'),
(21, 2, 'Eliminou Produto', 'Produto', 21, 'Removeu o equipamento: Drone DJI Matrice 300 RTK', '127.0.0.1', '2026-08-06 17:21:25', '2026-08-06 17:21:25'),
(22, 2, 'Eliminou Produto', 'Produto', 19, 'Removeu o equipamento: Estação Total Topcon GM-52', '127.0.0.1', '2026-08-06 17:21:29', '2026-08-06 17:21:29'),
(23, 2, 'Eliminou Produto', 'Produto', 22, 'Removeu o equipamento: Drone senseFly eBee X', '127.0.0.1', '2026-08-06 17:21:34', '2026-08-06 17:21:34'),
(25, 2, 'Criou Utilizador', 'User', 5, 'Criou o utilizador: Teste Full Perms', '127.0.0.1', '2026-08-08 14:54:12', '2026-08-08 14:54:12'),
(26, 2, 'Atualizou Utilizador', 'User', 5, 'Editou os dados de: Teste Full Perms', '127.0.0.1', '2026-08-08 14:54:59', '2026-08-08 14:54:59'),
(27, 2, 'Atualizou Utilizador', 'User', 5, 'Editou os dados de: Teste Full Perms', '127.0.0.1', '2026-08-08 14:55:22', '2026-08-08 14:55:22'),
(28, 2, 'Atualizou Utilizador', 'User', 1, 'Editou os dados de: Super Admin', '127.0.0.1', '2026-08-08 14:57:17', '2026-08-08 14:57:17');

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

--
-- Estrutura da tabela `aulas`
--

CREATE TABLE `aulas` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `modulo_id` bigint(20) UNSIGNED NOT NULL,
  `titulo` varchar(255) NOT NULL,
  `descricao` text DEFAULT NULL,
  `video_url` text DEFAULT NULL,
  `duracao` int(11) NOT NULL DEFAULT 0,
  `ordem` int(11) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `aula_comments`
--

CREATE TABLE `aula_comments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `aula_id` bigint(20) UNSIGNED NOT NULL,
  `conteudo` text NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `aula_completions`
--

CREATE TABLE `aula_completions` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `aula_id` bigint(20) UNSIGNED NOT NULL,
  `completed_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `cache`
--

CREATE TABLE `cache` (
  `key` varchar(255) NOT NULL,
  `value` mediumtext NOT NULL,
  `expiration` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `cache`
--

INSERT INTO `cache` (`key`, `value`, `expiration`) VALUES
('amd-ii-topografia-engenharia-projectos-lda-cache-69afae91ad8a8550fb6c9edff747a90b', 'i:1;', 1786201447),
('amd-ii-topografia-engenharia-projectos-lda-cache-69afae91ad8a8550fb6c9edff747a90b:timer', 'i:1786201447;', 1786201447),
('amd-ii-topografia-engenharia-projectos-lda-cache-config.empresa', 'O:30:\"App\\Models\\ConfiguracaoSistema\":33:{s:13:\"\0*\0connection\";s:5:\"mysql\";s:8:\"\0*\0table\";s:21:\"configuracoes_sistema\";s:13:\"\0*\0primaryKey\";s:2:\"id\";s:10:\"\0*\0keyType\";s:3:\"int\";s:12:\"incrementing\";b:1;s:7:\"\0*\0with\";a:0:{}s:12:\"\0*\0withCount\";a:0:{}s:19:\"preventsLazyLoading\";b:0;s:10:\"\0*\0perPage\";i:15;s:6:\"exists\";b:1;s:18:\"wasRecentlyCreated\";b:0;s:28:\"\0*\0escapeWhenCastingToString\";b:0;s:13:\"\0*\0attributes\";a:16:{s:2:\"id\";i:1;s:12:\"nome_empresa\";s:45:\"AMD-II TOPOGRAFIA ENGENHARIA & PROJECTOS, LDA\";s:3:\"nif\";s:10:\"5001680587\";s:6:\"morada\";s:98:\"AMD-II TOPOGRAFIA ENGENHARIA & PROJECTOS, LDA., Icolo e Bengo, Rua das Quiosques Quarterão D, R/C\";s:8:\"telefone\";s:16:\"+244 948 944 582\";s:5:\"email\";s:23:\"geral@amdtopografia.com\";s:16:\"titular_bancario\";N;s:8:\"iban_bai\";N;s:8:\"iban_bfa\";N;s:15:\"logo_documentos\";N;s:10:\"created_at\";s:19:\"2026-06-04 14:53:57\";s:10:\"updated_at\";s:19:\"2026-08-06 18:19:17\";s:16:\"meta_description\";s:174:\"AMD-II TOPOGRAFIA ENGENHARIA & PROJECTOS, LDA - Líder em serviços de topografia, engenharia, cartografia, agrimensura e aluguer de equipamentos de alta precisão em Angola.\";s:13:\"meta_keywords\";s:140:\"topografia, angola, geodesia, cartografia, engenharia, marcos geodésicos, gps rtk, estação total, aluguer de equipamentos, amd topografia\";s:19:\"google_analytics_id\";N;s:24:\"google_site_verification\";N;}s:11:\"\0*\0original\";a:16:{s:2:\"id\";i:1;s:12:\"nome_empresa\";s:45:\"AMD-II TOPOGRAFIA ENGENHARIA & PROJECTOS, LDA\";s:3:\"nif\";s:10:\"5001680587\";s:6:\"morada\";s:98:\"AMD-II TOPOGRAFIA ENGENHARIA & PROJECTOS, LDA., Icolo e Bengo, Rua das Quiosques Quarterão D, R/C\";s:8:\"telefone\";s:16:\"+244 948 944 582\";s:5:\"email\";s:23:\"geral@amdtopografia.com\";s:16:\"titular_bancario\";N;s:8:\"iban_bai\";N;s:8:\"iban_bfa\";N;s:15:\"logo_documentos\";N;s:10:\"created_at\";s:19:\"2026-06-04 14:53:57\";s:10:\"updated_at\";s:19:\"2026-08-06 18:19:17\";s:16:\"meta_description\";s:174:\"AMD-II TOPOGRAFIA ENGENHARIA & PROJECTOS, LDA - Líder em serviços de topografia, engenharia, cartografia, agrimensura e aluguer de equipamentos de alta precisão em Angola.\";s:13:\"meta_keywords\";s:140:\"topografia, angola, geodesia, cartografia, engenharia, marcos geodésicos, gps rtk, estação total, aluguer de equipamentos, amd topografia\";s:19:\"google_analytics_id\";N;s:24:\"google_site_verification\";N;}s:10:\"\0*\0changes\";a:0:{}s:11:\"\0*\0previous\";a:0:{}s:8:\"\0*\0casts\";a:0:{}s:17:\"\0*\0classCastCache\";a:0:{}s:21:\"\0*\0attributeCastCache\";a:0:{}s:13:\"\0*\0dateFormat\";N;s:10:\"\0*\0appends\";a:0:{}s:19:\"\0*\0dispatchesEvents\";a:0:{}s:14:\"\0*\0observables\";a:0:{}s:12:\"\0*\0relations\";a:0:{}s:10:\"\0*\0touches\";a:0:{}s:27:\"\0*\0relationAutoloadCallback\";N;s:26:\"\0*\0relationAutoloadContext\";N;s:10:\"timestamps\";b:1;s:13:\"usesUniqueIds\";b:0;s:9:\"\0*\0hidden\";a:0:{}s:10:\"\0*\0visible\";a:0:{}s:11:\"\0*\0fillable\";a:13:{i:0;s:12:\"nome_empresa\";i:1;s:3:\"nif\";i:2;s:6:\"morada\";i:3;s:8:\"telefone\";i:4;s:5:\"email\";i:5;s:16:\"titular_bancario\";i:6;s:8:\"iban_bai\";i:7;s:8:\"iban_bfa\";i:8;s:15:\"logo_documentos\";i:9;s:16:\"meta_description\";i:10;s:13:\"meta_keywords\";i:11;s:19:\"google_analytics_id\";i:12;s:24:\"google_site_verification\";}s:10:\"\0*\0guarded\";a:1:{i:0;s:1:\"*\";}}', 1786208491),
('amd-ii-topografia-engenharia-projectos-lda-cache-home.formacoes', 'O:39:\"Illuminate\\Database\\Eloquent\\Collection\":2:{s:8:\"\0*\0items\";a:4:{i:0;O:19:\"App\\Models\\Formacao\":34:{s:13:\"\0*\0connection\";s:5:\"mysql\";s:8:\"\0*\0table\";s:9:\"formacoes\";s:13:\"\0*\0primaryKey\";s:2:\"id\";s:10:\"\0*\0keyType\";s:3:\"int\";s:12:\"incrementing\";b:1;s:7:\"\0*\0with\";a:0:{}s:12:\"\0*\0withCount\";a:0:{}s:19:\"preventsLazyLoading\";b:0;s:10:\"\0*\0perPage\";i:15;s:6:\"exists\";b:1;s:18:\"wasRecentlyCreated\";b:0;s:28:\"\0*\0escapeWhenCastingToString\";b:0;s:13:\"\0*\0attributes\";a:22:{s:2:\"id\";i:4;s:6:\"titulo\";s:32:\"Introdução ao AutoCAD Civil 3D\";s:4:\"tipo\";s:3:\"ead\";s:5:\"nivel\";s:5:\"todos\";s:10:\"modalidade\";s:6:\"Online\";s:11:\"certificado\";i:1;s:4:\"slug\";s:30:\"introducao-ao-autocad-civil-3d\";s:9:\"descricao\";s:210:\"Curso introdutório ao AutoCAD Civil 3D para profissionais de topografia e engenharia civil. Aborda criação de superfícies, perfis longitudinais, seções transversais e cálculo de volumes de terraplenagem.\";s:5:\"valor\";s:8:\"35000.00\";s:6:\"status\";i:0;s:9:\"instrutor\";s:17:\"Eng. Ana Ferreira\";s:7:\"duracao\";s:8:\"15 Horas\";s:5:\"preco\";s:8:\"35000.00\";s:6:\"imagem\";s:51:\"cursos/WYI8ptBsS9qQY809tYSkjPdkj0h0F9HEV0c5F4j5.png\";s:11:\"imagem_hero\";N;s:8:\"conteudo\";N;s:10:\"created_at\";s:19:\"2026-05-23 13:18:11\";s:10:\"updated_at\";s:19:\"2026-07-04 15:26:37\";s:13:\"duracao_total\";N;s:11:\"imagem_capa\";s:51:\"cursos/WYI8ptBsS9qQY809tYSkjPdkj0h0F9HEV0c5F4j5.png\";s:7:\"publico\";i:0;s:10:\"deleted_at\";N;}s:11:\"\0*\0original\";a:22:{s:2:\"id\";i:4;s:6:\"titulo\";s:32:\"Introdução ao AutoCAD Civil 3D\";s:4:\"tipo\";s:3:\"ead\";s:5:\"nivel\";s:5:\"todos\";s:10:\"modalidade\";s:6:\"Online\";s:11:\"certificado\";i:1;s:4:\"slug\";s:30:\"introducao-ao-autocad-civil-3d\";s:9:\"descricao\";s:210:\"Curso introdutório ao AutoCAD Civil 3D para profissionais de topografia e engenharia civil. Aborda criação de superfícies, perfis longitudinais, seções transversais e cálculo de volumes de terraplenagem.\";s:5:\"valor\";s:8:\"35000.00\";s:6:\"status\";i:0;s:9:\"instrutor\";s:17:\"Eng. Ana Ferreira\";s:7:\"duracao\";s:8:\"15 Horas\";s:5:\"preco\";s:8:\"35000.00\";s:6:\"imagem\";s:51:\"cursos/WYI8ptBsS9qQY809tYSkjPdkj0h0F9HEV0c5F4j5.png\";s:11:\"imagem_hero\";N;s:8:\"conteudo\";N;s:10:\"created_at\";s:19:\"2026-05-23 13:18:11\";s:10:\"updated_at\";s:19:\"2026-07-04 15:26:37\";s:13:\"duracao_total\";N;s:11:\"imagem_capa\";s:51:\"cursos/WYI8ptBsS9qQY809tYSkjPdkj0h0F9HEV0c5F4j5.png\";s:7:\"publico\";i:0;s:10:\"deleted_at\";N;}s:10:\"\0*\0changes\";a:0:{}s:11:\"\0*\0previous\";a:0:{}s:8:\"\0*\0casts\";a:4:{s:5:\"preco\";s:9:\"decimal:2\";s:7:\"publico\";s:7:\"boolean\";s:11:\"certificado\";s:7:\"boolean\";s:10:\"deleted_at\";s:8:\"datetime\";}s:17:\"\0*\0classCastCache\";a:0:{}s:21:\"\0*\0attributeCastCache\";a:0:{}s:13:\"\0*\0dateFormat\";N;s:10:\"\0*\0appends\";a:0:{}s:19:\"\0*\0dispatchesEvents\";a:0:{}s:14:\"\0*\0observables\";a:0:{}s:12:\"\0*\0relations\";a:0:{}s:10:\"\0*\0touches\";a:0:{}s:27:\"\0*\0relationAutoloadCallback\";N;s:26:\"\0*\0relationAutoloadContext\";N;s:10:\"timestamps\";b:1;s:13:\"usesUniqueIds\";b:0;s:9:\"\0*\0hidden\";a:0:{}s:10:\"\0*\0visible\";a:0:{}s:11:\"\0*\0fillable\";a:12:{i:0;s:6:\"titulo\";i:1;s:4:\"tipo\";i:2;s:9:\"descricao\";i:3;s:9:\"instrutor\";i:4;s:7:\"duracao\";i:5;s:5:\"preco\";i:6;s:6:\"imagem\";i:7;s:8:\"conteudo\";i:8;s:5:\"nivel\";i:9;s:10:\"modalidade\";i:10;s:11:\"certificado\";i:11;s:11:\"imagem_hero\";}s:10:\"\0*\0guarded\";a:1:{i:0;s:1:\"*\";}s:16:\"\0*\0forceDeleting\";b:0;}i:1;O:19:\"App\\Models\\Formacao\":34:{s:13:\"\0*\0connection\";s:5:\"mysql\";s:8:\"\0*\0table\";s:9:\"formacoes\";s:13:\"\0*\0primaryKey\";s:2:\"id\";s:10:\"\0*\0keyType\";s:3:\"int\";s:12:\"incrementing\";b:1;s:7:\"\0*\0with\";a:0:{}s:12:\"\0*\0withCount\";a:0:{}s:19:\"preventsLazyLoading\";b:0;s:10:\"\0*\0perPage\";i:15;s:6:\"exists\";b:1;s:18:\"wasRecentlyCreated\";b:0;s:28:\"\0*\0escapeWhenCastingToString\";b:0;s:13:\"\0*\0attributes\";a:22:{s:2:\"id\";i:3;s:6:\"titulo\";s:24:\"Fotogrametria com Drones\";s:4:\"tipo\";s:10:\"presencial\";s:5:\"nivel\";s:8:\"avancado\";s:10:\"modalidade\";s:5:\"Misto\";s:11:\"certificado\";i:1;s:4:\"slug\";s:20:\"fotogrametria-drones\";s:9:\"descricao\";s:186:\"Formação avançada em fotogrametria aérea com drones DJI. Planeamento de voo, processamento de imagens com Agisoft Metashape, geração de ortofotomosaicos, MDT e nuvens de pontos 3D.\";s:5:\"valor\";s:4:\"0.00\";s:6:\"status\";i:0;s:9:\"instrutor\";s:20:\"Eng. Olimpio Kalueto\";s:7:\"duracao\";s:8:\"30 Horas\";s:5:\"preco\";s:8:\"95000.00\";s:6:\"imagem\";s:29:\"formacoes/formacao-drones.jpg\";s:11:\"imagem_hero\";N;s:8:\"conteudo\";N;s:10:\"created_at\";s:19:\"2026-05-23 13:18:11\";s:10:\"updated_at\";s:19:\"2026-05-23 13:18:11\";s:13:\"duracao_total\";N;s:11:\"imagem_capa\";N;s:7:\"publico\";i:0;s:10:\"deleted_at\";N;}s:11:\"\0*\0original\";a:22:{s:2:\"id\";i:3;s:6:\"titulo\";s:24:\"Fotogrametria com Drones\";s:4:\"tipo\";s:10:\"presencial\";s:5:\"nivel\";s:8:\"avancado\";s:10:\"modalidade\";s:5:\"Misto\";s:11:\"certificado\";i:1;s:4:\"slug\";s:20:\"fotogrametria-drones\";s:9:\"descricao\";s:186:\"Formação avançada em fotogrametria aérea com drones DJI. Planeamento de voo, processamento de imagens com Agisoft Metashape, geração de ortofotomosaicos, MDT e nuvens de pontos 3D.\";s:5:\"valor\";s:4:\"0.00\";s:6:\"status\";i:0;s:9:\"instrutor\";s:20:\"Eng. Olimpio Kalueto\";s:7:\"duracao\";s:8:\"30 Horas\";s:5:\"preco\";s:8:\"95000.00\";s:6:\"imagem\";s:29:\"formacoes/formacao-drones.jpg\";s:11:\"imagem_hero\";N;s:8:\"conteudo\";N;s:10:\"created_at\";s:19:\"2026-05-23 13:18:11\";s:10:\"updated_at\";s:19:\"2026-05-23 13:18:11\";s:13:\"duracao_total\";N;s:11:\"imagem_capa\";N;s:7:\"publico\";i:0;s:10:\"deleted_at\";N;}s:10:\"\0*\0changes\";a:0:{}s:11:\"\0*\0previous\";a:0:{}s:8:\"\0*\0casts\";a:4:{s:5:\"preco\";s:9:\"decimal:2\";s:7:\"publico\";s:7:\"boolean\";s:11:\"certificado\";s:7:\"boolean\";s:10:\"deleted_at\";s:8:\"datetime\";}s:17:\"\0*\0classCastCache\";a:0:{}s:21:\"\0*\0attributeCastCache\";a:0:{}s:13:\"\0*\0dateFormat\";N;s:10:\"\0*\0appends\";a:0:{}s:19:\"\0*\0dispatchesEvents\";a:0:{}s:14:\"\0*\0observables\";a:0:{}s:12:\"\0*\0relations\";a:0:{}s:10:\"\0*\0touches\";a:0:{}s:27:\"\0*\0relationAutoloadCallback\";N;s:26:\"\0*\0relationAutoloadContext\";N;s:10:\"timestamps\";b:1;s:13:\"usesUniqueIds\";b:0;s:9:\"\0*\0hidden\";a:0:{}s:10:\"\0*\0visible\";a:0:{}s:11:\"\0*\0fillable\";a:12:{i:0;s:6:\"titulo\";i:1;s:4:\"tipo\";i:2;s:9:\"descricao\";i:3;s:9:\"instrutor\";i:4;s:7:\"duracao\";i:5;s:5:\"preco\";i:6;s:6:\"imagem\";i:7;s:8:\"conteudo\";i:8;s:5:\"nivel\";i:9;s:10:\"modalidade\";i:10;s:11:\"certificado\";i:11;s:11:\"imagem_hero\";}s:10:\"\0*\0guarded\";a:1:{i:0;s:1:\"*\";}s:16:\"\0*\0forceDeleting\";b:0;}i:2;O:19:\"App\\Models\\Formacao\":34:{s:13:\"\0*\0connection\";s:5:\"mysql\";s:8:\"\0*\0table\";s:9:\"formacoes\";s:13:\"\0*\0primaryKey\";s:2:\"id\";s:10:\"\0*\0keyType\";s:3:\"int\";s:12:\"incrementing\";b:1;s:7:\"\0*\0with\";a:0:{}s:12:\"\0*\0withCount\";a:0:{}s:19:\"preventsLazyLoading\";b:0;s:10:\"\0*\0perPage\";i:15;s:6:\"exists\";b:1;s:18:\"wasRecentlyCreated\";b:0;s:28:\"\0*\0escapeWhenCastingToString\";b:0;s:13:\"\0*\0attributes\";a:22:{s:2:\"id\";i:2;s:6:\"titulo\";s:29:\"Operação de Estação Total\";s:4:\"tipo\";s:10:\"presencial\";s:5:\"nivel\";s:9:\"iniciante\";s:10:\"modalidade\";s:8:\"Prático\";s:11:\"certificado\";i:1;s:4:\"slug\";s:22:\"operacao-estacao-total\";s:9:\"descricao\";s:206:\"Formação prática para iniciantes na operação de estações totais. Cobre estacionamento, orientação, medição de ângulos e distâncias, implantação de pontos e exportação de dados para AutoCAD.\";s:5:\"valor\";s:4:\"0.00\";s:6:\"status\";i:0;s:9:\"instrutor\";s:18:\"Eng. Carlos Mendes\";s:7:\"duracao\";s:8:\"20 Horas\";s:5:\"preco\";s:8:\"45000.00\";s:6:\"imagem\";s:36:\"formacoes/formacao-estacao-total.jpg\";s:11:\"imagem_hero\";N;s:8:\"conteudo\";N;s:10:\"created_at\";s:19:\"2026-05-23 13:18:11\";s:10:\"updated_at\";s:19:\"2026-05-23 13:18:11\";s:13:\"duracao_total\";N;s:11:\"imagem_capa\";N;s:7:\"publico\";i:0;s:10:\"deleted_at\";N;}s:11:\"\0*\0original\";a:22:{s:2:\"id\";i:2;s:6:\"titulo\";s:29:\"Operação de Estação Total\";s:4:\"tipo\";s:10:\"presencial\";s:5:\"nivel\";s:9:\"iniciante\";s:10:\"modalidade\";s:8:\"Prático\";s:11:\"certificado\";i:1;s:4:\"slug\";s:22:\"operacao-estacao-total\";s:9:\"descricao\";s:206:\"Formação prática para iniciantes na operação de estações totais. Cobre estacionamento, orientação, medição de ângulos e distâncias, implantação de pontos e exportação de dados para AutoCAD.\";s:5:\"valor\";s:4:\"0.00\";s:6:\"status\";i:0;s:9:\"instrutor\";s:18:\"Eng. Carlos Mendes\";s:7:\"duracao\";s:8:\"20 Horas\";s:5:\"preco\";s:8:\"45000.00\";s:6:\"imagem\";s:36:\"formacoes/formacao-estacao-total.jpg\";s:11:\"imagem_hero\";N;s:8:\"conteudo\";N;s:10:\"created_at\";s:19:\"2026-05-23 13:18:11\";s:10:\"updated_at\";s:19:\"2026-05-23 13:18:11\";s:13:\"duracao_total\";N;s:11:\"imagem_capa\";N;s:7:\"publico\";i:0;s:10:\"deleted_at\";N;}s:10:\"\0*\0changes\";a:0:{}s:11:\"\0*\0previous\";a:0:{}s:8:\"\0*\0casts\";a:4:{s:5:\"preco\";s:9:\"decimal:2\";s:7:\"publico\";s:7:\"boolean\";s:11:\"certificado\";s:7:\"boolean\";s:10:\"deleted_at\";s:8:\"datetime\";}s:17:\"\0*\0classCastCache\";a:0:{}s:21:\"\0*\0attributeCastCache\";a:0:{}s:13:\"\0*\0dateFormat\";N;s:10:\"\0*\0appends\";a:0:{}s:19:\"\0*\0dispatchesEvents\";a:0:{}s:14:\"\0*\0observables\";a:0:{}s:12:\"\0*\0relations\";a:0:{}s:10:\"\0*\0touches\";a:0:{}s:27:\"\0*\0relationAutoloadCallback\";N;s:26:\"\0*\0relationAutoloadContext\";N;s:10:\"timestamps\";b:1;s:13:\"usesUniqueIds\";b:0;s:9:\"\0*\0hidden\";a:0:{}s:10:\"\0*\0visible\";a:0:{}s:11:\"\0*\0fillable\";a:12:{i:0;s:6:\"titulo\";i:1;s:4:\"tipo\";i:2;s:9:\"descricao\";i:3;s:9:\"instrutor\";i:4;s:7:\"duracao\";i:5;s:5:\"preco\";i:6;s:6:\"imagem\";i:7;s:8:\"conteudo\";i:8;s:5:\"nivel\";i:9;s:10:\"modalidade\";i:10;s:11:\"certificado\";i:11;s:11:\"imagem_hero\";}s:10:\"\0*\0guarded\";a:1:{i:0;s:1:\"*\";}s:16:\"\0*\0forceDeleting\";b:0;}i:3;O:19:\"App\\Models\\Formacao\":34:{s:13:\"\0*\0connection\";s:5:\"mysql\";s:8:\"\0*\0table\";s:9:\"formacoes\";s:13:\"\0*\0primaryKey\";s:2:\"id\";s:10:\"\0*\0keyType\";s:3:\"int\";s:12:\"incrementing\";b:1;s:7:\"\0*\0with\";a:0:{}s:12:\"\0*\0withCount\";a:0:{}s:19:\"preventsLazyLoading\";b:0;s:10:\"\0*\0perPage\";i:15;s:6:\"exists\";b:1;s:18:\"wasRecentlyCreated\";b:0;s:28:\"\0*\0escapeWhenCastingToString\";b:0;s:13:\"\0*\0attributes\";a:22:{s:2:\"id\";i:1;s:6:\"titulo\";s:27:\"Processamento de Dados GNSS\";s:4:\"tipo\";s:10:\"presencial\";s:5:\"nivel\";s:8:\"avancado\";s:10:\"modalidade\";s:10:\"Presencial\";s:11:\"certificado\";i:1;s:4:\"slug\";s:24:\"processamento-dados-gnss\";s:9:\"descricao\";s:198:\"Formação avançada em processamento de dados GNSS com software Leica Infinity e Hi-Survey. Aborda pós-processamento PPK, ajustamento de redes e controlo de qualidade de levantamentos geodésicos.\";s:5:\"valor\";s:4:\"0.00\";s:6:\"status\";i:0;s:9:\"instrutor\";s:20:\"Eng. Olimpio Kalueto\";s:7:\"duracao\";s:8:\"40 Horas\";s:5:\"preco\";s:8:\"85000.00\";s:6:\"imagem\";s:27:\"formacoes/formacao-gnss.jpg\";s:11:\"imagem_hero\";N;s:8:\"conteudo\";N;s:10:\"created_at\";s:19:\"2026-05-23 13:18:11\";s:10:\"updated_at\";s:19:\"2026-05-23 13:18:11\";s:13:\"duracao_total\";N;s:11:\"imagem_capa\";N;s:7:\"publico\";i:0;s:10:\"deleted_at\";N;}s:11:\"\0*\0original\";a:22:{s:2:\"id\";i:1;s:6:\"titulo\";s:27:\"Processamento de Dados GNSS\";s:4:\"tipo\";s:10:\"presencial\";s:5:\"nivel\";s:8:\"avancado\";s:10:\"modalidade\";s:10:\"Presencial\";s:11:\"certificado\";i:1;s:4:\"slug\";s:24:\"processamento-dados-gnss\";s:9:\"descricao\";s:198:\"Formação avançada em processamento de dados GNSS com software Leica Infinity e Hi-Survey. Aborda pós-processamento PPK, ajustamento de redes e controlo de qualidade de levantamentos geodésicos.\";s:5:\"valor\";s:4:\"0.00\";s:6:\"status\";i:0;s:9:\"instrutor\";s:20:\"Eng. Olimpio Kalueto\";s:7:\"duracao\";s:8:\"40 Horas\";s:5:\"preco\";s:8:\"85000.00\";s:6:\"imagem\";s:27:\"formacoes/formacao-gnss.jpg\";s:11:\"imagem_hero\";N;s:8:\"conteudo\";N;s:10:\"created_at\";s:19:\"2026-05-23 13:18:11\";s:10:\"updated_at\";s:19:\"2026-05-23 13:18:11\";s:13:\"duracao_total\";N;s:11:\"imagem_capa\";N;s:7:\"publico\";i:0;s:10:\"deleted_at\";N;}s:10:\"\0*\0changes\";a:0:{}s:11:\"\0*\0previous\";a:0:{}s:8:\"\0*\0casts\";a:4:{s:5:\"preco\";s:9:\"decimal:2\";s:7:\"publico\";s:7:\"boolean\";s:11:\"certificado\";s:7:\"boolean\";s:10:\"deleted_at\";s:8:\"datetime\";}s:17:\"\0*\0classCastCache\";a:0:{}s:21:\"\0*\0attributeCastCache\";a:0:{}s:13:\"\0*\0dateFormat\";N;s:10:\"\0*\0appends\";a:0:{}s:19:\"\0*\0dispatchesEvents\";a:0:{}s:14:\"\0*\0observables\";a:0:{}s:12:\"\0*\0relations\";a:0:{}s:10:\"\0*\0touches\";a:0:{}s:27:\"\0*\0relationAutoloadCallback\";N;s:26:\"\0*\0relationAutoloadContext\";N;s:10:\"timestamps\";b:1;s:13:\"usesUniqueIds\";b:0;s:9:\"\0*\0hidden\";a:0:{}s:10:\"\0*\0visible\";a:0:{}s:11:\"\0*\0fillable\";a:12:{i:0;s:6:\"titulo\";i:1;s:4:\"tipo\";i:2;s:9:\"descricao\";i:3;s:9:\"instrutor\";i:4;s:7:\"duracao\";i:5;s:5:\"preco\";i:6;s:6:\"imagem\";i:7;s:8:\"conteudo\";i:8;s:5:\"nivel\";i:9;s:10:\"modalidade\";i:10;s:11:\"certificado\";i:11;s:11:\"imagem_hero\";}s:10:\"\0*\0guarded\";a:1:{i:0;s:1:\"*\";}s:16:\"\0*\0forceDeleting\";b:0;}}s:28:\"\0*\0escapeWhenCastingToString\";b:0;}', 1786205754),
('amd-ii-topografia-engenharia-projectos-lda-cache-home.noticias', 'O:39:\"Illuminate\\Database\\Eloquent\\Collection\":2:{s:8:\"\0*\0items\";a:0:{}s:28:\"\0*\0escapeWhenCastingToString\";b:0;}', 1786208514),
('amd-ii-topografia-engenharia-projectos-lda-cache-home.produtos', 'O:39:\"Illuminate\\Database\\Eloquent\\Collection\":2:{s:8:\"\0*\0items\";a:1:{i:0;O:18:\"App\\Models\\Produto\":34:{s:13:\"\0*\0connection\";s:5:\"mysql\";s:8:\"\0*\0table\";s:8:\"produtos\";s:13:\"\0*\0primaryKey\";s:2:\"id\";s:10:\"\0*\0keyType\";s:3:\"int\";s:12:\"incrementing\";b:1;s:7:\"\0*\0with\";a:0:{}s:12:\"\0*\0withCount\";a:0:{}s:19:\"preventsLazyLoading\";b:0;s:10:\"\0*\0perPage\";i:15;s:6:\"exists\";b:1;s:18:\"wasRecentlyCreated\";b:0;s:28:\"\0*\0escapeWhenCastingToString\";b:0;s:13:\"\0*\0attributes\";a:17:{s:2:\"id\";i:16;s:4:\"nome\";s:23:\"GNSS RTK Hi-Target V200\";s:9:\"descricao\";s:167:\"Receptor GNSS RTK ultra-compacto com suporte a múltiplas constelações (GPS, GLONASS, Galileo, BeiDou). Elevada autonomia e rádio UHF integrado de alta performance.\";s:5:\"preco\";s:10:\"6300000.00\";s:13:\"preco_aluguer\";s:8:\"85000.00\";s:5:\"stock\";i:5;s:6:\"imagem\";s:53:\"produtos/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\";s:4:\"tipo\";s:5:\"ambos\";s:9:\"categoria\";s:3:\"gps\";s:5:\"marca\";s:9:\"Hi-Target\";s:6:\"modelo\";s:4:\"V200\";s:12:\"numero_serie\";s:12:\"HT-V200-2026\";s:22:\"status_disponibilidade\";s:11:\"Disponível\";s:13:\"ficha_tecnica\";N;s:10:\"created_at\";s:19:\"2026-06-15 19:07:09\";s:10:\"updated_at\";s:19:\"2026-07-04 14:15:13\";s:10:\"deleted_at\";N;}s:11:\"\0*\0original\";a:17:{s:2:\"id\";i:16;s:4:\"nome\";s:23:\"GNSS RTK Hi-Target V200\";s:9:\"descricao\";s:167:\"Receptor GNSS RTK ultra-compacto com suporte a múltiplas constelações (GPS, GLONASS, Galileo, BeiDou). Elevada autonomia e rádio UHF integrado de alta performance.\";s:5:\"preco\";s:10:\"6300000.00\";s:13:\"preco_aluguer\";s:8:\"85000.00\";s:5:\"stock\";i:5;s:6:\"imagem\";s:53:\"produtos/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\";s:4:\"tipo\";s:5:\"ambos\";s:9:\"categoria\";s:3:\"gps\";s:5:\"marca\";s:9:\"Hi-Target\";s:6:\"modelo\";s:4:\"V200\";s:12:\"numero_serie\";s:12:\"HT-V200-2026\";s:22:\"status_disponibilidade\";s:11:\"Disponível\";s:13:\"ficha_tecnica\";N;s:10:\"created_at\";s:19:\"2026-06-15 19:07:09\";s:10:\"updated_at\";s:19:\"2026-07-04 14:15:13\";s:10:\"deleted_at\";N;}s:10:\"\0*\0changes\";a:0:{}s:11:\"\0*\0previous\";a:0:{}s:8:\"\0*\0casts\";a:3:{s:5:\"preco\";s:9:\"decimal:2\";s:13:\"preco_aluguer\";s:9:\"decimal:2\";s:10:\"deleted_at\";s:8:\"datetime\";}s:17:\"\0*\0classCastCache\";a:0:{}s:21:\"\0*\0attributeCastCache\";a:0:{}s:13:\"\0*\0dateFormat\";N;s:10:\"\0*\0appends\";a:0:{}s:19:\"\0*\0dispatchesEvents\";a:0:{}s:14:\"\0*\0observables\";a:0:{}s:12:\"\0*\0relations\";a:1:{s:7:\"imagens\";O:39:\"Illuminate\\Database\\Eloquent\\Collection\":2:{s:8:\"\0*\0items\";a:0:{}s:28:\"\0*\0escapeWhenCastingToString\";b:0;}}s:10:\"\0*\0touches\";a:0:{}s:27:\"\0*\0relationAutoloadCallback\";N;s:26:\"\0*\0relationAutoloadContext\";N;s:10:\"timestamps\";b:1;s:13:\"usesUniqueIds\";b:0;s:9:\"\0*\0hidden\";a:0:{}s:10:\"\0*\0visible\";a:0:{}s:11:\"\0*\0fillable\";a:13:{i:0;s:4:\"nome\";i:1;s:9:\"descricao\";i:2;s:5:\"preco\";i:3;s:13:\"preco_aluguer\";i:4;s:6:\"imagem\";i:5;s:9:\"categoria\";i:6;s:5:\"stock\";i:7;s:4:\"tipo\";i:8;s:5:\"marca\";i:9;s:6:\"modelo\";i:10;s:12:\"numero_serie\";i:11;s:22:\"status_disponibilidade\";i:12;s:13:\"ficha_tecnica\";}s:10:\"\0*\0guarded\";a:1:{i:0;s:1:\"*\";}s:16:\"\0*\0forceDeleting\";b:0;}}s:28:\"\0*\0escapeWhenCastingToString\";b:0;}', 1786205754);

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

--
-- Estrutura da tabela `cache_locks`
--

CREATE TABLE `cache_locks` (
  `key` varchar(255) NOT NULL,
  `owner` varchar(255) NOT NULL,
  `expiration` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `configuracoes_sistema`
--

CREATE TABLE `configuracoes_sistema` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `nome_empresa` varchar(255) NOT NULL DEFAULT 'AMD Topografia — Ponto Alvo, Lda',
  `nif` varchar(255) NOT NULL DEFAULT '5002426048',
  `morada` varchar(255) DEFAULT NULL,
  `telefone` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `titular_bancario` varchar(255) DEFAULT NULL,
  `iban_bai` varchar(255) DEFAULT NULL,
  `iban_bfa` varchar(255) DEFAULT NULL,
  `logo_documentos` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `meta_description` text DEFAULT NULL,
  `meta_keywords` varchar(255) DEFAULT NULL,
  `google_analytics_id` varchar(255) DEFAULT NULL,
  `google_site_verification` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `configuracoes_sistema`
--

INSERT INTO `configuracoes_sistema` (`id`, `nome_empresa`, `nif`, `morada`, `telefone`, `email`, `titular_bancario`, `iban_bai`, `iban_bfa`, `logo_documentos`, `created_at`, `updated_at`, `meta_description`, `meta_keywords`, `google_analytics_id`, `google_site_verification`) VALUES
(1, 'AMD-II TOPOGRAFIA ENGENHARIA & PROJECTOS, LDA', '5001680587', 'AMD-II TOPOGRAFIA ENGENHARIA & PROJECTOS, LDA., Icolo e Bengo, Rua das Quiosques Quarterão D, R/C', '+244 948 944 582', 'geral@amdtopografia.com', NULL, NULL, NULL, NULL, '2026-06-04 13:53:57', '2026-08-06 17:19:17', 'AMD-II TOPOGRAFIA ENGENHARIA & PROJECTOS, LDA - Líder em serviços de topografia, engenharia, cartografia, agrimensura e aluguer de equipamentos de alta precisão em Angola.', 'topografia, angola, geodesia, cartografia, engenharia, marcos geodésicos, gps rtk, estação total, aluguer de equipamentos, amd topografia', NULL, NULL);

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

--
-- Estrutura da tabela `contactos`
--

CREATE TABLE `contactos` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `nome` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `telefone` varchar(255) DEFAULT NULL,
  `mensagem` text NOT NULL,
  `reply` text DEFAULT NULL,
  `replied_at` timestamp NULL DEFAULT NULL,
  `read_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `contactos`
--

INSERT INTO `contactos` (`id`, `nome`, `email`, `telefone`, `mensagem`, `reply`, `replied_at`, `read_at`, `created_at`, `updated_at`) VALUES
(1, 'Olímpio Kalueto', 'olimpiokalueto@gmail.com', '924110836', 'fghjfgjdtgdg', NULL, NULL, '2026-07-26 16:38:04', '2026-06-04 14:07:29', '2026-07-26 16:38:04');

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

--
-- Estrutura da tabela `cursos`
--

CREATE TABLE `cursos` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `titulo` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `descricao` text DEFAULT NULL,
  `preco` decimal(10,2) NOT NULL DEFAULT 0.00,
  `imagem_capa` varchar(255) DEFAULT NULL,
  `publico` tinyint(1) NOT NULL DEFAULT 0,
  `duracao_total` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `equipa`
--

CREATE TABLE `equipa` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `nome` varchar(255) NOT NULL,
  `cargo` varchar(255) DEFAULT NULL,
  `foto` varchar(255) DEFAULT NULL,
  `biografia` text DEFAULT NULL,
  `ordem` int(11) NOT NULL DEFAULT 0,
  `ativo` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `failed_jobs`
--

CREATE TABLE `failed_jobs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `uuid` varchar(255) NOT NULL,
  `connection` text NOT NULL,
  `queue` text NOT NULL,
  `payload` longtext NOT NULL,
  `exception` longtext NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `formacao_inscricoes`
--

CREATE TABLE `formacao_inscricoes` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `formacao_id` bigint(20) UNSIGNED NOT NULL,
  `nome_completo` varchar(255) NOT NULL,
  `numero_bi` varchar(14) NOT NULL,
  `data_nascimento` date NOT NULL,
  `sexo` enum('Masculino','Feminino') NOT NULL,
  `nivel_academico` varchar(255) NOT NULL,
  `instituicao_ensino` varchar(255) NOT NULL,
  `telemovel` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `modalidade_pagamento` enum('Transferência Bancária','Depósito Bancário','Mbway') NOT NULL,
  `valor_inscricao` decimal(15,2) NOT NULL,
  `valor_extenso` varchar(255) NOT NULL,
  `comprovativo_pagamento` varchar(255) DEFAULT NULL,
  `status_pagamento` enum('Pendente','Confirmado','Rejeitado') NOT NULL DEFAULT 'Pendente',
  `status_inscricao` enum('Pendente','Confirmada','Rejeitada','Cancelada') NOT NULL DEFAULT 'Pendente',
  `observacoes` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `formacoes`
--

CREATE TABLE `formacoes` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `titulo` varchar(255) NOT NULL,
  `tipo` enum('presencial','ead') NOT NULL DEFAULT 'presencial',
  `nivel` enum('iniciante','avancado','todos') NOT NULL DEFAULT 'todos',
  `modalidade` varchar(255) NOT NULL DEFAULT 'Presencial',
  `certificado` tinyint(1) NOT NULL DEFAULT 1,
  `slug` varchar(255) DEFAULT NULL,
  `descricao` text NOT NULL,
  `valor` decimal(10,2) NOT NULL DEFAULT 0.00,
  `status` int(11) NOT NULL DEFAULT 0,
  `instrutor` varchar(255) DEFAULT NULL,
  `duracao` varchar(255) DEFAULT NULL,
  `preco` decimal(10,2) NOT NULL DEFAULT 0.00,
  `imagem` varchar(255) DEFAULT NULL,
  `imagem_hero` varchar(255) DEFAULT NULL,
  `conteudo` longtext DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `duracao_total` int(11) DEFAULT NULL,
  `imagem_capa` varchar(255) DEFAULT NULL,
  `publico` tinyint(1) NOT NULL DEFAULT 0,
  `deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `formacoes`
--

INSERT INTO `formacoes` (`id`, `titulo`, `tipo`, `nivel`, `modalidade`, `certificado`, `slug`, `descricao`, `valor`, `status`, `instrutor`, `duracao`, `preco`, `imagem`, `imagem_hero`, `conteudo`, `created_at`, `updated_at`, `duracao_total`, `imagem_capa`, `publico`, `deleted_at`) VALUES
(1, 'Processamento de Dados GNSS', 'presencial', 'avancado', 'Presencial', 1, 'processamento-dados-gnss', 'Formação avançada em processamento de dados GNSS com software Leica Infinity e Hi-Survey. Aborda pós-processamento PPK, ajustamento de redes e controlo de qualidade de levantamentos geodésicos.', 0.00, 0, 'Eng. Olimpio Kalueto', '40 Horas', 85000.00, 'formacoes/formacao-gnss.jpg', NULL, NULL, '2026-05-23 12:18:11', '2026-05-23 12:18:11', NULL, NULL, 0, NULL),
(2, 'Operação de Estação Total', 'presencial', 'iniciante', 'Prático', 1, 'operacao-estacao-total', 'Formação prática para iniciantes na operação de estações totais. Cobre estacionamento, orientação, medição de ângulos e distâncias, implantação de pontos e exportação de dados para AutoCAD.', 0.00, 0, 'Eng. Carlos Mendes', '20 Horas', 45000.00, 'formacoes/formacao-estacao-total.jpg', NULL, NULL, '2026-05-23 12:18:11', '2026-05-23 12:18:11', NULL, NULL, 0, NULL),
(3, 'Fotogrametria com Drones', 'presencial', 'avancado', 'Misto', 1, 'fotogrametria-drones', 'Formação avançada em fotogrametria aérea com drones DJI. Planeamento de voo, processamento de imagens com Agisoft Metashape, geração de ortofotomosaicos, MDT e nuvens de pontos 3D.', 0.00, 0, 'Eng. Olimpio Kalueto', '30 Horas', 95000.00, 'formacoes/formacao-drones.jpg', NULL, NULL, '2026-05-23 12:18:11', '2026-05-23 12:18:11', NULL, NULL, 0, NULL);

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

--
-- Estrutura da tabela `hero_slides`
--

CREATE TABLE `hero_slides` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `produto_id` bigint(20) UNSIGNED DEFAULT NULL,
  `pagina` varchar(20) NOT NULL DEFAULT 'loja',
  `subtitulo` varchar(255) DEFAULT NULL,
  `titulo` varchar(255) NOT NULL,
  `descricao` text DEFAULT NULL,
  `imagem` varchar(255) NOT NULL,
  `texto_botao_1` varchar(255) DEFAULT NULL,
  `url_botao_1` varchar(255) DEFAULT NULL,
  `texto_botao_2` varchar(255) DEFAULT NULL,
  `url_botao_2` varchar(255) DEFAULT NULL,
  `ordem` int(11) NOT NULL DEFAULT 0,
  `ativo` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `hero_slides`
--

INSERT INTO `hero_slides` (`id`, `produto_id`, `pagina`, `subtitulo`, `titulo`, `descricao`, `imagem`, `texto_botao_1`, `url_botao_1`, `texto_botao_2`, `url_botao_2`, `ordem`, `ativo`, `created_at`, `updated_at`) VALUES
(1, 16, 'loja', 'Em destaque', 'GNSS V200', 'V200 GNSS RTK Receiver brings superior performance and high efficiency to support your fieldwork with reliable solutions. Its deployment of the advanced RTK engine and new-generation 9-axis IMU guarantees a 25% performance improvement even in the most demanding environments. Thus you can count on Hi-Target V200 for better productivity.', 'hero/6a64c7c8c6f17_1784989640.png', 'Ver Detalhes', '/pt/loja/16', 'Comprar Agora', NULL, 0, 1, '2026-07-25 13:20:55', '2026-08-06 17:09:27'),
(2, 18, 'loja', 'Promoção Julho', 'HTS−521L10 Optical Total Station', 'HTS-521L10 adopts a high-definition color screen to provide better human-computer interaction. The new optical design and absolute coding technology improve the measurement performance. High-precision compact bead shafting and sealed encoder disk enhance accuracy and stability.', 'hero/6a66507319bb2_1785090163.png', 'Ver Detalhes', '/pt/loja/18', 'Comprar Agora', NULL, 0, 1, '2026-07-25 14:12:02', '2026-08-06 17:09:27'),
(3, NULL, 'sobre', 'conteúdo a ser publicado', 'Precisão e maestria', NULL, 'hero/6a662fce62267_1785081806.jpg', NULL, NULL, NULL, NULL, 0, 1, '2026-07-26 15:03:26', '2026-07-26 15:03:26'),
(4, NULL, 'sobre', NULL, 'Descrição Técnica', NULL, 'hero/6a6635e583943_1785083365.jpg', NULL, NULL, NULL, NULL, 0, 1, '2026-07-26 15:29:25', '2026-07-26 15:29:25'),
(5, 20, 'loja', 'Em destaque', 'Drone DJI Mavic 3 Enterprise', 'drone compacto e dobrável que redefine a eficiência para inspeções e topografia', 'hero/6a665b56e8535_1785092950.png', 'Ver Detalhes', '/pt/loja/20', 'Comprar Agora', NULL, 2, 1, '2026-07-26 18:04:16', '2026-08-06 17:09:27'),
(6, 18, 'loja', 'Em destaque', 'GNSSVRTK', 'GNSSVRTK um receptor GNSS RTK de alta performance, muito utilizado em levantamento e mapeamento profissional. Ele se destaca por sua alta precisão,', 'hero/6a6662f11db92_1785094897.png', 'Aproveite a promoção', '/pt/loja/18', 'Comprar Agora', NULL, 3, 1, '2026-07-26 18:39:39', '2026-08-06 17:09:27');

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

--
-- Estrutura da tabela `jobs`
--

CREATE TABLE `jobs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `queue` varchar(255) NOT NULL,
  `payload` longtext NOT NULL,
  `attempts` tinyint(3) UNSIGNED NOT NULL,
  `reserved_at` int(10) UNSIGNED DEFAULT NULL,
  `available_at` int(10) UNSIGNED NOT NULL,
  `created_at` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `job_batches`
--

CREATE TABLE `job_batches` (
  `id` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `total_jobs` int(11) NOT NULL,
  `pending_jobs` int(11) NOT NULL,
  `failed_jobs` int(11) NOT NULL,
  `failed_job_ids` longtext NOT NULL,
  `options` mediumtext DEFAULT NULL,
  `cancelled_at` int(11) DEFAULT NULL,
  `created_at` int(11) NOT NULL,
  `finished_at` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `matriculas`
--

CREATE TABLE `matriculas` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `curso_id` bigint(20) UNSIGNED NOT NULL,
  `progresso` decimal(5,2) NOT NULL DEFAULT 0.00,
  `data_conclusao` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `migrations`
--

CREATE TABLE `migrations` (
  `id` int(10) UNSIGNED NOT NULL,
  `migration` varchar(255) NOT NULL,
  `batch` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '0001_01_01_000000_create_users_table', 1),
(2, '0001_01_01_000001_create_cache_table', 1),
(3, '0001_01_01_000002_create_jobs_table', 1),
(4, '2026_02_06_071850_create_noticias_table', 1),
(5, '2026_02_06_071949_create_contactos_table', 1),
(6, '2026_02_06_102719_create_produtos_table', 1),
(7, '2026_02_06_120020_create_formacaos_table', 1),
(8, '2026_02_06_140000_create_formacao_inscricoes_table', 1),
(9, '2026_02_07_000001_create_cursos_table', 1),
(10, '2026_02_07_000002_create_modulos_table', 1),
(11, '2026_02_07_000003_create_aulas_table', 1),
(12, '2026_02_07_000004_create_matriculas_table', 1),
(13, '2026_02_07_000005_create_aula_completions_table', 1),
(14, '2026_02_07_000006_create_certificates_table', 1),
(15, '2026_02_07_000007_create_plans_table', 1),
(16, '2026_02_07_000008_create_aula_comments_table', 1),
(17, '2026_02_14_000000_add_categoria_to_produtos_table', 1),
(18, '2026_02_14_000001_create_product_images_table', 1),
(19, '2026_02_16_000000_add_is_admin_to_users_table', 1),
(20, '2026_02_17_000000_drop_academia_tables', 1),
(21, '2026_02_18_102124_create_noticia_imagens_table', 1),
(22, '2026_03_06_140007_add_fields_to_users_table', 1),
(23, '2026_03_06_145830_create_activity_logs_table', 1),
(24, '2026_03_10_110609_create_cursos_table', 1),
(25, '2026_03_11_155148_final_sync_cursos_table', 1),
(26, '2026_03_11_155614_sync_slug_to_formacoes_table', 1),
(27, '2026_03_11_160117_add_missing_columns_to_formacoes', 1),
(28, '2026_03_11_160401_add_slug_to_formacoes_table', 1),
(29, '2026_03_11_160601_force_sync_formacoes_table', 1),
(30, '2026_03_12_073459_add_legacy_columns_to_formacoes_table', 1),
(31, '2026_05_21_153502_add_tipo_to_formacoes_table', 1),
(32, '2026_05_21_155302_add_soft_deletes_to_tables', 1),
(33, '2026_05_21_155525_add_indexes_to_tables', 1),
(34, '2026_05_21_160237_add_timestamps_to_produtos_and_formacoes', 1),
(35, '2026_05_23_110705_add_inventory_fields_to_produtos_table', 1),
(36, '2026_05_23_110715_create_pedidos_table', 1),
(37, '2026_05_24_000000_add_metadata_fields_to_formacoes_table', 1),
(38, '2026_05_25_100235_create_configuracoes_sistema_table', 1),
(39, '2026_05_28_140000_add_fine_grained_permissions_to_users_table', 1),
(40, '2026_06_15_183000_make_configuracoes_sistema_columns_nullable', 2),
(41, '2026_06_24_000001_create_equipa_table', 3),
(42, '2026_06_25_000001_recreate_academia_tables', 4),
(43, '2026_07_11_123000_add_seo_and_analytics_to_configuracoes_sistema_table', 5),
(44, '2026_07_25_140617_create_hero_slides_table', 6),
(45, '2026_07_26_153050_add_pagina_to_hero_slides_table', 7),
(46, '2026_07_26_155444_make_hero_slides_buttons_nullable', 8),
(47, '2026_07_26_173104_add_reply_to_contactos_table', 9),
(48, '2026_08_08_140000_add_more_permissions_to_users_table', 10);

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

--
-- Estrutura da tabela `modulos`
--

CREATE TABLE `modulos` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `curso_id` bigint(20) UNSIGNED NOT NULL,
  `titulo` varchar(255) NOT NULL,
  `descricao` text DEFAULT NULL,
  `ordem` int(11) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `noticias`
--

CREATE TABLE `noticias` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `titulo` varchar(255) NOT NULL,
  `subtitulo` varchar(255) DEFAULT NULL,
  `descricao` text DEFAULT NULL,
  `conteudo` longtext DEFAULT NULL,
  `imagem` varchar(255) DEFAULT NULL,
  `categoria` varchar(255) DEFAULT NULL,
  `autor` varchar(255) DEFAULT NULL,
  `data_publicacao` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `noticias`
--

INSERT INTO `noticias` (`id`, `titulo`, `subtitulo`, `descricao`, `conteudo`, `imagem`, `categoria`, `autor`, `data_publicacao`, `created_at`, `updated_at`, `deleted_at`) VALUES
(1, 'A Importância do GNSS RTK nas Obras de Infraestrutura em Luanda', 'A tecnologia GNSS RTK tem revolucionado a forma como os engenheiros realizam levantamentos topográficos em obras de grande escala na capital angolana.', NULL, 'A tecnologia GNSS RTK (Real Time Kinematic) tem-se tornado indispensável nas obras de infraestrutura em Luanda. Com precisão centimétrica em tempo real, permite que as equipas de topografia realizem levantamentos com maior rapidez e fiabilidade, reduzindo erros e retrabalho. A AMD Topografia tem fornecido soluções GNSS RTK de alta performance para projetos de estradas, saneamento e urbanismo em toda a região metropolitana de Luanda.', 'noticias/noticia-gnss-obras.jpg', NULL, 'AMD Topografia', NULL, '2026-05-18 12:18:11', '2026-07-04 12:12:49', '2026-07-04 12:12:49'),
(2, 'Como os Drones estão a Revolucionar o Cadastro Predial em Angola', 'O uso de drones para levantamento cadastral reduz em até 70% o tempo de campo e aumenta significativamente a precisão dos dados geoespaciais.', NULL, 'O cadastro predial em Angola enfrenta desafios históricos de atualização e precisão. A introdução de drones profissionais com câmaras de alta resolução e sistemas de posicionamento GNSS integrado tem transformado este cenário. Com um único voo, é possível mapear centenas de hectares com precisão centimétrica, gerando ortofotomosaicos, modelos digitais de terreno e plantas cadastrais prontas para registo. A AMD Topografia oferece serviços completos de fotogrametria aérea para entidades públicas e privadas.', 'noticias/noticia-drones-cadastro.jpg', NULL, 'AMD Topografia', NULL, '2026-05-11 12:18:11', '2026-07-04 12:13:06', '2026-07-04 12:13:06'),
(3, 'AMD Topografia Fecha Parceria para Suporte de Equipamentos Leica', 'A parceria garante assistência técnica certificada, calibração e fornecimento de peças originais Leica Geosystems em Angola.', NULL, 'A AMD Topografia anuncia com satisfação a formalização de uma parceria estratégica para suporte técnico de equipamentos Leica Geosystems em Angola. Esta parceria permite à AMD oferecer aos seus clientes assistência técnica certificada, calibração de instrumentos segundo os padrões internacionais ISO, e acesso a peças originais com garantia do fabricante. Os clientes com estações totais, níveis digitais e recetores GNSS Leica podem agora contar com suporte especializado sem necessidade de enviar os equipamentos para o exterior.', 'noticias/noticia-parceria-leica.jpg', NULL, 'AMD Topografia', NULL, '2026-05-03 12:18:11', '2026-07-04 12:12:55', '2026-07-04 12:12:55'),
(4, 'Novas Turmas Abertas para Formação em Geoprocessamento', 'A AMD Topografia abre inscrições para as turmas de Julho 2026 nos cursos de Processamento GNSS, Fotogrametria com Drones e AutoCAD Civil 3D.', NULL, 'A AMD Topografia tem o prazer de anunciar a abertura de inscrições para as novas turmas de formação técnica previstas para Julho de 2026. Os cursos disponíveis incluem Processamento de Dados GNSS (nível avançado, 40 horas), Fotogrametria com Drones (nível avançado, 30 horas), Operação de Estação Total (nível iniciante, 20 horas) e Introdução ao AutoCAD Civil 3D (online, 15 horas). Todos os cursos incluem certificado de participação e são ministrados por engenheiros com vasta experiência de campo. As vagas são limitadas.', 'noticias/noticia-novas-turmas.jpg', NULL, 'AMD Topografia', NULL, '2026-05-20 12:18:11', '2026-07-04 12:13:10', '2026-07-04 12:13:10'),
(5, 'exemplo', 'emplar', NULL, 'dgsdbhgdfxhnfdgjnfgmfhfchnjmcgmgcvhjgh', 'noticias/q4nIY2oqeYUzathoGWmd49QsM70VZGwN7RNkfnvW.png', NULL, 'AMOS CARLOS', NULL, '2026-05-23 17:29:33', '2026-07-04 12:12:41', '2026-07-04 12:12:41'),
(6, 'Teste pdo_mysql', NULL, NULL, 'Conteudo ok', NULL, NULL, 'Admin', NULL, '2026-07-04 12:22:54', '2026-07-04 12:37:20', '2026-07-04 12:37:20'),
(7, '🛠️ Descrição Técnica', 'conteúdo a ser publicado', NULL, 'Campo destinado ao registro de informações estruturadas e específicas sobre o conteúdo a ser publicado. Utilize este espaço para detalhar o contexto operacional, requisitos, procedimentos executados, métricas relevantes, resultados obtidos e qualquer dado técnico que contribua para a compreensão completa do material. A descrição deve manter consistência terminológica, precisão informativa e alinhamento com o padrão documental do sistema.', 'noticias/15u44q2wCtIMnFPQRmrHAfyf9fpFL3myR8HNCoVG.png', NULL, 'Olimpio Kalueto', NULL, '2026-07-04 12:49:25', '2026-08-05 15:44:51', '2026-08-05 15:44:51'),
(8, '🏗️ Treinamento Prático: Levantamento Topográfico (IPCG)', 'Topográfica e Assistência', NULL, '1. Visão Geral do Produto\r\n\r\nObjetivo\r\n\r\nUma plataforma LMS (Learning Management System) comercial, onde qualquer usuário pode:\r\n\r\n\r\nSe cadastrar e logar;\r\nNavegar pelo catálogo de cursos, filtrando por gratuitos e pagos;\r\nComprar cursos avulsos ou assinar um plano;\r\nConsumir conteúdo em Texto, Vídeo, Áudio e PDF;\r\nRealizar avaliações e emitir certificados válidos;\r\nCompartilhar conquistas no LinkedIn.\r\n\r\n\r\nE onde o administrador do negócio pode:\r\n\r\n\r\nGerenciar todo o catálogo, preços e publicação de cursos;\r\nAcompanhar vendas, reembolsos e cupons;\r\nGerenciar usuários, instrutores e permissões;\r\nEmitir relatórios de desempenho e evasão.\r\n\r\n\r\nDiferencial em relação ao modelo institucional original\r\n\r\nO relatório de referência (FIAP ON) descrevia um LMS fechado, sem fluxo de compra — acesso era institucional. A versão comercial introduz três camadas inteiramente novas:\r\n\r\n\r\nMonetização — planos, preços, cupons, checkout, gateway de pagamento;\r\nControle de acesso por tipo de curso — FREE, PAID ou SUBSCRIPTION;\r\nPainel Admin completo — gestão de catálogo, financeiro, usuários e relatórios.', 'noticias/k3lVenSicYyjcqjePrCGg1TA2ygX39le8utlwKF8.png', NULL, 'Olimpio Kalueto', NULL, '2026-07-04 13:02:43', '2026-08-05 15:44:57', '2026-08-05 15:44:57');

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

--
-- Estrutura da tabela `noticia_imagens`
--

CREATE TABLE `noticia_imagens` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `noticia_id` bigint(20) UNSIGNED NOT NULL,
  `caminho` varchar(255) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `noticia_imagens`
--

INSERT INTO `noticia_imagens` (`id`, `noticia_id`, `caminho`, `created_at`, `updated_at`) VALUES
(4, 5, 'noticias/galeria/U79iVRg1DIcFx9i68ZCcVf41He1cGgdS7mBVKV4S.jpg', '2026-05-23 17:29:33', '2026-05-23 17:29:33'),
(5, 7, 'noticias/galeria/a2upxn4lW18uBpe8gCVJVsodLskh3AcQ9TZXL106.png', '2026-07-04 12:49:25', '2026-07-04 12:49:25'),
(6, 7, 'noticias/galeria/GSJ0OUEeqKaRbt8maPAEQrhnHNMKiOlDveBWu7K5.png', '2026-07-04 12:49:25', '2026-07-04 12:49:25'),
(7, 8, 'noticias/galeria/Az5zzXEGsoQ2NXnJwHX56mrKX0izuCdTNLOd3sEd.png', '2026-07-04 13:02:43', '2026-07-04 13:02:43'),
(8, 8, 'noticias/galeria/cRwIhFg2maBgtuLauStvflDBIFsnRPHyS6Z5Ju6X.png', '2026-07-04 13:02:43', '2026-07-04 13:02:43');

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

--
-- Estrutura da tabela `password_reset_tokens`
--

CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) NOT NULL,
  `token` varchar(255) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `pedidos`
--

CREATE TABLE `pedidos` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `numero_proforma` varchar(255) NOT NULL,
  `cliente_nome` varchar(255) NOT NULL,
  `cliente_email` varchar(255) NOT NULL,
  `cliente_nif` varchar(255) DEFAULT NULL,
  `cliente_localizacao` varchar(255) NOT NULL,
  `carrinho_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`carrinho_data`)),
  `total` decimal(15,2) NOT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'Pendente',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `pedidos`
--

INSERT INTO `pedidos` (`id`, `numero_proforma`, `cliente_nome`, `cliente_email`, `cliente_nif`, `cliente_localizacao`, `carrinho_data`, `total`, `status`, `created_at`, `updated_at`) VALUES
(1, 'PF-20260525-7435', 'kljkhhk', 'olimpiocalueto@gmail.com', 'nnbhjbv', 'nbhb', '[{\"id\":5,\"nome\":\"R\\u00e1dio Externo Harxon HX-DU9800H\",\"tipo\":\"venda\",\"preco\":\"850000.00\",\"preco_unitario\":\"850000.00\",\"imagem\":\"produtos\\/harxon-radio.jpg\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":850000,\"line_iva\":119000.00000000001},{\"id\":4,\"nome\":\"Drone DJI Mavic 3 Enterprise\",\"tipo\":\"aluguer\",\"preco\":\"180000.00\",\"preco_unitario\":\"180000.00\",\"imagem\":\"produtos\\/dji-mavic3-enterprise.jpg\",\"quantidade\":1,\"aluguer_periodo\":\"Di\\u00e1rio\",\"aluguer_datas\":\"De 25\\/05\\/2026 a 28\\/05\\/2026\",\"line_total\":180000,\"line_iva\":0}]', 1149000.00, 'Pendente', '2026-05-25 08:45:13', '2026-05-25 08:45:13'),
(2, 'PF-20260604-6398', 'kljkhhk', 'olimpiokalueto@gmail.com', 'nnbhjbv', 'nbhb', '[{\"id\":6,\"nome\":\"GNSS\",\"tipo\":\"aluguer\",\"preco\":\"80000.00\",\"preco_unitario\":\"80000.00\",\"imagem\":\"produtos\\/ITK4iEDvOJiG0s47QnXFH6RvJeOkJ4xZCKIpZDEv.jpg\",\"quantidade\":1,\"aluguer_periodo\":\"Di\\u00e1rio\",\"aluguer_datas\":\"De 04\\/06\\/2026 a 07\\/06\\/2026\",\"line_total\":80000,\"line_iva\":0}]', 80000.00, 'Pendente', '2026-06-04 17:15:07', '2026-06-04 17:15:07'),
(3, 'PF-20260615-5996', 'olimpio', 'olimpiokalueto@gmail.com', '5453', 'jhg', '[{\"id\":6,\"nome\":\"GNSS\",\"tipo\":\"venda\",\"preco\":\"3000000.00\",\"preco_unitario\":\"3000000.00\",\"imagem\":\"produtos\\/ITK4iEDvOJiG0s47QnXFH6RvJeOkJ4xZCKIpZDEv.jpg\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":3000000,\"line_iva\":420000.00000000006},{\"id\":2,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"venda\",\"preco\":\"4500000.00\",\"preco_unitario\":\"4500000.00\",\"imagem\":\"produtos\\/hi-target-v200.jpg\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":4500000,\"line_iva\":630000.0000000001}]', 8550000.00, 'Pendente', '2026-06-15 17:13:11', '2026-06-15 17:13:11'),
(4, 'PF-20260704-5410', 'Nexa One Technologies', 'olimpiokalueto@gmail.com', '5453423666', 'Luanda', '[{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"venda\",\"preco\":\"6300000.00\",\"preco_unitario\":\"6300000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":6300000,\"line_iva\":882000.0000000001},{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"aluguer\",\"preco\":\"85000.00\",\"preco_unitario\":\"85000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":\"Semanal\",\"aluguer_datas\":\"De 04\\/07\\/2026 a 25\\/07\\/2026\",\"line_total\":85000,\"line_iva\":0}]', 7267000.00, 'Pendente', '2026-07-04 13:39:35', '2026-07-04 13:39:35'),
(5, 'PF-20260704-6994', 'Nexa One Technologies', 'olimpiokalueto@gmail.com', '5453423666', 'Luanda', '[{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"venda\",\"preco\":\"6300000.00\",\"preco_unitario\":\"6300000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":6300000,\"line_iva\":882000.0000000001},{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"aluguer\",\"preco\":\"85000.00\",\"preco_unitario\":\"85000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":\"Semanal\",\"aluguer_datas\":\"De 04\\/07\\/2026 a 07\\/07\\/2026\",\"line_total\":85000,\"line_iva\":0}]', 7267000.00, 'Pendente', '2026-07-04 13:50:21', '2026-07-04 13:50:21'),
(6, 'PF-20260704-5247', 'Nexa One Technologies', 'olimpiokalueto@gmail.com', '5453423666', 'Luanda', '[{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"venda\",\"preco\":\"6300000.00\",\"preco_unitario\":\"6300000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":6300000,\"line_iva\":882000.0000000001}]', 7182000.00, 'Pendente', '2026-07-04 13:55:20', '2026-07-04 13:55:20'),
(7, 'PF-20260704-8635', 'Nexa One Technologies', 'olimpiokalueto@gmail.com', '5453423666', 'Luanda', '[{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"venda\",\"preco\":\"6300000.00\",\"preco_unitario\":\"6300000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":6300000,\"line_iva\":882000.0000000001}]', 7182000.00, 'Pendente', '2026-07-04 17:16:54', '2026-07-04 17:16:54'),
(8, 'PF-20260710-7678', 'M2J TECNOLOGIA', 'andre.sambo@m2jtecnoloogia.ao', 'Consumidor Final', 'Luanda', '[{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"venda\",\"preco\":\"6300000.00\",\"preco_unitario\":\"6300000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":6300000,\"line_iva\":882000.0000000001}]', 7182000.00, 'Pendente', '2026-07-10 14:48:17', '2026-07-10 14:48:17'),
(9, 'PF-20260711-4282', 'M2J TECNOLOGIA', 'andre.sambo@m2jtecnoloogia.ao', 'fffgghgg', 'Luanda', '[{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"venda\",\"preco\":\"6300000.00\",\"preco_unitario\":\"6300000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":6300000,\"line_iva\":882000.0000000001}]', 7182000.00, 'Pendente', '2026-07-11 10:02:00', '2026-07-11 10:02:00'),
(10, 'PF-20260711-5347', 'M2J TECNOLOGIA', 'andre.sambo@m2jtecnoloogia.ao', 'fffgghgg', 'Luanda', '[{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"venda\",\"preco\":\"6300000.00\",\"preco_unitario\":\"6300000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":6300000,\"line_iva\":882000.0000000001}]', 7182000.00, 'Pendente', '2026-07-11 11:29:24', '2026-07-11 11:29:24'),
(11, 'PF-20260806-7629', 'Nexa One Technologies', 'olimpiokalueto@gmail.com', '5453423666', 'Luanda', '[{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"venda\",\"preco\":\"6300000.00\",\"preco_unitario\":\"6300000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":6300000,\"line_iva\":882000.0000000001}]', 7182000.00, 'Pendente', '2026-08-06 17:23:17', '2026-08-06 17:23:17'),
(12, 'PF-20260806-5534', 'Nexa One Technologies', 'olimpiokalueto@gmail.com', '5453423666', 'Luanda', '[{\"id\":16,\"nome\":\"GNSS RTK Hi-Target V200\",\"tipo\":\"venda\",\"preco\":\"6300000.00\",\"preco_unitario\":\"6300000.00\",\"imagem\":\"produtos\\/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png\",\"quantidade\":1,\"aluguer_periodo\":null,\"aluguer_datas\":null,\"line_total\":6300000,\"line_iva\":882000.0000000001}]', 7182000.00, 'Pendente', '2026-08-06 17:24:10', '2026-08-06 17:24:10');

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

--
-- Estrutura da tabela `plans`
--

CREATE TABLE `plans` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `price` decimal(10,2) NOT NULL DEFAULT 0.00,
  `stripe_id` varchar(255) DEFAULT NULL,
  `active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `product_images`
--

CREATE TABLE `product_images` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `produto_id` bigint(20) UNSIGNED NOT NULL,
  `imagem` varchar(255) NOT NULL,
  `ordem` int(11) NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Estrutura da tabela `produtos`
--

CREATE TABLE `produtos` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `nome` varchar(255) NOT NULL,
  `descricao` text DEFAULT NULL,
  `preco` decimal(15,2) NOT NULL DEFAULT 0.00,
  `preco_aluguer` decimal(15,2) DEFAULT NULL,
  `stock` int(11) NOT NULL DEFAULT 0,
  `imagem` varchar(255) DEFAULT NULL,
  `tipo` varchar(255) NOT NULL DEFAULT 'venda',
  `categoria` varchar(255) DEFAULT NULL,
  `marca` varchar(255) DEFAULT NULL,
  `modelo` varchar(255) DEFAULT NULL,
  `numero_serie` varchar(255) DEFAULT NULL,
  `status_disponibilidade` varchar(255) NOT NULL DEFAULT 'Disponível',
  `ficha_tecnica` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Extraindo dados da tabela `produtos`
--

INSERT INTO `produtos` (`id`, `nome`, `descricao`, `preco`, `preco_aluguer`, `stock`, `imagem`, `tipo`, `categoria`, `marca`, `modelo`, `numero_serie`, `status_disponibilidade`, `ficha_tecnica`, `created_at`, `updated_at`, `deleted_at`) VALUES
(15, 'GNSS RTK Trimble R12i', 'Receptor GNSS RTK premium de altíssima precisão com tecnologia Trimble ProPoint e compensação de inclinação Trimble TIP. Ideal para levantamentos topográficos e geodésicos de alta complexidade.', 8500000.00, 150000.00, 3, 'produtos/gps_trimble_r12.png', 'ambos', 'gps', 'Trimble', 'R12i', 'TR-R12I-2026', 'Disponível', NULL, '2026-06-15 18:07:09', '2026-07-04 13:06:20', '2026-07-04 13:06:20'),
(16, 'GNSS RTK Hi-Target V200', 'Receptor GNSS RTK ultra-compacto com suporte a múltiplas constelações (GPS, GLONASS, Galileo, BeiDou). Elevada autonomia e rádio UHF integrado de alta performance.', 6300000.00, 85000.00, 5, 'produtos/tWfKqcRmxfkZGNktg7RHxwXtWXSSKmmHb4Nzt7nX.png', 'ambos', 'gps', 'Hi-Target', 'V200', 'HT-V200-2026', 'Disponível', NULL, '2026-06-15 18:07:09', '2026-07-04 13:15:13', NULL),
(17, 'GNSS RTK South Galaxy G1', 'Receptor GNSS RTK robusto e resistente a impactos, com placa OEM de alta precisão e ligação Bluetooth de longo alcance. Ideal para cadastro territorial.', 3800000.00, 65000.00, 4, 'produtos/hi-target-v200.jpg', 'ambos', 'gps', 'South', 'Galaxy G1', 'SH-G1-2026', 'Disponível', NULL, '2026-06-15 18:07:09', '2026-08-06 17:21:20', '2026-08-06 17:21:20'),
(18, 'Estação Total Leica TS07', 'Estação total manual Leica FlexLine TS07 de alta precisão angular (2\"). Alcance EDM sem prisma até 500m e ecrã tátil a cores de alta visibilidade.', 6200000.00, 120000.00, 2, 'produtos/leica-ts07.jpg', 'ambos', 'estacao_total', 'Leica', 'TS07', 'LC-TS07-2026', 'Disponível', NULL, '2026-06-15 18:07:09', '2026-06-15 18:07:09', '2026-08-06 16:57:24'),
(19, 'Estação Total Topcon GM-52', 'Estação total compacta e precisa com tecnologia de medição rápida e alcance EDM avançado de até 500m sem prisma. Ideal para construção e engenharia civil.', 3950000.00, 75000.00, 3, 'produtos/estacao_topcon_gm52.png', 'ambos', 'estacao_total', 'Topcon', 'GM-52', 'TP-GM52-2026', 'Disponível', NULL, '2026-06-15 18:07:09', '2026-08-06 17:21:29', '2026-08-06 17:21:29'),
(20, 'Drone DJI Mavic 3 Enterprise', 'Drone ultra-portátil com câmara grande angular de 4/3 CMOS de 20MP e obturador mecânico para mapeamento de alta precisão. Autonomia até 45 minutos.', 4200000.00, 95000.00, 3, 'produtos/dji-mavic3-enterprise.jpg', 'ambos', 'drones', 'DJI', 'Mavic 3 Enterprise', 'DJI-M3E-2026', 'Disponível', NULL, '2026-06-15 18:07:09', '2026-06-15 18:07:09', '2026-08-06 16:57:24'),
(21, 'Drone DJI Matrice 300 RTK', 'Plataforma de drone industrial com posicionamento RTK centimétrico, autonomia de 55 minutos e suporte a payloads triplos (câmaras térmicas e LiDAR).', 12500000.00, 220000.00, 1, 'produtos/drone_matrice_300.png', 'ambos', 'drones', 'DJI', 'Matrice 300 RTK', 'DJI-M300-2026', 'Disponível', NULL, '2026-06-15 18:07:09', '2026-08-06 17:21:25', '2026-08-06 17:21:25'),
(22, 'Drone senseFly eBee X', 'Drone profissional de asa fixa para mapeamento de grandes extensões territoriais. Autonomia de voo de até 90 minutos com câmara fotogramétrica de alta resolução.', 15800000.00, 350000.00, 1, 'produtos/drone_ebee_x.png', 'ambos', 'drones', 'senseFly', 'eBee X', 'SF-EBEE-2026', 'Disponível', NULL, '2026-06-15 18:07:09', '2026-08-06 17:21:34', '2026-08-06 17:21:34');

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

--
-- Estrutura da tabela `sessions`
--

CREATE TABLE `sessions` (
  `id` varchar(255) NOT NULL,
  `user_id` bigint(20) UNSIGNED DEFAULT NULL,
  `ip_address` varchar(45) DEFAULT NULL,
  `user_agent` text DEFAULT NULL,
  `payload` longtext NOT NULL,
  `last_activity` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

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

CREATE TABLE `users` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `telefone` varchar(255) DEFAULT NULL,
  `cargo` varchar(255) DEFAULT NULL,
  `foto_perfil` varchar(255) DEFAULT NULL,
  `is_admin` tinyint(1) NOT NULL DEFAULT 0,
  `perm_noticias` tinyint(1) NOT NULL DEFAULT 0,
  `perm_loja` tinyint(1) NOT NULL DEFAULT 0,
  `perm_cursos` tinyint(1) NOT NULL DEFAULT 0,
  `perm_inscricoes` tinyint(1) NOT NULL DEFAULT 0,
  `perm_usuarios` tinyint(1) NOT NULL DEFAULT 0,
  `perm_logs` tinyint(1) NOT NULL DEFAULT 0,
  `perm_configuracoes` tinyint(1) NOT NULL DEFAULT 0,
  `perm_chatbot` tinyint(1) NOT NULL DEFAULT 0,
  `perm_pedidos` tinyint(1) NOT NULL DEFAULT 0,
  `perm_hero` tinyint(1) NOT NULL DEFAULT 0,
  `perm_contactos` tinyint(1) NOT NULL DEFAULT 0,
  `perm_formacoes` tinyint(1) NOT NULL DEFAULT 0,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) NOT NULL,
  `remember_token` varchar(100) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

INSERT INTO `users` (`id`, `name`, `email`, `telefone`, `cargo`, `foto_perfil`, `is_admin`, `perm_noticias`, `perm_loja`, `perm_cursos`, `perm_inscricoes`, `perm_usuarios`, `perm_logs`, `perm_configuracoes`, `perm_chatbot`, `perm_pedidos`, `perm_hero`, `perm_contactos`, `perm_formacoes`, `email_verified_at`, `password`, `remember_token`, `created_at`, `updated_at`) VALUES
(1, 'Super Admin', 'superadmin@amdtopografia.ao', NULL, 'Director Geral', NULL, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, NULL, '$2y$12$4gsdw6nTbZhlA/x.D/gZPOrcp3CY51Wif3qeoTfGpfKWiHNEIEk9S', NULL, '2026-05-23 11:21:19', '2026-08-08 14:57:17'),
(2, 'Olimpio Kalueto', 'olimpiokalueto@gmail.com', '924110836', 'Sys Admin', NULL, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, NULL, '$2y$12$uXqr.l7r7Q6.8c/Mp54e0eMt4K.8MepceTC0kHNvcfN7irdl6JRlm', NULL, '2026-05-23 11:23:13', '2026-06-26 18:38:00');

--
-- Índices para tabelas despejadas
--

--
-- Índices para tabela `activity_logs`
--
ALTER TABLE `activity_logs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `activity_logs_user_id_foreign` (`user_id`);

--
-- Índices para tabela `aulas`
--
ALTER TABLE `aulas`
  ADD PRIMARY KEY (`id`),
  ADD KEY `aulas_modulo_id_foreign` (`modulo_id`);

--
-- Índices para tabela `aula_comments`
--
ALTER TABLE `aula_comments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `aula_comments_user_id_foreign` (`user_id`),
  ADD KEY `aula_comments_aula_id_foreign` (`aula_id`);

--
-- Índices para tabela `aula_completions`
--
ALTER TABLE `aula_completions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `aula_completions_user_id_aula_id_unique` (`user_id`,`aula_id`),
  ADD KEY `aula_completions_aula_id_foreign` (`aula_id`);

--
-- Índices para tabela `cache`
--
ALTER TABLE `cache`
  ADD PRIMARY KEY (`key`),
  ADD KEY `cache_expiration_index` (`expiration`);

--
-- Índices para tabela `cache_locks`
--
ALTER TABLE `cache_locks`
  ADD PRIMARY KEY (`key`),
  ADD KEY `cache_locks_expiration_index` (`expiration`);

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

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

--
-- Índices para tabela `cursos`
--
ALTER TABLE `cursos`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `cursos_slug_unique` (`slug`);

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

--
-- Índices para tabela `failed_jobs`
--
ALTER TABLE `failed_jobs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);

--
-- Índices para tabela `formacao_inscricoes`
--
ALTER TABLE `formacao_inscricoes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `formacao_inscricoes_formacao_id_foreign` (`formacao_id`);

--
-- Índices para tabela `formacoes`
--
ALTER TABLE `formacoes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `formacoes_slug_unique` (`slug`),
  ADD KEY `formacoes_publico_index` (`publico`);

--
-- Índices para tabela `hero_slides`
--
ALTER TABLE `hero_slides`
  ADD PRIMARY KEY (`id`),
  ADD KEY `hero_slides_produto_id_foreign` (`produto_id`);

--
-- Índices para tabela `jobs`
--
ALTER TABLE `jobs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `jobs_queue_index` (`queue`);

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

--
-- Índices para tabela `matriculas`
--
ALTER TABLE `matriculas`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `matriculas_user_id_curso_id_unique` (`user_id`,`curso_id`),
  ADD KEY `matriculas_curso_id_foreign` (`curso_id`);

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

--
-- Índices para tabela `modulos`
--
ALTER TABLE `modulos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `modulos_curso_id_foreign` (`curso_id`);

--
-- Índices para tabela `noticias`
--
ALTER TABLE `noticias`
  ADD PRIMARY KEY (`id`),
  ADD KEY `noticias_categoria_index` (`categoria`),
  ADD KEY `noticias_created_at_index` (`created_at`);

--
-- Índices para tabela `noticia_imagens`
--
ALTER TABLE `noticia_imagens`
  ADD PRIMARY KEY (`id`),
  ADD KEY `noticia_imagens_noticia_id_foreign` (`noticia_id`);

--
-- Índices para tabela `password_reset_tokens`
--
ALTER TABLE `password_reset_tokens`
  ADD PRIMARY KEY (`email`);

--
-- Índices para tabela `pedidos`
--
ALTER TABLE `pedidos`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `pedidos_numero_proforma_unique` (`numero_proforma`);

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

--
-- Índices para tabela `product_images`
--
ALTER TABLE `product_images`
  ADD PRIMARY KEY (`id`),
  ADD KEY `product_images_produto_id_foreign` (`produto_id`);

--
-- Índices para tabela `produtos`
--
ALTER TABLE `produtos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `produtos_categoria_index` (`categoria`),
  ADD KEY `produtos_tipo_index` (`tipo`);

--
-- Índices para tabela `sessions`
--
ALTER TABLE `sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `sessions_user_id_index` (`user_id`),
  ADD KEY `sessions_last_activity_index` (`last_activity`);

--
-- Índices para tabela `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `users_email_unique` (`email`);

--
-- AUTO_INCREMENT de tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `activity_logs`
--
ALTER TABLE `activity_logs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=29;

--
-- AUTO_INCREMENT de tabela `aulas`
--
ALTER TABLE `aulas`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `aula_comments`
--
ALTER TABLE `aula_comments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `aula_completions`
--
ALTER TABLE `aula_completions`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `configuracoes_sistema`
--
ALTER TABLE `configuracoes_sistema`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de tabela `contactos`
--
ALTER TABLE `contactos`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de tabela `cursos`
--
ALTER TABLE `cursos`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `equipa`
--
ALTER TABLE `equipa`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `failed_jobs`
--
ALTER TABLE `failed_jobs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `formacao_inscricoes`
--
ALTER TABLE `formacao_inscricoes`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de tabela `formacoes`
--
ALTER TABLE `formacoes`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de tabela `hero_slides`
--
ALTER TABLE `hero_slides`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT de tabela `jobs`
--
ALTER TABLE `jobs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `matriculas`
--
ALTER TABLE `matriculas`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=49;

--
-- AUTO_INCREMENT de tabela `modulos`
--
ALTER TABLE `modulos`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `noticias`
--
ALTER TABLE `noticias`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;

--
-- AUTO_INCREMENT de tabela `noticia_imagens`
--
ALTER TABLE `noticia_imagens`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT de tabela `pedidos`
--
ALTER TABLE `pedidos`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT de tabela `plans`
--
ALTER TABLE `plans`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `product_images`
--
ALTER TABLE `product_images`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de tabela `produtos`
--
ALTER TABLE `produtos`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=23;

--
-- AUTO_INCREMENT de tabela `users`
--
ALTER TABLE `users`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

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

--
-- Limitadores para a tabela `activity_logs`
--
ALTER TABLE `activity_logs`
  ADD CONSTRAINT `activity_logs_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `aulas`
--
ALTER TABLE `aulas`
  ADD CONSTRAINT `aulas_modulo_id_foreign` FOREIGN KEY (`modulo_id`) REFERENCES `modulos` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `aula_comments`
--
ALTER TABLE `aula_comments`
  ADD CONSTRAINT `aula_comments_aula_id_foreign` FOREIGN KEY (`aula_id`) REFERENCES `aulas` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `aula_comments_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `aula_completions`
--
ALTER TABLE `aula_completions`
  ADD CONSTRAINT `aula_completions_aula_id_foreign` FOREIGN KEY (`aula_id`) REFERENCES `aulas` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `aula_completions_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `formacao_inscricoes`
--
ALTER TABLE `formacao_inscricoes`
  ADD CONSTRAINT `formacao_inscricoes_formacao_id_foreign` FOREIGN KEY (`formacao_id`) REFERENCES `formacoes` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `hero_slides`
--
ALTER TABLE `hero_slides`
  ADD CONSTRAINT `hero_slides_produto_id_foreign` FOREIGN KEY (`produto_id`) REFERENCES `produtos` (`id`) ON DELETE SET NULL;

--
-- Limitadores para a tabela `matriculas`
--
ALTER TABLE `matriculas`
  ADD CONSTRAINT `matriculas_curso_id_foreign` FOREIGN KEY (`curso_id`) REFERENCES `formacoes` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `matriculas_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `modulos`
--
ALTER TABLE `modulos`
  ADD CONSTRAINT `modulos_curso_id_foreign` FOREIGN KEY (`curso_id`) REFERENCES `formacoes` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `noticia_imagens`
--
ALTER TABLE `noticia_imagens`
  ADD CONSTRAINT `noticia_imagens_noticia_id_foreign` FOREIGN KEY (`noticia_id`) REFERENCES `noticias` (`id`) ON DELETE CASCADE;

--
-- Limitadores para a tabela `product_images`
--
ALTER TABLE `product_images`
  ADD CONSTRAINT `product_images_produto_id_foreign` FOREIGN KEY (`produto_id`) REFERENCES `produtos` (`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 */;
