package cz.muni.fi.pa165.soccermanager.service;

import cz.muni.fi.pa165.soccermanager.dto.TeamDto;
import cz.muni.fi.pa165.soccermanager.dto.request.UpdateTeamDto;
import java.util.Optional;

import cz.muni.fi.pa165.soccermanager.dto.request.CreateTeamRequest;

import java.util.List;


public interface TeamService {
    void remove(Long t);

    void update(Long t, UpdateTeamDto updateTeamDTO);

    void addFreeAgent(Long player, Long t);

    Optional<TeamDto> findTeamById(Long teamId);

    List<TeamDto> getAllTeamsByLeague(Long leagueId);

    List<TeamDto> getAllTeamsByChampionship(Long championshipId);

    Long createTeam(Long leagueId, CreateTeamRequest request);

    void removePlayer(Long teamID, Long playerId);

    Optional<TeamDto> findTeamByUserId(Long userId);
}
