먼저 dto 구성. 이 때 PickType 이용하여 사용한 모든 요소 가져온다
여기서 나중에 mutation으로 내용 변경 시 변경할 내용만 가져오는 것이 아니라 전체 내용 가져와주는 것이 좋다. 안 그러면 계속 에러 난다. 아마 PartialType으로 변경하면 에러가 안 날까 싶긴 한데 나중에 도전해보는거로.
async updateOrder(updateOrderInput: UpdateOrderInput): Promise<UpdateOrderOutput>{
try{
await this.orders.update(updateOrderInput.id, {...updateOrderInput});
return {
ok: true
}
}catch(e){
console.log(e);
return {
ok: false,
error: "Cannot update Order"
}
}
}
착오하고 계속 잘못하고 있던 것 : id값을 계속 넣으려고 하다보니 update를 썼고 쓰다 보니 인자를 두 개 받고 하는 삽질을 계속 하고 있었음. 그게 아님. create랑 차이 없음
@Mutation(returns => UpdateOrderOutput)
async updateOrder(
@Args('input') updateOrderInput: UpdateOrderInput
): Promise<UpdateOrderOutput>{
return this.orderService.updateOrder(updateOrderInput);
}
마찬가지다. create와 차이가 없다.
외국자료 많이 살펴 봤지만 역시 기존에 받은 cat 자료를 잘 활용하는것이 최고였다.
결과.