diff --git a/api/lib/cmdb/ci_type.py b/api/lib/cmdb/ci_type.py index 3af4ebf..6c32746 100644 --- a/api/lib/cmdb/ci_type.py +++ b/api/lib/cmdb/ci_type.py @@ -131,6 +131,11 @@ class CITypeManager(object): CITypeCache.clean(type_id) + if current_app.config.get("USE_ACL"): + from api.lib.perm.acl.acl import ACLManager + from api.lib.cmdb.const import ResourceTypeEnum, RoleEnum, PermEnum + ACLManager().del_resource(ci_type.name, ResourceTypeEnum.CI) + class CITypeGroupManager(object): @staticmethod diff --git a/api/lib/cmdb/preference.py b/api/lib/cmdb/preference.py index 1da4b37..d7affc7 100644 --- a/api/lib/cmdb/preference.py +++ b/api/lib/cmdb/preference.py @@ -192,4 +192,7 @@ class PreferenceManager(object): for existed in PreferenceRelationView.get_by(name=name, to_dict=False): existed.soft_delete() + if current_app.config.get("USE_ACL"): + ACLManager().del_resource(name, ResourceTypeEnum.RELATION_VIEW) + return name diff --git a/docs/cmdb.sql b/docs/cmdb.sql index 228064c..9cd8853 100644 --- a/docs/cmdb.sql +++ b/docs/cmdb.sql @@ -65,7 +65,6 @@ CREATE TABLE `acl_permissions` ( `resource_type_id` int(11) DEFAULT NULL, `app_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `perm_name_app_unique` (`name`,`resource_type_id`,`app_id`), KEY `resource_type_id` (`resource_type_id`), KEY `app_id` (`app_id`), KEY `ix_acl_permissions_deleted` (`deleted`), @@ -134,7 +133,6 @@ CREATE TABLE `acl_resource_groups` ( `resource_type_id` int(11) DEFAULT NULL, `app_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `resource_group_app_unique` (`name`,`resource_type_id`,`app_id`), KEY `resource_type_id` (`resource_type_id`), KEY `app_id` (`app_id`), KEY `ix_acl_resource_groups_name` (`name`), @@ -204,7 +202,6 @@ CREATE TABLE `acl_resources` ( `resource_type_id` int(11) DEFAULT NULL, `app_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `resource_name_app_unique` (`name`,`resource_type_id`,`app_id`), KEY `resource_type_id` (`resource_type_id`), KEY `app_id` (`app_id`), KEY `ix_acl_resources_deleted` (`deleted`), @@ -279,7 +276,6 @@ CREATE TABLE `acl_role_relations` ( `parent_id` int(11) DEFAULT NULL, `child_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `role_relation_unique` (`parent_id`,`child_id`), KEY `child_id` (`child_id`), KEY `ix_acl_role_relations_deleted` (`deleted`), CONSTRAINT `acl_role_relations_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `acl_roles` (`id`),