removed redundant ribica name from subfolders
This commit is contained in:
10
front-api/controllers/category.rb
Normal file
10
front-api/controllers/category.rb
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
|
||||
get '/category' do
|
||||
Category.order(:name).all.to_json(include: :sub_categories)
|
||||
end
|
||||
|
||||
get '/category/:id' do
|
||||
id = params[:id].to_i
|
||||
Category.find(id).to_json(include: :sub_categories)
|
||||
end
|
||||
5
front-api/controllers/common_for_controllers.rb
Normal file
5
front-api/controllers/common_for_controllers.rb
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
# converts list of parameters to array of integers
|
||||
def mass_to_i(*id_strings)
|
||||
id_strings.map(&:to_i)
|
||||
end
|
||||
67
front-api/controllers/item.rb
Normal file
67
front-api/controllers/item.rb
Normal file
@@ -0,0 +1,67 @@
|
||||
|
||||
|
||||
def prepare_items_for_mass_display(items)
|
||||
items.to_json(
|
||||
:except => [:created_at, :current_input_price, :stock, :on_display],
|
||||
:include => [
|
||||
:unit ,
|
||||
:multi_media_descriptions ,
|
||||
:sub_category
|
||||
])
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
def offset_and_limit_invalid?(offset, limit)
|
||||
offset < 0 or limit <= 0 or limit > 100
|
||||
end
|
||||
|
||||
|
||||
# gets single item for detailed display (like comments etc. ) # TODO: change when comments are added
|
||||
get '/item/:id' do |id_s|
|
||||
item = Item.find(id_s.to_i)
|
||||
|
||||
prepare_items_for_mass_display(item)
|
||||
end
|
||||
|
||||
|
||||
# gets items regardless of classification ( useful for frontpage )
|
||||
get '/item/offset/:offset/limit/:limit' do |offset_s, limit_s|
|
||||
offset, limit = mass_to_i(offset_s, limit_s)
|
||||
return [].to_json if offset_and_limit_invalid?(offset,limit)
|
||||
|
||||
items = Item.best_selling(offset,limit)
|
||||
prepare_items_for_mass_display(items)
|
||||
end
|
||||
|
||||
|
||||
# gets items in section ( useful for page showing single section )
|
||||
get '/item/section/:section_id/offset/:offset/limit/:limit' do |section_id_s, offset_s, limit_s|
|
||||
section_id, offset, limit = mass_to_i(section_id_s, offset_s, limit_s)
|
||||
input_invalid = offset_and_limit_invalid?(offset,limit) or section_id <= 0
|
||||
return [].to_json if input_invalid
|
||||
|
||||
items = Item.best_selling_in_section(section_id, offset, limit)
|
||||
prepare_items_for_mass_display(items)
|
||||
end
|
||||
|
||||
# gets items in category ( useful for page showing single category )
|
||||
get '/item/category/:category_id/offset/:offset/limit/:limit' do |category_id_s, offset_s, limit_s|
|
||||
category_id, offset, limit = mass_to_i(category_id_s, offset_s, limit_s)
|
||||
input_invalid = offset_and_limit_invalid?(offset,limit) or category_id <= 0
|
||||
return [].to_json if input_invalid
|
||||
|
||||
items = Item.best_selling_in_category(category_id, offset,limit)
|
||||
prepare_items_for_mass_display(items)
|
||||
end
|
||||
|
||||
# gets items in sub category ( useful for page showing single sub_category )
|
||||
get '/item/sub_category/:sub_category_id/offset/:offset/limit/:limit' do |sub_category_id_s, offset_s, limit_s|
|
||||
sub_category_id, offset, limit = mass_to_i(sub_category_id_s, offset_s, limit_s)
|
||||
input_invalid = offset_and_limit_invalid?(offset,limit) or sub_category_id <= 0
|
||||
return [].to_json if input_invalid
|
||||
|
||||
items = Item.best_selling_in_sub_category(sub_category_id, offset, limit)
|
||||
prepare_items_for_mass_display(items)
|
||||
end
|
||||
10
front-api/controllers/section.rb
Normal file
10
front-api/controllers/section.rb
Normal file
@@ -0,0 +1,10 @@
|
||||
get '/section' do
|
||||
Section.order(:name).all.to_json(:include =>
|
||||
[:categories => { :include => :sub_categories }])
|
||||
end
|
||||
|
||||
get '/section/:id' do
|
||||
Section.find(params[:id].to_i).to_json(:include => [
|
||||
:categories => { :include => :sub_categories } ])
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user