Built motion from commit da24aabd.|2.6.20
[motion2.git] / server / api / intFreshsalesField / intFreshsalesField.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 _0xa89e=['../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','count','limit','set','Content-Range','update','then','sendStatus','stack','name','index','map','FreshsalesField','rawAttributes','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','merge','type','VIRTUAL','filter','options','includeAll','findAll','rows','show','find','create','body','params','catch','destroy','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x54945a,_0x3e000b){var _0x508756=function(_0x2758f2){while(--_0x2758f2){_0x54945a['push'](_0x54945a['shift']());}};_0x508756(++_0x3e000b);}(_0xa89e,0x1ef));var _0xea89=function(_0x228b40,_0x40b51f){_0x228b40=_0x228b40-0x0;var _0x1407bb=_0xa89e[_0x228b40];return _0x1407bb;};'use strict';var emlformat=require(_0xea89('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xea89('0x1'));var rp=require(_0xea89('0x2'));var moment=require(_0xea89('0x3'));var BPromise=require(_0xea89('0x4'));var Mustache=require(_0xea89('0x5'));var util=require(_0xea89('0x6'));var path=require(_0xea89('0x7'));var sox=require(_0xea89('0x8'));var csv=require(_0xea89('0x9'));var ejs=require(_0xea89('0xa'));var fs=require('fs');var fs_extra=require(_0xea89('0xb'));var _=require(_0xea89('0xc'));var squel=require(_0xea89('0xd'));var crypto=require(_0xea89('0xe'));var jsforce=require(_0xea89('0xf'));var deskjs=require(_0xea89('0x10'));var toCsv=require('to-csv');var querystring=require(_0xea89('0x11'));var Papa=require(_0xea89('0x12'));var Redis=require(_0xea89('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xea89('0x14'));var as=require(_0xea89('0x15'));var hardwareService=require(_0xea89('0x16'));var logger=require(_0xea89('0x17'))('api');var utils=require(_0xea89('0x18'));var config=require(_0xea89('0x19'));var licenseUtil=require(_0xea89('0x1a'));var db=require(_0xea89('0x1b'))['db'];function respondWithStatusCode(_0x144235,_0x3ec83c){_0x3ec83c=_0x3ec83c||0xcc;return function(_0x160f63){if(_0x160f63){return _0x144235['sendStatus'](_0x3ec83c);}return _0x144235[_0xea89('0x1c')](_0x3ec83c)[_0xea89('0x1d')]();};}function respondWithResult(_0xca5e49,_0x95bb83){_0x95bb83=_0x95bb83||0xc8;return function(_0x17d66a){if(_0x17d66a){return _0xca5e49['status'](_0x95bb83)['json'](_0x17d66a);}};}function respondWithFilteredResult(_0x1ff54d,_0x4c0c79){return function(_0x111e9c){if(_0x111e9c){var _0x2b69e7=typeof _0x4c0c79[_0xea89('0x1e')]===_0xea89('0x1f')&&typeof _0x4c0c79['limit']===_0xea89('0x1f');var _0x5e2d40=_0x111e9c[_0xea89('0x20')];var _0x29aeee=_0x2b69e7?0x0:_0x4c0c79[_0xea89('0x1e')];var _0x533f01=_0x2b69e7?_0x111e9c[_0xea89('0x20')]:_0x4c0c79[_0xea89('0x1e')]+_0x4c0c79[_0xea89('0x21')];var _0x143958;if(_0x533f01>=_0x5e2d40){_0x533f01=_0x5e2d40;_0x143958=0xc8;}else{_0x143958=0xce;}_0x1ff54d[_0xea89('0x1c')](_0x143958);return _0x1ff54d[_0xea89('0x22')](_0xea89('0x23'),_0x29aeee+'-'+_0x533f01+'/'+_0x5e2d40)['json'](_0x111e9c);}return null;};}function patchUpdates(_0x108c0d){return function(_0x4dea27){try{jsonpatch['apply'](_0x4dea27,_0x108c0d,!![]);}catch(_0x390bf9){return BPromise['reject'](_0x390bf9);}return _0x4dea27['save']();};}function saveUpdates(_0x49e6ed,_0x7755cf){return function(_0x29914d){if(_0x29914d){return _0x29914d[_0xea89('0x24')](_0x49e6ed)[_0xea89('0x25')](function(_0x336c3e){return _0x336c3e;});}return null;};}function removeEntity(_0x26056d,_0x23bb0a){return function(_0x220fb8){if(_0x220fb8){return _0x220fb8['destroy']()['then'](function(){_0x26056d['status'](0xcc)[_0xea89('0x1d')]();});}};}function handleEntityNotFound(_0x41a861,_0x3c2ffb){return function(_0x4c34a1){if(!_0x4c34a1){_0x41a861[_0xea89('0x26')](0x194);}return _0x4c34a1;};}function handleError(_0x44c5ca,_0x6d9a7d){_0x6d9a7d=_0x6d9a7d||0x1f4;return function(_0x5c6dc1){logger['error'](_0x5c6dc1[_0xea89('0x27')]);if(_0x5c6dc1[_0xea89('0x28')]){delete _0x5c6dc1[_0xea89('0x28')];}_0x44c5ca['status'](_0x6d9a7d)['send'](_0x5c6dc1);};}exports[_0xea89('0x29')]=function(_0x54109a,_0x39a6f4){var _0x4c8e5d={},_0x28c629={},_0x5d3674={'count':0x0,'rows':[]};var _0x3eaa50=_[_0xea89('0x2a')](db[_0xea89('0x2b')][_0xea89('0x2c')],function(_0x58a5fc){return{'name':_0x58a5fc['fieldName'],'type':_0x58a5fc['type']['key']};});_0x28c629[_0xea89('0x2d')]=_[_0xea89('0x2a')](_0x3eaa50,_0xea89('0x28'));_0x28c629[_0xea89('0x2e')]=_[_0xea89('0x2f')](_0x54109a[_0xea89('0x2e')]);_0x28c629['filters']=_[_0xea89('0x30')](_0x28c629['model'],_0x28c629[_0xea89('0x2e')]);_0x4c8e5d[_0xea89('0x31')]=_[_0xea89('0x30')](_0x28c629[_0xea89('0x2d')],qs['fields'](_0x54109a[_0xea89('0x2e')][_0xea89('0x32')]));_0x4c8e5d[_0xea89('0x31')]=_0x4c8e5d[_0xea89('0x31')][_0xea89('0x33')]?_0x4c8e5d[_0xea89('0x31')]:_0x28c629[_0xea89('0x2d')];if(!_0x54109a[_0xea89('0x2e')][_0xea89('0x34')](_0xea89('0x35'))){_0x4c8e5d[_0xea89('0x21')]=qs[_0xea89('0x21')](_0x54109a['query'][_0xea89('0x21')]);_0x4c8e5d[_0xea89('0x1e')]=qs[_0xea89('0x1e')](_0x54109a[_0xea89('0x2e')][_0xea89('0x1e')]);}_0x4c8e5d[_0xea89('0x36')]=qs[_0xea89('0x37')](_0x54109a[_0xea89('0x2e')][_0xea89('0x37')]);_0x4c8e5d[_0xea89('0x38')]=qs['filters'](_[_0xea89('0x39')](_0x54109a[_0xea89('0x2e')],_0x28c629[_0xea89('0x3a')]),_0x3eaa50);if(_0x54109a['query']['filter']){_0x4c8e5d[_0xea89('0x38')]=_[_0xea89('0x3b')](_0x4c8e5d['where'],{'$or':_['map'](_0x3eaa50,function(_0x55bdb1){if(_0x55bdb1[_0xea89('0x3c')]!==_0xea89('0x3d')){var _0x129875={};_0x129875[_0x55bdb1['name']]={'$like':'%'+_0x54109a[_0xea89('0x2e')][_0xea89('0x3e')]+'%'};return _0x129875;}})});}_0x4c8e5d=_[_0xea89('0x3b')]({},_0x4c8e5d,_0x54109a[_0xea89('0x3f')]);var _0x115640={'where':_0x4c8e5d['where']};return db[_0xea89('0x2b')][_0xea89('0x20')](_0x115640)[_0xea89('0x25')](function(_0x4aa947){_0x5d3674[_0xea89('0x20')]=_0x4aa947;if(_0x54109a['query'][_0xea89('0x40')]){_0x4c8e5d['include']=[{'all':!![]}];}return db[_0xea89('0x2b')][_0xea89('0x41')](_0x4c8e5d);})[_0xea89('0x25')](function(_0x38ff0e){_0x5d3674[_0xea89('0x42')]=_0x38ff0e;return _0x5d3674;})[_0xea89('0x25')](respondWithFilteredResult(_0x39a6f4,_0x4c8e5d))['catch'](handleError(_0x39a6f4,null));};exports[_0xea89('0x43')]=function(_0xebb58b,_0x4b208d){var _0x505a89={'raw':!![],'where':{'id':_0xebb58b['params']['id']}},_0x5dbf90={};_0x5dbf90[_0xea89('0x2d')]=_[_0xea89('0x2f')](db[_0xea89('0x2b')][_0xea89('0x2c')]);_0x5dbf90['query']=_[_0xea89('0x2f')](_0xebb58b['query']);_0x5dbf90[_0xea89('0x3a')]=_[_0xea89('0x30')](_0x5dbf90[_0xea89('0x2d')],_0x5dbf90[_0xea89('0x2e')]);_0x505a89[_0xea89('0x31')]=_[_0xea89('0x30')](_0x5dbf90[_0xea89('0x2d')],qs['fields'](_0xebb58b[_0xea89('0x2e')][_0xea89('0x32')]));_0x505a89['attributes']=_0x505a89[_0xea89('0x31')]['length']?_0x505a89[_0xea89('0x31')]:_0x5dbf90[_0xea89('0x2d')];if(_0xebb58b[_0xea89('0x2e')][_0xea89('0x40')]){_0x505a89['include']=[{'all':!![]}];}_0x505a89=_[_0xea89('0x3b')]({},_0x505a89,_0xebb58b['options']);return db['FreshsalesField'][_0xea89('0x44')](_0x505a89)[_0xea89('0x25')](handleEntityNotFound(_0x4b208d,null))[_0xea89('0x25')](respondWithResult(_0x4b208d,null))['catch'](handleError(_0x4b208d,null));};exports[_0xea89('0x45')]=function(_0x3f2bab,_0x13534b){return db['FreshsalesField'][_0xea89('0x45')](_0x3f2bab[_0xea89('0x46')],{})[_0xea89('0x25')](respondWithResult(_0x13534b,0xc9))['catch'](handleError(_0x13534b,null));};exports[_0xea89('0x24')]=function(_0x4e5d5e,_0x1d1d0f){if(_0x4e5d5e[_0xea89('0x46')]['id']){delete _0x4e5d5e[_0xea89('0x46')]['id'];}return db[_0xea89('0x2b')][_0xea89('0x44')]({'where':{'id':_0x4e5d5e[_0xea89('0x47')]['id']}})[_0xea89('0x25')](handleEntityNotFound(_0x1d1d0f,null))[_0xea89('0x25')](saveUpdates(_0x4e5d5e[_0xea89('0x46')],null))[_0xea89('0x25')](respondWithResult(_0x1d1d0f,null))[_0xea89('0x48')](handleError(_0x1d1d0f,null));};exports[_0xea89('0x49')]=function(_0x587fb7,_0x2bf644){return db[_0xea89('0x2b')]['find']({'where':{'id':_0x587fb7['params']['id']}})['then'](handleEntityNotFound(_0x2bf644,null))[_0xea89('0x25')](removeEntity(_0x2bf644,null))[_0xea89('0x48')](handleError(_0x2bf644,null));};