b7e429d52c086a84cd41ece4d472b72eed5cb7cd
[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 _0xca2e=['clone','omit','html','phone','fax','./sql-utils','findAll','resolve','getInteractionsQuery','then','search','parseAdvancedSearchFilter','parseQueryParameters','body','where','contact','default','fields','filter','user','having','read','tags','group','i.id','tag','count','length','clause','order','forEach','contactName','DESC','closed','getClosedOrderClause','rows','catch','tracked','query'];(function(_0x7902d0,_0x378152){var _0x2ab4ac=function(_0x1837ee){while(--_0x1837ee){_0x7902d0['push'](_0x7902d0['shift']());}};_0x2ab4ac(++_0x378152);}(_0xca2e,0x18b));var _0xeca2=function(_0x1ff1d1,_0x39d757){_0x1ff1d1=_0x1ff1d1-0x0;var _0x4c4491=_0xca2e[_0x1ff1d1];return _0x4c4491;};'use strict';var _=require('lodash');var sqlUtils=require(_0xeca2('0x0'));var utils=require('./utils');exports[_0xeca2('0x1')]=function(_0x4a959b,_0x2835c0,_0x54cbc4,_0xb5cd75,_0x30da4c){var _0xa6c66f={'count':0x0,'rows':[]};var _0x5cec4b=sqlUtils['skipInteractionsQuery'](_0x4a959b,_0x54cbc4,_0x2835c0);if(_0x5cec4b){return Promise[_0xeca2('0x2')](_0xa6c66f);}var _0x5d05da=sqlUtils[_0xeca2('0x3')](_0x4a959b);var _0x5960fb={};return Promise[_0xeca2('0x2')]()[_0xeca2('0x4')](function(){if(_0x2835c0[_0xeca2('0x5')]){return sqlUtils[_0xeca2('0x6')](_0x2835c0[_0xeca2('0x5')],_0x30da4c);}else{return sqlUtils[_0xeca2('0x7')](_0x4a959b,_0x2835c0,_0x30da4c);}})[_0xeca2('0x4')](function(_0x37e4ef){_0x5d05da['where'](_0x37e4ef[_0xeca2('0x8')]);_0x5d05da[_0xeca2('0x9')](_0x37e4ef[_0xeca2('0xa')]);_0x5d05da[_0xeca2('0x9')](_0x37e4ef[_0xeca2('0xb')]);_0x5d05da[_0xeca2('0x9')](_0x37e4ef[_0xeca2('0xc')]);_0x5d05da[_0xeca2('0x9')](_0x37e4ef[_0xeca2('0xd')]);_0x5d05da['where'](_0x37e4ef[_0xeca2('0xe')]);_0x5d05da[_0xeca2('0xf')](_0x37e4ef[_0xeca2('0x10')]);_0x5960fb=_0x37e4ef[_0xeca2('0x11')];return sqlUtils['checkAccountsRestrictions'](_0x4a959b,_0x54cbc4,_0x2835c0);})[_0xeca2('0x4')](function(_0x2bdacb){_0x5d05da[_0xeca2('0x9')](_0x2bdacb);_0x5d05da[_0xeca2('0x12')](_0xeca2('0x13'));var _0x2cb7ca=_0x2835c0[_0xeca2('0x5')]?_0x5960fb['ids']:_0x2835c0[_0xeca2('0x14')];return sqlUtils['countFilteredInteractions'](_0x5d05da,_0x2cb7ca);})[_0xeca2('0x4')](function(_0x36f29b){_0xa6c66f[_0xeca2('0x15')]=_0x36f29b[_0xeca2('0x16')];if(_0xa6c66f[_0xeca2('0x15')]===0x0){return[];}_0x5d05da[_0xeca2('0xf')](_0x5960fb[_0xeca2('0x17')]);if(_0xb5cd75[_0xeca2('0x18')]){_0xb5cd75['order'][_0xeca2('0x19')](function(_0x4bb403){var _0x1609f7=_0x4bb403[0x0]===_0xeca2('0x1a')?_0x4bb403[0x0]:'i.'+_0x4bb403[0x0];_0x5d05da['order'](_0x1609f7,_0x4bb403[0x1]===_0xeca2('0x1b')?![]:!![]);if(_0x4bb403[0x0]===_0xeca2('0x1c')){var _0x2fc04c=sqlUtils[_0xeca2('0x1d')](_0x4a959b,_0x2835c0);_0x5d05da['order'](_0x2fc04c,_0x4bb403[0x1]==='DESC'?![]:!![]);}});}return sqlUtils['getFilteredInteractions'](_0x4a959b,_0x5d05da,_0x2835c0,_0xb5cd75);})[_0xeca2('0x4')](function(_0x20f5d3){_0xa6c66f[_0xeca2('0x1e')]=_0x20f5d3;return _0xa6c66f;})[_0xeca2('0x1f')](function(_0x115234){throw _0x115234;});};exports[_0xeca2('0x20')]=function(_0x49fd7c,_0x5e72b1){return function(_0x388145,_0x192779,_0x57922b){var _0x282cd4=_0x388145[_0xeca2('0xe')];var _0x42e5be={};var _0x186065=_0x388145[_0xeca2('0x21')];if(_0x42e5be){_0x42e5be=_[_0xeca2('0x22')](_0x388145[_0xeca2('0x8')]);_0x42e5be=_[_0xeca2('0x23')](_0x42e5be,[_0xeca2('0x8'),_0xeca2('0x24'),_0xeca2('0x25'),_0xeca2('0x26'),'mobile']);}utils['updateUser'](_0x282cd4,_0x42e5be,_0x186065,_0x49fd7c,_0x5e72b1);_0x57922b(null);};};