# ************************************************************
# Sequel Pro SQL dump
# Version 5446
#
# https://www.sequelpro.com/
# https://github.com/sequelpro/sequelpro
#
# Host: 127.0.0.1 (MySQL 8.0.36)
# Database: elmapi3
# Generation Time: 2025-07-11 14:35:01 +0000
# ************************************************************




# Dump of table asset_metadata
# ------------------------------------------------------------


CREATE TABLE `asset_metadata` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `asset_id` bigint unsigned NOT NULL,
  `width` int DEFAULT NULL,
  `height` int DEFAULT NULL,
  `duration` int DEFAULT NULL,
  `bitrate` int DEFAULT NULL,
  `framerate` double DEFAULT NULL,
  `channels` int DEFAULT NULL,
  `alt_text` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `caption` text COLLATE utf8mb4_unicode_ci,
  `description` text COLLATE utf8mb4_unicode_ci,
  `author` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `copyright` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `metadata` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `asset_metadata_asset_id_index` (`asset_id`),
  CONSTRAINT `asset_metadata_asset_id_foreign` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table assets
# ------------------------------------------------------------


CREATE TABLE `assets` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `project_id` bigint unsigned NOT NULL,
  `filename` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `original_filename` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `mime_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `extension` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
  `size` bigint NOT NULL,
  `disk` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'local',
  `path` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_by` bigint unsigned DEFAULT NULL,
  `updated_by` bigint unsigned DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `assets_uuid_unique` (`uuid`),
  KEY `assets_created_by_foreign` (`created_by`),
  KEY `assets_updated_by_foreign` (`updated_by`),
  KEY `assets_project_id_index` (`project_id`),
  KEY `assets_extension_index` (`extension`),
  CONSTRAINT `assets_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  CONSTRAINT `assets_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE,
  CONSTRAINT `assets_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table cache
# ------------------------------------------------------------


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



# Dump of table cache_locks
# ------------------------------------------------------------


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



# Dump of table collection_fields
# ------------------------------------------------------------


CREATE TABLE `collection_fields` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `project_id` bigint unsigned NOT NULL,
  `collection_id` bigint unsigned NOT NULL,
  `type` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `label` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `placeholder` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `order` int DEFAULT NULL,
  `options` json DEFAULT NULL,
  `validations` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `collection_fields_collection_id_name_unique` (`collection_id`,`name`),
  UNIQUE KEY `collection_fields_uuid_unique` (`uuid`),
  KEY `collection_fields_project_id_foreign` (`project_id`),
  CONSTRAINT `collection_fields_collection_id_foreign` FOREIGN KEY (`collection_id`) REFERENCES `collections` (`id`) ON DELETE CASCADE,
  CONSTRAINT `collection_fields_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table collection_template_fields
# ------------------------------------------------------------


CREATE TABLE `collection_template_fields` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `collection_template_id` bigint unsigned NOT NULL,
  `type` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `label` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `placeholder` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `order` int DEFAULT NULL,
  `options` json DEFAULT NULL,
  `validations` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `collection_template_fields_uuid_unique` (`uuid`),
  KEY `collection_template_fields_collection_template_id_foreign` (`collection_template_id`),
  CONSTRAINT `collection_template_fields_collection_template_id_foreign` FOREIGN KEY (`collection_template_id`) REFERENCES `collection_templates` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


INSERT INTO `collection_template_fields` (`id`, `uuid`, `collection_template_id`, `type`, `label`, `name`, `description`, `placeholder`, `order`, `options`, `validations`, `created_at`, `updated_at`, `deleted_at`)
VALUES
	(1,'54e62c51-7987-4614-b5bb-eca1b77b28a8',1,'text','Title','title',NULL,NULL,1,'{\"repeatable\": false, \"hiddenInAPI\": false, \"hideInContentList\": false}','{\"color\": {\"message\": null}, \"email\": {\"message\": null}, \"number\": {\"message\": null}, \"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": null, \"status\": false, \"message\": null}}','2025-07-11 14:34:25','2025-07-11 14:34:25',NULL),
	(2,'6c1a512e-00e9-4289-b769-8be8ae4f0ed9',1,'slug','Slug','slug',NULL,NULL,2,'{\"slug\": {\"field\": \"title\", \"readonly\": true}}','{\"color\": {\"message\": null}, \"email\": {\"message\": null}, \"number\": {\"message\": null}, \"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": null, \"status\": false, \"message\": null}}','2025-07-11 14:34:25','2025-07-11 14:34:25',NULL),
	(3,'4d6e55fd-4a64-4882-8abe-053d5642aa61',1,'richtext','Content','content',NULL,NULL,3,'{\"repeatable\": false, \"hiddenInAPI\": false, \"hideInContentList\": false}','{\"color\": {\"message\": null}, \"email\": {\"message\": null}, \"number\": {\"message\": null}, \"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": null, \"status\": false, \"message\": null}}','2025-07-11 14:34:25','2025-07-11 14:34:25',NULL),
	(4,'4dfec3e3-dba0-4855-a786-0ea94e404313',2,'text','Name','name',NULL,NULL,1,'{\"repeatable\": false, \"hiddenInAPI\": false, \"hideInContentList\": false}','{\"color\": {\"message\": null}, \"email\": {\"message\": null}, \"number\": {\"message\": null}, \"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": null, \"status\": false, \"message\": null}}','2025-07-11 14:34:25','2025-07-11 14:34:25',NULL),
	(5,'a0065e4f-c9d2-4b28-9508-e9f18080b5f4',2,'slug','Slug','slug',NULL,NULL,2,'{\"slug\": {\"field\": \"name\", \"readonly\": true}}','{\"color\": {\"message\": null}, \"email\": {\"message\": null}, \"number\": {\"message\": null}, \"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": null, \"status\": false, \"message\": null}}','2025-07-11 14:34:25','2025-07-11 14:34:25',NULL),
	(6,'327ad31d-5fa1-448b-8b13-931e77cfdc40',2,'number','Price','price',NULL,NULL,3,'{\"repeatable\": false, \"hiddenInAPI\": false, \"hideInContentList\": false}','{\"color\": {\"message\": null}, \"email\": {\"message\": null}, \"number\": {\"message\": null}, \"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": null, \"status\": false, \"message\": null}}','2025-07-11 14:34:25','2025-07-11 14:34:25',NULL),
	(7,'b0c6823a-951d-46b2-9e0d-a9e8bda9cfd2',2,'media','Images','images',NULL,NULL,4,'{\"multiple\": true}','{\"color\": {\"message\": null}, \"email\": {\"message\": null}, \"number\": {\"message\": null}, \"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": null, \"status\": false, \"message\": null}}','2025-07-11 14:34:25','2025-07-11 14:34:25',NULL);



# Dump of table collection_templates
# ------------------------------------------------------------


CREATE TABLE `collection_templates` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `slug` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `is_singleton` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `collection_templates_uuid_unique` (`uuid`),
  UNIQUE KEY `collection_templates_slug_unique` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


INSERT INTO `collection_templates` (`id`, `uuid`, `name`, `slug`, `description`, `is_singleton`, `created_at`, `updated_at`, `deleted_at`)
VALUES
	(1,'c91ecf95-83c6-4749-8264-60532bdd437d','Blog Post','blog-post','Template for blog posts',0,'2025-07-11 14:34:25','2025-07-11 14:34:25',NULL),
	(2,'c6ef075c-da32-4f6d-ac9a-16da50b8759d','Product','product','Template for products',0,'2025-07-11 14:34:25','2025-07-11 14:34:25',NULL);



# Dump of table collections
# ------------------------------------------------------------


CREATE TABLE `collections` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `project_id` bigint unsigned NOT NULL,
  `name` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `slug` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `order` int DEFAULT NULL,
  `is_singleton` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `collections_project_id_slug_unique` (`project_id`,`slug`),
  UNIQUE KEY `collections_uuid_unique` (`uuid`),
  CONSTRAINT `collections_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table content_entries
# ------------------------------------------------------------


CREATE TABLE `content_entries` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `project_id` bigint unsigned NOT NULL,
  `collection_id` bigint unsigned NOT NULL,
  `locale` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `status` enum('draft','published') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'draft',
  `created_by` bigint unsigned DEFAULT NULL,
  `updated_by` bigint unsigned DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `content_entries_uuid_unique` (`uuid`),
  KEY `content_entries_collection_id_foreign` (`collection_id`),
  KEY `content_entries_created_by_foreign` (`created_by`),
  KEY `content_entries_updated_by_foreign` (`updated_by`),
  KEY `content_entries_project_id_collection_id_index` (`project_id`,`collection_id`),
  KEY `content_entries_status_locale_index` (`status`,`locale`),
  CONSTRAINT `content_entries_collection_id_foreign` FOREIGN KEY (`collection_id`) REFERENCES `collections` (`id`) ON DELETE CASCADE,
  CONSTRAINT `content_entries_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  CONSTRAINT `content_entries_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE,
  CONSTRAINT `content_entries_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table content_field_values
# ------------------------------------------------------------


CREATE TABLE `content_field_values` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `project_id` bigint unsigned NOT NULL,
  `collection_id` bigint unsigned NOT NULL,
  `content_entry_id` bigint unsigned NOT NULL,
  `field_id` bigint unsigned NOT NULL,
  `field_type` enum('text','longtext','richtext','slug','email','password','number','enumeration','boolean','color','date','time','datetime','media','relation','json') COLLATE utf8mb4_unicode_ci NOT NULL,
  `text_value` text COLLATE utf8mb4_unicode_ci,
  `number_value` decimal(20,6) DEFAULT NULL,
  `boolean_value` tinyint(1) DEFAULT NULL,
  `date_value` date DEFAULT NULL,
  `date_value_end` date DEFAULT NULL,
  `datetime_value` timestamp NULL DEFAULT NULL,
  `datetime_value_end` timestamp NULL DEFAULT NULL,
  `json_value` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `content_field_values_project_id_foreign` (`project_id`),
  KEY `content_field_values_collection_id_foreign` (`collection_id`),
  KEY `content_field_values_field_id_foreign` (`field_id`),
  KEY `content_field_values_content_entry_id_field_id_index` (`content_entry_id`,`field_id`),
  KEY `content_field_values_field_type_number_value_index` (`field_type`,`number_value`),
  KEY `content_field_values_field_type_date_value_index` (`field_type`,`date_value`),
  KEY `content_field_values_field_type_date_value_end_index` (`field_type`,`date_value_end`),
  KEY `content_field_values_field_type_datetime_value_index` (`field_type`,`datetime_value`),
  KEY `content_field_values_field_type_datetime_value_end_index` (`field_type`,`datetime_value_end`),
  KEY `content_field_values_field_type_boolean_value_index` (`field_type`,`boolean_value`),
  KEY `content_field_values_field_type_text_value_index` (`field_type`,`text_value`(191)),
  CONSTRAINT `content_field_values_collection_id_foreign` FOREIGN KEY (`collection_id`) REFERENCES `collections` (`id`) ON DELETE CASCADE,
  CONSTRAINT `content_field_values_content_entry_id_foreign` FOREIGN KEY (`content_entry_id`) REFERENCES `content_entries` (`id`) ON DELETE CASCADE,
  CONSTRAINT `content_field_values_field_id_foreign` FOREIGN KEY (`field_id`) REFERENCES `collection_fields` (`id`) ON DELETE CASCADE,
  CONSTRAINT `content_field_values_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table content_media_relations
# ------------------------------------------------------------


CREATE TABLE `content_media_relations` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `field_value_id` bigint unsigned NOT NULL,
  `asset_id` bigint unsigned NOT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `content_media_relations_field_value_id_index` (`field_value_id`),
  KEY `content_media_relations_asset_id_index` (`asset_id`),
  CONSTRAINT `content_media_relations_asset_id_foreign` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`) ON DELETE CASCADE,
  CONSTRAINT `content_media_relations_field_value_id_foreign` FOREIGN KEY (`field_value_id`) REFERENCES `content_field_values` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table content_relation_field_relations
# ------------------------------------------------------------


CREATE TABLE `content_relation_field_relations` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `field_value_id` bigint unsigned NOT NULL,
  `related_id` bigint unsigned NOT NULL,
  `related_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `content_relation_field_relations_field_value_id_index` (`field_value_id`),
  KEY `content_relation_field_relations_related_id_related_type_index` (`related_id`,`related_type`),
  CONSTRAINT `content_relation_field_relations_field_value_id_foreign` FOREIGN KEY (`field_value_id`) REFERENCES `content_field_values` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table failed_jobs
# ------------------------------------------------------------


CREATE TABLE `failed_jobs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table job_batches
# ------------------------------------------------------------


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



# Dump of table jobs
# ------------------------------------------------------------


CREATE TABLE `jobs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `queue` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `attempts` tinyint NOT NULL,
  `reserved_at` int DEFAULT NULL,
  `available_at` int NOT NULL,
  `created_at` int NOT NULL,
  PRIMARY KEY (`id`),
  KEY `jobs_queue_index` (`queue`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table migrations
# ------------------------------------------------------------


CREATE TABLE `migrations` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `batch` int NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


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,'2025_05_02_100349_create_projects_table',1),
	(5,'2025_05_04_112002_create_collections_table',1),
	(6,'2025_05_04_151145_create_collection_fields_table',1),
	(7,'2025_05_10_092656_create_assets_table',1),
	(8,'2025_05_10_092705_create_asset_metadata_table',1),
	(9,'2025_05_10_133739_create_permission_tables',1),
	(10,'2025_05_19_140200_create_content_entries_table',1),
	(11,'2025_05_19_140335_create_content_field_values_table',1),
	(12,'2025_05_19_140341_create_content_media_relations_table',1),
	(13,'2025_05_19_140406_create_content_relation_field_relations_table',1),
	(14,'2025_06_29_000000_create_collection_templates_tables',1),
	(15,'2025_06_30_000000_create_project_user_table',1),
	(16,'2025_07_01_111010_create_personal_access_tokens_table',1),
	(17,'2025_07_02_000000_create_webhooks_table',1),
	(18,'2025_07_02_000001_create_webhook_collections_table',1),
	(19,'2025_07_02_000002_create_webhook_logs_table',1),
	(20,'2025_07_06_000000_create_project_templates_table',1);



# Dump of table model_has_permissions
# ------------------------------------------------------------


CREATE TABLE `model_has_permissions` (
  `permission_id` bigint unsigned NOT NULL,
  `model_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `model_id` bigint unsigned NOT NULL,
  PRIMARY KEY (`permission_id`,`model_id`,`model_type`),
  KEY `model_has_permissions_model_id_model_type_index` (`model_id`,`model_type`),
  CONSTRAINT `model_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table model_has_roles
# ------------------------------------------------------------


CREATE TABLE `model_has_roles` (
  `role_id` bigint unsigned NOT NULL,
  `model_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `model_id` bigint unsigned NOT NULL,
  PRIMARY KEY (`role_id`,`model_id`,`model_type`),
  KEY `model_has_roles_model_id_model_type_index` (`model_id`,`model_type`),
  CONSTRAINT `model_has_roles_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


INSERT INTO `model_has_roles` (`role_id`, `model_type`, `model_id`)
VALUES
	(1,'App\\Models\\User',1);



# Dump of table password_reset_tokens
# ------------------------------------------------------------


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



# Dump of table permissions
# ------------------------------------------------------------


CREATE TABLE `permissions` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guard_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `permissions_name_guard_name_unique` (`name`,`guard_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


INSERT INTO `permissions` (`id`, `name`, `guard_name`, `created_at`, `updated_at`)
VALUES
	(1,'access_users','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(2,'create_users','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(3,'update_users','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(4,'delete_users','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(5,'access_roles','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(6,'create_roles','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(7,'update_roles','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(8,'delete_roles','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(9,'access_permissions','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(10,'create_permissions','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(11,'update_permissions','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(12,'delete_permissions','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(13,'access_all_projects','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(14,'create_project','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(15,'create_collection','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(16,'access_collection_settings','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(17,'update_collection','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(18,'delete_collection','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(19,'create_field','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(20,'update_field','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(21,'delete_field','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(22,'access_project_settings','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(23,'delete_project','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(24,'access_localization_settings','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(25,'access_user_access_settings','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(26,'access_api_access_settings','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(27,'access_webhooks_settings','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(28,'create_content','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(29,'update_content','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(30,'publish_content','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(31,'unpublish_content','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(32,'move_content_to_trash','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(33,'delete_content','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(34,'access_assets','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(35,'upload_asset','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(36,'update_asset','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(37,'delete_asset','web','2025-07-11 14:34:25','2025-07-11 14:34:25');



# Dump of table personal_access_tokens
# ------------------------------------------------------------


CREATE TABLE `personal_access_tokens` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `tokenable_id` bigint unsigned NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
  `abilities` text COLLATE utf8mb4_unicode_ci,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table project_templates
# ------------------------------------------------------------


CREATE TABLE `project_templates` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `slug` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `has_demo_data` tinyint(1) NOT NULL DEFAULT '0',
  `data` json NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `project_templates_uuid_unique` (`uuid`),
  UNIQUE KEY `project_templates_slug_unique` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


INSERT INTO `project_templates` (`id`, `uuid`, `name`, `slug`, `description`, `has_demo_data`, `data`, `created_at`, `updated_at`, `deleted_at`)
VALUES
	(1,'95b3d2d3-38a1-4997-aa1b-8a43b897edf3','Blog NextJS','blog-next-js','Template exported from project #2',1,'{\"name\": \"Blog NextJS\", \"slug\": \"blog-next-js\", \"demo_data\": [{\"entries\": [{\"id\": \"e1\", \"fields\": {\"x\": \"https://x.com\", \"name\": \"Jane Smith\", \"email\": \"email@email.com\", \"image\": null, \"github\": \"https://github.com\", \"facebook\": \"https://facebook.com\", \"linkedin\": \"https://linkedin.com\", \"short-bio\": \"Developer, writer, and educator crafting modern web experiences\", \"about-section\": \"<h2 class=\\\"text-2xl font-semibold mb-4\\\">About Me</h2>\\n<div class=\\\"prose dark:prose-invert\\\">\\n<p>I started Modern Blog in April 2023 as a way to document my journey learning new web technologies. After years of working as a frontend developer at various tech companies, I wanted to share my knowledge and experiences with the broader development community.</p>\\n<p>My background includes 5 years of experience with React, TypeScript, and various modern frontend frameworks. I\'m particularly passionate about clean code, intuitive UI/UX, and helping beginners overcome the hurdles I once faced.</p>\\n<p>When I\'m not coding or writing, you\'ll find me hiking with my dog Charlie, experimenting with new cooking recipes, or volunteering at local tech meetups teaching programming to kids.</p>\\n</div>\"}, \"locale\": \"en\", \"status\": \"published\"}], \"collection\": \"about\"}, {\"entries\": [{\"id\": \"e2\", \"fields\": {\"url\": \"introducing-elmapicms-v3t\", \"tags\": [\"e40\", \"e41\", \"e14\", \"e16\"], \"title\": \"Introducing ElmapiCMS v3: A Complete Rebuild with Laravel 12 & React\", \"author\": [\"e5\"], \"content\": \"<h2 class=\\\"text-2xl font-semibold mb-4\\\">ElmapiCMS v3 is here!</h2>\\n<p>The third major version of ElmapiCMS is a ground-up rewrite focused on speed, developer-experience and end-user productivity. Here\'s what\'s new:</p>\\n<ul class=\\\"list-disc pl-6 mt-3 space-y-2\\\">\\n<li><strong>Rebuilt with Laravel 12, React, TypeScript, Shadcn UI &amp; Inertia.js</strong> for a modern, lightning-fast stack.</li>\\n<li><strong>Brand new UI</strong> that is cleaner, more intuitive and <em>fully responsive</em> with built-in <em>dark mode</em>.</li>\\n<li><strong>Advanced users, roles &amp; permissions management</strong> lets you model any team workflow.</li>\\n<li><strong>All-new asset library</strong> with powerful uploader, filtering by type/date, grid &amp; list views, image crop and richer metadata.</li>\\n<li><strong>New Data Table</strong> component offering advanced filtering, sorting and bulk operations across the app.</li>\\n<li><strong>Project &amp; collection templates</strong> – spin up new projects or collections in seconds and save your own as reusable templates. Even <em>clone</em> an entire project with a click.</li>\\n<li><strong>Single entry collection type</strong> ideal for site-wide settings, hero content and more.</li>\\n<li><strong>Duplicate entries</strong> to speed up content creation.</li>\\n<li><strong>TinyMCE editor</strong> upgraded with source code view, fullscreen mode and direct image insertion from URL or the asset library.</li>\\n<li><strong>Faster content API</strong> with richer filtering so your front-end stays blazing fast.</li>\\n<li><strong>New Documentation!</strong></li>\\n</ul>\\n<p>We can’t wait to see what you build with ElmapiCMS v3.</p>\", \"excerpt\": \"Discover what\'s new in ElmapiCMS v3 – rebuilt on Laravel 12, React & Inertia.js with a brand-new UI, advanced permissions, faster API and more.\", \"featured\": true, \"categories\": [\"e7\"], \"cover-image\": null}, \"locale\": \"en\", \"status\": \"published\"}], \"collection\": \"posts\"}, {\"entries\": [{\"id\": \"e3\", \"fields\": {\"url\": \"privacy-policy\", \"content\": \"<section class=\\\"mb-8\\\">\\n<h2 class=\\\"text-2xl font-semibold mb-4\\\">1. Introduction 1</h2>\\n<p>Welcome to Modern Blog. We respect your privacy and are committed to protecting your personal data. This privacy policy will inform you about how we look after your personal data when you visit our website and tell you about your privacy rights and how the law protects you.</p>\\n</section>\\n<section class=\\\"mb-8\\\">\\n<h2 class=\\\"text-2xl font-semibold mb-4\\\">2. The Data We Collect</h2>\\n<p>We may collect, use, store and transfer different kinds of personal data about you which we have grouped together as follows:</p>\\n<ul class=\\\"list-disc pl-6 mt-3 space-y-2\\\">\\n<li>Identity Data includes first name, last name, username or similar identifier.</li>\\n<li>Contact Data includes email address and telephone numbers.</li>\\n<li>Technical Data includes internet protocol (IP) address, browser type and version, time zone setting and location, operating system and platform.</li>\\n<li>Usage Data includes information about how you use our website and services.</li>\\n</ul>\\n</section>\\n<section class=\\\"mb-8\\\">\\n<h2 class=\\\"text-2xl font-semibold mb-4\\\">3. How We Use Your Data</h2>\\n<p>We will only use your personal data when the law allows us to. Most commonly, we will use your personal data in the following circumstances:</p>\\n<ul class=\\\"list-disc pl-6 mt-3 space-y-2\\\">\\n<li>To provide you with the service you have requested.</li>\\n<li>To improve our website and services.</li>\\n<li>To personalize your experience.</li>\\n<li>To communicate with you about updates or changes to our services.</li>\\n</ul>\\n</section>\\n<section class=\\\"mb-8\\\">\\n<h2 class=\\\"text-2xl font-semibold mb-4\\\">4. Cookies</h2>\\n<p>We use cookies to distinguish you from other users of our website. This helps us to provide you with a good experience when you browse our website and also allows us to improve our site.</p>\\n</section>\\n<section class=\\\"mb-8\\\">\\n<h2 class=\\\"text-2xl font-semibold mb-4\\\">5. Contact Us</h2>\\n<p>If you have any questions about this privacy policy or our privacy practices, please contact us at:<br><a class=\\\"text-primary hover:underline\\\" href=\\\"mailto:privacy@modernblog.com\\\">privacy@modernblog.com</a></p>\\n</section>\", \"page-title\": \"Privacy Policy\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e4\", \"fields\": {\"url\": \"terms-of-service\", \"content\": \"<section class=\\\"mb-8\\\">\\n<h2 class=\\\"text-2xl font-semibold mb-4\\\">1. Introduction</h2>\\n<p>Welcome to Modern Blog. These terms and conditions outline the rules and regulations for the use of our website. By accessing this website, we assume you accept these terms and conditions in full. Do not continue to use Modern Blog if you do not accept all of the terms and conditions stated on this page.</p>\\n</section>\\n<section class=\\\"mb-8\\\">\\n<h2 class=\\\"text-2xl font-semibold mb-4\\\">2. License to Use</h2>\\n<p>Unless otherwise stated, Modern Blog and/or its licensors own the intellectual property rights for all material on Modern Blog. All intellectual property rights are reserved. You may view and/or print pages from the website for your own personal use subject to restrictions set in these terms and conditions.</p>\\n<p class=\\\"mt-3\\\">You must not:</p>\\n<ul class=\\\"list-disc pl-6 mt-3 space-y-2\\\">\\n<li>Republish material from this website</li>\\n<li>Sell, rent or sub-license material from this website</li>\\n<li>Reproduce, duplicate or copy material from this website</li>\\n<li>Redistribute content from Modern Blog (unless content is specifically made for redistribution)</li>\\n</ul>\\n</section>\\n<section class=\\\"mb-8\\\">\\n<h2 class=\\\"text-2xl font-semibold mb-4\\\">3. User Content</h2>\\n<p>Certain parts of this website offer the opportunity for users to post comments or provide feedback. Modern Blog does not screen, edit, publish or review comments prior to their appearance on the website, and comments do not reflect the views or opinions of Modern Blog, its agents or affiliates.</p>\\n<p class=\\\"mt-3\\\">By posting content on our website, you warrant and represent that:</p>\\n<ul class=\\\"list-disc pl-6 mt-3 space-y-2\\\">\\n<li>You are entitled to post the content on our website and have all necessary licenses and consents to do so.</li>\\n<li>The content does not infringe any intellectual property right, including without limitation copyright, patent or trademark.</li>\\n<li>The content does not contain any defamatory, libelous, offensive, indecent or otherwise unlawful material.</li>\\n<li>The content will not be used to solicit or promote business or custom or present commercial activities or unlawful activity.</li>\\n</ul>\\n</section>\\n<section class=\\\"mb-8\\\">\\n<h2 class=\\\"text-2xl font-semibold mb-4\\\">4. Limitation of Liability</h2>\\n<p>The information on this website is provided free-of-charge, and you acknowledge that it would be unreasonable to hold us liable for inaccuracies or errors in such information. We expressly exclude liability for any such inaccuracies or errors to the fullest extent permitted by law.</p>\\n</section>\\n<section class=\\\"mb-8\\\">\\n<h2 class=\\\"text-2xl font-semibold mb-4\\\">5. Contact Us</h2>\\n<p>If you have any questions about these Terms of Service, please contact us at:<br><a class=\\\"text-primary hover:underline\\\" href=\\\"mailto:terms@modernblog.com\\\">terms@modernblog.com</a></p>\\n</section>\", \"page-title\": \"Terms of Service\"}, \"locale\": \"en\", \"status\": \"published\"}], \"collection\": \"pages\"}, {\"entries\": [{\"id\": \"e5\", \"fields\": {\"name\": \"ElmapiCMS\", \"about\": \"ElmapiCMS is a modern CMS built with Laravel 12, React, TypeScript, Shadcn UI & Inertia.js\", \"avatar-seed\": \"elmapicms\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e6\", \"fields\": {\"name\": \"John Doe\", \"about\": \"John is a UI/UX designer with a passion for creating beautiful and functional user interfaces.\", \"avatar-seed\": \"john-doe\"}, \"locale\": \"en\", \"status\": \"published\"}], \"collection\": \"authors\"}, {\"entries\": [{\"id\": \"e7\", \"fields\": {\"slug\": \"web-development\", \"title\": \"Web Development\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e8\", \"fields\": {\"slug\": \"mobile-development\", \"title\": \"Mobile Development\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e9\", \"fields\": {\"slug\": \"uiux-design\", \"title\": \"UI/UX Design\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e10\", \"fields\": {\"slug\": \"devops\", \"title\": \"DevOps\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e11\", \"fields\": {\"slug\": \"artificial-intelligence\", \"title\": \"Artificial Intelligence\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e12\", \"fields\": {\"slug\": \"blockchain\", \"title\": \"Blockchain\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e13\", \"fields\": {\"slug\": \"life\", \"title\": \"Life\"}, \"locale\": \"en\", \"status\": \"published\"}], \"collection\": \"categories\"}, {\"entries\": [{\"id\": \"e14\", \"fields\": {\"slug\": \"react\", \"title\": \"React\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e15\", \"fields\": {\"slug\": \"nextjs\", \"title\": \"Next.Js\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e16\", \"fields\": {\"slug\": \"typescript\", \"title\": \"Typescript\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e17\", \"fields\": {\"slug\": \"javascript\", \"title\": \"JavaScript\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e18\", \"fields\": {\"slug\": \"css\", \"title\": \"CSS\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e19\", \"fields\": {\"slug\": \"tailwind\", \"title\": \"Tailwind\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e20\", \"fields\": {\"slug\": \"nodejs\", \"title\": \"Node.js\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e21\", \"fields\": {\"slug\": \"api\", \"title\": \"API\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e22\", \"fields\": {\"slug\": \"design-systems\", \"title\": \"Design Systems\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e23\", \"fields\": {\"slug\": \"accessibility\", \"title\": \"Accessibility\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e24\", \"fields\": {\"slug\": \"communication\", \"title\": \"Communication\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e25\", \"fields\": {\"slug\": \"science\", \"title\": \"Science\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e40\", \"fields\": {\"slug\": \"laravel\", \"title\": \"Laravel\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e41\", \"fields\": {\"slug\": \"php\", \"title\": \"PHP\"}, \"locale\": \"en\", \"status\": \"published\"}], \"collection\": \"tags\"}, {\"entries\": [{\"id\": \"e26\", \"fields\": {\"order\": \"1.000000\", \"title\": \"Powered By ElmapiCMS\", \"sub-text\": \"A modern starter blog built with Next.js, Tailwind CSS, and powered by ElmapiCMS.\", \"icon-name\": \"biceps-flexed\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e27\", \"fields\": {\"order\": \"5.000000\", \"title\": \"Responsive Design\", \"sub-text\": \"Fully responsive layout that looks great on all devices, from mobile to desktop.\", \"icon-name\": \"monitor-smartphone\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e28\", \"fields\": {\"order\": \"6.000000\", \"title\": \"Dark Mode\", \"sub-text\": \"Support for dark mode to provide a comfortable reading experience in any lighting.\", \"icon-name\": \"moon\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e29\", \"fields\": {\"order\": \"2.000000\", \"title\": \"API-Powered Pagination\", \"sub-text\": \"Seamless page navigation powered by ElmapiCMS’s content API for efficient content delivery.\", \"icon-name\": \"newspaper\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e30\", \"fields\": {\"order\": \"3.000000\", \"title\": \"Comment System\", \"sub-text\": \"Allow readers to leave comments using a form that posts to your ElmapiCMS backend.\", \"icon-name\": \"message-square-more\"}, \"locale\": \"en\", \"status\": \"published\"}, {\"id\": \"e31\", \"fields\": {\"order\": \"4.000000\", \"title\": \"Newsletter Integration\", \"sub-text\": \"Capture subscribers with a built-in newsletter form that posts directly to your ElmapiCMS API.\", \"icon-name\": \"rss\"}, \"locale\": \"en\", \"status\": \"published\"}], \"collection\": \"blog-features\"}, {\"entries\": [{\"id\": \"e32\", \"fields\": {\"title\": \"Starter blog powered by ElmapiCMS built with Next.js and Tailwind CSS\", \"sub-text\": \"A clean, elegant blog with a fully responsive design, dark mode support, and modern features.\", \"browse-button\": true, \"read-articles\": true}, \"locale\": \"en\", \"status\": \"published\"}], \"collection\": \"hero-section\"}, {\"entries\": [{\"id\": \"e33\", \"fields\": {\"x\": \"https://x.com\", \"title\": \"Elmapi Blog - NextJs\", \"github\": \"https://github.com\", \"facebook\": \"https://facebook.com\", \"fav-icon\": null, \"linkedin\": \"https://linkedin.com\", \"description\": \"This is a starter blog built with ElmapiCMS. A clean, elegant, ready to use blog with a fully responsive design and dark mode support.\"}, \"locale\": \"en\", \"status\": \"published\"}], \"collection\": \"settings\"}], \"collections\": [{\"name\": \"About\", \"slug\": \"about\", \"fields\": [{\"name\": \"name\", \"type\": \"text\", \"label\": \"Name\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"short-bio\", \"type\": \"text\", \"label\": \"Short Bio\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"about-section\", \"type\": \"richtext\", \"label\": \"About Section\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"image\", \"type\": \"media\", \"label\": \"Image\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"x\", \"type\": \"text\", \"label\": \"X\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"facebook\", \"type\": \"text\", \"label\": \"Facebook\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"github\", \"type\": \"text\", \"label\": \"Github\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"linkedin\", \"type\": \"text\", \"label\": \"LinkedIn\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"email\", \"type\": \"email\", \"label\": \"Email\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": true}, {\"name\": \"Posts\", \"slug\": \"posts\", \"fields\": [{\"name\": \"title\", \"type\": \"text\", \"label\": \"Title\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"url\", \"type\": \"slug\", \"label\": \"URL\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": \"title\", \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": true, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"excerpt\", \"type\": \"longtext\", \"label\": \"Excerpt\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"content\", \"type\": \"richtext\", \"label\": \"Content\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"cover-image\", \"type\": \"media\", \"label\": \"Cover Image\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"author\", \"type\": \"relation\", \"label\": \"Author\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": \"authors\"}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"categories\", \"type\": \"relation\", \"label\": \"Categories\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 2, \"collection\": \"categories\"}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"tags\", \"type\": \"relation\", \"label\": \"Tags\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 2, \"collection\": \"tags\"}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"featured\", \"type\": \"boolean\", \"label\": \"Featured\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": false}, {\"name\": \"Comments\", \"slug\": \"comments\", \"fields\": [{\"name\": \"name\", \"type\": \"text\", \"label\": \"Name\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"email\", \"type\": \"email\", \"label\": \"Email\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"comment\", \"type\": \"longtext\", \"label\": \"Comment\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"post\", \"type\": \"relation\", \"label\": \"Post\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": \"posts\"}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": false}, {\"name\": \"Pages\", \"slug\": \"pages\", \"fields\": [{\"name\": \"page-title\", \"type\": \"text\", \"label\": \"Page Title\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"url\", \"type\": \"slug\", \"label\": \"URL\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": \"page-title\", \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"content\", \"type\": \"richtext\", \"label\": \"Content\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": false}, {\"name\": \"Authors\", \"slug\": \"authors\", \"fields\": [{\"name\": \"name\", \"type\": \"text\", \"label\": \"Name\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"about\", \"type\": \"longtext\", \"label\": \"About\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"avatar-seed\", \"type\": \"slug\", \"label\": \"Avatar Seed\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": \"name\", \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": false}, {\"name\": \"Categories\", \"slug\": \"categories\", \"fields\": [{\"name\": \"title\", \"type\": \"text\", \"label\": \"Title\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"slug\", \"type\": \"slug\", \"label\": \"Slug\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": \"title\", \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": true, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": false}, {\"name\": \"Tags\", \"slug\": \"tags\", \"fields\": [{\"name\": \"title\", \"type\": \"text\", \"label\": \"Title\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"slug\", \"type\": \"slug\", \"label\": \"Slug\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": \"title\", \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": true, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": false}, {\"name\": \"Blog Features\", \"slug\": \"blog-features\", \"fields\": [{\"name\": \"icon-name\", \"type\": \"slug\", \"label\": \"Icon Name\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"title\", \"type\": \"text\", \"label\": \"Title\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"sub-text\", \"type\": \"text\", \"label\": \"Sub Text\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"order\", \"type\": \"number\", \"label\": \"Order\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": false}, {\"name\": \"Hero Section\", \"slug\": \"hero-section\", \"fields\": [{\"name\": \"title\", \"type\": \"text\", \"label\": \"Title\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"sub-text\", \"type\": \"text\", \"label\": \"Sub Text\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"read-articles\", \"type\": \"boolean\", \"label\": \"Show Read Articles Button\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"browse-button\", \"type\": \"boolean\", \"label\": \"Show Browse Button\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": true}, {\"name\": \"Newsletter\", \"slug\": \"newsletter\", \"fields\": [{\"name\": \"email\", \"type\": \"email\", \"label\": \"Email\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": true, \"message\": null}, \"required\": {\"status\": true, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": false}, {\"name\": \"Settings\", \"slug\": \"settings\", \"fields\": [{\"name\": \"title\", \"type\": \"text\", \"label\": \"Site Title\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"description\", \"type\": \"text\", \"label\": \"Site Description\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"fav-icon\", \"type\": \"media\", \"label\": \"Fav Icon\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"x\", \"type\": \"text\", \"label\": \"X\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"facebook\", \"type\": \"text\", \"label\": \"Facebook\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"github\", \"type\": \"text\", \"label\": \"Github\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"linkedin\", \"type\": \"text\", \"label\": \"LinkedIn\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}, {\"name\": \"google-analytics\", \"type\": \"text\", \"label\": \"Google Analytics\", \"options\": {\"mode\": \"single\", \"slug\": {\"field\": null, \"readonly\": false}, \"media\": {\"type\": 1}, \"editor\": {\"type\": 1}, \"multiple\": false, \"relation\": {\"type\": 1, \"collection\": null}, \"repeatable\": false, \"enumeration\": {\"list\": []}, \"hiddenInAPI\": false, \"includeTime\": false, \"includeDraft\": false, \"numberOfMonths\": 1, \"hideInContentList\": false}, \"description\": null, \"placeholder\": null, \"validations\": {\"unique\": {\"status\": false, \"message\": null}, \"required\": {\"status\": false, \"message\": null}, \"charcount\": {\"max\": null, \"min\": null, \"type\": \"Between\", \"status\": false, \"message\": null}}}], \"is_singleton\": true}], \"description\": \"Template exported from project #2\", \"has_demo_data\": true}','2025-07-11 14:34:25','2025-07-11 14:34:25',NULL);



# Dump of table project_user
# ------------------------------------------------------------


CREATE TABLE `project_user` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `project_id` bigint unsigned NOT NULL,
  `user_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `project_user_project_id_user_id_unique` (`project_id`,`user_id`),
  KEY `project_user_user_id_foreign` (`user_id`),
  CONSTRAINT `project_user_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE,
  CONSTRAINT `project_user_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table projects
# ------------------------------------------------------------


CREATE TABLE `projects` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `default_locale` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'en',
  `locales` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `disk` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'public',
  `public_api` tinyint(1) DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `projects_uuid_unique` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table role_has_permissions
# ------------------------------------------------------------


CREATE TABLE `role_has_permissions` (
  `permission_id` bigint unsigned NOT NULL,
  `role_id` bigint unsigned NOT NULL,
  PRIMARY KEY (`permission_id`,`role_id`),
  KEY `role_has_permissions_role_id_foreign` (`role_id`),
  CONSTRAINT `role_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE,
  CONSTRAINT `role_has_permissions_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


INSERT INTO `role_has_permissions` (`permission_id`, `role_id`)
VALUES
	(1,1),
	(2,1),
	(3,1),
	(4,1),
	(5,1),
	(6,1),
	(7,1),
	(8,1),
	(9,1),
	(10,1),
	(11,1),
	(12,1),
	(13,1),
	(14,1),
	(15,1),
	(16,1),
	(17,1),
	(18,1),
	(19,1),
	(20,1),
	(21,1),
	(22,1),
	(23,1),
	(24,1),
	(25,1),
	(26,1),
	(27,1),
	(28,1),
	(29,1),
	(30,1),
	(31,1),
	(32,1),
	(33,1),
	(34,1),
	(35,1),
	(36,1),
	(37,1),
	(15,2),
	(16,2),
	(17,2),
	(18,2),
	(19,2),
	(20,2),
	(21,2),
	(22,2),
	(23,2),
	(24,2),
	(25,2),
	(26,2),
	(27,2),
	(28,2),
	(29,2),
	(30,2),
	(31,2),
	(32,2),
	(33,2),
	(34,2),
	(35,2),
	(36,2),
	(37,2),
	(28,3),
	(29,3),
	(30,3),
	(31,3),
	(32,3),
	(34,3),
	(35,3),
	(36,3);



# Dump of table roles
# ------------------------------------------------------------


CREATE TABLE `roles` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guard_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `roles_name_guard_name_unique` (`name`,`guard_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


INSERT INTO `roles` (`id`, `name`, `guard_name`, `created_at`, `updated_at`)
VALUES
	(1,'Super Admin','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(2,'Project Admin','web','2025-07-11 14:34:25','2025-07-11 14:34:25'),
	(3,'Content Editor','web','2025-07-11 14:34:25','2025-07-11 14:34:25');



# Dump of table sessions
# ------------------------------------------------------------


CREATE TABLE `sessions` (
  `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `user_id` bigint unsigned DEFAULT NULL,
  `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `user_agent` text COLLATE utf8mb4_unicode_ci,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `last_activity` int NOT NULL,
  PRIMARY KEY (`id`),
  KEY `sessions_user_id_index` (`user_id`),
  KEY `sessions_last_activity_index` (`last_activity`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table users
# ------------------------------------------------------------


CREATE TABLE `users` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


INSERT INTO `users` (`id`, `name`, `email`, `email_verified_at`, `password`, `remember_token`, `created_at`, `updated_at`)
VALUES
	(1,'Admin','admin@admin.com','2025-07-11 14:34:24','$2y$12$qxOa6MIjcZ.3MLSOAeQ3f.QynIetZL2Nl7kYyqOCGuNzO2JRhZxKe','E14L6XYnV1','2025-07-11 14:34:25','2025-07-11 14:34:25');



# Dump of table webhook_collections
# ------------------------------------------------------------


CREATE TABLE `webhook_collections` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `webhook_id` bigint unsigned NOT NULL,
  `collection_id` bigint unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `webhook_collections_webhook_id_foreign` (`webhook_id`),
  KEY `webhook_collections_collection_id_foreign` (`collection_id`),
  CONSTRAINT `webhook_collections_collection_id_foreign` FOREIGN KEY (`collection_id`) REFERENCES `collections` (`id`) ON DELETE CASCADE,
  CONSTRAINT `webhook_collections_webhook_id_foreign` FOREIGN KEY (`webhook_id`) REFERENCES `webhooks` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table webhook_logs
# ------------------------------------------------------------


CREATE TABLE `webhook_logs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `project_uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `webhook_id` bigint unsigned NOT NULL,
  `action` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `status` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `request` json DEFAULT NULL,
  `response` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `webhook_logs_webhook_id_foreign` (`webhook_id`),
  CONSTRAINT `webhook_logs_webhook_id_foreign` FOREIGN KEY (`webhook_id`) REFERENCES `webhooks` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



# Dump of table webhooks
# ------------------------------------------------------------


CREATE TABLE `webhooks` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `project_id` bigint unsigned NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `url` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `secret` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `events` json NOT NULL,
  `sources` json NOT NULL,
  `payload` tinyint(1) NOT NULL DEFAULT '1',
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `created_by` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `webhooks_project_id_foreign` (`project_id`),
  KEY `webhooks_created_by_foreign` (`created_by`),
  CONSTRAINT `webhooks_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`),
  CONSTRAINT `webhooks_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;




