21e2bf2103df744a766a850049ba16c5995b49b4
[motion2.git] / server / api / smsApplication / smsApplication.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 _0x6040=['mustache','path','sox','lodash','squel','jsforce','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','offset','undefined','count','limit','set','json','apply','reject','save','update','then','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','filter','where','merge','SmsApplication','includeAll','findAll','rows','catch','show','params','keys','length','options','find','create','body','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird'];(function(_0x3ff085,_0x27c92e){var _0x2b68c3=function(_0x37811e){while(--_0x37811e){_0x3ff085['push'](_0x3ff085['shift']());}};_0x2b68c3(++_0x27c92e);}(_0x6040,0x170));var _0x0604=function(_0x13ce0c,_0x3f2a0d){_0x13ce0c=_0x13ce0c-0x0;var _0x4388fb=_0x6040[_0x13ce0c];return _0x4388fb;};'use strict';var emlformat=require(_0x0604('0x0'));var rimraf=require(_0x0604('0x1'));var zipdir=require(_0x0604('0x2'));var jsonpatch=require(_0x0604('0x3'));var rp=require(_0x0604('0x4'));var moment=require(_0x0604('0x5'));var BPromise=require(_0x0604('0x6'));var Mustache=require(_0x0604('0x7'));var util=require('util');var path=require(_0x0604('0x8'));var sox=require(_0x0604('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0604('0xa'));var squel=require(_0x0604('0xb'));var crypto=require('crypto');var jsforce=require(_0x0604('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x0604('0xd'));var querystring=require('querystring');var Papa=require(_0x0604('0xe'));var Redis=require(_0x0604('0xf'));var authService=require(_0x0604('0x10'));var qs=require(_0x0604('0x11'));var as=require(_0x0604('0x12'));var hardwareService=require(_0x0604('0x13'));var logger=require(_0x0604('0x14'))(_0x0604('0x15'));var utils=require(_0x0604('0x16'));var config=require(_0x0604('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x0604('0x18'))['db'];function respondWithStatusCode(_0x2071bc,_0x462132){_0x462132=_0x462132||0xcc;return function(_0x4e7bd2){if(_0x4e7bd2){return _0x2071bc[_0x0604('0x19')](_0x462132);}return _0x2071bc['status'](_0x462132)[_0x0604('0x1a')]();};}function respondWithResult(_0x39e16d,_0x511c55){_0x511c55=_0x511c55||0xc8;return function(_0x51eb3b){if(_0x51eb3b){return _0x39e16d[_0x0604('0x1b')](_0x511c55)['json'](_0x51eb3b);}};}function respondWithFilteredResult(_0x39791d,_0x2656ff){return function(_0x451f36){if(_0x451f36){var _0x992899=typeof _0x2656ff[_0x0604('0x1c')]===_0x0604('0x1d')&&typeof _0x2656ff['limit']===_0x0604('0x1d');var _0x32f60e=_0x451f36[_0x0604('0x1e')];var _0x21f2d0=_0x992899?0x0:_0x2656ff['offset'];var _0x5cb162=_0x992899?_0x451f36['count']:_0x2656ff[_0x0604('0x1c')]+_0x2656ff[_0x0604('0x1f')];var _0x11b770;if(_0x5cb162>=_0x32f60e){_0x5cb162=_0x32f60e;_0x11b770=0xc8;}else{_0x11b770=0xce;}_0x39791d['status'](_0x11b770);return _0x39791d[_0x0604('0x20')]('Content-Range',_0x21f2d0+'-'+_0x5cb162+'/'+_0x32f60e)[_0x0604('0x21')](_0x451f36);}return null;};}function patchUpdates(_0x4bc4c2){return function(_0x1b5ad5){try{jsonpatch[_0x0604('0x22')](_0x1b5ad5,_0x4bc4c2,!![]);}catch(_0x511a1e){return BPromise[_0x0604('0x23')](_0x511a1e);}return _0x1b5ad5[_0x0604('0x24')]();};}function saveUpdates(_0x5d125a,_0x83d0f6){return function(_0x1a8e3f){if(_0x1a8e3f){return _0x1a8e3f[_0x0604('0x25')](_0x5d125a)[_0x0604('0x26')](function(_0x49b226){return _0x49b226;});}return null;};}function removeEntity(_0x509d25,_0x564857){return function(_0x15ec8e){if(_0x15ec8e){return _0x15ec8e['destroy']()[_0x0604('0x26')](function(){_0x509d25[_0x0604('0x1b')](0xcc)[_0x0604('0x1a')]();});}};}function handleEntityNotFound(_0x2977f5,_0x5dd835){return function(_0x1ead09){if(!_0x1ead09){_0x2977f5['sendStatus'](0x194);}return _0x1ead09;};}function handleError(_0x2debed,_0x609f2e){_0x609f2e=_0x609f2e||0x1f4;return function(_0x252a3e){logger[_0x0604('0x27')](_0x252a3e[_0x0604('0x28')]);if(_0x252a3e['name']){delete _0x252a3e[_0x0604('0x29')];}_0x2debed[_0x0604('0x1b')](_0x609f2e)[_0x0604('0x2a')](_0x252a3e);};}exports[_0x0604('0x2b')]=function(_0x5875d7,_0x471558){var _0x1cb5df={},_0x2bfab7={},_0x509688={'count':0x0,'rows':[]};var _0x5a3a73=_[_0x0604('0x2c')](db['SmsApplication'][_0x0604('0x2d')],function(_0x80f1c9){return{'name':_0x80f1c9[_0x0604('0x2e')],'type':_0x80f1c9[_0x0604('0x2f')]['key']};});_0x2bfab7[_0x0604('0x30')]=_[_0x0604('0x2c')](_0x5a3a73,_0x0604('0x29'));_0x2bfab7[_0x0604('0x31')]=_['keys'](_0x5875d7['query']);_0x2bfab7[_0x0604('0x32')]=_['intersection'](_0x2bfab7[_0x0604('0x30')],_0x2bfab7[_0x0604('0x31')]);_0x1cb5df[_0x0604('0x33')]=_[_0x0604('0x34')](_0x2bfab7[_0x0604('0x30')],qs['fields'](_0x5875d7[_0x0604('0x31')][_0x0604('0x35')]));_0x1cb5df[_0x0604('0x33')]=_0x1cb5df[_0x0604('0x33')]['length']?_0x1cb5df[_0x0604('0x33')]:_0x2bfab7[_0x0604('0x30')];if(!_0x5875d7['query'][_0x0604('0x36')](_0x0604('0x37'))){_0x1cb5df[_0x0604('0x1f')]=qs[_0x0604('0x1f')](_0x5875d7[_0x0604('0x31')][_0x0604('0x1f')]);_0x1cb5df['offset']=qs['offset'](_0x5875d7[_0x0604('0x31')][_0x0604('0x1c')]);}_0x1cb5df[_0x0604('0x38')]=qs[_0x0604('0x39')](_0x5875d7[_0x0604('0x31')][_0x0604('0x39')]);_0x1cb5df['where']=qs[_0x0604('0x32')](_['pick'](_0x5875d7['query'],_0x2bfab7[_0x0604('0x32')]),_0x5a3a73);if(_0x5875d7[_0x0604('0x31')][_0x0604('0x3a')]){_0x1cb5df[_0x0604('0x3b')]=_[_0x0604('0x3c')](_0x1cb5df[_0x0604('0x3b')],{'$or':_['map'](_0x5a3a73,function(_0x1a26e4){if(_0x1a26e4[_0x0604('0x2f')]!=='VIRTUAL'){var _0x1a57e3={};_0x1a57e3[_0x1a26e4[_0x0604('0x29')]]={'$like':'%'+_0x5875d7[_0x0604('0x31')][_0x0604('0x3a')]+'%'};return _0x1a57e3;}})});}_0x1cb5df=_['merge']({},_0x1cb5df,_0x5875d7['options']);var _0xdd2264={'where':_0x1cb5df[_0x0604('0x3b')]};return db[_0x0604('0x3d')][_0x0604('0x1e')](_0xdd2264)[_0x0604('0x26')](function(_0x43131b){_0x509688[_0x0604('0x1e')]=_0x43131b;if(_0x5875d7[_0x0604('0x31')][_0x0604('0x3e')]){_0x1cb5df['include']=[{'all':!![]}];}return db[_0x0604('0x3d')][_0x0604('0x3f')](_0x1cb5df);})[_0x0604('0x26')](function(_0x220fd3){_0x509688[_0x0604('0x40')]=_0x220fd3;return _0x509688;})[_0x0604('0x26')](respondWithFilteredResult(_0x471558,_0x1cb5df))[_0x0604('0x41')](handleError(_0x471558,null));};exports[_0x0604('0x42')]=function(_0x4476d2,_0x462231){var _0x3871e2={'raw':!![],'where':{'id':_0x4476d2[_0x0604('0x43')]['id']}},_0x173944={};_0x173944['model']=_[_0x0604('0x44')](db['SmsApplication'][_0x0604('0x2d')]);_0x173944['query']=_[_0x0604('0x44')](_0x4476d2[_0x0604('0x31')]);_0x173944[_0x0604('0x32')]=_[_0x0604('0x34')](_0x173944['model'],_0x173944[_0x0604('0x31')]);_0x3871e2[_0x0604('0x33')]=_['intersection'](_0x173944[_0x0604('0x30')],qs[_0x0604('0x35')](_0x4476d2['query'][_0x0604('0x35')]));_0x3871e2[_0x0604('0x33')]=_0x3871e2[_0x0604('0x33')][_0x0604('0x45')]?_0x3871e2[_0x0604('0x33')]:_0x173944[_0x0604('0x30')];if(_0x4476d2[_0x0604('0x31')]['includeAll']){_0x3871e2['include']=[{'all':!![]}];}_0x3871e2=_[_0x0604('0x3c')]({},_0x3871e2,_0x4476d2[_0x0604('0x46')]);return db['SmsApplication'][_0x0604('0x47')](_0x3871e2)[_0x0604('0x26')](handleEntityNotFound(_0x462231,null))[_0x0604('0x26')](respondWithResult(_0x462231,null))[_0x0604('0x41')](handleError(_0x462231,null));};exports[_0x0604('0x48')]=function(_0x4e6503,_0x57b2c3){return db['SmsApplication']['create'](_0x4e6503[_0x0604('0x49')],{})[_0x0604('0x26')](respondWithResult(_0x57b2c3,0xc9))['catch'](handleError(_0x57b2c3,null));};exports[_0x0604('0x25')]=function(_0x247b92,_0x43fbbc){if(_0x247b92[_0x0604('0x49')]['id']){delete _0x247b92[_0x0604('0x49')]['id'];}return db[_0x0604('0x3d')][_0x0604('0x47')]({'where':{'id':_0x247b92[_0x0604('0x43')]['id']}})[_0x0604('0x26')](handleEntityNotFound(_0x43fbbc,null))[_0x0604('0x26')](saveUpdates(_0x247b92[_0x0604('0x49')],null))[_0x0604('0x26')](respondWithResult(_0x43fbbc,null))[_0x0604('0x41')](handleError(_0x43fbbc,null));};exports[_0x0604('0x4a')]=function(_0x4da7a3,_0x3385e6){return db[_0x0604('0x3d')][_0x0604('0x47')]({'where':{'id':_0x4da7a3[_0x0604('0x43')]['id']}})[_0x0604('0x26')](handleEntityNotFound(_0x3385e6,null))['then'](removeEntity(_0x3385e6,null))[_0x0604('0x41')](handleError(_0x3385e6,null));};