Skip to content

Commit cafe415

Browse files
author
Alexander Demichev
committed
add flavors create, delete to api
1 parent 254d7d8 commit cafe415

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
+26
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,30 @@
11
module Api
22
class FlavorsController < BaseController
3+
def create_resource(_type, _id, data)
4+
attrs = validate_flavor_attrs(data)
5+
task_id = Flavor.create_flavor_queue(User.current_user.id, EmsCloud.find_by_id(attrs['ems']['id']), attrs.deep_symbolize_keys)
6+
action_result(true, 'Creating Flavor', :task_id => task_id)
7+
rescue => err
8+
action_result(false, err.to_s)
9+
end
10+
11+
def delete_resource(type, id, _data = {})
12+
flavor = resource_search(id, type, collection_class(:flavors))
13+
raise "Delete not supported for #{flavor_ident(flavor)}" unless flavor.respond_to?(:delete_flavor_queue)
14+
task_id = flavor.delete_in_provider_queue(User.current_user.id)
15+
action_result(true, "Deleting #{flavor_ident(flavor)}", :task_id => task_id)
16+
rescue => err
17+
action_result(false, err.to_s)
18+
end
19+
20+
private
21+
22+
def flavor_ident(flavor)
23+
"Flavor id:#{flavor.id} name: '#{flavor.name}'"
24+
end
25+
26+
def validate_flavor_attrs(data)
27+
data.dup
28+
end
329
end
430
end

0 commit comments

Comments
 (0)