898eafed7f260545a025a89ae870bead06a79cb8
[motion2.git] / server / components / interaction / service.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x5a89=['getFilteredInteractions','rows','tracked','query','html','phone','fax','mobile','./sql-utils','findAll','resolve','getInteractionsQuery','search','parseAdvancedSearchFilter','parseQueryParameters','then','body','contact','where','default','fields','filter','user','having','read','tags','checkAccountsRestrictions','group','i.id','ids','countFilteredInteractions','count','clause','order','forEach','DESC','closed','getClosedOrderClause'];(function(_0x2d5a8e,_0x333734){var _0x3d97f8=function(_0x41b763){while(--_0x41b763){_0x2d5a8e['push'](_0x2d5a8e['shift']());}};_0x3d97f8(++_0x333734);}(_0x5a89,0x1d0));var _0x95a8=function(_0x4e489e,_0x4a44a6){_0x4e489e=_0x4e489e-0x0;var _0x5359e2=_0x5a89[_0x4e489e];return _0x5359e2;};'use strict';var _=require('lodash');var sqlUtils=require(_0x95a8('0x0'));var utils=require('./utils');exports[_0x95a8('0x1')]=function(_0xe26df1,_0x4cfc74,_0x2194d3,_0x38bbf6,_0x569df7){var _0x5f489d={'count':0x0,'rows':[]};var _0x3f8422=sqlUtils['skipInteractionsQuery'](_0xe26df1,_0x2194d3,_0x4cfc74);if(_0x3f8422){return Promise[_0x95a8('0x2')](_0x5f489d);}var _0x2c2704=sqlUtils[_0x95a8('0x3')](_0xe26df1);var _0x38999a={};return Promise[_0x95a8('0x2')]()['then'](function(){if(_0x4cfc74[_0x95a8('0x4')]){return sqlUtils[_0x95a8('0x5')](_0x4cfc74['search'],_0x569df7);}else{return sqlUtils[_0x95a8('0x6')](_0xe26df1,_0x4cfc74,_0x569df7);}})[_0x95a8('0x7')](function(_0x4a19c9){_0x2c2704['where'](_0x4a19c9[_0x95a8('0x8')]);_0x2c2704['where'](_0x4a19c9[_0x95a8('0x9')]);_0x2c2704[_0x95a8('0xa')](_0x4a19c9[_0x95a8('0xb')]);_0x2c2704['where'](_0x4a19c9[_0x95a8('0xc')]);_0x2c2704[_0x95a8('0xa')](_0x4a19c9[_0x95a8('0xd')]);_0x2c2704['where'](_0x4a19c9[_0x95a8('0xe')]);_0x2c2704[_0x95a8('0xf')](_0x4a19c9[_0x95a8('0x10')]);_0x38999a=_0x4a19c9[_0x95a8('0x11')];return sqlUtils[_0x95a8('0x12')](_0xe26df1,_0x2194d3,_0x4cfc74);})[_0x95a8('0x7')](function(_0xfaddb8){_0x2c2704[_0x95a8('0xa')](_0xfaddb8);_0x2c2704[_0x95a8('0x13')](_0x95a8('0x14'));var _0x15e07f=_0x4cfc74[_0x95a8('0x4')]?_0x38999a[_0x95a8('0x15')]:_0x4cfc74['tag'];return sqlUtils[_0x95a8('0x16')](_0x2c2704,_0x15e07f);})[_0x95a8('0x7')](function(_0x569187){_0x5f489d['count']=_0x569187['length'];if(_0x5f489d[_0x95a8('0x17')]===0x0){return[];}_0x2c2704[_0x95a8('0xf')](_0x38999a[_0x95a8('0x18')]);if(_0x38bbf6[_0x95a8('0x19')]){_0x38bbf6[_0x95a8('0x19')][_0x95a8('0x1a')](function(_0x1a34f9){var _0x239d5c=_0x1a34f9[0x0]==='contactName'?_0x1a34f9[0x0]:'i.'+_0x1a34f9[0x0];_0x2c2704[_0x95a8('0x19')](_0x239d5c,_0x1a34f9[0x1]===_0x95a8('0x1b')?![]:!![]);if(_0x1a34f9[0x0]===_0x95a8('0x1c')){var _0xd3db59=sqlUtils[_0x95a8('0x1d')](_0xe26df1,_0x4cfc74);_0x2c2704[_0x95a8('0x19')](_0xd3db59,_0x1a34f9[0x1]===_0x95a8('0x1b')?![]:!![]);}});}return sqlUtils[_0x95a8('0x1e')](_0xe26df1,_0x2c2704,_0x4cfc74,_0x38bbf6);})[_0x95a8('0x7')](function(_0x13e10e){_0x5f489d[_0x95a8('0x1f')]=_0x13e10e;return _0x5f489d;})['catch'](function(_0x4fc979){throw _0x4fc979;});};exports[_0x95a8('0x20')]=function(_0x22c451,_0x2e372d){return function(_0x406fb4,_0x336c25,_0x536f9a){var _0x3a30b1=_0x406fb4['user'];var _0x507487={};var _0x54b771=_0x406fb4[_0x95a8('0x21')];if(_0x507487){_0x507487=_['clone'](_0x406fb4['body']);_0x507487=_['omit'](_0x507487,[_0x95a8('0x8'),_0x95a8('0x22'),_0x95a8('0x23'),_0x95a8('0x24'),_0x95a8('0x25')]);}utils['updateUser'](_0x3a30b1,_0x507487,_0x54b771,_0x22c451,_0x2e372d);_0x536f9a(null);};};