package com.rongyichuang.judge.api;
|
|
import com.rongyichuang.judge.dto.request.JudgeInput;
|
import com.rongyichuang.judge.dto.response.JudgeResponse;
|
import com.rongyichuang.judge.service.JudgeService;
|
import com.rongyichuang.common.dto.request.MediaInput;
|
import com.rongyichuang.common.dto.response.MediaResponse;
|
import com.rongyichuang.common.service.MediaService;
|
import org.springframework.graphql.data.method.annotation.Argument;
|
import org.springframework.graphql.data.method.annotation.MutationMapping;
|
import org.springframework.graphql.data.method.annotation.QueryMapping;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.List;
|
|
@Controller
|
public class JudgeGraphqlApi {
|
|
private final JudgeService judgeService;
|
private final MediaService mediaService;
|
|
public JudgeGraphqlApi(JudgeService judgeService, MediaService mediaService) {
|
this.judgeService = judgeService;
|
this.mediaService = mediaService;
|
}
|
|
@QueryMapping
|
public List<JudgeResponse> judges() {
|
return judgeService.findAll();
|
}
|
|
@QueryMapping
|
public List<JudgeResponse> judgesByName(@Argument String name) {
|
return judgeService.findByName(name);
|
}
|
|
@QueryMapping
|
public JudgeResponse judge(@Argument Long id) {
|
return judgeService.findById(id);
|
}
|
|
@MutationMapping
|
public JudgeResponse saveJudge(@Argument JudgeInput input) {
|
return judgeService.save(input);
|
}
|
|
@MutationMapping
|
public Boolean deleteJudge(@Argument Long id) {
|
judgeService.delete(id);
|
return true;
|
}
|
|
|
}
|