You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class Api::V1::Admin::RetentionController < Api::BaseController
|
|
|
|
include Authorization
|
|
|
|
|
|
|
|
before_action -> { authorize_if_got_token! :'admin:read' }
|
|
|
|
before_action :set_cohorts
|
|
|
|
|
|
|
|
after_action :verify_authorized
|
|
|
|
|
|
|
|
def create
|
|
|
|
authorize :dashboard, :index?
|
|
|
|
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
|