def destroy
id = params[:id]
force = get_bool(params[:force])
domain = Domain.get(@cloud_user, id)
return render_format_error(:not_found, "Domain #{id} not found", 127,
"DELETE_DOMAIN") if !domain || !domain.hasAccess?(@cloud_user)
return render_format_error(:forbidden, "User does not have permission to delete domain '#{id}'",
132, "DELETE_DOMAIN") if domain && !domain.hasFullAccess?(@cloud_user)
if force
Rails.logger.debug "Force deleting domain #{id}"
@cloud_user.applications.each do |app|
app.cleanup_and_delete if app.domain.uuid == domain.uuid
end if @cloud_user.applications
else
@cloud_user.applications.each do |app|
return render_format_error(:bad_request, "Domain contains applications. Delete applications first or set force to true.",
128, "DELETE_DOMAIN") if app.domain.uuid == domain.uuid
end if @cloud_user.applications
end
begin
domain.delete
render_format_success(:no_content, nil, nil, "DELETE_DOMAIN", "Domain #{id} deleted.", true)
rescue Exception => e
return render_format_exception(e, "DELETE_DOMAIN")
end
end