diff --git a/app/controllers/Teams.controller.js b/app/controllers/Teams.controller.js index b134aeb..79f24e6 100644 --- a/app/controllers/Teams.controller.js +++ b/app/controllers/Teams.controller.js @@ -21,6 +21,13 @@ class Teams extends Controller { return res.api(await req.user_team.to_api()) } + async get_my_team_players(req, res, next) { + const players = await req.user_team.players() + console.log(players) + console.log(await players[0].to_api()) + return res.api(await Promise.all(players.map(x => x.to_api()))) + } + async list_all_teams(req, res) { const TeamModel = this.models.get('Team') const teams = await TeamModel.find() diff --git a/app/models/Player.model.js b/app/models/Player.model.js index 75f3f6d..0212cd9 100644 --- a/app/models/Player.model.js +++ b/app/models/Player.model.js @@ -67,11 +67,12 @@ class Player extends Model { async to_api() { return { - player_number: this.player_number, - player_name: this.player_name, - player_position: this.player_position, - team_name: this.team_name, - image_url: this.image_url, + number: this.player_number, + name: this.full_name, + position: this.fantasy_position, + team_name: this.patch_data.patch_team_name, + image: this.photo_url, + stats: {}, // TODO - populate some stats! } } } diff --git a/app/models/Team.model.js b/app/models/Team.model.js index 361a729..c6f3e48 100644 --- a/app/models/Team.model.js +++ b/app/models/Team.model.js @@ -50,6 +50,15 @@ class Team extends Model { return new_team } + async players() { + const Player = this.models.get('Player') + return Player.find({ + _id: { + $in: this.player_ids.map(x => Player.to_object_id(x)) + } + }) + } + async to_api() { const User = this.models.get('auth:User') diff --git a/app/routing/routers/api.routes.js b/app/routing/routers/api.routes.js index 9e24363..17bcc0e 100644 --- a/app/routing/routers/api.routes.js +++ b/app/routing/routers/api.routes.js @@ -48,6 +48,7 @@ const index = { ], '/my-team': ['controller::Teams.get_my_team'], + '/my-team/players': ['controller::Teams.get_my_team_players'], }, /*