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
5e664de7
Commit
5e664de7
authored
May 06, 2022
by
Balasuriya D.A.M.
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Create Chat API
parent
958a4a31
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
58 additions
and
1 deletion
+58
-1
IT18021080/Telemedicine-Chat-App/backend/controllers/chatControllers.js
...emedicine-Chat-App/backend/controllers/chatControllers.js
+55
-0
IT18021080/Telemedicine-Chat-App/backend/routes/chatRoutes.js
...021080/Telemedicine-Chat-App/backend/routes/chatRoutes.js
+3
-1
No files found.
IT18021080/Telemedicine-Chat-App/backend/controllers/chatControllers.js
0 → 100644
View file @
5e664de7
const
asyncHandler
=
require
(
"
express-async-handler
"
);
const
Chat
=
require
(
"
../models/chatModel
"
);
const
User
=
require
(
"
../models/userModel
"
);
const
accessChat
=
asyncHandler
(
async
(
req
,
res
)
=>
{
//creating and fetching one to one chat
const
{
userId
}
=
req
.
body
;
if
(
!
userId
)
{
console
.
log
(
"
UserId param not sent with request
"
);
return
res
.
sendStatus
(
400
);
}
var
isChat
=
await
Chat
.
find
({
isGroupChat
:
false
,
$and
:
[
{
users
:
{
$elemMatch
:
{
$eq
:
req
.
user
.
_id
}
}
},
{
users
:
{
$elemMatch
:
{
$eq
:
userId
}
}
},
],
}).
populate
(
"
users
"
,
"
-password
"
)
.
populate
(
"
latestMessage
"
);
isChat
=
await
User
.
populate
(
isChat
,
{
path
:
"
latestMessage.sender
"
,
select
:
"
name pic email
"
,
});
if
(
isChat
.
length
>
0
)
{
res
.
send
(
isChat
[
0
]);
}
else
{
var
chatData
=
{
chatName
:
"
sender
"
,
isGroupChat
:
false
,
users
:
[
req
.
user
.
_id
,
userId
],
};
try
{
const
createdChat
=
await
Chat
.
create
(
chatData
);
const
FullChat
=
await
Chat
.
findOne
({
_id
:
createdChat
.
_id
}).
populate
(
"
users
"
,
"
-password
"
);
res
.
status
(
200
).
send
(
FullChat
);
}
catch
(
error
)
{
res
.
status
(
400
);
throw
new
Error
(
error
.
message
);
}
}
});
module
.
exports
=
{
accessChat
};
\ No newline at end of file
IT18021080/Telemedicine-Chat-App/backend/routes/chatRoutes.js
View file @
5e664de7
const
express
=
require
(
"
express
"
);
const
express
=
require
(
"
express
"
);
const
{
accessChat
}
=
require
(
"
../controllers/chatControllers
"
);
const
{
protect
}
=
require
(
"
../middleware/authMiddleware
"
);
const
{
protect
}
=
require
(
"
../middleware/authMiddleware
"
);
//create router object
//create router object
const
router
=
express
.
Router
();
const
router
=
express
.
Router
();
//only login user can access this route.
//only login user can access this route.
//
router.route("/").post(protect, accessChat);
router
.
route
(
"
/
"
).
post
(
protect
,
accessChat
);
//router.route("/").get(protect, fetchChats);
//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("/rename").put(protect, renameGroup); //update 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