Built motion from commit (unavailable).|2.5.2
[motion2.git] / server / api / intFreshsalesAccount / intFreshsalesAccount.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 _0x05d8=['GET','format','%s%s','/api/selector/owners','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','test','getFields,\x20%s,\x20%s,\x20%s','send','statusCode','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','ejs','lodash','squel','crypto','desk.js','to-csv','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','jayson/promise','http','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','request\x20sent','FreshsalesAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','FreshsalesAccount,\x20%s,\x20%s','info','catch','end','status','offset','limit','set','json','apply','reject','save','update','destroy','sendStatus','name','index','map','FreshsalesAccount','type','key','model','keys','query','filters','intersection','attributes','fields','length','nolimit','where','pick','filter','merge','VIRTUAL','options','count','includeAll','rows','show','params','include','find','create','body','getConfigurations','findOne','order','sort','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshsalesConfiguration','FreshsalesField','getFields','apiKey','remoteUri','slice','substring','lastIndexOf'];(function(_0x17d9e3,_0x1f969c){var _0x14192d=function(_0x159745){while(--_0x159745){_0x17d9e3['push'](_0x17d9e3['shift']());}};_0x14192d(++_0x1f969c);}(_0x05d8,0x7d));var _0x805d=function(_0x1caf6a,_0x26a5bf){_0x1caf6a=_0x1caf6a-0x0;var _0x1bf493=_0x05d8[_0x1caf6a];return _0x1bf493;};'use strict';var pdf=require(_0x805d('0x0'));var emlformat=require(_0x805d('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x805d('0x2'));var jsonpatch=require(_0x805d('0x3'));var rp=require(_0x805d('0x4'));var moment=require(_0x805d('0x5'));var BPromise=require(_0x805d('0x6'));var Mustache=require(_0x805d('0x7'));var util=require('util');var path=require(_0x805d('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x805d('0x9'));var fs=require('fs');var _=require(_0x805d('0xa'));var squel=require(_0x805d('0xb'));var crypto=require(_0x805d('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x805d('0xd'));var toCsv=require(_0x805d('0xe'));var querystring=require('querystring');var Papa=require(_0x805d('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x805d('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x805d('0x11'));var logger=require(_0x805d('0x12'))(_0x805d('0x13'));var utils=require(_0x805d('0x14'));var config=require(_0x805d('0x15'));var db=require(_0x805d('0x16'))['db'];var integrations=require(_0x805d('0x17'));var jayson=require(_0x805d('0x18'));var client=jayson['client'][_0x805d('0x19')]({'port':0x232a});function checkPasswordPattern(_0x8ef5cf,_0x3835af,_0x7ca377){if(_0x7ca377){var _0x4e6aad=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x4e6aad['test'](_0x3835af)){return _0x8ef5cf;}else{throw new db[(_0x805d('0x1a'))][(_0x805d('0x1b'))](_0x805d('0x1c'));}}else{return _0x8ef5cf;}}function respondWithRpcPromise(_0xf2a4b8,_0xd699f5,_0x18d92c,_0x39e31b){return new BPromise(function(_0x55981b,_0xf427e6){var _0x520401=_0x39e31b||client;return _0x520401[_0x805d('0x1d')](_0xf2a4b8,_0x18d92c)[_0x805d('0x1e')](function(_0x51112f){logger['info']('FreshsalesAccount,\x20%s,\x20%s',_0xd699f5,_0x805d('0x1f'));logger['debug'](_0x805d('0x20'),_0xd699f5,'request\x20sent',JSON[_0x805d('0x21')](_0x51112f));if(_0x51112f[_0x805d('0x22')]){if(_0x51112f['error'][_0x805d('0x23')]===0x1f4){logger[_0x805d('0x22')]('FreshsalesAccount,\x20%s,\x20%s',_0xd699f5,_0x51112f['error'][_0x805d('0x24')]);return _0xf427e6(_0x51112f[_0x805d('0x22')][_0x805d('0x24')]);}logger[_0x805d('0x22')](_0x805d('0x25'),_0xd699f5,_0x51112f[_0x805d('0x22')][_0x805d('0x24')]);return _0x55981b(_0x51112f[_0x805d('0x22')][_0x805d('0x24')]);}else{logger[_0x805d('0x26')](_0x805d('0x25'),_0xd699f5,'request\x20sent');_0x55981b(_0x51112f['result']['message']);}})[_0x805d('0x27')](function(_0x49127d){logger['error'](_0x805d('0x25'),_0xd699f5,_0x49127d);_0xf427e6(_0x49127d);});});}function respondWithStatusCode(_0x404cda,_0x44c939){_0x44c939=_0x44c939||0xcc;return function(_0x2e6df8){if(_0x2e6df8){return _0x404cda['sendStatus'](_0x44c939);}return _0x404cda['status'](_0x44c939)[_0x805d('0x28')]();};}function respondWithResult(_0x267836,_0x1a3c59){_0x1a3c59=_0x1a3c59||0xc8;return function(_0x259598){if(_0x259598){return _0x267836[_0x805d('0x29')](_0x1a3c59)['json'](_0x259598);}};}function respondWithFilteredResult(_0x4b8b17,_0x4077d1){return function(_0x2a2123){if(_0x2a2123){var _0x2283b3=_0x2a2123['count'],_0x5183d2=_0x4077d1[_0x805d('0x2a')],_0x285fea=_0x4077d1[_0x805d('0x2a')]+_0x4077d1[_0x805d('0x2b')],_0x14b36d;if(_0x285fea>=_0x2283b3){_0x285fea=_0x2283b3;_0x14b36d=0xc8;}else{_0x14b36d=0xce;}_0x4b8b17[_0x805d('0x29')](_0x14b36d);return _0x4b8b17[_0x805d('0x2c')]('Content-Range',_0x5183d2+'-'+_0x285fea+'/'+_0x2283b3)[_0x805d('0x2d')](_0x2a2123);}return null;};}function patchUpdates(_0x3b4197){return function(_0x49d433){try{jsonpatch[_0x805d('0x2e')](_0x49d433,_0x3b4197,!![]);}catch(_0x28d8ae){return BPromise[_0x805d('0x2f')](_0x28d8ae);}return _0x49d433[_0x805d('0x30')]();};}function saveUpdates(_0x233f6d,_0x3cef9d){return function(_0x36b865){if(_0x36b865){return _0x36b865[_0x805d('0x31')](_0x233f6d)[_0x805d('0x1e')](function(_0x46c6eb){return _0x46c6eb;});}return null;};}function removeEntity(_0x395dd6,_0xb46c01){return function(_0x343dd7){if(_0x343dd7){return _0x343dd7[_0x805d('0x32')]()[_0x805d('0x1e')](function(){_0x395dd6['status'](0xcc)[_0x805d('0x28')]();});}};}function handleEntityNotFound(_0x50d444,_0x3dba78){return function(_0x61de97){if(!_0x61de97){_0x50d444[_0x805d('0x33')](0x194);}return _0x61de97;};}function handleError(_0x584328,_0x175cf2){_0x175cf2=_0x175cf2||0x1f4;return function(_0x413884){logger['error'](_0x413884['stack']);if(_0x413884['name']){delete _0x413884[_0x805d('0x34')];}_0x584328['status'](_0x175cf2)['send'](_0x413884);};}exports[_0x805d('0x35')]=function(_0x2cd679,_0x372fa4){var _0x2214ba={},_0xca2705={},_0x4c00e2={'count':0x0,'rows':[]};var _0x3c678c=_[_0x805d('0x36')](db[_0x805d('0x37')]['rawAttributes'],function(_0x405402){return{'name':_0x405402['fieldName'],'type':_0x405402[_0x805d('0x38')][_0x805d('0x39')]};});_0xca2705[_0x805d('0x3a')]=_[_0x805d('0x36')](_0x3c678c,_0x805d('0x34'));_0xca2705['query']=_[_0x805d('0x3b')](_0x2cd679[_0x805d('0x3c')]);_0xca2705[_0x805d('0x3d')]=_[_0x805d('0x3e')](_0xca2705[_0x805d('0x3a')],_0xca2705[_0x805d('0x3c')]);_0x2214ba[_0x805d('0x3f')]=_['intersection'](_0xca2705[_0x805d('0x3a')],qs[_0x805d('0x40')](_0x2cd679['query'][_0x805d('0x40')]));_0x2214ba[_0x805d('0x3f')]=_0x2214ba[_0x805d('0x3f')][_0x805d('0x41')]?_0x2214ba[_0x805d('0x3f')]:_0xca2705[_0x805d('0x3a')];if(!_0x2cd679[_0x805d('0x3c')]['hasOwnProperty'](_0x805d('0x42'))){_0x2214ba[_0x805d('0x2b')]=qs[_0x805d('0x2b')](_0x2cd679['query'][_0x805d('0x2b')]);_0x2214ba[_0x805d('0x2a')]=qs[_0x805d('0x2a')](_0x2cd679[_0x805d('0x3c')][_0x805d('0x2a')]);}_0x2214ba['order']=qs['sort'](_0x2cd679['query']['sort']);_0x2214ba[_0x805d('0x43')]=qs[_0x805d('0x3d')](_[_0x805d('0x44')](_0x2cd679[_0x805d('0x3c')],_0xca2705['filters']),_0x3c678c);if(_0x2cd679[_0x805d('0x3c')][_0x805d('0x45')]){_0x2214ba[_0x805d('0x43')]=_[_0x805d('0x46')](_0x2214ba['where'],{'$or':_[_0x805d('0x36')](_0x3c678c,function(_0x327a0d){if(_0x327a0d[_0x805d('0x38')]!==_0x805d('0x47')){var _0x2cb394={};_0x2cb394[_0x327a0d[_0x805d('0x34')]]={'$like':'%'+_0x2cd679[_0x805d('0x3c')][_0x805d('0x45')]+'%'};return _0x2cb394;}})});}_0x2214ba=_['merge']({},_0x2214ba,_0x2cd679[_0x805d('0x48')]);var _0x470c0f={'where':_0x2214ba[_0x805d('0x43')]};return db['FreshsalesAccount'][_0x805d('0x49')](_0x470c0f)[_0x805d('0x1e')](function(_0x309ebc){_0x4c00e2['count']=_0x309ebc;if(_0x2cd679['query'][_0x805d('0x4a')]){_0x2214ba['include']=[{'all':!![]}];}return db[_0x805d('0x37')]['findAll'](_0x2214ba);})[_0x805d('0x1e')](function(_0x11c804){_0x4c00e2[_0x805d('0x4b')]=_0x11c804;return _0x4c00e2;})[_0x805d('0x1e')](respondWithFilteredResult(_0x372fa4,_0x2214ba))[_0x805d('0x27')](handleError(_0x372fa4,null));};exports[_0x805d('0x4c')]=function(_0xc67c12,_0x473ffe){var _0x50893e={'raw':![],'where':{'id':_0xc67c12[_0x805d('0x4d')]['id']}},_0x927042={};_0x927042[_0x805d('0x3a')]=_[_0x805d('0x3b')](db[_0x805d('0x37')]['rawAttributes']);_0x927042['query']=_[_0x805d('0x3b')](_0xc67c12[_0x805d('0x3c')]);_0x927042['filters']=_[_0x805d('0x3e')](_0x927042[_0x805d('0x3a')],_0x927042['query']);_0x50893e['attributes']=_[_0x805d('0x3e')](_0x927042[_0x805d('0x3a')],qs['fields'](_0xc67c12[_0x805d('0x3c')][_0x805d('0x40')]));_0x50893e[_0x805d('0x3f')]=_0x50893e[_0x805d('0x3f')][_0x805d('0x41')]?_0x50893e[_0x805d('0x3f')]:_0x927042[_0x805d('0x3a')];if(_0xc67c12[_0x805d('0x3c')][_0x805d('0x4a')]){_0x50893e[_0x805d('0x4e')]=[{'all':!![]}];}_0x50893e=_[_0x805d('0x46')]({},_0x50893e,_0xc67c12[_0x805d('0x48')]);return db[_0x805d('0x37')][_0x805d('0x4f')](_0x50893e)['then'](handleEntityNotFound(_0x473ffe,null))['then'](respondWithResult(_0x473ffe,null))['catch'](handleError(_0x473ffe,null));};exports[_0x805d('0x50')]=function(_0x48460d,_0x15e8fe){return db[_0x805d('0x37')][_0x805d('0x50')](_0x48460d[_0x805d('0x51')],{})[_0x805d('0x1e')](respondWithResult(_0x15e8fe,0xc9))['catch'](handleError(_0x15e8fe,null));};exports[_0x805d('0x31')]=function(_0x5e1df2,_0x361f84){if(_0x5e1df2[_0x805d('0x51')]['id']){delete _0x5e1df2[_0x805d('0x51')]['id'];}return db[_0x805d('0x37')][_0x805d('0x4f')]({'where':{'id':_0x5e1df2[_0x805d('0x4d')]['id']}})[_0x805d('0x1e')](handleEntityNotFound(_0x361f84,null))[_0x805d('0x1e')](saveUpdates(_0x5e1df2[_0x805d('0x51')],null))[_0x805d('0x1e')](respondWithResult(_0x361f84,null))[_0x805d('0x27')](handleError(_0x361f84,null));};exports['destroy']=function(_0x5ee122,_0x362623){return db[_0x805d('0x37')]['find']({'where':{'id':_0x5ee122[_0x805d('0x4d')]['id']}})[_0x805d('0x1e')](handleEntityNotFound(_0x362623,null))[_0x805d('0x1e')](removeEntity(_0x362623,null))[_0x805d('0x27')](handleError(_0x362623,null));};exports[_0x805d('0x52')]=function(_0x35a9a7,_0x3e24c2,_0x24729f){var _0x17123e={};var _0x17df65={};var _0x17d9bb;var _0x51259d;return db[_0x805d('0x37')][_0x805d('0x53')]({'where':{'id':_0x35a9a7[_0x805d('0x4d')]['id']}})[_0x805d('0x1e')](handleEntityNotFound(_0x3e24c2,null))['then'](function(_0x327b7c){if(_0x327b7c){_0x17d9bb=_0x327b7c;_0x17df65['model']=_['keys'](db['FreshsalesConfiguration']['rawAttributes']);_0x17df65[_0x805d('0x3c')]=_[_0x805d('0x3b')](_0x35a9a7[_0x805d('0x3c')]);_0x17df65[_0x805d('0x3d')]=_[_0x805d('0x3e')](_0x17df65[_0x805d('0x3a')],_0x17df65[_0x805d('0x3c')]);_0x17123e[_0x805d('0x3f')]=_[_0x805d('0x3e')](_0x17df65['model'],qs['fields'](_0x35a9a7[_0x805d('0x3c')][_0x805d('0x40')]));_0x17123e[_0x805d('0x3f')]=_0x17123e[_0x805d('0x3f')][_0x805d('0x41')]?_0x17123e['attributes']:_0x17df65[_0x805d('0x3a')];_0x17123e[_0x805d('0x54')]=qs[_0x805d('0x55')](_0x35a9a7['query']['sort']);_0x17123e['where']=qs['filters'](_['pick'](_0x35a9a7[_0x805d('0x3c')],_0x17df65['filters']));if(_0x35a9a7[_0x805d('0x3c')]['filter']){_0x17123e[_0x805d('0x43')]=_['merge'](_0x17123e[_0x805d('0x43')],{'$or':_[_0x805d('0x36')](_0x17123e['attributes'],function(_0x4ab561){var _0x18cb3d={};_0x18cb3d[_0x4ab561]={'$like':'%'+_0x35a9a7[_0x805d('0x3c')][_0x805d('0x45')]+'%'};return _0x18cb3d;})});}_0x17123e=_[_0x805d('0x46')]({},_0x17123e,_0x35a9a7[_0x805d('0x48')]);return _0x17d9bb[_0x805d('0x52')](_0x17123e);}})[_0x805d('0x1e')](function(_0x4ba90a){if(_0x4ba90a){_0x51259d=_0x4ba90a[_0x805d('0x41')];if(!_0x35a9a7['query']['hasOwnProperty'](_0x805d('0x42'))){_0x17123e[_0x805d('0x2b')]=qs[_0x805d('0x2b')](_0x35a9a7['query'][_0x805d('0x2b')]);_0x17123e[_0x805d('0x2a')]=qs[_0x805d('0x2a')](_0x35a9a7['query'][_0x805d('0x2a')]);}return _0x17d9bb['getConfigurations'](_0x17123e);}})[_0x805d('0x1e')](function(_0x3d5ea8){if(_0x3d5ea8){return _0x3d5ea8?{'count':_0x51259d,'rows':_0x3d5ea8}:null;}})[_0x805d('0x1e')](respondWithResult(_0x3e24c2,null))['catch'](handleError(_0x3e24c2,null));};exports[_0x805d('0x56')]=function(_0x2cdc0f,_0x5b98ac,_0x3e3d95){if(_0x2cdc0f['body']['id']){delete _0x2cdc0f[_0x805d('0x51')]['id'];}return db['FreshsalesAccount'][_0x805d('0x53')]({'where':{'id':_0x2cdc0f['params']['id']}})['then'](handleEntityNotFound(_0x5b98ac,null))[_0x805d('0x1e')](function(_0x201d0d){if(_0x201d0d){_0x2cdc0f[_0x805d('0x51')][_0x805d('0x57')]=_0x201d0d['id'];_0x2cdc0f['body'][_0x805d('0x58')]=integrations[_0x805d('0x59')](_0x2cdc0f[_0x805d('0x51')][_0x805d('0x5a')],_0x2cdc0f[_0x805d('0x51')][_0x805d('0x38')]);_0x2cdc0f['body'][_0x805d('0x5b')]=integrations[_0x805d('0x5c')](_0x2cdc0f[_0x805d('0x51')]['channel'],_0x2cdc0f[_0x805d('0x51')]['type']);return db[_0x805d('0x5d')]['create'](_0x2cdc0f[_0x805d('0x51')],{'include':[{'model':db[_0x805d('0x5e')],'as':'Subjects'},{'model':db[_0x805d('0x5e')],'as':_0x805d('0x5b')}]});}return null;})[_0x805d('0x1e')](respondWithResult(_0x5b98ac,null))['catch'](handleError(_0x5b98ac,null));};exports[_0x805d('0x5f')]=function(_0x1f0deb,_0x3bb980,_0x6e2001){var _0x2fefa2='';var _0x774c57='';return db[_0x805d('0x37')][_0x805d('0x53')]({'where':{'id':_0x1f0deb[_0x805d('0x4d')]['id']},'attributes':['id','username','remoteUri',_0x805d('0x60')]})['then'](handleEntityNotFound(_0x3bb980,null))[_0x805d('0x1e')](function(_0x2b0f6b){if(_0x2b0f6b){_0x774c57=_0x2b0f6b['username'];_0x2fefa2=_0x2b0f6b[_0x805d('0x61')];var _0x354f46=_0x2b0f6b[_0x805d('0x61')][_0x805d('0x62')](-0x1);if(_0x354f46==='/'){_0x2fefa2=_0x2fefa2[_0x805d('0x63')](0x0,_0x2fefa2[_0x805d('0x64')](_0x354f46));}return rp({'method':_0x805d('0x65'),'uri':util[_0x805d('0x66')](_0x805d('0x67'),_0x2fefa2,_0x805d('0x68')),'headers':{'Authorization':_0x805d('0x69')+_0x2b0f6b['apiKey']},'json':!![]});}})[_0x805d('0x1e')](function(_0x2db6bf){if(_0x2db6bf){var _0x251003=_0x2db6bf[_0x805d('0x6a')];var _0x4c647d=![];var _0x2d171b=null;for(_0x2d171b=0x0;_0x2d171b<_0x251003[_0x805d('0x41')];_0x2d171b++){if(_0x251003[_0x2d171b][_0x805d('0x6b')]===_0x774c57){_0x4c647d=!![];}}if(_0x4c647d){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x805d('0x6c')});}}})[_0x805d('0x1e')](respondWithResult(_0x3bb980,null))[_0x805d('0x27')](function(_0x3659f1){var _0x271947=_0x1f0deb[_0x805d('0x3c')][_0x805d('0x6d')]?0x1f4:_0x3659f1['statusCode']||0x1f4;logger[_0x805d('0x22')](_0x805d('0x6e'),_0x805d('0x5f'),_0x271947,JSON['stringify'](_0x3659f1));delete _0x3659f1[_0x805d('0x34')];if(_0x271947===0x191){_0x271947=0x190;}_0x3bb980['status'](_0x271947)[_0x805d('0x6f')](_0x1f0deb['query'][_0x805d('0x6d')]?{'message':'Wrong\x20credentials','statusCode':_0x3659f1[_0x805d('0x70')]}:_0x3659f1);});};