File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package kr.itn.itnhub.org;
import kr.itn.itnhub.provision.ChannelProvisionService;
import kr.itn.itnhub.provision.ProvisionResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/api/orgs")
public class OrganizationController {
private final OrganizationService orgService;
private final ChannelProvisionService provisionService;
public OrganizationController(OrganizationService orgService,
ChannelProvisionService provisionService) {
this.orgService = orgService;
this.provisionService = provisionService;
}
@GetMapping
public List<OrgResponse> list() {
return orgService.findAll();
}
@PutMapping("/{id}/assignments")
public OrgResponse updateAssignments(@PathVariable Long id,
@RequestBody AssignmentRequest request) {
return orgService.updateAssignments(id, request);
}
/**
* 채널 2개를 보장한다. 부분 실패도 200으로 돌려주고 본문의 mj/law로 판단하게 한다.
* 한쪽만 성공한 상태 자체가 정상적인 중간 상태이기 때문이다.
*/
@PostMapping("/{id}/channels")
public ProvisionResult provision(@PathVariable Long id) {
return provisionService.provision(id);
}
}