Admin / Delete Stream
Implement the DELETE /stream/{id} method of the streaming API in the controller using the DeploymentAdminService (to be created):
-
get stream definition record from the storage service using the stream id (input parameter) -
extract deployment id from ExtensionProperties -
call DeploymentAdminService::deleteDeployment method passing deployment id -
call TopicAdminService::deleteTopic method to drain and delete Kafka topics associated with the stream (SourceBindings/SinkBindings) -
perform soft delete of the stream definition record using storage service -
handle exceptions and return the appropriate HTTP code -
create tests for each possible return code