forked from OpenNeo/impress
9de50deb3c
We've already swapped out the backend for this stuff to Impress 2020, so the resque task and the broken image report UI aren't actually relevant anymore. Delete them! This helps us delete Resque soon too.
67 lines
2.5 KiB
Ruby
67 lines
2.5 KiB
Ruby
class SwfAssetsController < ApplicationController
|
|
def index
|
|
if params[:item_id]
|
|
item = Item.find(params[:item_id])
|
|
@swf_assets = item.swf_assets.includes_depth
|
|
if params[:body_id]
|
|
@swf_assets = @swf_assets.fitting_body_id(params[:body_id])
|
|
else
|
|
if item.special_color
|
|
@swf_assets = @swf_assets.fitting_color(item.special_color)
|
|
else
|
|
@swf_assets = @swf_assets.fitting_standard_body_ids
|
|
end
|
|
json = @swf_assets.all.group_by(&:body_id)
|
|
end
|
|
elsif params[:pet_type_id] && params[:item_ids]
|
|
pet_type = PetType.find(params[:pet_type_id])
|
|
|
|
@swf_assets = SwfAsset.object_assets.includes_depth.
|
|
fitting_body_id(pet_type.body_id).
|
|
for_item_ids(params[:item_ids]).
|
|
with_parent_ids
|
|
json = @swf_assets.map { |a| a.as_json(:parent_id => a.parent_id.to_i, :for => 'wardrobe') }
|
|
elsif params[:pet_state_id]
|
|
@swf_assets = PetState.find(params[:pet_state_id]).swf_assets.
|
|
includes_depth.all
|
|
pet_state_id = params[:pet_state_id].to_i
|
|
json = @swf_assets.map { |a| a.as_json(:parent_id => pet_state_id, :for => 'wardrobe') }
|
|
elsif params[:pet_type_id]
|
|
@swf_assets = PetType.find(params[:pet_type_id]).pet_states.emotion_order
|
|
.first.swf_assets.includes_depth
|
|
elsif params[:ids]
|
|
@swf_assets = []
|
|
if params[:ids][:biology]
|
|
@swf_assets += SwfAsset.includes_depth.biology_assets.where(:remote_id => params[:ids][:biology]).all
|
|
end
|
|
if params[:ids][:object]
|
|
@swf_assets += SwfAsset.includes_depth.object_assets.where(:remote_id => params[:ids][:object]).all
|
|
end
|
|
elsif params[:body_id] && params[:item_ids]
|
|
# DEPRECATED in favor of pet_type_id and item_ids
|
|
swf_assets = SwfAsset.arel_table
|
|
@swf_assets = SwfAsset.includes_depth.object_assets.
|
|
select('swf_assets.*, parents_swf_assets.parent_id').
|
|
fitting_body_id(params[:body_id]).
|
|
for_item_ids(params[:item_ids])
|
|
json = @swf_assets.map { |a| a.as_json(:parent_id => a.parent_id.to_i, :for => 'wardrobe') }
|
|
end
|
|
if @swf_assets
|
|
@swf_assets = @swf_assets.all unless @swf_assets.is_a? Array
|
|
json = @swf_assets unless json
|
|
else
|
|
json = nil
|
|
end
|
|
render :json => json
|
|
end
|
|
|
|
def show
|
|
@swf_asset = SwfAsset.find params[:id]
|
|
render :json => @swf_asset
|
|
end
|
|
|
|
def links
|
|
@swf_assets = SwfAsset.from_wardrobe_link_params(params[:asset_ids])
|
|
end
|
|
end
|
|
|