Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
students
bora-it
Commits
ef2257c4
Commit
ef2257c4
authored
Aug 05, 2021
by
우지원
Browse files
채널퇴장
parent
b9acab65
Changes
4
Hide whitespace changes
Inline
Side-by-side
client/src/apis/room.api.js
View file @
ef2257c4
...
...
@@ -25,11 +25,17 @@ const joinChannel = async (payload) => {
return
data
;
};
const
makeChannel
=
async
(
payload
)
=>
{
const
{
data
}
=
await
axios
.
post
(
"
/api/room/
makeChannel
"
,
payload
);
const
doubleJoin
=
async
(
payload
)
=>
{
const
{
data
}
=
await
axios
.
post
(
"
/api/room/
doubleJoin
"
,
payload
);
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
;
client/src/components/Room/ChannelSingle.js
View file @
ef2257c4
...
...
@@ -6,6 +6,7 @@ import catchErrors from "../../context/catchError";
const
ChannelSingle
=
(
props
)
=>
{
const
[
error
,
setError
]
=
useState
(
""
);
const
[
userName
,
setUserName
]
=
useState
(
''
);
const
[
success
,
setSuccess
]
=
useState
(
false
);
const
[
roomName
,
setRoomName
]
=
useState
(
''
);
const
{
roomId
,
channelId
}
=
useParams
();
...
...
@@ -18,15 +19,23 @@ const ChannelSingle = (props) => {
console
.
log
(
e
,
userId
)
try
{
const
data
=
await
userApi
.
getUser
(
userId
);
const
el
=
indexCheck
(
e
)
console
.
log
(
el
)
const
mem
=
props
.
channel
[
el
].
joinUser
console
.
log
(
mem
)
setUserName
(
data
.
name
)
const
index1
=
indexCheck
(
e
)
const
A
=
doubleJoinCheck
(
data
.
name
)
console
.
log
(
A
)
const
mem
=
props
.
channel
[
index1
].
joinUser
const
joinCh
=
mem
.
includes
(
data
.
name
);
console
.
log
(
joinCh
)
console
.
log
(
A
)
if
(
!
joinCh
)
{
const
roomA
=
await
roomApi
.
joinChannel
({
roomId
:
roomId
,
channelName
:
e
,
plusUser
:
data
.
name
,
index
:
el
})
console
.
log
(
roomA
)
if
(
A
)
{
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
)
setSuccess
(
true
)
}
else
{
...
...
@@ -40,12 +49,25 @@ const ChannelSingle = (props) => {
console
.
log
(
'
정보들어왔나
'
,
roomName
,
success
)
function
indexCheck
(
e
)
{
for
(
const
el
in
props
.
channel
)
{
console
.
log
(
'
체크
'
,
props
.
channel
[
el
].
channelName
,
e
)
console
.
log
(
'
체크
'
,
props
.
channel
[
el
].
channelName
===
e
)
if
(
props
.
channel
[
el
].
channelName
===
e
)
{
console
.
log
(
'
el
'
,
el
)
return
el
for
(
const
index1
in
props
.
channel
)
{
if
(
props
.
channel
[
index1
].
channelName
===
e
)
{
return
index1
}
}
}
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
}
}
}
}
...
...
server/controllers/room.controller.js
View file @
ef2257c4
...
...
@@ -121,18 +121,33 @@ const exitRoom = async (req, res) => {
const
joinChannel
=
async
(
req
,
res
)
=>
{
const
{
roomId
,
channelName
,
plusUser
,
index
}
=
req
.
body
console
.
log
(
'
연결성공
'
)
const
room
=
await
Room
.
findOne
({
where
:
{
id
:
roomId
}
});
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
}
});
return
res
.
json
(
true
)
}
const
makeChannel
=
async
(
req
,
res
)
=>
{
const
{
roomId
,
channelName
}
=
req
.
body
console
.
log
(
roomId
,
channelName
)
const
doubleJoin
=
async
(
req
,
res
)
=>
{
console
.
log
(
'
연결성공
'
,
req
.
body
)
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
{
joinRoom
,
roomImgUpload
,
createRoom
,
getRoom
,
exitRoom
,
joinChannel
,
makeChannel
,
joinRoom
,
roomImgUpload
,
createRoom
,
getRoom
,
exitRoom
,
joinChannel
,
doubleJoin
,
};
server/routes/room.route.js
View file @
ef2257c4
...
...
@@ -7,6 +7,7 @@ router.route("/exitRoom/:id/:roomId").delete(roomCrtl.exitRoom);
router
.
route
(
"
/create
"
).
post
(
roomCrtl
.
roomImgUpload
,
roomCrtl
.
createRoom
);
router
.
route
(
"
/join
"
).
put
(
roomCrtl
.
joinRoom
);
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
;
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment