contentoh-components-library 21.3.8 → 21.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.development +2 -0
- package/dist/components/organisms/Chat/Chat.stories.js +18 -84
- package/dist/components/organisms/Chat/ContainerItems/index.js +4 -2
- package/dist/components/organisms/Chat/ContentChat/index.js +99 -38
- package/dist/components/organisms/Chat/index.js +9 -62
- package/dist/global-files/handle_userTech.js +20 -0
- package/dist/global-files/utils.js +18 -2
- package/package.json +1 -1
- package/src/components/organisms/Chat/Chat.stories.js +17 -81
- package/src/components/organisms/Chat/ContainerItems/index.js +3 -2
- package/src/components/organisms/Chat/ContentChat/index.js +74 -22
- package/src/components/organisms/Chat/index.js +8 -65
- package/src/global-files/handle_userTech.js +7 -0
- package/src/global-files/utils.js +13 -0
package/.env.development
CHANGED
|
@@ -31,3 +31,5 @@ REACT_APP_KUTS3=AKIA5CPHLQTTS22HCGHW
|
|
|
31
31
|
REACT_APP_AKUTS3=RSpwEaM0fsLEgN7BJzRyCKqyU0lNExTsPUvxyNXm
|
|
32
32
|
REACT_APP_USER_POOL_ID=us-east-1_XMZQdqkGj
|
|
33
33
|
REACT_APP_USER_POOL_WEB_CLIENT_ID=5ac8tpgs6gbsq13frvrpieep40
|
|
34
|
+
REACT_APP_KEY_UPLOAD_TO_S3=AKIA5CPHLQTTYNYWQ2TM
|
|
35
|
+
REACT_APP_ACCESS_KEY_UPLOAD_TO_S3=zGYWR4rW52rqg1bW1CrC00zBXv2od0mNCF8WGcvr
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.default = exports.
|
|
8
|
+
exports.default = exports.chatTicket_userTECH = exports.chatTicket_userNORMAL = exports.chatPROV_orderProduct = exports.chatFAB_orderProduct_user49 = exports.chatFAB_orderProduct_user37 = exports.chatCAD_orderProduct = exports.chatCAD_merchantsProduct = void 0;
|
|
9
9
|
|
|
10
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
11
11
|
|
|
@@ -112,103 +112,37 @@ chatPROV_merchantsProduct.args = {
|
|
|
112
112
|
};*/
|
|
113
113
|
// ejemplo del chat ticket con user FAB
|
|
114
114
|
|
|
115
|
-
var
|
|
116
|
-
exports.
|
|
117
|
-
|
|
115
|
+
var chatTicket_userNORMAL = Template.bind({});
|
|
116
|
+
exports.chatTicket_userNORMAL = chatTicket_userNORMAL;
|
|
117
|
+
chatTicket_userNORMAL.args = {
|
|
118
118
|
chatType: "ticket",
|
|
119
119
|
chatContainerType: "fixed",
|
|
120
120
|
chatData: {
|
|
121
|
-
id:
|
|
122
|
-
ticketOwnerUserId:
|
|
123
|
-
statusTicket: "
|
|
121
|
+
id: 104,
|
|
122
|
+
ticketOwnerUserId: 49,
|
|
123
|
+
statusTicket: "IN_PROGRESS",
|
|
124
124
|
currentUser: {
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
token: "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI1ODg0YWUzNC01OWQ2LTQ0NTQtYjk4ZS04MjE1MThiY2MzYTciLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjU4ODRhZTM0LTU5ZDYtNDQ1NC1iOThlLTgyMTUxOGJjYzNhNyIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiI2YmI0NzExMi03ZTNiLTRjYzUtYmVhZS02MzMxZjEwYjk3MzIiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY2NTYxNjI0MSwibmFtZSI6IkNhZGVuYSBJc21hZWwiLCJwaG9uZV9udW1iZXIiOiIrNTIzMTExMzY2MzM2IiwiZXhwIjoxNjY1NjE5ODQxLCJpYXQiOjE2NjU2MTYyNDEsImVtYWlsIjoiY2FkZW5hLmlzbWFlbEBhbGxmcmVlbWFpbC5uZXQifQ.gi1Jiua_O175vHLy-CYXOR945IRcObIj5j1LNk4_EhcKPz-MzPnfWDLH7L3sTiNS-VUhIRtAhtUVPUSYv0oP1qfJwFHomerxJvYgJge8SLWPjL6yGBnTxAvHVbuLU8kcaoZup2eNMV6XOIAEBAHeCDm4vW0rYWwfrKADPyYGZQF2si14o3wtgSMX5a4ccxGwikT3to3HttWBhmJs_I1Xr_BvBxePc4WghjQr5GVGbq8vhr4HwdkTmlcJAnQsc_fmIdbJ_ACyTa1wr343KYYOQVwBjAmZDa6rU16y0yTr_J4IVWY3aS5UpBEBHy4XE0c76UaN-_DcGiVl4ayWQIUz8A",
|
|
126
|
+
id: 59,
|
|
127
|
+
companyId: 817,
|
|
127
128
|
isUserTech: false
|
|
128
129
|
}
|
|
129
130
|
}
|
|
130
131
|
}; // ejemplo del chat ticket con user TECH
|
|
131
132
|
|
|
132
|
-
var
|
|
133
|
-
exports.
|
|
134
|
-
|
|
135
|
-
chatType: "ticket",
|
|
136
|
-
chatContainerType: "fixed",
|
|
137
|
-
chatData: {
|
|
138
|
-
id: 10,
|
|
139
|
-
ticketOwnerUserId: 23,
|
|
140
|
-
statusTicket: "COMPLETED",
|
|
141
|
-
currentUser: {
|
|
142
|
-
id: 65,
|
|
143
|
-
companyId: 2,
|
|
144
|
-
isUserTech: true
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}; // ejemplo del chat ticket con user TECH propietario del ticket
|
|
148
|
-
|
|
149
|
-
var chatTECH_ticketClosedOwn_user66 = Template.bind({});
|
|
150
|
-
exports.chatTECH_ticketClosedOwn_user66 = chatTECH_ticketClosedOwn_user66;
|
|
151
|
-
chatTECH_ticketClosedOwn_user66.args = {
|
|
133
|
+
var chatTicket_userTECH = Template.bind({});
|
|
134
|
+
exports.chatTicket_userTECH = chatTicket_userTECH;
|
|
135
|
+
chatTicket_userTECH.args = {
|
|
152
136
|
chatType: "ticket",
|
|
153
137
|
chatContainerType: "fixed",
|
|
154
138
|
chatData: {
|
|
155
139
|
id: 10,
|
|
156
|
-
ticketOwnerUserId:
|
|
157
|
-
statusTicket: "
|
|
158
|
-
currentUser: {
|
|
159
|
-
id: 66,
|
|
160
|
-
companyId: 2,
|
|
161
|
-
isUserTech: true
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}; // ejemplo del chat ticket con user FAB
|
|
165
|
-
|
|
166
|
-
var chatFAB_ticketOpen_user49 = Template.bind({});
|
|
167
|
-
exports.chatFAB_ticketOpen_user49 = chatFAB_ticketOpen_user49;
|
|
168
|
-
chatFAB_ticketOpen_user49.args = {
|
|
169
|
-
chatType: "ticket",
|
|
170
|
-
chatContainerType: "fixed",
|
|
171
|
-
chatData: {
|
|
172
|
-
id: 11,
|
|
173
|
-
ticketOwnerUserId: 23,
|
|
174
|
-
statusTicket: "PENDING",
|
|
175
|
-
currentUser: {
|
|
176
|
-
id: 49,
|
|
177
|
-
companyId: 2,
|
|
178
|
-
isUserTech: false
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}; // ejemplo del chat ticket con user TECH
|
|
182
|
-
|
|
183
|
-
var chatTECH_ticketOpen_user65 = Template.bind({});
|
|
184
|
-
exports.chatTECH_ticketOpen_user65 = chatTECH_ticketOpen_user65;
|
|
185
|
-
chatTECH_ticketOpen_user65.args = {
|
|
186
|
-
chatType: "ticket",
|
|
187
|
-
chatContainerType: "fixed",
|
|
188
|
-
chatData: {
|
|
189
|
-
id: 11,
|
|
190
|
-
ticketOwnerUserId: 23,
|
|
191
|
-
statusTicket: "PENDING",
|
|
192
|
-
currentUser: {
|
|
193
|
-
id: 65,
|
|
194
|
-
companyId: 2,
|
|
195
|
-
isUserTech: true
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}; // ejemplo del chat ticket con user TECH propietario del ticket
|
|
199
|
-
|
|
200
|
-
var chatTECH_ticketOpenOwn_user66 = Template.bind({});
|
|
201
|
-
exports.chatTECH_ticketOpenOwn_user66 = chatTECH_ticketOpenOwn_user66;
|
|
202
|
-
chatTECH_ticketOpenOwn_user66.args = {
|
|
203
|
-
chatType: "ticket",
|
|
204
|
-
chatContainerType: "fixed",
|
|
205
|
-
chatData: {
|
|
206
|
-
id: 11,
|
|
207
|
-
ticketOwnerUserId: 66,
|
|
208
|
-
statusTicket: "PENDING",
|
|
140
|
+
ticketOwnerUserId: 49,
|
|
141
|
+
statusTicket: "IN_PROGRESS",
|
|
209
142
|
currentUser: {
|
|
210
|
-
|
|
211
|
-
|
|
143
|
+
token: "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJmNTkyN2Y4ZS1jYmY3LTQ5MjItOWUwOS1lNjllYzBiMjczMWEiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6ImY1OTI3ZjhlLWNiZjctNDkyMi05ZTA5LWU2OWVjMGIyNzMxYSIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiI5M2FkOTM5Yy04MzJjLTQ4NWItOWUzMS0yN2MxNzBjMDk1NWEiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY2OTY2MjU5MiwibmFtZSI6IklzbWFlbCBMb3BleiIsInBob25lX251bWJlciI6Iis1MjMxMTEzNjYzMzYiLCJleHAiOjE2Njk2NjYxOTIsImlhdCI6MTY2OTY2MjU5MiwiZW1haWwiOiJpbG9wZXpAY29udGVudG9oLmNvbSJ9.hhdlQk-ljHpyZPRoG02YcvPow8jpm9coZfmEuZ29vIVX7bX5k05Ss3FkaT0dYNr2qEvqZHHqH61oJvx4xr2i6z2c3xEZxyJZFR-Cc_skhH0UwGXbCH9up5PW1aipY5rL45E42R7GKSGmB5Z-B7vxe2NcL-ZojYZkXNZ7Gx_lM8Vpq-XsFLJ4nCJlH7vx9D4SkREN3lLfYIIgqNrxJ_wqfqvcqexwRJfnr76ZqCuDR4dTWsES2Lf5D8Wa_wkQAjQNdzP7ai28l9fRyCSwkTxvamdJkx7p-tssOL5pAnCsKkD22UN-09c1bhuGrgfKWUV4awbptfjvHS7TSq0bWiv4gQ",
|
|
144
|
+
id: 28,
|
|
145
|
+
companyId: 1,
|
|
212
146
|
isUserTech: true
|
|
213
147
|
}
|
|
214
148
|
}
|
|
@@ -43,6 +43,8 @@ var _material = require("@mui/material");
|
|
|
43
43
|
|
|
44
44
|
var _ImagePreview = require("../../../atoms/ImagePreview");
|
|
45
45
|
|
|
46
|
+
var _handle_userTech = require("../../../../global-files/handle_userTech");
|
|
47
|
+
|
|
46
48
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
47
49
|
|
|
48
50
|
var ContainerItems = function ContainerItems(props) {
|
|
@@ -466,10 +468,10 @@ var ContainerItems = function ContainerItems(props) {
|
|
|
466
468
|
var ownMessage = false; // user tech
|
|
467
469
|
|
|
468
470
|
if (currentUser.isUserTech) {
|
|
469
|
-
if (users[item.userId].isUserTech) ownMessage = true;
|
|
471
|
+
if ((0, _handle_userTech.isUserTech)(users[item.userId].isUserTech)) ownMessage = true;
|
|
470
472
|
} // user normal
|
|
471
473
|
else {
|
|
472
|
-
if (!users[item.userId].isUserTech) {
|
|
474
|
+
if (!(0, _handle_userTech.isUserTech)(users[item.userId].isUserTech)) {
|
|
473
475
|
if (currentUser.companyId == users[item.userId].companyId) {
|
|
474
476
|
ownMessage = true;
|
|
475
477
|
}
|
|
@@ -192,17 +192,17 @@ var ContentChat = function ContentChat(props) {
|
|
|
192
192
|
|
|
193
193
|
if (chatType === "merchant_product") getInitialMerchantProduct();else if (chatType === "order_product") getInitialOrderProduct();else getInitialTicket();
|
|
194
194
|
}
|
|
195
|
-
}, [dataChat]); // comenzar temporizador del update de
|
|
195
|
+
}, [dataChat]); // comenzar temporizador del update de 20s
|
|
196
196
|
|
|
197
197
|
(0, _react.useEffect)(function () {
|
|
198
198
|
//return; -- descomentarizar para hacer pruebas sin update
|
|
199
199
|
if (startUpdate == 0) return;
|
|
200
|
-
console.log("START UPDATE en
|
|
200
|
+
console.log("START UPDATE en 20s");
|
|
201
201
|
var processID = setTimeout(function () {
|
|
202
202
|
setRunUpdate(function (prev) {
|
|
203
203
|
return prev + 1;
|
|
204
204
|
});
|
|
205
|
-
},
|
|
205
|
+
}, 20000);
|
|
206
206
|
setProcessUpdateID(processID);
|
|
207
207
|
}, [startUpdate]); // ejecutar update
|
|
208
208
|
|
|
@@ -388,31 +388,50 @@ var ContentChat = function ContentChat(props) {
|
|
|
388
388
|
|
|
389
389
|
var getInitialTicket = /*#__PURE__*/function () {
|
|
390
390
|
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
391
|
-
var
|
|
391
|
+
var _dataChat$currentUser, _dataChat$currentUser2, _dataChat$currentUser3, _dataChat$currentUser4;
|
|
392
|
+
|
|
393
|
+
var dataUser, paramsQuery, response;
|
|
392
394
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
393
395
|
while (1) {
|
|
394
396
|
switch (_context3.prev = _context3.next) {
|
|
395
397
|
case 0:
|
|
396
|
-
console.log("======== INITIAL chat =======");
|
|
398
|
+
console.log("\n======== INITIAL chat =======");
|
|
397
399
|
stopUpdate(); // finalizamos el temporizador
|
|
398
400
|
|
|
399
|
-
|
|
401
|
+
dataUser = {
|
|
402
|
+
id: (_dataChat$currentUser = dataChat.currentUser) === null || _dataChat$currentUser === void 0 ? void 0 : _dataChat$currentUser.id,
|
|
403
|
+
companyId: (_dataChat$currentUser2 = dataChat.currentUser) === null || _dataChat$currentUser2 === void 0 ? void 0 : _dataChat$currentUser2.companyId,
|
|
404
|
+
isUserTech: (_dataChat$currentUser3 = dataChat.currentUser) === null || _dataChat$currentUser3 === void 0 ? void 0 : _dataChat$currentUser3.isUserTech
|
|
405
|
+
};
|
|
406
|
+
/*
|
|
407
|
+
console.log("values send query:", {
|
|
408
|
+
id: dataChat.id,
|
|
400
409
|
getType: "initial",
|
|
410
|
+
currentUser: dataUser,
|
|
411
|
+
currentItemsFront: getItemsIdSingleChat(),
|
|
412
|
+
});
|
|
413
|
+
*/
|
|
414
|
+
|
|
415
|
+
paramsQuery = {
|
|
401
416
|
id: JSON.stringify(dataChat.id),
|
|
402
|
-
|
|
417
|
+
getType: "initial",
|
|
418
|
+
currentUser: (0, _utils.encodeUriJson)(dataUser),
|
|
419
|
+
currentItemsFront: (0, _utils.encodeUriJson)(getItemsIdSingleChat())
|
|
403
420
|
};
|
|
404
|
-
_context3.next =
|
|
405
|
-
return (0, _handle_http.fetchGET)(process.env.REACT_APP_TICKETS_CHAT_ENDPOINT, paramsQuery
|
|
421
|
+
_context3.next = 6;
|
|
422
|
+
return (0, _handle_http.fetchGET)(process.env.REACT_APP_TICKETS_CHAT_ENDPOINT, paramsQuery, {
|
|
423
|
+
Authorization: (_dataChat$currentUser4 = dataChat.currentUser) === null || _dataChat$currentUser4 === void 0 ? void 0 : _dataChat$currentUser4.token
|
|
424
|
+
});
|
|
406
425
|
|
|
407
|
-
case
|
|
426
|
+
case 6:
|
|
408
427
|
response = _context3.sent;
|
|
409
|
-
// programar update en
|
|
428
|
+
// programar update en 20s
|
|
410
429
|
setStartUpdate(function (prev) {
|
|
411
430
|
return prev + 1;
|
|
412
431
|
});
|
|
413
432
|
|
|
414
433
|
if (response.body) {
|
|
415
|
-
_context3.next =
|
|
434
|
+
_context3.next = 12;
|
|
416
435
|
break;
|
|
417
436
|
}
|
|
418
437
|
|
|
@@ -425,9 +444,9 @@ var ContentChat = function ContentChat(props) {
|
|
|
425
444
|
setIsLoading(false);
|
|
426
445
|
return _context3.abrupt("return");
|
|
427
446
|
|
|
428
|
-
case
|
|
447
|
+
case 12:
|
|
429
448
|
// success
|
|
430
|
-
console.log(response.body);
|
|
449
|
+
console.log("response initial:", response.body);
|
|
431
450
|
setLastUpdateDate(response.body.data.lastUpdateDate);
|
|
432
451
|
setAllUsers(response.body.users);
|
|
433
452
|
setSingleChat({
|
|
@@ -440,7 +459,7 @@ var ContentChat = function ContentChat(props) {
|
|
|
440
459
|
});
|
|
441
460
|
setIsLoading(false);
|
|
442
461
|
|
|
443
|
-
case
|
|
462
|
+
case 18:
|
|
444
463
|
case "end":
|
|
445
464
|
return _context3.stop();
|
|
446
465
|
}
|
|
@@ -577,33 +596,43 @@ var ContentChat = function ContentChat(props) {
|
|
|
577
596
|
|
|
578
597
|
var getLoadMoreTicket = /*#__PURE__*/function () {
|
|
579
598
|
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
|
|
580
|
-
var
|
|
599
|
+
var _dataChat$currentUser5, _dataChat$currentUser6, _dataChat$currentUser7, _dataChat$currentUser8;
|
|
600
|
+
|
|
601
|
+
var date, dataUser, paramsQuery, response, newSingleChat;
|
|
581
602
|
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
582
603
|
while (1) {
|
|
583
604
|
switch (_context6.prev = _context6.next) {
|
|
584
605
|
case 0:
|
|
585
|
-
console.log("======== LOAD MORE chat =======");
|
|
606
|
+
console.log("\n======== LOAD MORE chat =======");
|
|
586
607
|
stopUpdate(); // finalizamos el temporizador
|
|
587
608
|
|
|
588
609
|
date = singleChat.items[singleChat.items.length - 1].date;
|
|
610
|
+
dataUser = {
|
|
611
|
+
id: (_dataChat$currentUser5 = dataChat.currentUser) === null || _dataChat$currentUser5 === void 0 ? void 0 : _dataChat$currentUser5.id,
|
|
612
|
+
companyId: (_dataChat$currentUser6 = dataChat.currentUser) === null || _dataChat$currentUser6 === void 0 ? void 0 : _dataChat$currentUser6.companyId,
|
|
613
|
+
isUserTech: (_dataChat$currentUser7 = dataChat.currentUser) === null || _dataChat$currentUser7 === void 0 ? void 0 : _dataChat$currentUser7.isUserTech
|
|
614
|
+
};
|
|
589
615
|
paramsQuery = {
|
|
590
|
-
getType: "loadMore",
|
|
591
616
|
id: JSON.stringify(dataChat.id),
|
|
617
|
+
getType: "loadMore",
|
|
592
618
|
date: encodeURIComponent(date),
|
|
593
|
-
|
|
619
|
+
currentUser: (0, _utils.encodeUriJson)(dataUser),
|
|
620
|
+
currentItemsFront: (0, _utils.encodeUriJson)(getItemsIdSingleChat())
|
|
594
621
|
};
|
|
595
|
-
_context6.next =
|
|
596
|
-
return (0, _handle_http.fetchGET)(process.env.REACT_APP_TICKETS_CHAT_ENDPOINT, paramsQuery
|
|
622
|
+
_context6.next = 7;
|
|
623
|
+
return (0, _handle_http.fetchGET)(process.env.REACT_APP_TICKETS_CHAT_ENDPOINT, paramsQuery, {
|
|
624
|
+
Authorization: (_dataChat$currentUser8 = dataChat.currentUser) === null || _dataChat$currentUser8 === void 0 ? void 0 : _dataChat$currentUser8.token
|
|
625
|
+
});
|
|
597
626
|
|
|
598
|
-
case
|
|
627
|
+
case 7:
|
|
599
628
|
response = _context6.sent;
|
|
600
|
-
//programar update en
|
|
629
|
+
//programar update en 20s
|
|
601
630
|
setStartUpdate(function (prev) {
|
|
602
631
|
return prev + 1;
|
|
603
632
|
});
|
|
604
633
|
|
|
605
634
|
if (response.body) {
|
|
606
|
-
_context6.next =
|
|
635
|
+
_context6.next = 11;
|
|
607
636
|
break;
|
|
608
637
|
}
|
|
609
638
|
|
|
@@ -612,9 +641,9 @@ var ContentChat = function ContentChat(props) {
|
|
|
612
641
|
message: response.errorDetail
|
|
613
642
|
});
|
|
614
643
|
|
|
615
|
-
case
|
|
644
|
+
case 11:
|
|
616
645
|
// success
|
|
617
|
-
console.log(response.body); // actualizar la lista de los users
|
|
646
|
+
console.log("response loadMore:", response.body); // actualizar la lista de los users
|
|
618
647
|
|
|
619
648
|
updateAllUsers(response.body.users); // actualizar los items del chat
|
|
620
649
|
|
|
@@ -623,7 +652,7 @@ var ContentChat = function ContentChat(props) {
|
|
|
623
652
|
newSingleChat.enabledLoadMore = response.body.items.length === 50;
|
|
624
653
|
setSingleChat(newSingleChat);
|
|
625
654
|
|
|
626
|
-
case
|
|
655
|
+
case 17:
|
|
627
656
|
case "end":
|
|
628
657
|
return _context6.stop();
|
|
629
658
|
}
|
|
@@ -804,31 +833,51 @@ var ContentChat = function ContentChat(props) {
|
|
|
804
833
|
|
|
805
834
|
var getUpdateLatestTicket = /*#__PURE__*/function () {
|
|
806
835
|
var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
|
|
807
|
-
var
|
|
836
|
+
var _dataChat$currentUser9, _dataChat$currentUser10, _dataChat$currentUser11, _dataChat$currentUser12;
|
|
837
|
+
|
|
838
|
+
var dataUser, paramsQuery, response, newSingleChat;
|
|
808
839
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
809
840
|
while (1) {
|
|
810
841
|
switch (_context9.prev = _context9.next) {
|
|
811
842
|
case 0:
|
|
812
|
-
console.log("======== UPDATE chat =======");
|
|
843
|
+
console.log("\n======== UPDATE chat =======");
|
|
813
844
|
console.log("lastUpdate:", lastUpdateDate);
|
|
814
|
-
|
|
845
|
+
dataUser = {
|
|
846
|
+
id: (_dataChat$currentUser9 = dataChat.currentUser) === null || _dataChat$currentUser9 === void 0 ? void 0 : _dataChat$currentUser9.id,
|
|
847
|
+
companyId: (_dataChat$currentUser10 = dataChat.currentUser) === null || _dataChat$currentUser10 === void 0 ? void 0 : _dataChat$currentUser10.companyId,
|
|
848
|
+
isUserTech: (_dataChat$currentUser11 = dataChat.currentUser) === null || _dataChat$currentUser11 === void 0 ? void 0 : _dataChat$currentUser11.isUserTech
|
|
849
|
+
};
|
|
850
|
+
/*
|
|
851
|
+
console.log("values send query:", {
|
|
852
|
+
id: dataChat.id,
|
|
815
853
|
getType: "updateLatest",
|
|
854
|
+
date: lastUpdateDate,
|
|
855
|
+
currentUser: dataUser,
|
|
856
|
+
currentItemsFront: getItemsIdSingleChat(),
|
|
857
|
+
});
|
|
858
|
+
*/
|
|
859
|
+
|
|
860
|
+
paramsQuery = {
|
|
816
861
|
id: JSON.stringify(dataChat.id),
|
|
862
|
+
getType: "updateLatest",
|
|
817
863
|
date: encodeURIComponent(lastUpdateDate),
|
|
818
|
-
|
|
864
|
+
currentUser: (0, _utils.encodeUriJson)(dataUser),
|
|
865
|
+
currentItemsFront: (0, _utils.encodeUriJson)(getItemsIdSingleChat())
|
|
819
866
|
};
|
|
820
|
-
_context9.next =
|
|
821
|
-
return (0, _handle_http.fetchGET)(process.env.REACT_APP_TICKETS_CHAT_ENDPOINT, paramsQuery
|
|
867
|
+
_context9.next = 6;
|
|
868
|
+
return (0, _handle_http.fetchGET)(process.env.REACT_APP_TICKETS_CHAT_ENDPOINT, paramsQuery, {
|
|
869
|
+
Authorization: (_dataChat$currentUser12 = dataChat.currentUser) === null || _dataChat$currentUser12 === void 0 ? void 0 : _dataChat$currentUser12.token
|
|
870
|
+
});
|
|
822
871
|
|
|
823
|
-
case
|
|
872
|
+
case 6:
|
|
824
873
|
response = _context9.sent;
|
|
825
|
-
//programar update en
|
|
874
|
+
//programar update en 20s
|
|
826
875
|
setStartUpdate(function (prev) {
|
|
827
876
|
return prev + 1;
|
|
828
877
|
});
|
|
829
878
|
|
|
830
879
|
if (response.body) {
|
|
831
|
-
_context9.next =
|
|
880
|
+
_context9.next = 12;
|
|
832
881
|
break;
|
|
833
882
|
}
|
|
834
883
|
|
|
@@ -852,14 +901,14 @@ var ContentChat = function ContentChat(props) {
|
|
|
852
901
|
});
|
|
853
902
|
return _context9.abrupt("return");
|
|
854
903
|
|
|
855
|
-
case
|
|
904
|
+
case 12:
|
|
856
905
|
// limpiar error update
|
|
857
906
|
if (errorUpdate.startDate) {
|
|
858
907
|
setErrorUpdate({});
|
|
859
908
|
} // success
|
|
909
|
+
//console.log("response update:", response.body);
|
|
860
910
|
|
|
861
911
|
|
|
862
|
-
console.log(response.body);
|
|
863
912
|
setLastUpdateDate(response.body.data.lastUpdateDate); // actualizar la lista de los users
|
|
864
913
|
|
|
865
914
|
updateAllUsers(response.body.users); // actualizar los items del chat
|
|
@@ -1221,6 +1270,18 @@ var ContentChat = function ContentChat(props) {
|
|
|
1221
1270
|
if (companies && Object.keys(companies).length < 2) return true;else return false;
|
|
1222
1271
|
};
|
|
1223
1272
|
|
|
1273
|
+
var getItemsIdSingleChat = function getItemsIdSingleChat() {
|
|
1274
|
+
var itemsId = {};
|
|
1275
|
+
|
|
1276
|
+
if (Array.isArray(singleChat.items)) {
|
|
1277
|
+
singleChat.items.forEach(function (item) {
|
|
1278
|
+
if ((0, _utils.isValidNaturalNumber)(item.id)) itemsId[item.id] = true;
|
|
1279
|
+
});
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
return itemsId;
|
|
1283
|
+
};
|
|
1284
|
+
|
|
1224
1285
|
var getChatCompany = function getChatCompany() {
|
|
1225
1286
|
if (chatType === "merchant_product" || chatType === "ticket") {
|
|
1226
1287
|
return undefined;
|
|
@@ -142,7 +142,13 @@ var Chat = function Chat(props) {
|
|
|
142
142
|
var currentUser = chatData.currentUser,
|
|
143
143
|
id = chatData.id,
|
|
144
144
|
statusTicket = chatData.statusTicket,
|
|
145
|
-
ticketOwnerUserId = chatData.ticketOwnerUserId; // validar
|
|
145
|
+
ticketOwnerUserId = chatData.ticketOwnerUserId; // validar el token del usuario conectado
|
|
146
|
+
|
|
147
|
+
if ((0, _utils.isStringEmpty)(currentUser === null || currentUser === void 0 ? void 0 : currentUser.token)) {
|
|
148
|
+
setDataError("Tu identificación de usuario no fue especificado");
|
|
149
|
+
return;
|
|
150
|
+
} // validar si ID del usuario conectado
|
|
151
|
+
|
|
146
152
|
|
|
147
153
|
if (!(0, _utils.isValidNaturalNumber)(currentUser === null || currentUser === void 0 ? void 0 : currentUser.id)) {
|
|
148
154
|
setDataError("Tu ID de usuario no fue especificado");
|
|
@@ -156,7 +162,7 @@ var Chat = function Chat(props) {
|
|
|
156
162
|
} // validar si el usuario conectado es de tecnologia o no
|
|
157
163
|
|
|
158
164
|
|
|
159
|
-
if ((currentUser === null || currentUser === void 0 ? void 0 : currentUser.isUserTech)
|
|
165
|
+
if (![false, true].includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser.isUserTech)) {
|
|
160
166
|
setDataError("Tu tipo de usuario no fue especificado");
|
|
161
167
|
return;
|
|
162
168
|
} // validar ID del ticket
|
|
@@ -174,7 +180,7 @@ var Chat = function Chat(props) {
|
|
|
174
180
|
} // validar el status del chat
|
|
175
181
|
|
|
176
182
|
|
|
177
|
-
if (
|
|
183
|
+
if (!["IN_PROGRESS", "PENDING", "COMPLETED"].includes(statusTicket)) {
|
|
178
184
|
setDataError("El estatus del ticket no es valido");
|
|
179
185
|
return;
|
|
180
186
|
}
|
|
@@ -204,65 +210,6 @@ var Chat = function Chat(props) {
|
|
|
204
210
|
errorDetail: errorDetail
|
|
205
211
|
});
|
|
206
212
|
};
|
|
207
|
-
/*
|
|
208
|
-
const createItem = async (valueType, valueInput) => {
|
|
209
|
-
clearTimeout(processUpdateID);
|
|
210
|
-
let currentItems = items.slice();
|
|
211
|
-
let paramsBody = {};
|
|
212
|
-
let paramsHeaders = {};
|
|
213
|
-
switch (chatType.toLowerCase()) {
|
|
214
|
-
case "order_product": //------------------------------------------
|
|
215
|
-
paramsBody = {
|
|
216
|
-
articleId: articleId,
|
|
217
|
-
valueType: valueType,
|
|
218
|
-
value: valueInput,
|
|
219
|
-
isOrderProduct: "1",
|
|
220
|
-
orderId: orderId,
|
|
221
|
-
retailerId: retailerId,
|
|
222
|
-
};
|
|
223
|
-
paramsHeaders = { Authorization: userToken };
|
|
224
|
-
break;
|
|
225
|
-
default:
|
|
226
|
-
// merchants_products--------------------------------------
|
|
227
|
-
paramsBody = {
|
|
228
|
-
articleId: articleId,
|
|
229
|
-
articleVersion: articleVersion,
|
|
230
|
-
valueType: valueType,
|
|
231
|
-
value: valueInput,
|
|
232
|
-
isOrderProduct: "0",
|
|
233
|
-
};
|
|
234
|
-
paramsHeaders = { Authorization: userToken };
|
|
235
|
-
}
|
|
236
|
-
const response = await fetchPOST(
|
|
237
|
-
process.env.REACT_APP_PRODUCTS_CHAT_ENDPOINT,
|
|
238
|
-
paramsBody,
|
|
239
|
-
paramsHeaders
|
|
240
|
-
);
|
|
241
|
-
if (!response.body) {
|
|
242
|
-
let itemType =
|
|
243
|
-
valueType === "txt"
|
|
244
|
-
? "el mensaje"
|
|
245
|
-
: valueType === "img"
|
|
246
|
-
? "la imagen"
|
|
247
|
-
: "el archivo";
|
|
248
|
-
showModalAlert(
|
|
249
|
-
`No fue posible agregar ${itemType} en el chat`,
|
|
250
|
-
response.errorDetail,
|
|
251
|
-
"error"
|
|
252
|
-
);
|
|
253
|
-
setItems(currentItems);
|
|
254
|
-
} else {
|
|
255
|
-
if (currentItems?.length == 0) {
|
|
256
|
-
// console.log("NUEVO ITEM <> NUEVO INITIAL");
|
|
257
|
-
await getInitial();
|
|
258
|
-
} else {
|
|
259
|
-
// console.log("NUEVO ITEM <> NUEVO UPDATE");
|
|
260
|
-
await getUpdate();
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
};
|
|
264
|
-
*/
|
|
265
|
-
|
|
266
213
|
|
|
267
214
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
268
215
|
children: (chatContainerType === null || chatContainerType === void 0 ? void 0 : chatContainerType.toLowerCase()) === "fixed" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isUserTech = exports.isUserAdminTech = void 0;
|
|
7
|
+
|
|
8
|
+
var isUserTech = function isUserTech() {
|
|
9
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
10
|
+
return ["AS", "ADMIN-AS", "ADMIN"].includes(value);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
exports.isUserTech = isUserTech;
|
|
14
|
+
|
|
15
|
+
var isUserAdminTech = function isUserAdminTech() {
|
|
16
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
17
|
+
return ["ADMIN-AS", "ADMIN"].includes(value);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.isUserAdminTech = isUserAdminTech;
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.isValidNaturalNumber = exports.isStringEmpty = exports.isObject = exports.isArrayEmpty = exports.getTime = exports.getResizeImgHeight = exports.getImageURL = exports.getImageSize = exports.getFullDate = exports.getFileName = exports.getFileExtension = exports.getDataBuffer = exports.getDataBase64 = exports.getCustomDate = exports.getBase64 = exports.decodeJSON = void 0;
|
|
8
|
+
exports.isValidNaturalNumber = exports.isStringEmpty = exports.isObject = exports.isArrayEmpty = exports.getTime = exports.getResizeImgHeight = exports.getImageURL = exports.getImageSize = exports.getFullDate = exports.getFileName = exports.getFileExtension = exports.getDataBuffer = exports.getDataBase64 = exports.getCustomDate = exports.getBase64 = exports.encodeUriJson = exports.decodeJSON = void 0;
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
@@ -480,5 +480,21 @@ var isObject = function isObject(obj) {
|
|
|
480
480
|
if (obj && (0, _typeof2.default)(obj) === "object" && !Array.isArray(obj)) return true;
|
|
481
481
|
return false;
|
|
482
482
|
};
|
|
483
|
+
/*------------------------
|
|
484
|
+
recibe un value y lo codifica
|
|
485
|
+
primero a JSON y luego a URI
|
|
486
|
+
--------------------------*/
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
exports.isObject = isObject;
|
|
490
|
+
|
|
491
|
+
var encodeUriJson = function encodeUriJson(value) {
|
|
492
|
+
try {
|
|
493
|
+
var encodeValue = encodeURIComponent(JSON.stringify(value));
|
|
494
|
+
return encodeValue;
|
|
495
|
+
} catch (err) {
|
|
496
|
+
return undefined;
|
|
497
|
+
}
|
|
498
|
+
};
|
|
483
499
|
|
|
484
|
-
exports.
|
|
500
|
+
exports.encodeUriJson = encodeUriJson;
|
package/package.json
CHANGED
|
@@ -97,102 +97,38 @@ chatPROV_merchantsProduct.args = {
|
|
|
97
97
|
};*/
|
|
98
98
|
|
|
99
99
|
// ejemplo del chat ticket con user FAB
|
|
100
|
-
export const
|
|
101
|
-
|
|
100
|
+
export const chatTicket_userNORMAL = Template.bind({});
|
|
101
|
+
chatTicket_userNORMAL.args = {
|
|
102
102
|
chatType: "ticket",
|
|
103
103
|
chatContainerType: "fixed",
|
|
104
104
|
chatData: {
|
|
105
|
-
id:
|
|
106
|
-
ticketOwnerUserId:
|
|
107
|
-
statusTicket: "
|
|
105
|
+
id: 104,
|
|
106
|
+
ticketOwnerUserId: 49,
|
|
107
|
+
statusTicket: "IN_PROGRESS",
|
|
108
108
|
currentUser: {
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
token:
|
|
110
|
+
"eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI1ODg0YWUzNC01OWQ2LTQ0NTQtYjk4ZS04MjE1MThiY2MzYTciLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjU4ODRhZTM0LTU5ZDYtNDQ1NC1iOThlLTgyMTUxOGJjYzNhNyIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiI2YmI0NzExMi03ZTNiLTRjYzUtYmVhZS02MzMxZjEwYjk3MzIiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY2NTYxNjI0MSwibmFtZSI6IkNhZGVuYSBJc21hZWwiLCJwaG9uZV9udW1iZXIiOiIrNTIzMTExMzY2MzM2IiwiZXhwIjoxNjY1NjE5ODQxLCJpYXQiOjE2NjU2MTYyNDEsImVtYWlsIjoiY2FkZW5hLmlzbWFlbEBhbGxmcmVlbWFpbC5uZXQifQ.gi1Jiua_O175vHLy-CYXOR945IRcObIj5j1LNk4_EhcKPz-MzPnfWDLH7L3sTiNS-VUhIRtAhtUVPUSYv0oP1qfJwFHomerxJvYgJge8SLWPjL6yGBnTxAvHVbuLU8kcaoZup2eNMV6XOIAEBAHeCDm4vW0rYWwfrKADPyYGZQF2si14o3wtgSMX5a4ccxGwikT3to3HttWBhmJs_I1Xr_BvBxePc4WghjQr5GVGbq8vhr4HwdkTmlcJAnQsc_fmIdbJ_ACyTa1wr343KYYOQVwBjAmZDa6rU16y0yTr_J4IVWY3aS5UpBEBHy4XE0c76UaN-_DcGiVl4ayWQIUz8A",
|
|
111
|
+
id: 59,
|
|
112
|
+
companyId: 817,
|
|
111
113
|
isUserTech: false,
|
|
112
114
|
},
|
|
113
115
|
},
|
|
114
116
|
};
|
|
115
117
|
|
|
116
118
|
// ejemplo del chat ticket con user TECH
|
|
117
|
-
export const
|
|
118
|
-
|
|
119
|
-
chatType: "ticket",
|
|
120
|
-
chatContainerType: "fixed",
|
|
121
|
-
chatData: {
|
|
122
|
-
id: 10,
|
|
123
|
-
ticketOwnerUserId: 23,
|
|
124
|
-
statusTicket: "COMPLETED",
|
|
125
|
-
currentUser: {
|
|
126
|
-
id: 65,
|
|
127
|
-
companyId: 2,
|
|
128
|
-
isUserTech: true,
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
// ejemplo del chat ticket con user TECH propietario del ticket
|
|
134
|
-
export const chatTECH_ticketClosedOwn_user66 = Template.bind({});
|
|
135
|
-
chatTECH_ticketClosedOwn_user66.args = {
|
|
119
|
+
export const chatTicket_userTECH = Template.bind({});
|
|
120
|
+
chatTicket_userTECH.args = {
|
|
136
121
|
chatType: "ticket",
|
|
137
122
|
chatContainerType: "fixed",
|
|
138
123
|
chatData: {
|
|
139
124
|
id: 10,
|
|
140
|
-
ticketOwnerUserId:
|
|
141
|
-
statusTicket: "
|
|
142
|
-
currentUser: {
|
|
143
|
-
id: 66,
|
|
144
|
-
companyId: 2,
|
|
145
|
-
isUserTech: true,
|
|
146
|
-
},
|
|
147
|
-
},
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
// ejemplo del chat ticket con user FAB
|
|
151
|
-
export const chatFAB_ticketOpen_user49 = Template.bind({});
|
|
152
|
-
chatFAB_ticketOpen_user49.args = {
|
|
153
|
-
chatType: "ticket",
|
|
154
|
-
chatContainerType: "fixed",
|
|
155
|
-
chatData: {
|
|
156
|
-
id: 11,
|
|
157
|
-
ticketOwnerUserId: 23,
|
|
158
|
-
statusTicket: "PENDING",
|
|
159
|
-
currentUser: {
|
|
160
|
-
id: 49,
|
|
161
|
-
companyId: 2,
|
|
162
|
-
isUserTech: false,
|
|
163
|
-
},
|
|
164
|
-
},
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
// ejemplo del chat ticket con user TECH
|
|
168
|
-
export const chatTECH_ticketOpen_user65 = Template.bind({});
|
|
169
|
-
chatTECH_ticketOpen_user65.args = {
|
|
170
|
-
chatType: "ticket",
|
|
171
|
-
chatContainerType: "fixed",
|
|
172
|
-
chatData: {
|
|
173
|
-
id: 11,
|
|
174
|
-
ticketOwnerUserId: 23,
|
|
175
|
-
statusTicket: "PENDING",
|
|
176
|
-
currentUser: {
|
|
177
|
-
id: 65,
|
|
178
|
-
companyId: 2,
|
|
179
|
-
isUserTech: true,
|
|
180
|
-
},
|
|
181
|
-
},
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
// ejemplo del chat ticket con user TECH propietario del ticket
|
|
185
|
-
export const chatTECH_ticketOpenOwn_user66 = Template.bind({});
|
|
186
|
-
chatTECH_ticketOpenOwn_user66.args = {
|
|
187
|
-
chatType: "ticket",
|
|
188
|
-
chatContainerType: "fixed",
|
|
189
|
-
chatData: {
|
|
190
|
-
id: 11,
|
|
191
|
-
ticketOwnerUserId: 66,
|
|
192
|
-
statusTicket: "PENDING",
|
|
125
|
+
ticketOwnerUserId: 49,
|
|
126
|
+
statusTicket: "IN_PROGRESS",
|
|
193
127
|
currentUser: {
|
|
194
|
-
|
|
195
|
-
|
|
128
|
+
token:
|
|
129
|
+
"eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJmNTkyN2Y4ZS1jYmY3LTQ5MjItOWUwOS1lNjllYzBiMjczMWEiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6ImY1OTI3ZjhlLWNiZjctNDkyMi05ZTA5LWU2OWVjMGIyNzMxYSIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiI5M2FkOTM5Yy04MzJjLTQ4NWItOWUzMS0yN2MxNzBjMDk1NWEiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY2OTY2MjU5MiwibmFtZSI6IklzbWFlbCBMb3BleiIsInBob25lX251bWJlciI6Iis1MjMxMTEzNjYzMzYiLCJleHAiOjE2Njk2NjYxOTIsImlhdCI6MTY2OTY2MjU5MiwiZW1haWwiOiJpbG9wZXpAY29udGVudG9oLmNvbSJ9.hhdlQk-ljHpyZPRoG02YcvPow8jpm9coZfmEuZ29vIVX7bX5k05Ss3FkaT0dYNr2qEvqZHHqH61oJvx4xr2i6z2c3xEZxyJZFR-Cc_skhH0UwGXbCH9up5PW1aipY5rL45E42R7GKSGmB5Z-B7vxe2NcL-ZojYZkXNZ7Gx_lM8Vpq-XsFLJ4nCJlH7vx9D4SkREN3lLfYIIgqNrxJ_wqfqvcqexwRJfnr76ZqCuDR4dTWsES2Lf5D8Wa_wkQAjQNdzP7ai28l9fRyCSwkTxvamdJkx7p-tssOL5pAnCsKkD22UN-09c1bhuGrgfKWUV4awbptfjvHS7TSq0bWiv4gQ",
|
|
130
|
+
id: 28,
|
|
131
|
+
companyId: 1,
|
|
196
132
|
isUserTech: true,
|
|
197
133
|
},
|
|
198
134
|
},
|
|
@@ -22,6 +22,7 @@ import { Tooltip } from "../../../atoms/Tooltip";
|
|
|
22
22
|
import { Slide, Zoom } from "@mui/material";
|
|
23
23
|
import { useRef } from "react";
|
|
24
24
|
import { ImagePreview } from "../../../atoms/ImagePreview";
|
|
25
|
+
import { isUserTech } from "../../../../global-files/handle_userTech";
|
|
25
26
|
|
|
26
27
|
export const ContainerItems = (props) => {
|
|
27
28
|
const {
|
|
@@ -473,11 +474,11 @@ export const ContainerItems = (props) => {
|
|
|
473
474
|
let ownMessage = false;
|
|
474
475
|
// user tech
|
|
475
476
|
if (currentUser.isUserTech) {
|
|
476
|
-
if (users[item.userId].isUserTech) ownMessage = true;
|
|
477
|
+
if (isUserTech(users[item.userId].isUserTech)) ownMessage = true;
|
|
477
478
|
}
|
|
478
479
|
// user normal
|
|
479
480
|
else {
|
|
480
|
-
if (!users[item.userId].isUserTech) {
|
|
481
|
+
if (!isUserTech(users[item.userId].isUserTech)) {
|
|
481
482
|
if (currentUser.companyId == users[item.userId].companyId) {
|
|
482
483
|
ownMessage = true;
|
|
483
484
|
}
|
|
@@ -15,7 +15,11 @@ import { ChatLists } from "../ChatLists";
|
|
|
15
15
|
import { CustomIcon } from "../../../atoms/CustomIcon";
|
|
16
16
|
import { fetchGET, fetchPOST } from "../../../../global-files/handle_http";
|
|
17
17
|
import { Modal } from "../../Modal";
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
encodeUriJson,
|
|
20
|
+
isStringEmpty,
|
|
21
|
+
isValidNaturalNumber,
|
|
22
|
+
} from "../../../../global-files/utils";
|
|
19
23
|
|
|
20
24
|
export const ContentChat = (props) => {
|
|
21
25
|
const {
|
|
@@ -93,14 +97,14 @@ export const ContentChat = (props) => {
|
|
|
93
97
|
}
|
|
94
98
|
}, [dataChat]);
|
|
95
99
|
|
|
96
|
-
// comenzar temporizador del update de
|
|
100
|
+
// comenzar temporizador del update de 20s
|
|
97
101
|
useEffect(() => {
|
|
98
102
|
//return; -- descomentarizar para hacer pruebas sin update
|
|
99
103
|
if (startUpdate == 0) return;
|
|
100
|
-
console.log(`START UPDATE en
|
|
104
|
+
console.log(`START UPDATE en 20s`);
|
|
101
105
|
const processID = setTimeout(() => {
|
|
102
106
|
setRunUpdate((prev) => prev + 1);
|
|
103
|
-
},
|
|
107
|
+
}, 20000);
|
|
104
108
|
setProcessUpdateID(processID);
|
|
105
109
|
}, [startUpdate]);
|
|
106
110
|
|
|
@@ -224,18 +228,33 @@ export const ContentChat = (props) => {
|
|
|
224
228
|
};
|
|
225
229
|
|
|
226
230
|
const getInitialTicket = async () => {
|
|
227
|
-
console.log("======== INITIAL chat =======");
|
|
231
|
+
console.log("\n======== INITIAL chat =======");
|
|
228
232
|
stopUpdate(); // finalizamos el temporizador
|
|
229
|
-
const
|
|
233
|
+
const dataUser = {
|
|
234
|
+
id: dataChat.currentUser?.id,
|
|
235
|
+
companyId: dataChat.currentUser?.companyId,
|
|
236
|
+
isUserTech: dataChat.currentUser?.isUserTech,
|
|
237
|
+
};
|
|
238
|
+
/*
|
|
239
|
+
console.log("values send query:", {
|
|
240
|
+
id: dataChat.id,
|
|
230
241
|
getType: "initial",
|
|
242
|
+
currentUser: dataUser,
|
|
243
|
+
currentItemsFront: getItemsIdSingleChat(),
|
|
244
|
+
});
|
|
245
|
+
*/
|
|
246
|
+
const paramsQuery = {
|
|
231
247
|
id: JSON.stringify(dataChat.id),
|
|
232
|
-
|
|
248
|
+
getType: "initial",
|
|
249
|
+
currentUser: encodeUriJson(dataUser),
|
|
250
|
+
currentItemsFront: encodeUriJson(getItemsIdSingleChat()),
|
|
233
251
|
};
|
|
234
252
|
const response = await fetchGET(
|
|
235
253
|
process.env.REACT_APP_TICKETS_CHAT_ENDPOINT,
|
|
236
|
-
paramsQuery
|
|
254
|
+
paramsQuery,
|
|
255
|
+
{ Authorization: dataChat.currentUser?.token }
|
|
237
256
|
);
|
|
238
|
-
// programar update en
|
|
257
|
+
// programar update en 20s
|
|
239
258
|
setStartUpdate((prev) => prev + 1);
|
|
240
259
|
if (!response.body) {
|
|
241
260
|
setErrorChat({
|
|
@@ -248,7 +267,7 @@ export const ContentChat = (props) => {
|
|
|
248
267
|
return;
|
|
249
268
|
}
|
|
250
269
|
// success
|
|
251
|
-
console.log(response.body);
|
|
270
|
+
console.log("response initial:", response.body);
|
|
252
271
|
setLastUpdateDate(response.body.data.lastUpdateDate);
|
|
253
272
|
setAllUsers(response.body.users);
|
|
254
273
|
setSingleChat({
|
|
@@ -336,20 +355,27 @@ export const ContentChat = (props) => {
|
|
|
336
355
|
|
|
337
356
|
// este GET obtiene la lista de compañoas con las que se puede chatear
|
|
338
357
|
const getLoadMoreTicket = async () => {
|
|
339
|
-
console.log("======== LOAD MORE chat =======");
|
|
358
|
+
console.log("\n======== LOAD MORE chat =======");
|
|
340
359
|
stopUpdate(); // finalizamos el temporizador
|
|
341
360
|
let date = singleChat.items[singleChat.items.length - 1].date;
|
|
361
|
+
const dataUser = {
|
|
362
|
+
id: dataChat.currentUser?.id,
|
|
363
|
+
companyId: dataChat.currentUser?.companyId,
|
|
364
|
+
isUserTech: dataChat.currentUser?.isUserTech,
|
|
365
|
+
};
|
|
342
366
|
const paramsQuery = {
|
|
343
|
-
getType: "loadMore",
|
|
344
367
|
id: JSON.stringify(dataChat.id),
|
|
368
|
+
getType: "loadMore",
|
|
345
369
|
date: encodeURIComponent(date),
|
|
346
|
-
|
|
370
|
+
currentUser: encodeUriJson(dataUser),
|
|
371
|
+
currentItemsFront: encodeUriJson(getItemsIdSingleChat()),
|
|
347
372
|
};
|
|
348
373
|
const response = await fetchGET(
|
|
349
374
|
process.env.REACT_APP_TICKETS_CHAT_ENDPOINT,
|
|
350
|
-
paramsQuery
|
|
375
|
+
paramsQuery,
|
|
376
|
+
{ Authorization: dataChat.currentUser?.token }
|
|
351
377
|
);
|
|
352
|
-
//programar update en
|
|
378
|
+
//programar update en 20s
|
|
353
379
|
setStartUpdate((prev) => prev + 1);
|
|
354
380
|
if (!response.body) {
|
|
355
381
|
return {
|
|
@@ -358,7 +384,7 @@ export const ContentChat = (props) => {
|
|
|
358
384
|
};
|
|
359
385
|
}
|
|
360
386
|
// success
|
|
361
|
-
console.log(response.body);
|
|
387
|
+
console.log("response loadMore:", response.body);
|
|
362
388
|
// actualizar la lista de los users
|
|
363
389
|
updateAllUsers(response.body.users);
|
|
364
390
|
// actualizar los items del chat
|
|
@@ -491,19 +517,35 @@ export const ContentChat = (props) => {
|
|
|
491
517
|
};
|
|
492
518
|
|
|
493
519
|
const getUpdateLatestTicket = async () => {
|
|
494
|
-
console.log("======== UPDATE chat =======");
|
|
520
|
+
console.log("\n======== UPDATE chat =======");
|
|
495
521
|
console.log("lastUpdate:", lastUpdateDate);
|
|
496
|
-
const
|
|
522
|
+
const dataUser = {
|
|
523
|
+
id: dataChat.currentUser?.id,
|
|
524
|
+
companyId: dataChat.currentUser?.companyId,
|
|
525
|
+
isUserTech: dataChat.currentUser?.isUserTech,
|
|
526
|
+
};
|
|
527
|
+
/*
|
|
528
|
+
console.log("values send query:", {
|
|
529
|
+
id: dataChat.id,
|
|
497
530
|
getType: "updateLatest",
|
|
531
|
+
date: lastUpdateDate,
|
|
532
|
+
currentUser: dataUser,
|
|
533
|
+
currentItemsFront: getItemsIdSingleChat(),
|
|
534
|
+
});
|
|
535
|
+
*/
|
|
536
|
+
const paramsQuery = {
|
|
498
537
|
id: JSON.stringify(dataChat.id),
|
|
538
|
+
getType: "updateLatest",
|
|
499
539
|
date: encodeURIComponent(lastUpdateDate),
|
|
500
|
-
|
|
540
|
+
currentUser: encodeUriJson(dataUser),
|
|
541
|
+
currentItemsFront: encodeUriJson(getItemsIdSingleChat()),
|
|
501
542
|
};
|
|
502
543
|
const response = await fetchGET(
|
|
503
544
|
process.env.REACT_APP_TICKETS_CHAT_ENDPOINT,
|
|
504
|
-
paramsQuery
|
|
545
|
+
paramsQuery,
|
|
546
|
+
{ Authorization: dataChat.currentUser?.token }
|
|
505
547
|
);
|
|
506
|
-
//programar update en
|
|
548
|
+
//programar update en 20s
|
|
507
549
|
setStartUpdate((prev) => prev + 1);
|
|
508
550
|
if (!response.body) {
|
|
509
551
|
if (errorUpdate.startDate) {
|
|
@@ -527,7 +569,7 @@ export const ContentChat = (props) => {
|
|
|
527
569
|
setErrorUpdate({});
|
|
528
570
|
}
|
|
529
571
|
// success
|
|
530
|
-
console.log(response.body);
|
|
572
|
+
//console.log("response update:", response.body);
|
|
531
573
|
setLastUpdateDate(response.body.data.lastUpdateDate);
|
|
532
574
|
// actualizar la lista de los users
|
|
533
575
|
updateAllUsers(response.body.users);
|
|
@@ -677,6 +719,16 @@ export const ContentChat = (props) => {
|
|
|
677
719
|
else return false;
|
|
678
720
|
};
|
|
679
721
|
|
|
722
|
+
const getItemsIdSingleChat = () => {
|
|
723
|
+
const itemsId = {};
|
|
724
|
+
if (Array.isArray(singleChat.items)) {
|
|
725
|
+
singleChat.items.forEach((item) => {
|
|
726
|
+
if (isValidNaturalNumber(item.id)) itemsId[item.id] = true;
|
|
727
|
+
});
|
|
728
|
+
}
|
|
729
|
+
return itemsId;
|
|
730
|
+
};
|
|
731
|
+
|
|
680
732
|
const getChatCompany = () => {
|
|
681
733
|
if (chatType === "merchant_product" || chatType === "ticket") {
|
|
682
734
|
return undefined;
|
|
@@ -114,6 +114,7 @@ export const Chat = (props) => {
|
|
|
114
114
|
const validateChatTicket = () => {
|
|
115
115
|
const {
|
|
116
116
|
currentUser /* {
|
|
117
|
+
token, // string
|
|
117
118
|
id: number ,
|
|
118
119
|
companyId: number ,
|
|
119
120
|
isUserTech: boolean ,
|
|
@@ -123,6 +124,11 @@ export const Chat = (props) => {
|
|
|
123
124
|
ticketOwnerUserId, // number
|
|
124
125
|
} = chatData;
|
|
125
126
|
|
|
127
|
+
// validar el token del usuario conectado
|
|
128
|
+
if (isStringEmpty(currentUser?.token)) {
|
|
129
|
+
setDataError("Tu identificación de usuario no fue especificado");
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
126
132
|
// validar si ID del usuario conectado
|
|
127
133
|
if (!isValidNaturalNumber(currentUser?.id)) {
|
|
128
134
|
setDataError("Tu ID de usuario no fue especificado");
|
|
@@ -134,10 +140,7 @@ export const Chat = (props) => {
|
|
|
134
140
|
return;
|
|
135
141
|
}
|
|
136
142
|
// validar si el usuario conectado es de tecnologia o no
|
|
137
|
-
if (
|
|
138
|
-
currentUser?.isUserTech === undefined ||
|
|
139
|
-
typeof currentUser.isUserTech !== "boolean"
|
|
140
|
-
) {
|
|
143
|
+
if (![false, true].includes(currentUser?.isUserTech)) {
|
|
141
144
|
setDataError("Tu tipo de usuario no fue especificado");
|
|
142
145
|
return;
|
|
143
146
|
}
|
|
@@ -154,7 +157,7 @@ export const Chat = (props) => {
|
|
|
154
157
|
return;
|
|
155
158
|
}
|
|
156
159
|
// validar el status del chat
|
|
157
|
-
if (
|
|
160
|
+
if (!["IN_PROGRESS", "PENDING", "COMPLETED"].includes(statusTicket)) {
|
|
158
161
|
setDataError("El estatus del ticket no es valido");
|
|
159
162
|
return;
|
|
160
163
|
}
|
|
@@ -184,66 +187,6 @@ export const Chat = (props) => {
|
|
|
184
187
|
});
|
|
185
188
|
};
|
|
186
189
|
|
|
187
|
-
/*
|
|
188
|
-
const createItem = async (valueType, valueInput) => {
|
|
189
|
-
clearTimeout(processUpdateID);
|
|
190
|
-
let currentItems = items.slice();
|
|
191
|
-
let paramsBody = {};
|
|
192
|
-
let paramsHeaders = {};
|
|
193
|
-
switch (chatType.toLowerCase()) {
|
|
194
|
-
case "order_product": //------------------------------------------
|
|
195
|
-
paramsBody = {
|
|
196
|
-
articleId: articleId,
|
|
197
|
-
valueType: valueType,
|
|
198
|
-
value: valueInput,
|
|
199
|
-
isOrderProduct: "1",
|
|
200
|
-
orderId: orderId,
|
|
201
|
-
retailerId: retailerId,
|
|
202
|
-
};
|
|
203
|
-
paramsHeaders = { Authorization: userToken };
|
|
204
|
-
break;
|
|
205
|
-
|
|
206
|
-
default:
|
|
207
|
-
// merchants_products--------------------------------------
|
|
208
|
-
paramsBody = {
|
|
209
|
-
articleId: articleId,
|
|
210
|
-
articleVersion: articleVersion,
|
|
211
|
-
valueType: valueType,
|
|
212
|
-
value: valueInput,
|
|
213
|
-
isOrderProduct: "0",
|
|
214
|
-
};
|
|
215
|
-
paramsHeaders = { Authorization: userToken };
|
|
216
|
-
}
|
|
217
|
-
const response = await fetchPOST(
|
|
218
|
-
process.env.REACT_APP_PRODUCTS_CHAT_ENDPOINT,
|
|
219
|
-
paramsBody,
|
|
220
|
-
paramsHeaders
|
|
221
|
-
);
|
|
222
|
-
if (!response.body) {
|
|
223
|
-
let itemType =
|
|
224
|
-
valueType === "txt"
|
|
225
|
-
? "el mensaje"
|
|
226
|
-
: valueType === "img"
|
|
227
|
-
? "la imagen"
|
|
228
|
-
: "el archivo";
|
|
229
|
-
showModalAlert(
|
|
230
|
-
`No fue posible agregar ${itemType} en el chat`,
|
|
231
|
-
response.errorDetail,
|
|
232
|
-
"error"
|
|
233
|
-
);
|
|
234
|
-
setItems(currentItems);
|
|
235
|
-
} else {
|
|
236
|
-
if (currentItems?.length == 0) {
|
|
237
|
-
// console.log("NUEVO ITEM <> NUEVO INITIAL");
|
|
238
|
-
await getInitial();
|
|
239
|
-
} else {
|
|
240
|
-
// console.log("NUEVO ITEM <> NUEVO UPDATE");
|
|
241
|
-
await getUpdate();
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
*/
|
|
246
|
-
|
|
247
190
|
return (
|
|
248
191
|
<>
|
|
249
192
|
{chatContainerType?.toLowerCase() === "fixed" ? (
|
|
@@ -307,3 +307,16 @@ export const isObject = (obj) => {
|
|
|
307
307
|
if (obj && typeof obj === "object" && !Array.isArray(obj)) return true;
|
|
308
308
|
return false;
|
|
309
309
|
};
|
|
310
|
+
|
|
311
|
+
/*------------------------
|
|
312
|
+
recibe un value y lo codifica
|
|
313
|
+
primero a JSON y luego a URI
|
|
314
|
+
--------------------------*/
|
|
315
|
+
export const encodeUriJson = (value) => {
|
|
316
|
+
try {
|
|
317
|
+
const encodeValue = encodeURIComponent(JSON.stringify(value));
|
|
318
|
+
return encodeValue;
|
|
319
|
+
} catch (err) {
|
|
320
|
+
return undefined;
|
|
321
|
+
}
|
|
322
|
+
};
|