Skip to content

Commit d7d28a0

Browse files
committed
add support for deletion wr to patterns
1 parent 08b017c commit d7d28a0

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

microservices/gatewayApi/v2/routes/gateway.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,8 @@ def patterned_write_config(namespace: str) -> object:
459459

460460
config = request.get_json()
461461

462+
delete = config.get("delete", False)
463+
delete_qualifier = config.get("deleteQualifier", None)
462464
dry_run = config.get("dryRun", True)
463465
document = config.get("document", {})
464466

@@ -487,6 +489,9 @@ def patterned_write_config(namespace: str) -> object:
487489
dfile = None
488490
select_tag_qualifier = None
489491

492+
if delete:
493+
select_tag_qualifier = delete_qualifier
494+
490495
# if 'configFile' in request.files and not request.files['configFile'].filename == '':
491496
# log.debug("[%s] %s", namespace, request.files['configFile'])
492497
# dfile = request.files['configFile']
@@ -532,6 +537,19 @@ def patterned_write_config(namespace: str) -> object:
532537
log.error("%s - %s" % (namespace, "Empty Configuration Passed"))
533538
abort_early(event_id, 'publish', namespace, jsonify(error="Empty Configuration Passed"))
534539

540+
if delete:
541+
# if deleting, then set the select tag qualifier and override the document
542+
# to be a delete document
543+
select_tag_qualifier = delete_qualifier
544+
545+
delete_doc = [
546+
{
547+
"_format_version": "3.0",
548+
"services": []
549+
}
550+
]
551+
yaml_documents = [ yaml.load(yaml.dump(delete_doc), Loader=yaml.FullLoader) ]
552+
535553
selectTag = "ns.%s" % namespace
536554
ns_qualifier = None
537555
if select_tag_qualifier is not None and select_tag_qualifier != "" and "." not in select_tag_qualifier:

0 commit comments

Comments
 (0)