2021-10-15 05:44:59 +11:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class Api::V1::Admin::RetentionController < Api::BaseController
|
2022-07-05 10:41:40 +10:00
|
|
|
include Authorization
|
|
|
|
|
2022-01-17 19:41:33 +11:00
|
|
|
before_action -> { authorize_if_got_token! :'admin:read' }
|
2021-10-15 05:44:59 +11:00
|
|
|
before_action :set_cohorts
|
|
|
|
|
2022-07-05 10:41:40 +10:00
|
|
|
after_action :verify_authorized
|
|
|
|
|
2021-10-15 05:44:59 +11:00
|
|
|
def create
|
2022-07-05 10:41:40 +10:00
|
|
|
authorize :dashboard, :index?
|
2021-10-15 05:44:59 +11:00
|
|
|
render json: @cohorts, each_serializer: REST::Admin::CohortSerializer
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def set_cohorts
|
|
|
|
@cohorts = Admin::Metrics::Retention.new(
|
|
|
|
params[:start_at],
|
|
|
|
params[:end_at],
|
|
|
|
params[:frequency]
|
|
|
|
).cohorts
|
|
|
|
end
|
|
|
|
end
|