a6222205eef6e32641182aea6fb62a3e73fa81b5
[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 _0x7348=['path','to-csv','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','map','SmsApplication','rawAttributes','fieldName','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','type','VIRTUAL','includeAll','include','findAll','catch','show','params','options','find','create','update','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache'];(function(_0x2e890e,_0x1a22b7){var _0x5d2b7f=function(_0x464442){while(--_0x464442){_0x2e890e['push'](_0x2e890e['shift']());}};_0x5d2b7f(++_0x1a22b7);}(_0x7348,0x16b));var _0x8734=function(_0x4b369d,_0x265eb8){_0x4b369d=_0x4b369d-0x0;var _0x571a98=_0x7348[_0x4b369d];return _0x571a98;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8734('0x0'));var rimraf=require(_0x8734('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8734('0x2'));var rp=require(_0x8734('0x3'));var moment=require(_0x8734('0x4'));var BPromise=require(_0x8734('0x5'));var Mustache=require(_0x8734('0x6'));var util=require('util');var path=require(_0x8734('0x7'));var sox=require('sox');var csv=require(_0x8734('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x8734('0x9'));var squel=require(_0x8734('0xa'));var crypto=require(_0x8734('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x8734('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x8734('0xd'));var Redis=require('ioredis');var authService=require(_0x8734('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x8734('0xf'));var hardwareService=require(_0x8734('0x10'));var logger=require(_0x8734('0x11'))(_0x8734('0x12'));var utils=require('../../config/utils');var config=require(_0x8734('0x13'));var licenseUtil=require(_0x8734('0x14'));var db=require(_0x8734('0x15'))['db'];function respondWithStatusCode(_0x9c3bf3,_0xca1e47){_0xca1e47=_0xca1e47||0xcc;return function(_0x110e0f){if(_0x110e0f){return _0x9c3bf3[_0x8734('0x16')](_0xca1e47);}return _0x9c3bf3['status'](_0xca1e47)[_0x8734('0x17')]();};}function respondWithResult(_0x4986b6,_0x5b3360){_0x5b3360=_0x5b3360||0xc8;return function(_0x5750ae){if(_0x5750ae){return _0x4986b6[_0x8734('0x18')](_0x5b3360)[_0x8734('0x19')](_0x5750ae);}};}function respondWithFilteredResult(_0xcd2b64,_0x381cfb){return function(_0x642d54){if(_0x642d54){var _0x4a90aa=_0x642d54[_0x8734('0x1a')],_0x331872=_0x381cfb[_0x8734('0x1b')],_0x25fe2a=_0x381cfb[_0x8734('0x1b')]+_0x381cfb[_0x8734('0x1c')],_0x5b1663;if(_0x25fe2a>=_0x4a90aa){_0x25fe2a=_0x4a90aa;_0x5b1663=0xc8;}else{_0x5b1663=0xce;}_0xcd2b64[_0x8734('0x18')](_0x5b1663);return _0xcd2b64[_0x8734('0x1d')](_0x8734('0x1e'),_0x331872+'-'+_0x25fe2a+'/'+_0x4a90aa)['json'](_0x642d54);}return null;};}function patchUpdates(_0x564a92){return function(_0x3d2e95){try{jsonpatch[_0x8734('0x1f')](_0x3d2e95,_0x564a92,!![]);}catch(_0x363393){return BPromise[_0x8734('0x20')](_0x363393);}return _0x3d2e95[_0x8734('0x21')]();};}function saveUpdates(_0xdf974b,_0x4885c0){return function(_0x4892c9){if(_0x4892c9){return _0x4892c9['update'](_0xdf974b)[_0x8734('0x22')](function(_0x21fde7){return _0x21fde7;});}return null;};}function removeEntity(_0x5ee54a,_0x2d94d8){return function(_0x1cd22e){if(_0x1cd22e){return _0x1cd22e[_0x8734('0x23')]()[_0x8734('0x22')](function(){_0x5ee54a['status'](0xcc)[_0x8734('0x17')]();});}};}function handleEntityNotFound(_0x4a022e,_0x3fc8c8){return function(_0xa65ce6){if(!_0xa65ce6){_0x4a022e[_0x8734('0x16')](0x194);}return _0xa65ce6;};}function handleError(_0x316fe6,_0x440d4d){_0x440d4d=_0x440d4d||0x1f4;return function(_0x23b59e){logger[_0x8734('0x24')](_0x23b59e[_0x8734('0x25')]);if(_0x23b59e['name']){delete _0x23b59e[_0x8734('0x26')];}_0x316fe6[_0x8734('0x18')](_0x440d4d)[_0x8734('0x27')](_0x23b59e);};}exports[_0x8734('0x28')]=function(_0x14ea87,_0x232170){var _0xa831f3={},_0x3acb61={},_0x57530f={'count':0x0,'rows':[]};var _0xd12ca7=_[_0x8734('0x29')](db[_0x8734('0x2a')][_0x8734('0x2b')],function(_0x2c439d){return{'name':_0x2c439d[_0x8734('0x2c')],'type':_0x2c439d['type'][_0x8734('0x2d')]};});_0x3acb61[_0x8734('0x2e')]=_['map'](_0xd12ca7,_0x8734('0x26'));_0x3acb61['query']=_[_0x8734('0x2f')](_0x14ea87[_0x8734('0x30')]);_0x3acb61[_0x8734('0x31')]=_[_0x8734('0x32')](_0x3acb61[_0x8734('0x2e')],_0x3acb61[_0x8734('0x30')]);_0xa831f3[_0x8734('0x33')]=_['intersection'](_0x3acb61[_0x8734('0x2e')],qs[_0x8734('0x34')](_0x14ea87[_0x8734('0x30')]['fields']));_0xa831f3[_0x8734('0x33')]=_0xa831f3[_0x8734('0x33')][_0x8734('0x35')]?_0xa831f3[_0x8734('0x33')]:_0x3acb61[_0x8734('0x2e')];if(!_0x14ea87[_0x8734('0x30')][_0x8734('0x36')]('nolimit')){_0xa831f3['limit']=qs['limit'](_0x14ea87[_0x8734('0x30')][_0x8734('0x1c')]);_0xa831f3[_0x8734('0x1b')]=qs[_0x8734('0x1b')](_0x14ea87['query'][_0x8734('0x1b')]);}_0xa831f3[_0x8734('0x37')]=qs[_0x8734('0x38')](_0x14ea87[_0x8734('0x30')][_0x8734('0x38')]);_0xa831f3[_0x8734('0x39')]=qs['filters'](_[_0x8734('0x3a')](_0x14ea87['query'],_0x3acb61['filters']),_0xd12ca7);if(_0x14ea87['query'][_0x8734('0x3b')]){_0xa831f3[_0x8734('0x39')]=_[_0x8734('0x3c')](_0xa831f3[_0x8734('0x39')],{'$or':_[_0x8734('0x29')](_0xd12ca7,function(_0x4e6740){if(_0x4e6740[_0x8734('0x3d')]!==_0x8734('0x3e')){var _0x56af1b={};_0x56af1b[_0x4e6740[_0x8734('0x26')]]={'$like':'%'+_0x14ea87['query'][_0x8734('0x3b')]+'%'};return _0x56af1b;}})});}_0xa831f3=_[_0x8734('0x3c')]({},_0xa831f3,_0x14ea87['options']);var _0x25ae8f={'where':_0xa831f3['where']};return db[_0x8734('0x2a')][_0x8734('0x1a')](_0x25ae8f)[_0x8734('0x22')](function(_0x4428eb){_0x57530f[_0x8734('0x1a')]=_0x4428eb;if(_0x14ea87[_0x8734('0x30')][_0x8734('0x3f')]){_0xa831f3[_0x8734('0x40')]=[{'all':!![]}];}return db[_0x8734('0x2a')][_0x8734('0x41')](_0xa831f3);})[_0x8734('0x22')](function(_0x2fea68){_0x57530f['rows']=_0x2fea68;return _0x57530f;})[_0x8734('0x22')](respondWithFilteredResult(_0x232170,_0xa831f3))[_0x8734('0x42')](handleError(_0x232170,null));};exports[_0x8734('0x43')]=function(_0x37cdf2,_0x22dc22){var _0x3b3643={'raw':!![],'where':{'id':_0x37cdf2[_0x8734('0x44')]['id']}},_0x9008ce={};_0x9008ce[_0x8734('0x2e')]=_[_0x8734('0x2f')](db['SmsApplication'][_0x8734('0x2b')]);_0x9008ce[_0x8734('0x30')]=_[_0x8734('0x2f')](_0x37cdf2[_0x8734('0x30')]);_0x9008ce[_0x8734('0x31')]=_[_0x8734('0x32')](_0x9008ce['model'],_0x9008ce['query']);_0x3b3643['attributes']=_['intersection'](_0x9008ce[_0x8734('0x2e')],qs['fields'](_0x37cdf2[_0x8734('0x30')]['fields']));_0x3b3643[_0x8734('0x33')]=_0x3b3643[_0x8734('0x33')][_0x8734('0x35')]?_0x3b3643[_0x8734('0x33')]:_0x9008ce[_0x8734('0x2e')];if(_0x37cdf2[_0x8734('0x30')]['includeAll']){_0x3b3643[_0x8734('0x40')]=[{'all':!![]}];}_0x3b3643=_[_0x8734('0x3c')]({},_0x3b3643,_0x37cdf2[_0x8734('0x45')]);return db[_0x8734('0x2a')][_0x8734('0x46')](_0x3b3643)[_0x8734('0x22')](handleEntityNotFound(_0x22dc22,null))[_0x8734('0x22')](respondWithResult(_0x22dc22,null))[_0x8734('0x42')](handleError(_0x22dc22,null));};exports['create']=function(_0x3e6099,_0xe5bb27){return db[_0x8734('0x2a')][_0x8734('0x47')](_0x3e6099['body'],{})[_0x8734('0x22')](respondWithResult(_0xe5bb27,0xc9))[_0x8734('0x42')](handleError(_0xe5bb27,null));};exports[_0x8734('0x48')]=function(_0x46cbcd,_0x314055){if(_0x46cbcd['body']['id']){delete _0x46cbcd[_0x8734('0x49')]['id'];}return db['SmsApplication'][_0x8734('0x46')]({'where':{'id':_0x46cbcd['params']['id']}})[_0x8734('0x22')](handleEntityNotFound(_0x314055,null))['then'](saveUpdates(_0x46cbcd[_0x8734('0x49')],null))['then'](respondWithResult(_0x314055,null))['catch'](handleError(_0x314055,null));};exports['destroy']=function(_0x83039e,_0xe395f4){return db[_0x8734('0x2a')]['find']({'where':{'id':_0x83039e[_0x8734('0x44')]['id']}})[_0x8734('0x22')](handleEntityNotFound(_0xe395f4,null))[_0x8734('0x22')](removeEntity(_0xe395f4,null))['catch'](handleError(_0xe395f4,null));};