def call(
ods_code: nil,
team_name: nil,
format: "table",
programme: nil,
academic_year: nil,
**
)
MavisCLI.load_rails
organisation, teams =
resolve_organisation_and_teams(ods_code, team_name)
return unless organisation && teams
programmes = resolve_programmes(teams, programme)
resolved_academic_year =
academic_year ? academic_year.to_i : AcademicYear.current
service =
::Stats::Organisations.new(
organisation: organisation,
teams: teams,
programmes: programmes,
academic_year: resolved_academic_year
)
results = service.call
case format
when "json"
puts results.to_json
else
output_table(results, programme, resolved_academic_year)
end
end