eecs448-project-4/app/models/WeeklyPlayerStat.model.js

50 lines
1.3 KiB
JavaScript

const { Model } = require('flitter-orm')
/**
* WeeklyPlayerStat model
* -----------------------------------------------------------------------
* A record containing the statistics for a single player for a single week.
*
* @extends Model
*/
class WeeklyPlayerStat extends Model {
static get services() {
return [...super.services, 'models']
}
/**
* defines the schema of the particular model
*/
static get schema() {
return {
player_id: String,
week_num: Number,
patch_player_id: String,
fantasy_points: Number,
passing_attempts: Number,
passing_completions: Number,
passing_yards: Number,
fumbles: Number,
kick_returns: Number,
sacks: Number,
}
}
/**
* Cast the stats to a format expected by the API.
* @return Promise<object>
*/
async to_api() {
return {
'Passing Attempts': this.passing_attempts,
'Passing Completions': this.passing_completions,
'Passing Yards': this.passing_yards,
'Fumbles': this.fumbles,
'Kick Returns': this.kick_returns,
'Sacks': this.sacks,
}
}
}
module.exports = exports = WeeklyPlayerStat