//// THIS FILE IS AUTOMATICALLY GENERATED!
//// DO NOT EDIT BY HAND!

import { buildApiCaller } from './callers'

// Little shortcut to increase the capability of minifier
const bac = buildApiCaller

var Api = {}

Api.Admin = {
}

Api.Admin.Region = {

    /*
    get region and centers in region and some other info
    Parameters:
      region: Region
    */
    getRegion: bac('Admin.Region.getRegion'),

    /*
    
    Parameters:
      region: Region
      quarter: Quarter
    */
    getQuarterConfig: bac('Admin.Region.getQuarterConfig'),

    /*
    
    Parameters:
      region: Region
      quarter: Quarter
      data: array
    */
    saveQuarterConfig: bac('Admin.Region.saveQuarterConfig')
}

Api.Admin.Quarter = {

    /*
    Filter/list all quarters
    Parameters:
    */
    filter: bac('Admin.Quarter.filter')
}

Api.Admin.System = {

    /*
    Get all system messages
    Parameters:
    */
    allSystemMessages: bac('Admin.System.allSystemMessages'),

    /*
    Get system messages for a region
    Parameters:
      section: string
      region: Region
    */
    regionSystemMessages: bac('Admin.System.regionSystemMessages'),

    /*
    Upsert a system message
    Parameters:
      data: array
    */
    writeSystemMessage: bac('Admin.System.writeSystemMessage')
}

Api.Application = {

    /*
    Create new application
    Parameters:
      data: array
    */
    create: bac('Application.create'),

    /*
    List applications by center
    Parameters:
      center: Center
      reportingDate: date
      includeInProgress: bool
    */
    allForCenter: bac('Application.allForCenter'),

    /*
    Stash combined data for an application
    Parameters:
      center: Center
      reportingDate: date
      data: array
    */
    stash: bac('Application.stash')
}

Api.Course = {

    /*
    Create new course
    Parameters:
      data: array
    */
    create: bac('Course.create'),

    /*
    List courses by center
    Parameters:
      center: Center
      reportingDate: date
      includeInProgress: bool
    */
    allForCenter: bac('Course.allForCenter'),

    /*
    Stash combined data for an course
    Parameters:
      center: Center
      reportingDate: date
      data: array
    */
    stash: bac('Course.stash')
}

Api.GlobalReport = {

    /*
    Get ratings for all teams
    Parameters:
      globalReport: GlobalReport
      region: Region
    */
    getRating: bac('GlobalReport.getRating'),

    /*
    Get scoreboard for all weeks within a quarter
    Parameters:
      globalReport: GlobalReport
      region: Region
    */
    getQuarterScoreboard: bac('GlobalReport.getQuarterScoreboard'),

    /*
    Get scoreboard for a single week within a quarter
    Parameters:
      globalReport: GlobalReport
      region: Region
      futureDate: date
    */
    getWeekScoreboard: bac('GlobalReport.getWeekScoreboard'),

    /*
    Get scoreboard for a single week within a quarter by center
    Parameters:
      globalReport: GlobalReport
      region: Region
      options: array
    */
    getWeekScoreboardByCenter: bac('GlobalReport.getWeekScoreboardByCenter'),

    /*
    Get the list of incoming team members by center
    Parameters:
      globalReport: GlobalReport
      region: Region
      options: array
    */
    getApplicationsListByCenter: bac('GlobalReport.getApplicationsListByCenter'),

    /*
    Get the list of team members by center
    Parameters:
      globalReport: GlobalReport
      region: Region
      options: array
    */
    getClassListByCenter: bac('GlobalReport.getClassListByCenter'),

    /*
    Get the list of courses
    Parameters:
      globalReport: GlobalReport
      region: Region
    */
    getCourseList: bac('GlobalReport.getCourseList'),

    /*
    Get the global report page(s) named
    Parameters:
      globalReport: GlobalReport
      region: Region
      pages: array
    */
    getReportPages: bac('GlobalReport.getReportPages'),

    /*
    Get the global report page(s) named
    Parameters:
      region: Region
      reportingDate: date
      pages: array
    */
    getReportPagesByDate: bac('GlobalReport.getReportPagesByDate'),

    /*
    View options for Global Report
    Parameters:
      region: Region
      reportingDate: date
    */
    reportViewOptions: bac('GlobalReport.reportViewOptions')
}

Api.LiveScoreboard = {

    /*
    Get scores for a center
    Parameters:
      center: Center
    */
    getCurrentScores: bac('LiveScoreboard.getCurrentScores'),

    /*
    Set a single score
    Parameters:
      center: Center
      game: string
      type: string
      value: int
    */
    setScore: bac('LiveScoreboard.setScore')
}

Api.LocalReport = {

    /*
    Get scoreboard for all weeks within a quarter
    Parameters:
      localReport: LocalReport
      options: array
    */
    getQuarterScoreboard: bac('LocalReport.getQuarterScoreboard'),

    /*
    Get scoreboard for a single week within a quarter
    Parameters:
      localReport: LocalReport
    */
    getWeekScoreboard: bac('LocalReport.getWeekScoreboard'),

    /*
    Get the list of incoming team members
    Parameters:
      localReport: LocalReport
      options: array
    */
    getApplicationsList: bac('LocalReport.getApplicationsList'),

    /*
    Get the list of all team members
    Parameters:
      localReport: LocalReport
    */
    getClassList: bac('LocalReport.getClassList'),

    /*
    Get the list of all team members, arranged by T1/T2 and by quarter
    Parameters:
      localReport: LocalReport
    */
    getClassListByQuarter: bac('LocalReport.getClassListByQuarter'),

    /*
    Get the list of courses
    Parameters:
      localReport: LocalReport
    */
    getCourseList: bac('LocalReport.getCourseList'),

    /*
    Center Quarter
    Parameters:
      center: Center
      quarter: Quarter
    */
    getCenterQuarter: bac('LocalReport.getCenterQuarter'),

    /*
    View options for report
    Parameters:
      center: Center
      reportingDate: date
    */
    reportViewOptions: bac('LocalReport.reportViewOptions'),

    /*
    Get report pages
    Parameters:
      center: Center
      reportingDate: date
      pages: array
    */
    getReportPages: bac('LocalReport.getReportPages')
}

Api.Lookups = {

    /*
    Find centers in a region
    Parameters:
      region: Region
    */
    getRegionCenters: bac('Lookups.getRegionCenters')
}

Api.Submission = {
}

Api.Submission.ProgramLeader = {

    /*
    Get program leaders data for a center-reportingDate, optionally including in-progress data
    Parameters:
      center: Center
      reportingDate: date
      includeInProgress: bool
    */
    allForCenter: bac('Submission.ProgramLeader.allForCenter'),

    /*
    Stash data for in-progress Team Member weekly
    Parameters:
      center: Center
      reportingDate: date
      data: array
    */
    stash: bac('Submission.ProgramLeader.stash')
}

Api.Submission.Scoreboard = {

    /*
    Get scoreboard data for center
    Parameters:
      center: Center
      reportingDate: date
      includeInProgress: bool
    */
    allForCenter: bac('Submission.Scoreboard.allForCenter'),

    /*
    Save scoreboard data for week
    Parameters:
      center: Center
      reportingDate: date
      data: array
    */
    stash: bac('Submission.Scoreboard.stash'),

    /*
    TBD
    Parameters:
      center: Center
      quarter: Quarter
    */
    getScoreboardLockQuarter: bac('Submission.Scoreboard.getScoreboardLockQuarter'),

    /*
    TBD
    Parameters:
      center: Center
      quarter: Quarter
      data: array
    */
    setScoreboardLockQuarter: bac('Submission.Scoreboard.setScoreboardLockQuarter')
}

Api.Submission.NextQtrAccountability = {

    /*
    Get team member data for a center-reportingDate, optionally including in-progress data
    Parameters:
      center: Center
      reportingDate: date
      includeInProgress: bool
    */
    allForCenter: bac('Submission.NextQtrAccountability.allForCenter'),

    /*
    Stash data for in-progress Team Member weekly
    Parameters:
      center: Center
      reportingDate: date
      data: array
    */
    stash: bac('Submission.NextQtrAccountability.stash')
}

Api.SubmissionCore = {

    /*
    Initialize Submission, checking date extents and center and providing some useful starting data
    Parameters:
      center: Center
      reportingDate: date
    */
    initSubmission: bac('SubmissionCore.initSubmission'),

    /*
    Finalizes Submission. Validates and creates new db objects for report details
    Parameters:
      center: Center
      reportingDate: date
      data: array
    */
    completeSubmission: bac('SubmissionCore.completeSubmission'),

    /*
    Initialize first week data.
    Parameters:
      center: Center
      quarter: Quarter
    */
    initFirstWeekData: bac('SubmissionCore.initFirstWeekData')
}

Api.SubmissionData = {

    /*
    Ignore Me. Maybe I&#039;ll have public methods in the future.
    Parameters:
      center: string
      timezone: string
    */
    ignoreMe: bac('SubmissionData.ignoreMe')
}

Api.TeamMember = {

    /*
    Set the weekly data for an team member
    Parameters:
      teamMember: TeamMember
      reportingDate: date
      data: array
    */
    setWeekData: bac('TeamMember.setWeekData'),

    /*
    Get team member data for a center-reportingDate, optionally including in-progress data
    Parameters:
      center: Center
      reportingDate: date
      includeInProgress: bool
    */
    allForCenter: bac('TeamMember.allForCenter'),

    /*
    Stash data for in-progress Team Member weekly
    Parameters:
      center: Center
      reportingDate: date
      data: array
    */
    stash: bac('TeamMember.stash'),

    /*
    Bulk update weekly reporting info (GITW/TDO)
    Parameters:
      center: Center
      reportingDate: date
      updates: array
    */
    bulkStashWeeklyReporting: bac('TeamMember.bulkStashWeeklyReporting')
}

Api.UserProfile = {

    /*
    Set locale information
    Parameters:
      locale: string
      timezone: string
    */
    setLocale: bac('UserProfile.setLocale'),

    /*
    Tell the server we definitely need a shim
    Parameters:
      v: string
    */
    needsShim: bac('UserProfile.needsShim')
}

Api.ValidationData = {

    /*
    Validate report data and return results
    Parameters:
      center: Center
      reportingDate: date
    */
    validate: bac('ValidationData.validate')
}


export default Api
