Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I_Helmet
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
21_22-J 62
I_Helmet
Commits
8b0a4e39
Commit
8b0a4e39
authored
May 06, 2022
by
Balasuriya D.A.M.
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Create Group Chat API
parent
cfd37a4b
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
3 deletions
+38
-3
IT18021080/Telemedicine-Chat-App/backend/controllers/chatControllers.js
...emedicine-Chat-App/backend/controllers/chatControllers.js
+36
-1
IT18021080/Telemedicine-Chat-App/backend/routes/chatRoutes.js
...021080/Telemedicine-Chat-App/backend/routes/chatRoutes.js
+2
-2
No files found.
IT18021080/Telemedicine-Chat-App/backend/controllers/chatControllers.js
View file @
8b0a4e39
...
...
@@ -73,4 +73,39 @@ const fetchChats = asyncHandler(async (req, res) => {
}
});
module
.
exports
=
{
accessChat
,
fetchChats
};
\ No newline at end of file
const
createGroupChat
=
asyncHandler
(
async
(
req
,
res
)
=>
{
if
(
!
req
.
body
.
users
||
!
req
.
body
.
name
)
{
return
res
.
status
(
400
).
send
({
message
:
"
Please Fill all the feilds
"
});
}
var
users
=
JSON
.
parse
(
req
.
body
.
users
);
if
(
users
.
length
<
2
)
{
// minimun number of users need for group chat
return
res
.
status
(
400
)
.
send
(
"
More than 2 users are required to form a organization chat
"
);
//group chat need more than 2 users
}
users
.
push
(
req
.
user
);
try
{
const
groupChat
=
await
Chat
.
create
({
chatName
:
req
.
body
.
name
,
users
:
users
,
isGroupChat
:
true
,
groupAdmin
:
req
.
user
,
});
//fetch group chat from DB
const
fullGroupChat
=
await
Chat
.
findOne
({
_id
:
groupChat
.
_id
})
.
populate
(
"
users
"
,
"
-password
"
)
.
populate
(
"
groupAdmin
"
,
"
-password
"
);
res
.
status
(
200
).
json
(
fullGroupChat
);
}
catch
(
error
)
{
res
.
status
(
400
);
throw
new
Error
(
error
.
message
);
}
});
module
.
exports
=
{
accessChat
,
fetchChats
,
createGroupChat
};
\ No newline at end of file
IT18021080/Telemedicine-Chat-App/backend/routes/chatRoutes.js
View file @
8b0a4e39
const
express
=
require
(
"
express
"
);
const
{
accessChat
,
fetchChats
}
=
require
(
"
../controllers/chatControllers
"
);
const
{
accessChat
,
fetchChats
,
createGroupChat
}
=
require
(
"
../controllers/chatControllers
"
);
const
{
protect
}
=
require
(
"
../middleware/authMiddleware
"
);
...
...
@@ -11,7 +11,7 @@ const router = express.Router();
router
.
route
(
"
/
"
).
post
(
protect
,
accessChat
);
//API route for one on one chat
router
.
route
(
"
/
"
).
get
(
protect
,
fetchChats
);
//
router.route("/group").post(protect, createGroupChat); //create group
router
.
route
(
"
/group
"
).
post
(
protect
,
createGroupChat
);
//create group
//router.route("/rename").put(protect, renameGroup); //update group
//router.route("/groupremove").put(protect, removeFromGroup); //remove from group
//router.route("/groupadd").put(protect, addToGroup); //add someone to group
...
...
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