f0555b7ce28e3610d760dd7fe089390ca154493a
[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 _0x361d=['stack','name','send','index','map','FreshsalesField','rawAttributes','fieldName','key','query','keys','intersection','model','fields','attributes','order','sort','where','filters','pick','filter','type','VIRTUAL','merge','includeAll','include','rows','catch','show','params','length','options','create','body','find','rimraf','zip-dir','moment','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','offset','limit','count','set','Content-Range','json','apply','reject','save','update','then','error'];(function(_0x5d7cd7,_0x4f46a2){var _0x46dcb5=function(_0xe179e9){while(--_0xe179e9){_0x5d7cd7['push'](_0x5d7cd7['shift']());}};_0x46dcb5(++_0x4f46a2);}(_0x361d,0x6c));var _0xd361=function(_0x3068e9,_0x25e668){_0x3068e9=_0x3068e9-0x0;var _0xa4f7de=_0x361d[_0x3068e9];return _0xa4f7de;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd361('0x0'));var zipdir=require(_0xd361('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xd361('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xd361('0x3'));var util=require(_0xd361('0x4'));var path=require(_0xd361('0x5'));var sox=require(_0xd361('0x6'));var csv=require(_0xd361('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd361('0x8'));var _=require('lodash');var squel=require(_0xd361('0x9'));var crypto=require(_0xd361('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xd361('0xb'));var toCsv=require(_0xd361('0x7'));var querystring=require(_0xd361('0xc'));var Papa=require(_0xd361('0xd'));var Redis=require(_0xd361('0xe'));var authService=require(_0xd361('0xf'));var qs=require(_0xd361('0x10'));var as=require(_0xd361('0x11'));var hardwareService=require(_0xd361('0x12'));var logger=require(_0xd361('0x13'))(_0xd361('0x14'));var utils=require(_0xd361('0x15'));var config=require(_0xd361('0x16'));var licenseUtil=require(_0xd361('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4b7b00,_0x270a53){_0x270a53=_0x270a53||0xcc;return function(_0x129dba){if(_0x129dba){return _0x4b7b00[_0xd361('0x18')](_0x270a53);}return _0x4b7b00[_0xd361('0x19')](_0x270a53)['end']();};}function respondWithResult(_0x40c34,_0x1a0037){_0x1a0037=_0x1a0037||0xc8;return function(_0x552857){if(_0x552857){return _0x40c34[_0xd361('0x19')](_0x1a0037)['json'](_0x552857);}};}function respondWithFilteredResult(_0x4b63b0,_0x201506){return function(_0x30c789){if(_0x30c789){var _0x2f8d7a=typeof _0x201506[_0xd361('0x1a')]==='undefined'&&typeof _0x201506[_0xd361('0x1b')]==='undefined';var _0x28caf4=_0x30c789[_0xd361('0x1c')];var _0x3c0bea=_0x2f8d7a?0x0:_0x201506[_0xd361('0x1a')];var _0x2ef7ed=_0x2f8d7a?_0x30c789[_0xd361('0x1c')]:_0x201506['offset']+_0x201506[_0xd361('0x1b')];var _0x4d96ab;if(_0x2ef7ed>=_0x28caf4){_0x2ef7ed=_0x28caf4;_0x4d96ab=0xc8;}else{_0x4d96ab=0xce;}_0x4b63b0[_0xd361('0x19')](_0x4d96ab);return _0x4b63b0[_0xd361('0x1d')](_0xd361('0x1e'),_0x3c0bea+'-'+_0x2ef7ed+'/'+_0x28caf4)[_0xd361('0x1f')](_0x30c789);}return null;};}function patchUpdates(_0x19cabd){return function(_0x253949){try{jsonpatch[_0xd361('0x20')](_0x253949,_0x19cabd,!![]);}catch(_0x399b4a){return BPromise[_0xd361('0x21')](_0x399b4a);}return _0x253949[_0xd361('0x22')]();};}function saveUpdates(_0x5b6baf,_0x31aba7){return function(_0x33083e){if(_0x33083e){return _0x33083e[_0xd361('0x23')](_0x5b6baf)[_0xd361('0x24')](function(_0x295b93){return _0x295b93;});}return null;};}function removeEntity(_0x2735a8,_0x731543){return function(_0x766bc6){if(_0x766bc6){return _0x766bc6['destroy']()[_0xd361('0x24')](function(){_0x2735a8[_0xd361('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5f3249,_0x43f6c0){return function(_0x12525c){if(!_0x12525c){_0x5f3249[_0xd361('0x18')](0x194);}return _0x12525c;};}function handleError(_0x1e8bc5,_0xc78c30){_0xc78c30=_0xc78c30||0x1f4;return function(_0x34ca93){logger[_0xd361('0x25')](_0x34ca93[_0xd361('0x26')]);if(_0x34ca93[_0xd361('0x27')]){delete _0x34ca93['name'];}_0x1e8bc5[_0xd361('0x19')](_0xc78c30)[_0xd361('0x28')](_0x34ca93);};}exports[_0xd361('0x29')]=function(_0x197399,_0x5029fb){var _0x568025={},_0x2fa055={},_0x2e2259={'count':0x0,'rows':[]};var _0x49be6f=_[_0xd361('0x2a')](db[_0xd361('0x2b')][_0xd361('0x2c')],function(_0x2b8641){return{'name':_0x2b8641[_0xd361('0x2d')],'type':_0x2b8641['type'][_0xd361('0x2e')]};});_0x2fa055['model']=_[_0xd361('0x2a')](_0x49be6f,'name');_0x2fa055[_0xd361('0x2f')]=_[_0xd361('0x30')](_0x197399['query']);_0x2fa055['filters']=_[_0xd361('0x31')](_0x2fa055[_0xd361('0x32')],_0x2fa055['query']);_0x568025['attributes']=_[_0xd361('0x31')](_0x2fa055[_0xd361('0x32')],qs[_0xd361('0x33')](_0x197399[_0xd361('0x2f')][_0xd361('0x33')]));_0x568025['attributes']=_0x568025[_0xd361('0x34')]['length']?_0x568025[_0xd361('0x34')]:_0x2fa055['model'];if(!_0x197399[_0xd361('0x2f')]['hasOwnProperty']('nolimit')){_0x568025[_0xd361('0x1b')]=qs[_0xd361('0x1b')](_0x197399[_0xd361('0x2f')][_0xd361('0x1b')]);_0x568025[_0xd361('0x1a')]=qs[_0xd361('0x1a')](_0x197399[_0xd361('0x2f')][_0xd361('0x1a')]);}_0x568025[_0xd361('0x35')]=qs[_0xd361('0x36')](_0x197399['query'][_0xd361('0x36')]);_0x568025[_0xd361('0x37')]=qs[_0xd361('0x38')](_[_0xd361('0x39')](_0x197399[_0xd361('0x2f')],_0x2fa055['filters']),_0x49be6f);if(_0x197399[_0xd361('0x2f')][_0xd361('0x3a')]){_0x568025['where']=_['merge'](_0x568025[_0xd361('0x37')],{'$or':_[_0xd361('0x2a')](_0x49be6f,function(_0x4a8928){if(_0x4a8928[_0xd361('0x3b')]!==_0xd361('0x3c')){var _0x33cf8f={};_0x33cf8f[_0x4a8928[_0xd361('0x27')]]={'$like':'%'+_0x197399[_0xd361('0x2f')][_0xd361('0x3a')]+'%'};return _0x33cf8f;}})});}_0x568025=_[_0xd361('0x3d')]({},_0x568025,_0x197399['options']);var _0x34217b={'where':_0x568025[_0xd361('0x37')]};return db['FreshsalesField'][_0xd361('0x1c')](_0x34217b)[_0xd361('0x24')](function(_0x1d0ecc){_0x2e2259[_0xd361('0x1c')]=_0x1d0ecc;if(_0x197399[_0xd361('0x2f')][_0xd361('0x3e')]){_0x568025[_0xd361('0x3f')]=[{'all':!![]}];}return db[_0xd361('0x2b')]['findAll'](_0x568025);})[_0xd361('0x24')](function(_0x31541b){_0x2e2259[_0xd361('0x40')]=_0x31541b;return _0x2e2259;})[_0xd361('0x24')](respondWithFilteredResult(_0x5029fb,_0x568025))[_0xd361('0x41')](handleError(_0x5029fb,null));};exports[_0xd361('0x42')]=function(_0x3f5ede,_0x37093d){var _0x4459d9={'raw':!![],'where':{'id':_0x3f5ede[_0xd361('0x43')]['id']}},_0x1a7339={};_0x1a7339[_0xd361('0x32')]=_['keys'](db['FreshsalesField'][_0xd361('0x2c')]);_0x1a7339['query']=_['keys'](_0x3f5ede[_0xd361('0x2f')]);_0x1a7339[_0xd361('0x38')]=_[_0xd361('0x31')](_0x1a7339[_0xd361('0x32')],_0x1a7339[_0xd361('0x2f')]);_0x4459d9['attributes']=_['intersection'](_0x1a7339['model'],qs['fields'](_0x3f5ede[_0xd361('0x2f')][_0xd361('0x33')]));_0x4459d9[_0xd361('0x34')]=_0x4459d9['attributes'][_0xd361('0x44')]?_0x4459d9['attributes']:_0x1a7339[_0xd361('0x32')];if(_0x3f5ede['query'][_0xd361('0x3e')]){_0x4459d9[_0xd361('0x3f')]=[{'all':!![]}];}_0x4459d9=_[_0xd361('0x3d')]({},_0x4459d9,_0x3f5ede[_0xd361('0x45')]);return db[_0xd361('0x2b')]['find'](_0x4459d9)[_0xd361('0x24')](handleEntityNotFound(_0x37093d,null))['then'](respondWithResult(_0x37093d,null))[_0xd361('0x41')](handleError(_0x37093d,null));};exports[_0xd361('0x46')]=function(_0x41a675,_0x584c90){return db[_0xd361('0x2b')][_0xd361('0x46')](_0x41a675['body'],{})[_0xd361('0x24')](respondWithResult(_0x584c90,0xc9))[_0xd361('0x41')](handleError(_0x584c90,null));};exports[_0xd361('0x23')]=function(_0x38c69e,_0x4daca2){if(_0x38c69e['body']['id']){delete _0x38c69e[_0xd361('0x47')]['id'];}return db[_0xd361('0x2b')]['find']({'where':{'id':_0x38c69e[_0xd361('0x43')]['id']}})[_0xd361('0x24')](handleEntityNotFound(_0x4daca2,null))[_0xd361('0x24')](saveUpdates(_0x38c69e['body'],null))[_0xd361('0x24')](respondWithResult(_0x4daca2,null))['catch'](handleError(_0x4daca2,null));};exports['destroy']=function(_0x110e31,_0x30375c){return db[_0xd361('0x2b')][_0xd361('0x48')]({'where':{'id':_0x110e31['params']['id']}})[_0xd361('0x24')](handleEntityNotFound(_0x30375c,null))['then'](removeEntity(_0x30375c,null))[_0xd361('0x41')](handleError(_0x30375c,null));};