38291fedcd46b8893bb43f48ce4ed2d74e50e463
[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 _0x1f62=['i.id','ids','tag','count','clause','order','forEach','DESC','closed','getFilteredInteractions','catch','query','omit','html','fax','mobile','updateUser','./sql-utils','findAll','resolve','then','search','parseAdvancedSearchFilter','parseQueryParameters','body','where','contact','default','fields','filter','user','having','read','tags','checkAccountsRestrictions','group'];(function(_0x34021d,_0x753aa6){var _0x16597b=function(_0x2d040a){while(--_0x2d040a){_0x34021d['push'](_0x34021d['shift']());}};_0x16597b(++_0x753aa6);}(_0x1f62,0x1c1));var _0x21f6=function(_0x32c98a,_0x5e6eb0){_0x32c98a=_0x32c98a-0x0;var _0x1796d3=_0x1f62[_0x32c98a];return _0x1796d3;};'use strict';var _=require('lodash');var sqlUtils=require(_0x21f6('0x0'));var utils=require('./utils');exports[_0x21f6('0x1')]=function(_0x50593e,_0x156436,_0x4de686,_0x1cbd95,_0x27ed5f){var _0x3fe8b5={'count':0x0,'rows':[]};var _0x17a23b=sqlUtils['skipInteractionsQuery'](_0x50593e,_0x4de686,_0x156436);if(_0x17a23b){return Promise[_0x21f6('0x2')](_0x3fe8b5);}var _0x42dba0=sqlUtils['getInteractionsQuery'](_0x50593e);var _0x32713e={};return Promise['resolve']()[_0x21f6('0x3')](function(){if(_0x156436[_0x21f6('0x4')]){return sqlUtils[_0x21f6('0x5')](_0x156436[_0x21f6('0x4')],_0x27ed5f);}else{return sqlUtils[_0x21f6('0x6')](_0x50593e,_0x156436,_0x27ed5f);}})['then'](function(_0x1f6c9f){_0x42dba0['where'](_0x1f6c9f[_0x21f6('0x7')]);_0x42dba0[_0x21f6('0x8')](_0x1f6c9f[_0x21f6('0x9')]);_0x42dba0['where'](_0x1f6c9f[_0x21f6('0xa')]);_0x42dba0[_0x21f6('0x8')](_0x1f6c9f[_0x21f6('0xb')]);_0x42dba0['where'](_0x1f6c9f[_0x21f6('0xc')]);_0x42dba0[_0x21f6('0x8')](_0x1f6c9f[_0x21f6('0xd')]);_0x42dba0[_0x21f6('0xe')](_0x1f6c9f[_0x21f6('0xf')]);_0x32713e=_0x1f6c9f[_0x21f6('0x10')];return sqlUtils[_0x21f6('0x11')](_0x50593e,_0x4de686,_0x156436);})[_0x21f6('0x3')](function(_0x36de4a){_0x42dba0[_0x21f6('0x8')](_0x36de4a);_0x42dba0[_0x21f6('0x12')](_0x21f6('0x13'));var _0x445cd2=_0x156436['search']?_0x32713e[_0x21f6('0x14')]:_0x156436[_0x21f6('0x15')];return sqlUtils['countFilteredInteractions'](_0x42dba0,_0x445cd2);})['then'](function(_0x1dba6b){_0x3fe8b5[_0x21f6('0x16')]=_0x1dba6b['length'];if(_0x3fe8b5['count']===0x0){return[];}_0x42dba0[_0x21f6('0xe')](_0x32713e[_0x21f6('0x17')]);if(_0x1cbd95[_0x21f6('0x18')]){_0x1cbd95[_0x21f6('0x18')][_0x21f6('0x19')](function(_0x26a51e){var _0x11d619=_0x26a51e[0x0]==='contactName'?_0x26a51e[0x0]:'i.'+_0x26a51e[0x0];_0x42dba0[_0x21f6('0x18')](_0x11d619,_0x26a51e[0x1]===_0x21f6('0x1a')?![]:!![]);if(_0x26a51e[0x0]===_0x21f6('0x1b')){var _0x4616df=sqlUtils['getClosedOrderClause'](_0x50593e,_0x156436);_0x42dba0[_0x21f6('0x18')](_0x4616df,_0x26a51e[0x1]===_0x21f6('0x1a')?![]:!![]);}});}return sqlUtils[_0x21f6('0x1c')](_0x50593e,_0x42dba0,_0x156436,_0x1cbd95);})['then'](function(_0x569b31){_0x3fe8b5['rows']=_0x569b31;return _0x3fe8b5;})[_0x21f6('0x1d')](function(_0x2ba551){throw _0x2ba551;});};exports['tracked']=function(_0x559fd6,_0x5b04b1){return function(_0x398b43,_0x272a38,_0x4c0ec6){var _0x223179=_0x398b43[_0x21f6('0xd')];var _0x52ca8f={};var _0x5025e6=_0x398b43[_0x21f6('0x1e')];if(_0x52ca8f){_0x52ca8f=_['clone'](_0x398b43[_0x21f6('0x7')]);_0x52ca8f=_[_0x21f6('0x1f')](_0x52ca8f,[_0x21f6('0x7'),_0x21f6('0x20'),'phone',_0x21f6('0x21'),_0x21f6('0x22')]);}utils[_0x21f6('0x23')](_0x223179,_0x52ca8f,_0x5025e6,_0x559fd6,_0x5b04b1);_0x4c0ec6(null);};};