Commit ef2257c4 authored by 우지원's avatar 우지원
Browse files

채널퇴장

parent b9acab65
...@@ -25,11 +25,17 @@ const joinChannel = async (payload) => { ...@@ -25,11 +25,17 @@ const joinChannel = async (payload) => {
return data; return data;
}; };
const makeChannel = async (payload) => { const doubleJoin = async (payload) => {
const { data } = await axios.post("/api/room/makeChannel", payload); const { data } = await axios.post("/api/room/doubleJoin", payload);
return data; return data;
}; };
const roomApi = { getRoom, exitRoom, create, join, joinChannel, makeChannel };
// const makeChannel = async (payload) => {
// const { data } = await axios.post("/api/room/makeChannel", payload);
// return data;
// };
const roomApi = { getRoom, exitRoom, create, join, joinChannel, doubleJoin };
export default roomApi; export default roomApi;
...@@ -6,6 +6,7 @@ import catchErrors from "../../context/catchError"; ...@@ -6,6 +6,7 @@ import catchErrors from "../../context/catchError";
const ChannelSingle = (props) => { const ChannelSingle = (props) => {
const [error, setError] = useState(""); const [error, setError] = useState("");
const [userName, setUserName] = useState('');
const [success, setSuccess] = useState(false); const [success, setSuccess] = useState(false);
const [roomName, setRoomName] = useState(''); const [roomName, setRoomName] = useState('');
const { roomId, channelId } = useParams(); const { roomId, channelId } = useParams();
...@@ -18,15 +19,23 @@ const ChannelSingle = (props) => { ...@@ -18,15 +19,23 @@ const ChannelSingle = (props) => {
console.log(e, userId) console.log(e, userId)
try { try {
const data = await userApi.getUser(userId); const data = await userApi.getUser(userId);
const el = indexCheck(e) setUserName(data.name)
console.log(el) const index1 = indexCheck(e)
const mem = props.channel[el].joinUser const A = doubleJoinCheck(data.name)
console.log(mem) console.log(A)
const mem = props.channel[index1].joinUser
const joinCh = mem.includes(data.name); const joinCh = mem.includes(data.name);
console.log(joinCh) console.log(A)
if (!joinCh) { if (!joinCh) {
const roomA = await roomApi.joinChannel({ roomId: roomId, channelName: e, plusUser: data.name, index: el }) if (A) {
console.log(roomA) console.log('더블더블')
console.log(A.index1, A.index2, A.joinChName)
// { roomId: roomId, index1: A.index1, index2: A.index2, joinChName: A.joinChName }
const double = await roomApi.doubleJoin({ roomId: roomId, index1: A.index1, index2: A.index2, joinChName: A.joinChName })
console.log(double)
}
console.log('서버연결시작')
const roomA = await roomApi.joinChannel({ roomId: roomId, channelName: e, plusUser: data.name, index: index1 })
setRoomName(e) setRoomName(e)
setSuccess(true) setSuccess(true)
} else { } else {
...@@ -40,12 +49,25 @@ const ChannelSingle = (props) => { ...@@ -40,12 +49,25 @@ const ChannelSingle = (props) => {
console.log('정보들어왔나', roomName, success) console.log('정보들어왔나', roomName, success)
function indexCheck(e) { function indexCheck(e) {
for (const el in props.channel) { for (const index1 in props.channel) {
console.log('체크', props.channel[el].channelName, e) if (props.channel[index1].channelName === e) {
console.log('체크', props.channel[el].channelName === e) return index1
if (props.channel[el].channelName === e) { }
console.log('el', el) }
return el }
function doubleJoinCheck(e) {
for (const index in props.channel) {
for (const el in props.channel[index].joinUser) {
if (props.channel[index].joinUser[el] === e) {
const doublejoinCh = props.channel[index].channelName
const A = {
index1: index,
index2: el,
joinChName: doublejoinCh,
}
return A
}
} }
} }
} }
......
...@@ -121,18 +121,33 @@ const exitRoom = async (req, res) => { ...@@ -121,18 +121,33 @@ const exitRoom = async (req, res) => {
const joinChannel = async (req, res) => { const joinChannel = async (req, res) => {
const { roomId, channelName, plusUser, index } = req.body const { roomId, channelName, plusUser, index } = req.body
console.log('연결성공')
const room = await Room.findOne({ where: { id: roomId } }); const room = await Room.findOne({ where: { id: roomId } });
room.channel[index][channelName].push(plusUser) room.channel[index][channelName].push(plusUser)
console.log('확인2',room.channel[index]) console.log('확인2', room.channel[index])
console.log('확인2', room.channel)
await Room.update({ channel: room.channel }, { where: { id: roomId } }); await Room.update({ channel: room.channel }, { where: { id: roomId } });
return res.json(true) return res.json(true)
} }
const makeChannel = async (req, res) => { const doubleJoin = async (req, res) => {
const { roomId, channelName } = req.body console.log('연결성공', req.body)
console.log(roomId, channelName) const { roomId, index1, index2, joinChName } = req.body
console.log(index1)
const room = await Room.findOne({ where: { id: roomId } });
console.log(room.channel[index1][joinChName])
room.channel[index1][joinChName].splice(index2, 1)
console.log(room.channel[index1][joinChName])
console.log('room.channel', room.channel)
await Room.update({ channel: room.channel }, { where: { id: roomId } });
return res.json(true)
} }
// const makeChannel = async (req, res) => {
// const { roomId, channelName } = req.body
// console.log(roomId, channelName)
// }
export default { export default {
joinRoom, roomImgUpload, createRoom, getRoom, exitRoom, joinChannel, makeChannel, joinRoom, roomImgUpload, createRoom, getRoom, exitRoom, joinChannel, doubleJoin,
}; };
...@@ -7,6 +7,7 @@ router.route("/exitRoom/:id/:roomId").delete(roomCrtl.exitRoom); ...@@ -7,6 +7,7 @@ router.route("/exitRoom/:id/:roomId").delete(roomCrtl.exitRoom);
router.route("/create").post(roomCrtl.roomImgUpload, roomCrtl.createRoom); router.route("/create").post(roomCrtl.roomImgUpload, roomCrtl.createRoom);
router.route("/join").put(roomCrtl.joinRoom); router.route("/join").put(roomCrtl.joinRoom);
router.route("/joinChannel").post(roomCrtl.joinChannel); router.route("/joinChannel").post(roomCrtl.joinChannel);
router.route("/makeChannel").post(roomCrtl.makeChannel); router.route("/doubleJoin").post(roomCrtl.doubleJoin);
// router.route("/makeChannel").post(roomCrtl.makeChannel);
export default router; export default router;
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment