// Path: spat-services/src/main/java/com/pcalouche/spat/api/dto/TeamDto.java
// @Data
// @Builder
// @NoArgsConstructor
// @AllArgsConstructor
// public class TeamDto {
//     @EqualsAndHashCode.Exclude
//     private Integer id;
//     private String name;
// 
//     public static TeamDto map(Team team) {
//         return TeamDto.builder()
//                 .id(team.getId())
//                 .name(team.getName())
//                 .build();
//     }
// }
// 
// Path: spat-services/src/main/java/com/pcalouche/spat/api/dto/TeamEditRequest.java
// @Data
// @Builder
// @NoArgsConstructor
// @AllArgsConstructor
// public class TeamEditRequest {
//     @NotEmpty
//     private String name;
// }


import com.pcalouche.spat.api.dto.TeamDto;
import com.pcalouche.spat.api.dto.TeamEditRequest;
import java.util.List;
import java.util.Optional;
package com.pcalouche.spat.service;



public interface TeamService {
    Optional<TeamDto> findById(Integer id);

    Optional<TeamDto> findByName(String name);

    List<TeamDto> findAll();

    TeamDto create(TeamEditRequest teamEditRequest);

// Path: spat-services/src/main/java/com/pcalouche/spat/api/dto/TeamDto.java
// @Data
// @Builder
// @NoArgsConstructor
// @AllArgsConstructor
// public class TeamDto {
//     @EqualsAndHashCode.Exclude
//     private Integer id;
//     private String name;
// 
//     public static TeamDto map(Team team) {
//         return TeamDto.builder()
//                 .id(team.getId())
//                 .name(team.getName())
//                 .build();
//     }
// }
// 
// Path: spat-services/src/main/java/com/pcalouche/spat/api/dto/TeamEditRequest.java
// @Data
// @Builder
// @NoArgsConstructor
// @AllArgsConstructor
// public class TeamEditRequest {
//     @NotEmpty
//     private String name;
// }


// Path: spat-services/src/main/java/com/pcalouche/spat/service/TeamService.java
import com.pcalouche.spat.api.dto.TeamDto;
import com.pcalouche.spat.api.dto.TeamEditRequest;
import java.util.List;
import java.util.Optional;

package com.pcalouche.spat.service;



public interface TeamService {
    Optional<TeamDto> findById(Integer id);

    Optional<TeamDto> findByName(String name);

    List<TeamDto> findAll();

    TeamDto create(TeamEditRequest teamEditRequest);

    Optional<TeamDto> update(int id, TeamEditRequest teamEditRequest);