c370ec953b62887fb0ca99d55056e5fa72ec32f2
[motion2.git] / server / api / intZendeskField / intZendeskField.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 _0x13ec=['../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','apply','reject','save','update','destroy','then','stack','name','send','index','ZendeskField','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','merge','map','filter','options','includeAll','include','rows','show','params','find','create','body','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api'];(function(_0x5e0409,_0xa19d58){var _0x508b1e=function(_0x5250c6){while(--_0x5250c6){_0x5e0409['push'](_0x5e0409['shift']());}};_0x508b1e(++_0xa19d58);}(_0x13ec,0x15c));var _0xc13e=function(_0x570f41,_0x9c8142){_0x570f41=_0x570f41-0x0;var _0x1c3a44=_0x13ec[_0x570f41];return _0x1c3a44;};'use strict';var emlformat=require(_0xc13e('0x0'));var rimraf=require(_0xc13e('0x1'));var zipdir=require(_0xc13e('0x2'));var jsonpatch=require(_0xc13e('0x3'));var rp=require(_0xc13e('0x4'));var moment=require(_0xc13e('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xc13e('0x6'));var util=require(_0xc13e('0x7'));var path=require(_0xc13e('0x8'));var sox=require(_0xc13e('0x9'));var csv=require('to-csv');var ejs=require(_0xc13e('0xa'));var fs=require('fs');var fs_extra=require(_0xc13e('0xb'));var _=require('lodash');var squel=require(_0xc13e('0xc'));var crypto=require(_0xc13e('0xd'));var jsforce=require(_0xc13e('0xe'));var deskjs=require(_0xc13e('0xf'));var toCsv=require('to-csv');var querystring=require(_0xc13e('0x10'));var Papa=require(_0xc13e('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xc13e('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc13e('0x13'));var logger=require(_0xc13e('0x14'))(_0xc13e('0x15'));var utils=require(_0xc13e('0x16'));var config=require(_0xc13e('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xc13e('0x18'))['db'];function respondWithStatusCode(_0x2a9f46,_0x25616e){_0x25616e=_0x25616e||0xcc;return function(_0x41fb85){if(_0x41fb85){return _0x2a9f46[_0xc13e('0x19')](_0x25616e);}return _0x2a9f46[_0xc13e('0x1a')](_0x25616e)[_0xc13e('0x1b')]();};}function respondWithResult(_0x48a507,_0x5cb343){_0x5cb343=_0x5cb343||0xc8;return function(_0x4a7878){if(_0x4a7878){return _0x48a507[_0xc13e('0x1a')](_0x5cb343)[_0xc13e('0x1c')](_0x4a7878);}};}function respondWithFilteredResult(_0x597044,_0x280e31){return function(_0x385030){if(_0x385030){var _0x37206b=typeof _0x280e31[_0xc13e('0x1d')]===_0xc13e('0x1e')&&typeof _0x280e31['limit']===_0xc13e('0x1e');var _0x19fab3=_0x385030[_0xc13e('0x1f')];var _0x1059b4=_0x37206b?0x0:_0x280e31[_0xc13e('0x1d')];var _0xc09a77=_0x37206b?_0x385030[_0xc13e('0x1f')]:_0x280e31[_0xc13e('0x1d')]+_0x280e31[_0xc13e('0x20')];var _0x3cd971;if(_0xc09a77>=_0x19fab3){_0xc09a77=_0x19fab3;_0x3cd971=0xc8;}else{_0x3cd971=0xce;}_0x597044['status'](_0x3cd971);return _0x597044[_0xc13e('0x21')]('Content-Range',_0x1059b4+'-'+_0xc09a77+'/'+_0x19fab3)[_0xc13e('0x1c')](_0x385030);}return null;};}function patchUpdates(_0x4eb382){return function(_0x19c0b1){try{jsonpatch[_0xc13e('0x22')](_0x19c0b1,_0x4eb382,!![]);}catch(_0x3b1b09){return BPromise[_0xc13e('0x23')](_0x3b1b09);}return _0x19c0b1[_0xc13e('0x24')]();};}function saveUpdates(_0x398364,_0x52d42b){return function(_0x59f95c){if(_0x59f95c){return _0x59f95c[_0xc13e('0x25')](_0x398364)['then'](function(_0x629397){return _0x629397;});}return null;};}function removeEntity(_0x24fe86,_0x249b61){return function(_0x5945a2){if(_0x5945a2){return _0x5945a2[_0xc13e('0x26')]()[_0xc13e('0x27')](function(){_0x24fe86['status'](0xcc)[_0xc13e('0x1b')]();});}};}function handleEntityNotFound(_0xb4bd63,_0x4bfea8){return function(_0x370f10){if(!_0x370f10){_0xb4bd63[_0xc13e('0x19')](0x194);}return _0x370f10;};}function handleError(_0x6898d9,_0x41df1e){_0x41df1e=_0x41df1e||0x1f4;return function(_0x483a51){logger['error'](_0x483a51[_0xc13e('0x28')]);if(_0x483a51['name']){delete _0x483a51[_0xc13e('0x29')];}_0x6898d9[_0xc13e('0x1a')](_0x41df1e)[_0xc13e('0x2a')](_0x483a51);};}exports[_0xc13e('0x2b')]=function(_0x324957,_0x3fd9aa){var _0x214be8={},_0x1414e7={},_0xf664d4={'count':0x0,'rows':[]};var _0x3ff91b=_['map'](db[_0xc13e('0x2c')][_0xc13e('0x2d')],function(_0x42882a){return{'name':_0x42882a[_0xc13e('0x2e')],'type':_0x42882a[_0xc13e('0x2f')][_0xc13e('0x30')]};});_0x1414e7[_0xc13e('0x31')]=_['map'](_0x3ff91b,_0xc13e('0x29'));_0x1414e7['query']=_[_0xc13e('0x32')](_0x324957[_0xc13e('0x33')]);_0x1414e7[_0xc13e('0x34')]=_[_0xc13e('0x35')](_0x1414e7[_0xc13e('0x31')],_0x1414e7[_0xc13e('0x33')]);_0x214be8[_0xc13e('0x36')]=_[_0xc13e('0x35')](_0x1414e7[_0xc13e('0x31')],qs[_0xc13e('0x37')](_0x324957[_0xc13e('0x33')][_0xc13e('0x37')]));_0x214be8['attributes']=_0x214be8['attributes'][_0xc13e('0x38')]?_0x214be8[_0xc13e('0x36')]:_0x1414e7[_0xc13e('0x31')];if(!_0x324957[_0xc13e('0x33')][_0xc13e('0x39')]('nolimit')){_0x214be8['limit']=qs['limit'](_0x324957[_0xc13e('0x33')][_0xc13e('0x20')]);_0x214be8[_0xc13e('0x1d')]=qs['offset'](_0x324957[_0xc13e('0x33')][_0xc13e('0x1d')]);}_0x214be8['order']=qs['sort'](_0x324957['query'][_0xc13e('0x3a')]);_0x214be8[_0xc13e('0x3b')]=qs[_0xc13e('0x34')](_[_0xc13e('0x3c')](_0x324957['query'],_0x1414e7[_0xc13e('0x34')]),_0x3ff91b);if(_0x324957[_0xc13e('0x33')]['filter']){_0x214be8['where']=_[_0xc13e('0x3d')](_0x214be8[_0xc13e('0x3b')],{'$or':_[_0xc13e('0x3e')](_0x3ff91b,function(_0x4b9dca){if(_0x4b9dca[_0xc13e('0x2f')]!=='VIRTUAL'){var _0x58f2c8={};_0x58f2c8[_0x4b9dca[_0xc13e('0x29')]]={'$like':'%'+_0x324957[_0xc13e('0x33')][_0xc13e('0x3f')]+'%'};return _0x58f2c8;}})});}_0x214be8=_[_0xc13e('0x3d')]({},_0x214be8,_0x324957[_0xc13e('0x40')]);var _0x256ad7={'where':_0x214be8[_0xc13e('0x3b')]};return db['ZendeskField'][_0xc13e('0x1f')](_0x256ad7)[_0xc13e('0x27')](function(_0x14523e){_0xf664d4['count']=_0x14523e;if(_0x324957['query'][_0xc13e('0x41')]){_0x214be8[_0xc13e('0x42')]=[{'all':!![]}];}return db[_0xc13e('0x2c')]['findAll'](_0x214be8);})[_0xc13e('0x27')](function(_0x1c88e8){_0xf664d4[_0xc13e('0x43')]=_0x1c88e8;return _0xf664d4;})[_0xc13e('0x27')](respondWithFilteredResult(_0x3fd9aa,_0x214be8))['catch'](handleError(_0x3fd9aa,null));};exports[_0xc13e('0x44')]=function(_0x2d4c76,_0x2ef2e8){var _0x1b18a7={'raw':!![],'where':{'id':_0x2d4c76[_0xc13e('0x45')]['id']}},_0x396f3c={};_0x396f3c[_0xc13e('0x31')]=_[_0xc13e('0x32')](db[_0xc13e('0x2c')]['rawAttributes']);_0x396f3c['query']=_[_0xc13e('0x32')](_0x2d4c76[_0xc13e('0x33')]);_0x396f3c['filters']=_[_0xc13e('0x35')](_0x396f3c['model'],_0x396f3c[_0xc13e('0x33')]);_0x1b18a7[_0xc13e('0x36')]=_[_0xc13e('0x35')](_0x396f3c['model'],qs['fields'](_0x2d4c76[_0xc13e('0x33')][_0xc13e('0x37')]));_0x1b18a7[_0xc13e('0x36')]=_0x1b18a7[_0xc13e('0x36')][_0xc13e('0x38')]?_0x1b18a7[_0xc13e('0x36')]:_0x396f3c[_0xc13e('0x31')];if(_0x2d4c76[_0xc13e('0x33')]['includeAll']){_0x1b18a7[_0xc13e('0x42')]=[{'all':!![]}];}_0x1b18a7=_[_0xc13e('0x3d')]({},_0x1b18a7,_0x2d4c76['options']);return db[_0xc13e('0x2c')][_0xc13e('0x46')](_0x1b18a7)[_0xc13e('0x27')](handleEntityNotFound(_0x2ef2e8,null))[_0xc13e('0x27')](respondWithResult(_0x2ef2e8,null))['catch'](handleError(_0x2ef2e8,null));};exports[_0xc13e('0x47')]=function(_0x32d894,_0x4994c9){return db['ZendeskField']['create'](_0x32d894[_0xc13e('0x48')],{})[_0xc13e('0x27')](respondWithResult(_0x4994c9,0xc9))['catch'](handleError(_0x4994c9,null));};exports[_0xc13e('0x25')]=function(_0x4a4dd2,_0x47d04d){if(_0x4a4dd2[_0xc13e('0x48')]['id']){delete _0x4a4dd2[_0xc13e('0x48')]['id'];}return db[_0xc13e('0x2c')][_0xc13e('0x46')]({'where':{'id':_0x4a4dd2[_0xc13e('0x45')]['id']}})[_0xc13e('0x27')](handleEntityNotFound(_0x47d04d,null))['then'](saveUpdates(_0x4a4dd2[_0xc13e('0x48')],null))[_0xc13e('0x27')](respondWithResult(_0x47d04d,null))[_0xc13e('0x49')](handleError(_0x47d04d,null));};exports['destroy']=function(_0x175b30,_0x10425b){return db[_0xc13e('0x2c')][_0xc13e('0x46')]({'where':{'id':_0x175b30[_0xc13e('0x45')]['id']}})[_0xc13e('0x27')](handleEntityNotFound(_0x10425b,null))[_0xc13e('0x27')](removeEntity(_0x10425b,null))[_0xc13e('0x49')](handleError(_0x10425b,null));};