1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-01 12:24:28 +01:00
fab-manager/app/controllers/api/subscriptions_controller.rb

38 lines
966 B
Ruby
Raw Normal View History

# frozen_string_literal: true
# API Controller for resources of type Subscription
2023-02-24 17:26:55 +01:00
class API::SubscriptionsController < API::APIController
2023-01-03 17:17:39 +01:00
before_action :set_subscription, only: %i[show payment_details cancel]
2016-03-23 18:39:41 +01:00
before_action :authenticate_user!
def show
authorize @subscription
end
2021-10-08 19:14:47 +02:00
def payment_details
authorize @subscription
end
2023-01-03 17:17:39 +01:00
def cancel
authorize @subscription
payment_schedule = @subscription.original_payment_schedule
if payment_schedule
PaymentScheduleService.cancel(payment_schedule)
render :show, status: :ok, location: @subscription and return
end
if @subscription.expire
2023-01-03 17:17:39 +01:00
render :show, status: :ok, location: @subscription
else
render json: { error: 'already expired' }, status: :unprocessable_entity
end
end
2016-03-23 18:39:41 +01:00
private
# Use callbacks to share common setup or constraints between actions.
def set_subscription
@subscription = Subscription.find(params[:id])
end
2016-03-23 18:39:41 +01:00
end