Skip to content

Commit

Permalink
Merge pull request #507 from SprocketBot/personal/gankoji/fixCaptains
Browse files Browse the repository at this point in the history
Fix: Some franchise staff unable to submit or ratify matches
  • Loading branch information
gankoji committed Oct 14, 2023
2 parents 4f59dc3 + 787b09c commit 7567e67
Showing 1 changed file with 66 additions and 51 deletions.
117 changes: 66 additions & 51 deletions core/src/franchise/franchise/franchise.service.ts
Original file line number Diff line number Diff line change
@@ -1,65 +1,80 @@
import {
forwardRef, Inject, Injectable,
} from "@nestjs/common";
import {InjectRepository} from "@nestjs/typeorm";
import type {CoreEndpoint, CoreOutput} from "@sprocketbot/common";
import type {FindOneOptions} from "typeorm";
import {Repository} from "typeorm";
import { forwardRef, Inject, Injectable } from "@nestjs/common";
import { InjectRepository } from "@nestjs/typeorm";
import type { CoreEndpoint, CoreOutput } from "@sprocketbot/common";
import type { FindOneOptions } from "typeorm";
import { Repository } from "typeorm";

import type {FranchiseProfile} from "../../database";
import {Franchise} from "../../database";
import {MledbPlayerService} from "../../mledb";
import type { FranchiseProfile } from "../../database";
import { Franchise } from "../../database";
import { MledbPlayerService } from "../../mledb";
import { MemberService } from "../../organization";

@Injectable()
export class FranchiseService {
constructor(
@InjectRepository(Franchise) private readonly franchiseRepository: Repository<Franchise>,
@Inject(forwardRef(() => MledbPlayerService)) private readonly mledbPlayerService: MledbPlayerService,
) {}
constructor(
@InjectRepository(Franchise)
private readonly franchiseRepository: Repository<Franchise>,
@Inject(forwardRef(() => MledbPlayerService))
private readonly mledbPlayerService: MledbPlayerService,
private readonly sprocketMemberService: MemberService
) {}

async getFranchiseProfile(franchiseId: number): Promise<FranchiseProfile> {
const franchise = await this.franchiseRepository.findOneOrFail({
where: {id: franchiseId},
relations: ["profile"],
});
return franchise.profile;
}

async getFranchiseById(franchiseId: number): Promise<Franchise> {
return this.franchiseRepository.findOneOrFail({where: {id: franchiseId} });
}
async getFranchiseProfile(franchiseId: number): Promise<FranchiseProfile> {
const franchise = await this.franchiseRepository.findOneOrFail({
where: { id: franchiseId },
relations: ["profile"],
});
return franchise.profile;
}

async getFranchise(query: FindOneOptions<Franchise>): Promise<Franchise> {
return this.franchiseRepository.findOneOrFail(query);
}
async getFranchiseById(franchiseId: number): Promise<Franchise> {
return this.franchiseRepository.findOneOrFail({
where: { id: franchiseId },
});
}

async getPlayerFranchises(userId: number): Promise<CoreOutput<CoreEndpoint.GetPlayerFranchises>> {
const mlePlayer = await this.mledbPlayerService.getMlePlayerBySprocketUser(userId);
async getFranchise(query: FindOneOptions<Franchise>): Promise<Franchise> {
return this.franchiseRepository.findOneOrFail(query);
}

const playerId = mlePlayer.id;
async getPlayerFranchises(
memberId: number
): Promise<CoreOutput<CoreEndpoint.GetPlayerFranchises>> {
const member = await this.sprocketMemberService.getMemberById(memberId);
const { userId } = member;
const mlePlayer = await this.mledbPlayerService.getMlePlayerBySprocketUser(
userId
);

const team = await this.mledbPlayerService.getPlayerFranchise(playerId);
const isCaptain = await this.mledbPlayerService.playerIsCaptain(playerId);
const playerId = mlePlayer.id;

const staffPositions: Array<{id: number; name: string;}> = [];
const team = await this.mledbPlayerService.getPlayerFranchise(playerId);
const isCaptain = await this.mledbPlayerService.playerIsCaptain(playerId);

if (team.franchiseManagerId === playerId) {
staffPositions.push({id: 0, name: "FM"});
}
if (team.generalManagerId === playerId) {
staffPositions.push({id: 0, name: "GM"});
}
if (team.doublesAssistantGeneralManagerId === playerId || team.standardAssistantGeneralManagerId === playerId) {
staffPositions.push({id: 0, name: "AGM"});
}
if (isCaptain) {
staffPositions.push({id: 0, name: "CAP"});
}
const staffPositions: Array<{ id: number; name: string }> = [];

return [
{
id: 0, name: team.name, staffPositions: staffPositions,
},
];
if (team.franchiseManagerId === playerId) {
staffPositions.push({ id: 0, name: "FM" });
}
if (team.generalManagerId === playerId) {
staffPositions.push({ id: 0, name: "GM" });
}
if (
team.doublesAssistantGeneralManagerId === playerId ||
team.standardAssistantGeneralManagerId === playerId
) {
staffPositions.push({ id: 0, name: "AGM" });
}
if (isCaptain) {
staffPositions.push({ id: 0, name: "CAP" });
}

return [
{
id: 0,
name: team.name,
staffPositions: staffPositions,
},
];
}
}

0 comments on commit 7567e67

Please sign in to comment.