Built motion from commit b5413ace.|2.6.9
[motion2.git] / server / api / cmCustomField / cmCustomField.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 _0x694b=['api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','undefined','count','offset','limit','Content-Range','update','then','destroy','end','error','stack','name','send','index','map','CmCustomField','rawAttributes','fieldName','key','differenceBy','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','find','body','create','sequelize','Sequelize','TEXT','text','type','number','INTEGER','switch','defaultValue','queryInterface','addColumn','cm_contacts','format','cf_%d','rimraf','zip-dir','request-promise','bluebird','util','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger'];(function(_0x33c2af,_0x163198){var _0x13c04a=function(_0x4de68e){while(--_0x4de68e){_0x33c2af['push'](_0x33c2af['shift']());}};_0x13c04a(++_0x163198);}(_0x694b,0x14d));var _0xb694=function(_0x4e861b,_0x3f7dc4){_0x4e861b=_0x4e861b-0x0;var _0x2748a6=_0x694b[_0x4e861b];return _0x2748a6;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb694('0x0'));var zipdir=require(_0xb694('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb694('0x2'));var moment=require('moment');var BPromise=require(_0xb694('0x3'));var Mustache=require('mustache');var util=require(_0xb694('0x4'));var path=require('path');var sox=require(_0xb694('0x5'));var csv=require('to-csv');var ejs=require(_0xb694('0x6'));var fs=require('fs');var fs_extra=require(_0xb694('0x7'));var _=require(_0xb694('0x8'));var squel=require(_0xb694('0x9'));var crypto=require('crypto');var jsforce=require(_0xb694('0xa'));var deskjs=require(_0xb694('0xb'));var toCsv=require(_0xb694('0xc'));var querystring=require(_0xb694('0xd'));var Papa=require(_0xb694('0xe'));var Redis=require(_0xb694('0xf'));var authService=require(_0xb694('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xb694('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb694('0x12'))(_0xb694('0x13'));var utils=require(_0xb694('0x14'));var config=require(_0xb694('0x15'));var licenseUtil=require(_0xb694('0x16'));var db=require(_0xb694('0x17'))['db'];function respondWithStatusCode(_0xa59cd3,_0x514791){_0x514791=_0x514791||0xcc;return function(_0xe18c79){if(_0xe18c79){return _0xa59cd3[_0xb694('0x18')](_0x514791);}return _0xa59cd3[_0xb694('0x19')](_0x514791)['end']();};}function respondWithResult(_0x700f8b,_0x570002){_0x570002=_0x570002||0xc8;return function(_0x3ddd9d){if(_0x3ddd9d){return _0x700f8b[_0xb694('0x19')](_0x570002)[_0xb694('0x1a')](_0x3ddd9d);}};}function respondWithFilteredResult(_0xe0b561,_0x2b978c){return function(_0x93c95f){if(_0x93c95f){var _0x5bd354=typeof _0x2b978c['offset']===_0xb694('0x1b')&&typeof _0x2b978c['limit']===_0xb694('0x1b');var _0x401850=_0x93c95f[_0xb694('0x1c')];var _0x2abfa8=_0x5bd354?0x0:_0x2b978c[_0xb694('0x1d')];var _0x50e06e=_0x5bd354?_0x93c95f[_0xb694('0x1c')]:_0x2b978c['offset']+_0x2b978c[_0xb694('0x1e')];var _0x93ad31;if(_0x50e06e>=_0x401850){_0x50e06e=_0x401850;_0x93ad31=0xc8;}else{_0x93ad31=0xce;}_0xe0b561[_0xb694('0x19')](_0x93ad31);return _0xe0b561['set'](_0xb694('0x1f'),_0x2abfa8+'-'+_0x50e06e+'/'+_0x401850)[_0xb694('0x1a')](_0x93c95f);}return null;};}function patchUpdates(_0x59e3eb){return function(_0x1c9f11){try{jsonpatch['apply'](_0x1c9f11,_0x59e3eb,!![]);}catch(_0x17c9ef){return BPromise['reject'](_0x17c9ef);}return _0x1c9f11['save']();};}function saveUpdates(_0x51f51f,_0x1f2006){return function(_0x470fb0){if(_0x470fb0){return _0x470fb0[_0xb694('0x20')](_0x51f51f)[_0xb694('0x21')](function(_0x6d99ce){return _0x6d99ce;});}return null;};}function removeEntity(_0x10b63a,_0x30918a){return function(_0x2b6f2a){if(_0x2b6f2a){return _0x2b6f2a[_0xb694('0x22')]()[_0xb694('0x21')](function(){_0x10b63a[_0xb694('0x19')](0xcc)[_0xb694('0x23')]();});}};}function handleEntityNotFound(_0xefe6ea,_0x185ebc){return function(_0x1e3cb9){if(!_0x1e3cb9){_0xefe6ea[_0xb694('0x18')](0x194);}return _0x1e3cb9;};}function handleError(_0x1c4a8b,_0x339592){_0x339592=_0x339592||0x1f4;return function(_0x3be8b2){logger[_0xb694('0x24')](_0x3be8b2[_0xb694('0x25')]);if(_0x3be8b2[_0xb694('0x26')]){delete _0x3be8b2[_0xb694('0x26')];}_0x1c4a8b['status'](_0x339592)[_0xb694('0x27')](_0x3be8b2);};}exports[_0xb694('0x28')]=function(_0x20456a,_0x1ee231){var _0x178f85={},_0x5d8708={},_0xa3810e={'count':0x0,'rows':[]};var _0x5da8ef=_[_0xb694('0x29')](db[_0xb694('0x2a')][_0xb694('0x2b')],function(_0x286075){return{'name':_0x286075[_0xb694('0x2c')],'type':_0x286075['type'][_0xb694('0x2d')]};});_0x5d8708['model']=_[_0xb694('0x2e')](_[_0xb694('0x29')](_0x5da8ef,_0xb694('0x26')),[_0xb694('0x26')]);_0x5d8708[_0xb694('0x2f')]=_[_0xb694('0x30')](_0x20456a[_0xb694('0x2f')]);_0x5d8708['filters']=_[_0xb694('0x31')](_0x5d8708[_0xb694('0x32')],_0x5d8708[_0xb694('0x2f')]);_0x178f85[_0xb694('0x33')]=_[_0xb694('0x31')](_0x5d8708[_0xb694('0x32')],qs[_0xb694('0x34')](_0x20456a['query'][_0xb694('0x34')]));_0x178f85[_0xb694('0x33')]=_0x178f85[_0xb694('0x33')][_0xb694('0x35')]?_0x178f85['attributes']:_0x5d8708[_0xb694('0x32')];if(!_0x20456a[_0xb694('0x2f')][_0xb694('0x36')](_0xb694('0x37'))){_0x178f85[_0xb694('0x1e')]=qs['limit'](_0x20456a['query'][_0xb694('0x1e')]);_0x178f85[_0xb694('0x1d')]=qs[_0xb694('0x1d')](_0x20456a['query']['offset']);}_0x178f85[_0xb694('0x38')]=qs[_0xb694('0x39')](_0x20456a[_0xb694('0x2f')][_0xb694('0x39')]);_0x178f85[_0xb694('0x3a')]=qs[_0xb694('0x3b')](_['pick'](_0x20456a[_0xb694('0x2f')],_0x5d8708[_0xb694('0x3b')]),_0x5da8ef);if(_0x20456a[_0xb694('0x2f')][_0xb694('0x3c')]){_0x178f85[_0xb694('0x3a')]=_['merge'](_0x178f85['where'],{'$or':_['map'](_0x5da8ef,function(_0x3e16f1){if(_0x3e16f1['type']!==_0xb694('0x3d')){var _0x384949={};_0x384949[_0x3e16f1[_0xb694('0x26')]]={'$like':'%'+_0x20456a[_0xb694('0x2f')][_0xb694('0x3c')]+'%'};return _0x384949;}})});}_0x178f85=_[_0xb694('0x3e')]({},_0x178f85,_0x20456a[_0xb694('0x3f')]);var _0x42cd2d={'where':_0x178f85['where']};return db['CmCustomField'][_0xb694('0x1c')](_0x42cd2d)['then'](function(_0x1cf850){_0xa3810e[_0xb694('0x1c')]=_0x1cf850;if(_0x20456a[_0xb694('0x2f')][_0xb694('0x40')]){_0x178f85[_0xb694('0x41')]=[{'all':!![]}];}return db[_0xb694('0x2a')][_0xb694('0x42')](_0x178f85);})[_0xb694('0x21')](function(_0x4ca60f){_0xa3810e[_0xb694('0x43')]=_0x4ca60f;return _0xa3810e;})['then'](respondWithFilteredResult(_0x1ee231,_0x178f85))[_0xb694('0x44')](handleError(_0x1ee231,null));};exports[_0xb694('0x45')]=function(_0x3f71a8,_0x4d23a2){var _0x116a77={'raw':!![],'where':{'id':_0x3f71a8[_0xb694('0x46')]['id']}},_0x39d554={};_0x39d554['model']=_[_0xb694('0x30')](db[_0xb694('0x2a')][_0xb694('0x2b')]);_0x39d554[_0xb694('0x2f')]=_[_0xb694('0x30')](_0x3f71a8[_0xb694('0x2f')]);_0x39d554['filters']=_[_0xb694('0x31')](_0x39d554[_0xb694('0x32')],_0x39d554[_0xb694('0x2f')]);_0x116a77[_0xb694('0x33')]=_[_0xb694('0x31')](_0x39d554[_0xb694('0x32')],qs[_0xb694('0x34')](_0x3f71a8['query']['fields']));_0x116a77[_0xb694('0x33')]=_0x116a77['attributes'][_0xb694('0x35')]?_0x116a77[_0xb694('0x33')]:_0x39d554['model'];if(_0x3f71a8['query'][_0xb694('0x40')]){_0x116a77[_0xb694('0x41')]=[{'all':!![]}];}_0x116a77=_[_0xb694('0x3e')]({},_0x116a77,_0x3f71a8[_0xb694('0x3f')]);return db[_0xb694('0x2a')][_0xb694('0x47')](_0x116a77)[_0xb694('0x21')](handleEntityNotFound(_0x4d23a2,null))['then'](respondWithResult(_0x4d23a2,null))[_0xb694('0x44')](handleError(_0x4d23a2,null));};exports[_0xb694('0x20')]=function(_0x15c1e1,_0x8957e5){if(_0x15c1e1['body']['id']){delete _0x15c1e1[_0xb694('0x48')]['id'];}return db['CmCustomField'][_0xb694('0x47')]({'where':{'id':_0x15c1e1['params']['id']}})['then'](handleEntityNotFound(_0x8957e5,null))[_0xb694('0x21')](saveUpdates(_0x15c1e1['body'],null))[_0xb694('0x21')](respondWithResult(_0x8957e5,null))[_0xb694('0x44')](handleError(_0x8957e5,null));};exports['destroy']=function(_0x345bd1,_0x19d95f){return db[_0xb694('0x2a')][_0xb694('0x47')]({'where':{'id':_0x345bd1['params']['id']}})[_0xb694('0x21')](handleEntityNotFound(_0x19d95f,null))[_0xb694('0x21')](removeEntity(_0x19d95f,null))[_0xb694('0x44')](handleError(_0x19d95f,null));};exports[_0xb694('0x49')]=function(_0x1ca86d,_0x410ef1){var _0x3a6168;return db[_0xb694('0x4a')]['transaction'](function(_0x5395a2){return db[_0xb694('0x2a')]['create'](_0x1ca86d[_0xb694('0x48')],{'transaction':_0x5395a2})[_0xb694('0x21')](function(_0x934f9e){_0x3a6168=_0x934f9e;var _0x2ae062={'type':db[_0xb694('0x4b')][_0xb694('0x4c')],'transaction':_0x5395a2};switch(_0x1ca86d[_0xb694('0x48')]['type']){case _0xb694('0x4d'):_0x2ae062[_0xb694('0x4e')]=db[_0xb694('0x4b')]['TEXT'];break;case _0xb694('0x4f'):_0x2ae062[_0xb694('0x4e')]=db[_0xb694('0x4b')][_0xb694('0x50')];break;case _0xb694('0x51'):_0x2ae062[_0xb694('0x4e')]=db[_0xb694('0x4b')]['BOOLEAN'];_0x2ae062[_0xb694('0x52')]=![];break;default:}return db['sequelize'][_0xb694('0x53')][_0xb694('0x54')](_0xb694('0x55'),util[_0xb694('0x56')](_0xb694('0x57'),_0x3a6168['id']),_0x2ae062);})['then'](function(){return _0x3a6168;});})[_0xb694('0x21')](respondWithResult(_0x410ef1,0xc9))[_0xb694('0x44')](handleError(_0x410ef1,null));};