Skip to content

Commit 7eb5c4f

Browse files
authored
allow blacklisting of resource types (#98)
1 parent df908b8 commit 7eb5c4f

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

schemas/qwc-admin-gui.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,14 @@
139139
"config_generator_service_url",
140140
"totp_enabled"
141141
]
142+
},
143+
"resource_blacklist": {
144+
"description": "List of resource types to blacklist.",
145+
"type": "array",
146+
"items": {
147+
"type": "string"
148+
}
149+
}
142150
}
143151
},
144152
"required": [

src/controllers/permissions_controller.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,9 @@ def index(self):
183183

184184
# query resource types
185185
resource_types = OrderedDict()
186+
blacklist = self.handler().config().get("resource_blacklist", [])
186187
query = session.query(self.ResourceType) \
188+
.filter(self.ResourceType.name.notin_(blacklist)) \
187189
.order_by(self.ResourceType.list_order, self.ResourceType.name)
188190
for resource_type in query.all():
189191
resource_types[resource_type.name] = resource_type.description

src/controllers/resources_controller.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,9 @@ def index(self):
209209

210210
# query resource types
211211
resource_types = OrderedDict()
212+
blacklist = self.handler().config().get("resource_blacklist", [])
212213
query = session.query(self.ResourceType) \
214+
.filter(self.ResourceType.name.notin_(blacklist)) \
213215
.order_by(self.ResourceType.list_order, self.ResourceType.name)
214216
for resource_type in query.all():
215217
resource_types[resource_type.name] = resource_type.description
@@ -341,7 +343,9 @@ def create_form(self, resource=None, edit_form=False):
341343

342344
with self.session() as session:
343345
# query resource types
346+
blacklist = self.handler().config().get("resource_blacklist", [])
344347
query = session.query(self.ResourceType) \
348+
.filter(self.ResourceType.name.notin_(blacklist)) \
345349
.order_by(self.ResourceType.list_order, self.ResourceType.name)
346350
resource_types = query.all()
347351

0 commit comments

Comments
 (0)