Module: Api::Affiliated
- Extended by:
- ActiveSupport::Concern
- Included in:
- SpacesController
- Defined in:
- app/controllers/concerns/api/affiliated.rb
Instance Method Summary collapse
- #affiliated_create ⇒ Object
-
#affiliated_index ⇒ Object
/:parent_type/:id/affiliated/:object_type.
- #affiliated_stats ⇒ Object
Instance Method Details
#affiliated_create ⇒ Object
26 27 28 29 30 |
# File 'app/controllers/concerns/api/affiliated.rb', line 26 def affiliated_create render json: { success: true }, status: :ok and return if @obj.add_affiliate(@affiliate) render json: { error: 'Affiliated could not be created' }, status: :unprocessable_entity end |
#affiliated_index ⇒ Object
/:parent_type/:id/affiliated/:object_type
14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/controllers/concerns/api/affiliated.rb', line 14 def affiliated_index affiliated = ::Affiliation.where(parent: @obj, affiliate_type: params[:affiliate_type].classify).pluck(:affiliate_id, :status) response = affiliated.map do |affiliation| { affiliate_id: affiliation[0], status: affiliation[1] } end output = "{\"affiliates\": {\"#{params[:affiliate_type]}\": #{response.to_json}}}" render json: output, status: :ok end |
#affiliated_stats ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'app/controllers/concerns/api/affiliated.rb', line 32 def affiliated_stats affiliates = ::Affiliation.where(parent: @obj, status: 'accepted') # TODO: Fix the polymorphic error of this query # affiliates = Affiliation.where(parent: @obj, status:"accepted").joins(:affiliate).where.not(affiliate: {status: "draft"}) results = affiliates.group(:affiliate_type).count results['total'] = affiliates.count render json: results, status: :ok end |