Message를 주고받는 chat기능을 만들어보자.
from user, to user, messages가 있고 메신져 역할을 하는 모델
message를 관리하는 모델. message text, room id 가 있다.
Mutation: {
sendMessage: async (_, args, { request, isAuthenticated }) => {
isAuthenticated(request);
const { user } = request;
const { roomId, message, toId } = args;
let room;
if (roomId === undefined) {
if (user.id !== toId) {
room = await prisma.createRoom({data:...});
}
} else {
room = await prisma.room({ id: roomId });
}
if (!room) {
throw Error("Room not found");
}
return await prisma.createMessage({
...
});
},
},