|
@@ -34,32 +34,18 @@ const startChat = async (req, res, next) => {
|
|
|
const user = req.user;
|
|
|
const userId = user.id;
|
|
|
const companion = await UserModel.findById(id);
|
|
|
- const isUser = await ChatModel.getByField(id, userId);
|
|
|
- const isCompanion = await ChatModel.getByField(userId, id);
|
|
|
- const {
|
|
|
- name,
|
|
|
- lastName,
|
|
|
- originalName,
|
|
|
- originalLastName,
|
|
|
- avatarUrl,
|
|
|
- avatarsArr,
|
|
|
- color,
|
|
|
- online,
|
|
|
- number,
|
|
|
- } = companion;
|
|
|
- const {
|
|
|
- name: Name,
|
|
|
- lastName: LastName,
|
|
|
- originalName: OriginalName,
|
|
|
- originalLastName: OriginalLastName,
|
|
|
- avatarUrl: AvatarUrl,
|
|
|
- avatarsArr: AvatarsArr,
|
|
|
- color: Color,
|
|
|
- online: Online,
|
|
|
- number: Number,
|
|
|
- } = user;
|
|
|
- if (companion && isUser && isCompanion) {
|
|
|
- await ChatModel.update(isUser._id, userId, {
|
|
|
+ const userChat = await ChatModel.getByField(id, userId);
|
|
|
+ if (userChat) {
|
|
|
+ return res.json({
|
|
|
+ status: 'success',
|
|
|
+ code: 200,
|
|
|
+ data: userChat,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (!userChat) {
|
|
|
+ const {
|
|
|
+ name,
|
|
|
+ lastName,
|
|
|
originalName,
|
|
|
originalLastName,
|
|
|
avatarUrl,
|
|
@@ -67,8 +53,10 @@ const startChat = async (req, res, next) => {
|
|
|
color,
|
|
|
online,
|
|
|
number,
|
|
|
- });
|
|
|
- await ChatModel.update(isCompanion._id, id, {
|
|
|
+ } = companion;
|
|
|
+ const {
|
|
|
+ name: Name,
|
|
|
+ lastName: LastName,
|
|
|
originalName: OriginalName,
|
|
|
originalLastName: OriginalLastName,
|
|
|
avatarUrl: AvatarUrl,
|
|
@@ -76,16 +64,7 @@ const startChat = async (req, res, next) => {
|
|
|
color: Color,
|
|
|
online: Online,
|
|
|
number: Number,
|
|
|
- });
|
|
|
- const updatedChat = await ChatModel.getByField(id, userId);
|
|
|
- return res.status(200).json({
|
|
|
- status: 'success',
|
|
|
- code: 200,
|
|
|
- data: updatedChat,
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- if (companion && !isUser && !isCompanion) {
|
|
|
+ } = user;
|
|
|
const newChat = await ChatModel.add({
|
|
|
name,
|
|
|
lastName,
|