Built motion from commit 775e2a94.|2.6.3
[motion2.git] / server / api / openchannelApplication / openchannelApplication.controller.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 _0x9571=['../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','apply','reject','save','then','error','stack','send','map','OpenchannelApplication','rawAttributes','fieldName','model','name','query','filters','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','keys','intersection','includeAll','merge','create','body','update','find','destroy','eml-format','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x30c419,_0x2d8afc){var _0xffcc81=function(_0x58f913){while(--_0x58f913){_0x30c419['push'](_0x30c419['shift']());}};_0xffcc81(++_0x2d8afc);}(_0x9571,0x167));var _0x1957=function(_0x26797a,_0x104240){_0x26797a=_0x26797a-0x0;var _0xeb5295=_0x9571[_0x26797a];return _0xeb5295;};'use strict';var emlformat=require(_0x1957('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1957('0x1'));var jsonpatch=require(_0x1957('0x2'));var rp=require('request-promise');var moment=require(_0x1957('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x1957('0x4'));var util=require(_0x1957('0x5'));var path=require(_0x1957('0x6'));var sox=require(_0x1957('0x7'));var csv=require(_0x1957('0x8'));var ejs=require(_0x1957('0x9'));var fs=require('fs');var fs_extra=require(_0x1957('0xa'));var _=require(_0x1957('0xb'));var squel=require(_0x1957('0xc'));var crypto=require(_0x1957('0xd'));var jsforce=require(_0x1957('0xe'));var deskjs=require(_0x1957('0xf'));var toCsv=require(_0x1957('0x8'));var querystring=require('querystring');var Papa=require(_0x1957('0x10'));var Redis=require(_0x1957('0x11'));var authService=require(_0x1957('0x12'));var qs=require(_0x1957('0x13'));var as=require(_0x1957('0x14'));var hardwareService=require(_0x1957('0x15'));var logger=require(_0x1957('0x16'))(_0x1957('0x17'));var utils=require(_0x1957('0x18'));var config=require(_0x1957('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x1957('0x1a'))['db'];function respondWithStatusCode(_0x278afd,_0xd8935){_0xd8935=_0xd8935||0xcc;return function(_0x209272){if(_0x209272){return _0x278afd[_0x1957('0x1b')](_0xd8935);}return _0x278afd[_0x1957('0x1c')](_0xd8935)[_0x1957('0x1d')]();};}function respondWithResult(_0x350fee,_0x18b2e0){_0x18b2e0=_0x18b2e0||0xc8;return function(_0x480b51){if(_0x480b51){return _0x350fee[_0x1957('0x1c')](_0x18b2e0)[_0x1957('0x1e')](_0x480b51);}};}function respondWithFilteredResult(_0x493146,_0x10c7a7){return function(_0x40ed32){if(_0x40ed32){var _0x47abe9=typeof _0x10c7a7[_0x1957('0x1f')]===_0x1957('0x20')&&typeof _0x10c7a7[_0x1957('0x21')]===_0x1957('0x20');var _0x302fe8=_0x40ed32[_0x1957('0x22')];var _0x178caa=_0x47abe9?0x0:_0x10c7a7[_0x1957('0x1f')];var _0x547c6e=_0x47abe9?_0x40ed32[_0x1957('0x22')]:_0x10c7a7[_0x1957('0x1f')]+_0x10c7a7[_0x1957('0x21')];var _0x58f5ef;if(_0x547c6e>=_0x302fe8){_0x547c6e=_0x302fe8;_0x58f5ef=0xc8;}else{_0x58f5ef=0xce;}_0x493146[_0x1957('0x1c')](_0x58f5ef);return _0x493146['set']('Content-Range',_0x178caa+'-'+_0x547c6e+'/'+_0x302fe8)[_0x1957('0x1e')](_0x40ed32);}return null;};}function patchUpdates(_0x1415ae){return function(_0x3fb957){try{jsonpatch[_0x1957('0x23')](_0x3fb957,_0x1415ae,!![]);}catch(_0x37f281){return BPromise[_0x1957('0x24')](_0x37f281);}return _0x3fb957[_0x1957('0x25')]();};}function saveUpdates(_0x16c87f,_0x4c55b2){return function(_0x2903e4){if(_0x2903e4){return _0x2903e4['update'](_0x16c87f)[_0x1957('0x26')](function(_0x4e8aa6){return _0x4e8aa6;});}return null;};}function removeEntity(_0x469525,_0x4518f8){return function(_0x5b229d){if(_0x5b229d){return _0x5b229d['destroy']()[_0x1957('0x26')](function(){_0x469525[_0x1957('0x1c')](0xcc)[_0x1957('0x1d')]();});}};}function handleEntityNotFound(_0x30c2af,_0x24967e){return function(_0x3d30f2){if(!_0x3d30f2){_0x30c2af['sendStatus'](0x194);}return _0x3d30f2;};}function handleError(_0x45d3b7,_0x3ba5ed){_0x3ba5ed=_0x3ba5ed||0x1f4;return function(_0x3b8b7b){logger[_0x1957('0x27')](_0x3b8b7b[_0x1957('0x28')]);if(_0x3b8b7b['name']){delete _0x3b8b7b['name'];}_0x45d3b7['status'](_0x3ba5ed)[_0x1957('0x29')](_0x3b8b7b);};}exports['index']=function(_0x1f4d98,_0x26645e){var _0x40de58={},_0xf38986={},_0x334f56={'count':0x0,'rows':[]};var _0x20bec0=_[_0x1957('0x2a')](db[_0x1957('0x2b')][_0x1957('0x2c')],function(_0x58750f){return{'name':_0x58750f[_0x1957('0x2d')],'type':_0x58750f['type']['key']};});_0xf38986[_0x1957('0x2e')]=_[_0x1957('0x2a')](_0x20bec0,_0x1957('0x2f'));_0xf38986[_0x1957('0x30')]=_['keys'](_0x1f4d98['query']);_0xf38986[_0x1957('0x31')]=_['intersection'](_0xf38986[_0x1957('0x2e')],_0xf38986[_0x1957('0x30')]);_0x40de58[_0x1957('0x32')]=_['intersection'](_0xf38986[_0x1957('0x2e')],qs[_0x1957('0x33')](_0x1f4d98[_0x1957('0x30')][_0x1957('0x33')]));_0x40de58[_0x1957('0x32')]=_0x40de58[_0x1957('0x32')][_0x1957('0x34')]?_0x40de58[_0x1957('0x32')]:_0xf38986['model'];if(!_0x1f4d98['query'][_0x1957('0x35')](_0x1957('0x36'))){_0x40de58[_0x1957('0x21')]=qs[_0x1957('0x21')](_0x1f4d98[_0x1957('0x30')][_0x1957('0x21')]);_0x40de58['offset']=qs[_0x1957('0x1f')](_0x1f4d98[_0x1957('0x30')][_0x1957('0x1f')]);}_0x40de58['order']=qs['sort'](_0x1f4d98['query'][_0x1957('0x37')]);_0x40de58[_0x1957('0x38')]=qs[_0x1957('0x31')](_[_0x1957('0x39')](_0x1f4d98[_0x1957('0x30')],_0xf38986[_0x1957('0x31')]),_0x20bec0);if(_0x1f4d98[_0x1957('0x30')]['filter']){_0x40de58['where']=_['merge'](_0x40de58[_0x1957('0x38')],{'$or':_[_0x1957('0x2a')](_0x20bec0,function(_0x4def76){if(_0x4def76['type']!==_0x1957('0x3a')){var _0x4d22a2={};_0x4d22a2[_0x4def76[_0x1957('0x2f')]]={'$like':'%'+_0x1f4d98[_0x1957('0x30')][_0x1957('0x3b')]+'%'};return _0x4d22a2;}})});}_0x40de58=_['merge']({},_0x40de58,_0x1f4d98[_0x1957('0x3c')]);var _0x5d027c={'where':_0x40de58['where']};return db[_0x1957('0x2b')][_0x1957('0x22')](_0x5d027c)[_0x1957('0x26')](function(_0x4e1b1b){_0x334f56['count']=_0x4e1b1b;if(_0x1f4d98[_0x1957('0x30')]['includeAll']){_0x40de58[_0x1957('0x3d')]=[{'all':!![]}];}return db[_0x1957('0x2b')][_0x1957('0x3e')](_0x40de58);})[_0x1957('0x26')](function(_0x42dfed){_0x334f56[_0x1957('0x3f')]=_0x42dfed;return _0x334f56;})[_0x1957('0x26')](respondWithFilteredResult(_0x26645e,_0x40de58))[_0x1957('0x40')](handleError(_0x26645e,null));};exports[_0x1957('0x41')]=function(_0x9da3c8,_0x243deb){var _0x3b3f62={'raw':!![],'where':{'id':_0x9da3c8[_0x1957('0x42')]['id']}},_0x32795b={};_0x32795b[_0x1957('0x2e')]=_[_0x1957('0x43')](db[_0x1957('0x2b')][_0x1957('0x2c')]);_0x32795b[_0x1957('0x30')]=_[_0x1957('0x43')](_0x9da3c8[_0x1957('0x30')]);_0x32795b['filters']=_[_0x1957('0x44')](_0x32795b[_0x1957('0x2e')],_0x32795b[_0x1957('0x30')]);_0x3b3f62[_0x1957('0x32')]=_[_0x1957('0x44')](_0x32795b[_0x1957('0x2e')],qs[_0x1957('0x33')](_0x9da3c8['query']['fields']));_0x3b3f62[_0x1957('0x32')]=_0x3b3f62['attributes'][_0x1957('0x34')]?_0x3b3f62[_0x1957('0x32')]:_0x32795b[_0x1957('0x2e')];if(_0x9da3c8['query'][_0x1957('0x45')]){_0x3b3f62['include']=[{'all':!![]}];}_0x3b3f62=_[_0x1957('0x46')]({},_0x3b3f62,_0x9da3c8['options']);return db[_0x1957('0x2b')]['find'](_0x3b3f62)['then'](handleEntityNotFound(_0x243deb,null))['then'](respondWithResult(_0x243deb,null))[_0x1957('0x40')](handleError(_0x243deb,null));};exports[_0x1957('0x47')]=function(_0x4cd4d3,_0x4a22b6){return db['OpenchannelApplication']['create'](_0x4cd4d3[_0x1957('0x48')],{})['then'](respondWithResult(_0x4a22b6,0xc9))[_0x1957('0x40')](handleError(_0x4a22b6,null));};exports[_0x1957('0x49')]=function(_0x25e56b,_0x583699){if(_0x25e56b[_0x1957('0x48')]['id']){delete _0x25e56b[_0x1957('0x48')]['id'];}return db[_0x1957('0x2b')][_0x1957('0x4a')]({'where':{'id':_0x25e56b['params']['id']}})[_0x1957('0x26')](handleEntityNotFound(_0x583699,null))[_0x1957('0x26')](saveUpdates(_0x25e56b[_0x1957('0x48')],null))[_0x1957('0x26')](respondWithResult(_0x583699,null))[_0x1957('0x40')](handleError(_0x583699,null));};exports[_0x1957('0x4b')]=function(_0x4e7d48,_0x480414){return db[_0x1957('0x2b')][_0x1957('0x4a')]({'where':{'id':_0x4e7d48[_0x1957('0x42')]['id']}})[_0x1957('0x26')](handleEntityNotFound(_0x480414,null))['then'](removeEntity(_0x480414,null))['catch'](handleError(_0x480414,null));};