clean direcuts_policies.sql
This commit is contained in:
parent
1889d31774
commit
8844cdaa90
|
|
@ -1,38 +1,101 @@
|
||||||
LOCK TABLES `directus_policies` WRITE;
|
CREATE TABLE IF NOT EXISTS `directus_permissions` (
|
||||||
INSERT INTO `directus_policies`
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
(id, name, icon, description, ip_access, enforce_tfa, admin_access, app_access)
|
`collection` varchar(64) NOT NULL,
|
||||||
VALUES
|
`action` varchar(10) NOT NULL,
|
||||||
('7d8b3285-54a4-4946-a3ea-121eda2536ee','ModifyContent','supervised_user_circle','Can edit content',NULL,0,0,1),
|
`permissions` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`permissions`)),
|
||||||
('a2e48172-ac4e-4848-9c59-4158826e4f63','SeeContent','robot','Give access to the content to the front-end.',NULL,0,0,0);
|
`validation` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`validation`)),
|
||||||
UNLOCK TABLES;
|
`presets` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`presets`)),
|
||||||
|
`fields` text DEFAULT NULL,
|
||||||
LOCK TABLES `directus_roles` WRITE;
|
`policy` char(36) NOT NULL,
|
||||||
INSERT INTO `directus_roles`
|
PRIMARY KEY (`id`),
|
||||||
(id, name, icon, description, parent)
|
KEY `directus_permissions_collection_foreign` (`collection`),
|
||||||
VALUES
|
KEY `directus_permissions_policy_foreign` (`policy`),
|
||||||
('f512d0e1-7349-418a-a18f-7a7572441f99','Website','robot','Gives access to the content to the front.',NULL),
|
CONSTRAINT `directus_permissions_policy_foreign` FOREIGN KEY (`policy`) REFERENCES `directus_policies` (`id`) ON DELETE CASCADE
|
||||||
('f66390d0-24a6-4dcc-8ed6-ca8857b4266c','User','supervised_user_circle','Is able to edit content.',NULL);
|
) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
UNLOCK TABLES;
|
|
||||||
|
|
||||||
LOCK TABLES `directus_permissions` WRITE;
|
LOCK TABLES `directus_permissions` WRITE;
|
||||||
INSERT INTO `directus_permissions`
|
INSERT INTO `directus_permissions` VALUES
|
||||||
(id, collection, action, permissions, validation, presets, fields, role)
|
(42,'directus_files','read',NULL,NULL,NULL,'*','771cf626-610f-450a-a2de-8c83ff2a4406'),
|
||||||
VALUES
|
(43,'directus_comments','read','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(1,'directus_files','read',NULL,NULL,NULL,'*','f512d0e1-7349-418a-a18f-7a7572441f99'),
|
(44,'directus_files','create','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(2,'directus_comments','read','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(45,'directus_files','read','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(3,'directus_files','create','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(46,'directus_files','update','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(4,'directus_files','read','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(47,'directus_files','delete','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(5,'directus_files','update','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(48,'directus_dashboards','create','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(6,'directus_files','delete','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(49,'directus_dashboards','read','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(15,'directus_folders','create','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(50,'directus_dashboards','update','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(16,'directus_folders','read','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(51,'directus_dashboards','delete','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(17,'directus_folders','update','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(52,'directus_panels','create','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(18,'directus_folders','delete','{}',NULL,NULL,NULL,'f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(53,'directus_panels','read','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(19,'directus_users','read','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(54,'directus_panels','update','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(20,'directus_users','update','{\"id\":{\"_eq\":\"$CURRENT_USER\"}}',NULL,NULL,'first_name,last_name,email,password,location,title,description,avatar,language,appearance,theme_light,theme_dark,theme_light_overrides,theme_dark_overrides,tfa_secret','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(55,'directus_panels','delete','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(21,'directus_roles','read','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(56,'directus_folders','create','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(22,'directus_shares','read','{\"_or\":[{\"role\":{\"_eq\":\"$CURRENT_ROLE\"}},{\"role\":{\"_null\":true}}]}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(57,'directus_folders','read','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(23,'directus_shares','create','{}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(58,'directus_folders','update','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(24,'directus_shares','update','{\"user_created\":{\"_eq\":\"$CURRENT_USER\"}}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c'),
|
(59,'directus_folders','delete','{}',NULL,NULL,NULL,'0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
(25,'directus_shares','delete','{\"user_created\":{\"_eq\":\"$CURRENT_USER\"}}',NULL,NULL,'*','f66390d0-24a6-4dcc-8ed6-ca8857b4266c');
|
(60,'directus_users','read','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
|
(61,'directus_users','update','{\"id\":{\"_eq\":\"$CURRENT_USER\"}}',NULL,NULL,'first_name,last_name,email,password,location,title,description,avatar,language,appearance,theme_light,theme_dark,theme_light_overrides,theme_dark_overrides,tfa_secret','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
|
(62,'directus_roles','read','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
|
(63,'directus_shares','read','{\"_or\":[{\"role\":{\"_eq\":\"$CURRENT_ROLE\"}},{\"role\":{\"_null\":true}}]}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
|
(64,'directus_shares','create','{}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
|
(65,'directus_shares','update','{\"user_created\":{\"_eq\":\"$CURRENT_USER\"}}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
|
(66,'directus_shares','delete','{\"user_created\":{\"_eq\":\"$CURRENT_USER\"}}',NULL,NULL,'*','0ae2e179-bc8c-425a-849b-aacb6e7210ff'),
|
||||||
|
(67,'directus_flows','read','{\"trigger\":{\"_eq\":\"manual\"}}',NULL,NULL,'id,status,name,icon,color,options,trigger','0ae2e179-bc8c-425a-849b-aacb6e7210ff');
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `directus_roles` (
|
||||||
|
`id` char(36) NOT NULL,
|
||||||
|
`name` varchar(100) NOT NULL,
|
||||||
|
`icon` varchar(64) NOT NULL DEFAULT 'supervised_user_circle',
|
||||||
|
`description` text DEFAULT NULL,
|
||||||
|
`parent` char(36) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `directus_roles_parent_foreign` (`parent`),
|
||||||
|
CONSTRAINT `directus_roles_parent_foreign` FOREIGN KEY (`parent`) REFERENCES `directus_roles` (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
|
||||||
|
LOCK TABLES `directus_roles` WRITE;
|
||||||
|
INSERT INTO `directus_roles` VALUES
|
||||||
|
('7d547ca1-9f66-4641-ab66-c4896f17eec8','Website','robot','Displays content for the front.',NULL),
|
||||||
|
('bd68ead9-6d43-4e01-a5d4-07ce0eacbdb0','User','supervised_user_circle','Edit content.',NULL);
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `directus_policies` (
|
||||||
|
`id` char(36) NOT NULL,
|
||||||
|
`name` varchar(100) NOT NULL,
|
||||||
|
`icon` varchar(64) NOT NULL DEFAULT 'badge',
|
||||||
|
`description` text DEFAULT NULL,
|
||||||
|
`ip_access` text DEFAULT NULL,
|
||||||
|
`enforce_tfa` tinyint(1) NOT NULL DEFAULT 0,
|
||||||
|
`admin_access` tinyint(1) NOT NULL DEFAULT 0,
|
||||||
|
`app_access` tinyint(1) NOT NULL DEFAULT 0,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
|
||||||
|
LOCK TABLES `directus_policies` WRITE;
|
||||||
|
INSERT INTO `directus_policies` VALUES
|
||||||
|
('0ae2e179-bc8c-425a-849b-aacb6e7210ff','CanEdit','badge','Edit content.',NULL,0,0,1),
|
||||||
|
('771cf626-610f-450a-a2de-8c83ff2a4406','CanSee','robot','Display content to the front.',NULL,0,0,0),
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `directus_access` (
|
||||||
|
`id` char(36) NOT NULL,
|
||||||
|
`role` char(36) DEFAULT NULL,
|
||||||
|
`user` char(36) DEFAULT NULL,
|
||||||
|
`policy` char(36) NOT NULL,
|
||||||
|
`sort` int(11) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `directus_access_role_foreign` (`role`),
|
||||||
|
KEY `directus_access_user_foreign` (`user`),
|
||||||
|
KEY `directus_access_policy_foreign` (`policy`),
|
||||||
|
CONSTRAINT `directus_access_policy_foreign` FOREIGN KEY (`policy`) REFERENCES `directus_policies` (`id`) ON DELETE CASCADE,
|
||||||
|
CONSTRAINT `directus_access_role_foreign` FOREIGN KEY (`role`) REFERENCES `directus_roles` (`id`) ON DELETE CASCADE,
|
||||||
|
CONSTRAINT `directus_access_user_foreign` FOREIGN KEY (`user`) REFERENCES `directus_users` (`id`) ON DELETE CASCADE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
|
||||||
|
|
||||||
|
LOCK TABLES `directus_access` WRITE;
|
||||||
|
INSERT INTO `directus_access` VALUES
|
||||||
|
('031e363f-5ca8-41c9-ad95-38ec2fb609c6','bd68ead9-6d43-4e01-a5d4-07ce0eacbdb0',NULL,'0ae2e179-bc8c-425a-849b-aacb6e7210ff',1),
|
||||||
|
('0ba406cf-b6a8-4026-8a4e-34714cf38642','7d547ca1-9f66-4641-ab66-c4896f17eec8',NULL,'771cf626-610f-450a-a2de-8c83ff2a4406',1),
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
@ -32,34 +32,34 @@ sed -i "s/^PORT=.*/PORT=${port}/" "/home/${USERNAME}/cms.${DOMAIN_NAME}/.env"
|
||||||
docker compose -f "/home/${USERNAME}/cms.${DOMAIN_NAME}/docker-compose.yml" up -d
|
docker compose -f "/home/${USERNAME}/cms.${DOMAIN_NAME}/docker-compose.yml" up -d
|
||||||
|
|
||||||
# Wait for the database to be ready
|
# Wait for the database to be ready
|
||||||
##echo "Waiting for Directus database to be ready..."
|
echo "Waiting for Directus database to be ready..."
|
||||||
##until docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT 1 FROM directus.directus_roles LIMIT 1" &> /dev/null
|
until docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT 1 FROM directus.directus_roles LIMIT 1" &> /dev/null
|
||||||
##do
|
do
|
||||||
## echo "Database not ready yet... waiting 5 seconds"
|
echo "Database not ready yet... waiting 5 seconds"
|
||||||
## sleep 5
|
sleep 5
|
||||||
##done
|
done
|
||||||
|
|
||||||
##docker cp assets/directus_policies.sql "${DOMAIN_NAME}_Directus_DB:/directus_policies.sql"
|
docker cp assets/directus_policies.sql "${DOMAIN_NAME}_Directus_DB:/directus_policies.sql"
|
||||||
##docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "
|
docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "
|
||||||
## mariadb -uroot directus < /directus_policies.sql
|
mariadb -uroot directus < /directus_policies.sql
|
||||||
##"
|
"
|
||||||
|
|
||||||
# docker exec -i "${DOMAIN_NAME}_Directus" sh -c "npx directus roles create --role Website && npx directus roles create --role User"
|
# docker exec -i "${DOMAIN_NAME}_Directus" sh -c "npx directus roles create --role Website && npx directus roles create --role User"
|
||||||
|
|
||||||
##website_role_uuid=$(echo $(docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT id FROM directus.directus_roles WHERE name='Website'") | awk '{print $2}')
|
website_role_uuid=$(echo $(docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT id FROM directus.directus_roles WHERE name='Website'") | awk '{print $2}')
|
||||||
##user_role_uuid=$(echo $(docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT id FROM directus.directus_roles WHERE name='User'") | awk '{print $2}')
|
user_role_uuid=$(echo $(docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT id FROM directus.directus_roles WHERE name='User'") | awk '{print $2}')
|
||||||
|
|
||||||
##website_password=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
|
website_password=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
|
||||||
|
|
||||||
##docker exec -i "${DOMAIN_NAME}_Directus" sh -c "npx directus users create --email \"website@${DOMAIN_NAME}\" --password \"${website_password}\" --role \"${website_role_uuid}\""
|
docker exec -i "${DOMAIN_NAME}_Directus" sh -c "npx directus users create --email \"website@${DOMAIN_NAME}\" --password \"${website_password}\" --role \"${website_role_uuid}\""
|
||||||
|
|
||||||
##WEBSITE_TOKEN=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
|
WEBSITE_TOKEN=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
|
||||||
|
|
||||||
##docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "
|
docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "
|
||||||
## mariadb -uroot -e \"
|
mariadb -uroot -e \"
|
||||||
## UPDATE directus.directus_users SET token='${WEBSITE_TOKEN}' WHERE email='website@${DOMAIN_NAME}';
|
UPDATE directus.directus_users SET token='${WEBSITE_TOKEN}' WHERE email='website@${DOMAIN_NAME}';
|
||||||
## \" directus
|
\" directus
|
||||||
##"
|
"
|
||||||
# @TODO: random port
|
# @TODO: random port
|
||||||
|
|
||||||
# INSERT INTO directus_permissions (role, collection, action, permissions, validation, fields)
|
# INSERT INTO directus_permissions (role, collection, action, permissions, validation, fields)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue