Class: Api::Partner::V1::ReportsController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/api/partner/v1/reports_controller.rb

Instance Method Summary collapse

Methods inherited from BaseController

#default_restaurant, #identity_cache_memoization, #render_unauthorize_action, #restaurants, #set_options

Methods included from LogrageCustomLogger

#append_info_to_payload

Methods included from ControllerHelpers

#check_boolean_param, #get_banners, #inventory_params, #reservation_params

Methods included from ResponseCacheConcern

#my_response_cache

Instance Method Details

#exportObject

Raises:

  • (NotImplementedError)


132
133
134
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 132

def export
  raise NotImplementedError, 'This action is not implemented yet.'
end

#report_branch_covers_by_hourObject

Generates a report of branch covers grouped by hour.

Parameters:

  • params (Hash)


60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 60

def report_branch_covers_by_hour
  report_result = PartnerService::Reports::BranchCoversService.new(params,
                                                                   restaurants).build_reports_by_hour
  render json: {
    data: report_result[0],
    meta: {
      total_covers_restaurants: report_result[1],
      grand_total_covers: report_result[2],
      total_seats_restaurants: report_result[3],
      grand_total_seats: report_result[4],
    },
  }
end

#report_by_dayObject

Generates a report of reservations grouped by day.

Parameters:

  • params (Hash)


9
10
11
12
13
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 9

def report_by_day
  report_result = PartnerService::Reports::DineInService.new(params,
                                                             restaurants).build_reports_by_day
  render json: { data: report_result[0], meta: report_result[1] }
end

#report_by_hourObject

Generates a report of reservations grouped by hour.

Parameters:

  • params (Hash)


23
24
25
26
27
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 23

def report_by_hour
  report_result = PartnerService::Reports::DineInService.new(params,
                                                             restaurants).build_reports_by_hour
  render json: { data: report_result[0], meta: report_result[1] }
end

#report_cover_dine_in_by_dayObject

Generates a report of dine-in covers grouped by day.

Parameters:

  • params (Hash)


115
116
117
118
119
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 115

def report_cover_dine_in_by_day
  report_result = PartnerService::Reports::DineInCoversService.new(params,
                                                                   restaurants).build_reports_by_day
  render json: { data: report_result[0], meta: { total: report_result[1] } }
end

#report_package_by_dayObject

Generates a report of package sales grouped by day.

Parameters:

  • params (Hash)


48
49
50
51
52
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 48

def report_package_by_day
  report_result = PartnerService::Reports::PackageService.new(params,
                                                              restaurants).build_reports_by_day
  render json: { data: { rows: report_result[0], cols: report_result[1] } }
end

#report_package_by_hourObject

Generates a report of package sales grouped by hour.

Parameters:

  • params (Hash)


37
38
39
40
41
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 37

def report_package_by_hour
  report_result = PartnerService::Reports::PackageService.new(params,
                                                              restaurants).build_reports_by_hour
  render json: { data: { rows: report_result[0], cols: report_result[1] } }
end

#report_sales_and_ratingObject

Generates a sales and ratings report.

Parameters:

  • params (Hash)


104
105
106
107
108
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 104

def report_sales_and_rating
  report_result = PartnerService::Reports::SalesAndRatingService.new(params,
                                                                     restaurants).build_ratings
  render json: { data: report_result }
end

#report_service_type_by_dayObject

Generates a report of service types used, grouped by day.

Parameters:

  • params (Hash)


93
94
95
96
97
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 93

def report_service_type_by_day
  report_result = PartnerService::Reports::ServiceTypeService.new(params,
                                                                  restaurants).build_reports_service_type_by_day
  render json: { data: report_result[0], meta: report_result[1] }
end

#report_service_type_by_hourObject

Generates a report of service types used, grouped by hour.

Parameters:

  • params (Hash)


82
83
84
85
86
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 82

def report_service_type_by_hour
  report_result = PartnerService::Reports::ServiceTypeService.new(params,
                                                                  restaurants).build_reports_service_type_by_hour
  render json: { data: report_result[0], meta: report_result[1] }
end

#report_sold_outObject

Generates a report of sold-out items.

Parameters:

  • params (Hash)


126
127
128
129
130
# File 'app/controllers/api/partner/v1/reports_controller.rb', line 126

def report_sold_out
  report_result = PartnerService::Reports::SoldOutService.new(params,
                                                              restaurants).build_sold_out_report
  render json: { data: report_result }
end