diff --git a/backend/src/controllers/WhatsAppController.ts b/backend/src/controllers/WhatsAppController.ts index 2adae9e..2782a0b 100644 --- a/backend/src/controllers/WhatsAppController.ts +++ b/backend/src/controllers/WhatsAppController.ts @@ -120,7 +120,7 @@ export const remove = async ( await DeleteWhatsAppService(whatsappId); - removeDir(path.join(process.cwd(),'WWebJS', `session-bd_${whatsappId}`)) + removeDir(path.join(process.cwd(),'.wwebjs_auth', `session-bd_${whatsappId}`)) removeWbot(+whatsappId); diff --git a/backend/src/helpers/GetDefaultWhatsApp.ts b/backend/src/helpers/GetDefaultWhatsApp.ts index afcb362..466bee1 100644 --- a/backend/src/helpers/GetDefaultWhatsApp.ts +++ b/backend/src/helpers/GetDefaultWhatsApp.ts @@ -1,16 +1,77 @@ import AppError from "../errors/AppError"; import Whatsapp from "../models/Whatsapp"; -const GetDefaultWhatsApp = async (): Promise => { - const defaultWhatsapp = await Whatsapp.findOne({ +import WhatsappQueue from "../models/WhatsappQueue" +import UserQueue from "../models/UserQueue" + +const GetDefaultWhatsApp = async (userId?: string | number ): Promise => { + + // test del + let defaultWhatsapp = await Whatsapp.findOne({ where: { isDefault: true } }); + if (!defaultWhatsapp) { + + try{ + + if(userId){ + + const queue = await UserQueue.findOne( + { + where: { userId: userId }, + raw:true, + attributes: ['queueId'] + }); + + console.log('+++++++++++++++ queueId: ',queue?.queueId, ' | userId: ', userId) + + const whatsapp = await WhatsappQueue.findOne( + { + where: { queueId: `${queue?.queueId }`}, + raw:true, + attributes: ['whatsappId'] + }); + + console.log('+++++++++++++++ whatsappId1: ',whatsapp?.whatsappId) + + defaultWhatsapp = await Whatsapp.findOne({ + where: { id: `${whatsapp?.whatsappId}` } + }); + + } + else{ + defaultWhatsapp = await Whatsapp.findOne({ + where: { status: 'CONNECTED' } + }); + } + + }catch(err){ + console.log('There was an error on select a whatsapp id by user queue: ', err) + } + + } + if (!defaultWhatsapp) { throw new AppError("ERR_NO_DEF_WAPP_FOUND"); } return defaultWhatsapp; + // + + + + // const defaultWhatsapp = await Whatsapp.findOne({ + // where: { isDefault: true } + // }); + + // if (!defaultWhatsapp) { + // throw new AppError("ERR_NO_DEF_WAPP_FOUND"); + // } + + // return defaultWhatsapp; + + }; export default GetDefaultWhatsApp; diff --git a/backend/src/services/QueueService/DeleteQueueService.ts b/backend/src/services/QueueService/DeleteQueueService.ts index fcf9ef6..7bd39fc 100644 --- a/backend/src/services/QueueService/DeleteQueueService.ts +++ b/backend/src/services/QueueService/DeleteQueueService.ts @@ -1,8 +1,16 @@ import ShowQueueService from "./ShowQueueService"; +import UserQueue from "../../models/UserQueue"; + const DeleteQueueService = async (queueId: number | string): Promise => { const queue = await ShowQueueService(queueId); + try { + await UserQueue.destroy({ where: {queueId: queueId } }); + } catch (error) { + console.log('Error on delete UserQueue by queueId: ',queueId) + } + await queue.destroy(); }; diff --git a/backend/src/services/TicketServices/CreateTicketService.ts b/backend/src/services/TicketServices/CreateTicketService.ts index 4ea16cf..276d5e5 100644 --- a/backend/src/services/TicketServices/CreateTicketService.ts +++ b/backend/src/services/TicketServices/CreateTicketService.ts @@ -15,7 +15,7 @@ const CreateTicketService = async ({ status, userId }: Request): Promise => { - const defaultWhatsapp = await GetDefaultWhatsApp(); + const defaultWhatsapp = await GetDefaultWhatsApp(userId); await CheckContactOpenTickets(contactId); diff --git a/backend/src/services/TicketServices/ShowTicketReport.ts b/backend/src/services/TicketServices/ShowTicketReport.ts index 5d8eb72..34ba418 100644 --- a/backend/src/services/TicketServices/ShowTicketReport.ts +++ b/backend/src/services/TicketServices/ShowTicketReport.ts @@ -14,6 +14,7 @@ import moment from 'moment'; import { startOfDay, endOfDay, parseISO, getDate} from "date-fns"; import { string } from "yup/lib/locale"; +import Whatsapp from "../../models/Whatsapp"; //Report by user, startDate, endDate const ShowTicketReport = async (id: string | number, startDate: string, endDate: string): Promise => { @@ -75,7 +76,10 @@ const ShowTicketReport = async (id: string | number, startDate: string, endDate: model: Queue, attributes: ['name'] }, - + { + model: Whatsapp, + attributes: ['name'] + }, ], }); diff --git a/backend/src/services/WhatsappService/DeleteWhatsAppService.ts b/backend/src/services/WhatsappService/DeleteWhatsAppService.ts index ff516b8..893b8cd 100644 --- a/backend/src/services/WhatsappService/DeleteWhatsAppService.ts +++ b/backend/src/services/WhatsappService/DeleteWhatsAppService.ts @@ -1,15 +1,25 @@ import Whatsapp from "../../models/Whatsapp"; import AppError from "../../errors/AppError"; +import WhatsappQueue from "../../models/WhatsappQueue"; + const DeleteWhatsAppService = async (id: string): Promise => { const whatsapp = await Whatsapp.findOne({ where: { id } }); if (!whatsapp) { - throw new AppError("ERR_NO_WAPP_FOUND", 404); + throw new AppError("ERR_NO_WAPP_FOUND", 404); } + //test del + try { + await WhatsappQueue.destroy({ where: {whatsappId: id } }); + } catch (error) { + console.log('Error on delete WhatsappQueue by whatsapp id: ',id) + } + // + await whatsapp.destroy(); }; diff --git a/frontend/src/pages/Report/index.js b/frontend/src/pages/Report/index.js index 1af6439..faf4598 100644 --- a/frontend/src/pages/Report/index.js +++ b/frontend/src/pages/Report/index.js @@ -106,8 +106,10 @@ Item.propTypes = { let columnsData = [ + { title: 'Whatsapp', field: 'whatsapp.name' }, { title: 'Atendente', field: 'user.name' }, { title: 'Contato', field: 'contact.number' }, + { title: 'Nome', field: 'contact.name' }, { title: 'Assunto', field: 'queue.name' }, { title: 'Status', field: 'status' }, { title: 'Criado', field: 'createdAt' }, @@ -219,6 +221,8 @@ const Report = () => { //setLoading(false); + console.log('dataQuery: ', dataQuery.data) + } catch (err) { console.log(err); } diff --git a/frontend/src/pages/Settings/index.js b/frontend/src/pages/Settings/index.js index 034dbb8..fd6ecdc 100644 --- a/frontend/src/pages/Settings/index.js +++ b/frontend/src/pages/Settings/index.js @@ -16,6 +16,8 @@ import toastError from "../../errors/toastError"; import { AuthContext } from "../../context/Auth/AuthContext"; import { Can } from "../../components/Can"; +import Button from "@material-ui/core/Button"; + const useStyles = makeStyles(theme => ({ root: { display: "flex", @@ -95,6 +97,13 @@ const Settings = () => { return value; }; + + // const handleEdit = () => { + + // console.log('Editar....') + + // } + return ( @@ -102,37 +111,76 @@ const Settings = () => { role={user.profile} perform="settings-view:show" yes={() => ( -
- - - {i18n.t("settings.title")} - - - - {i18n.t("settings.settings.userCreation.name")} - - - - -
+ +
+ +
+ + + {i18n.t("settings.title")} + + + + + {i18n.t("settings.settings.userCreation.name")} + + + + + +
+ + + {/*
+ + + Application name + + + + + + Estudio Face + + + + + + + + +
*/} + +
+ )} />