Built motion from commit 4c281f94.|2.6.31
[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 _0x0afa=['../../mysqldb','end','status','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','fieldName','model','differenceBy','map','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','type','merge','options','CmCustomField','include','findAll','catch','show','rawAttributes','includeAll','find','body','params','sequelize','transaction','text','Sequelize','TEXT','number','INTEGER','BOOLEAN','defaultValue','queryInterface','cm_contacts','cf_%d','eml-format','rimraf','zip-dir','fast-json-patch','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','../../config/logger','api','../../config/utils','../../config/license/util'];(function(_0x1f99a0,_0x50b73d){var _0x1e0849=function(_0x41e764){while(--_0x41e764){_0x1f99a0['push'](_0x1f99a0['shift']());}};_0x1e0849(++_0x50b73d);}(_0x0afa,0x14d));var _0xa0af=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x0afa[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require(_0xa0af('0x0'));var rimraf=require(_0xa0af('0x1'));var zipdir=require(_0xa0af('0x2'));var jsonpatch=require(_0xa0af('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xa0af('0x4'));var Mustache=require(_0xa0af('0x5'));var util=require(_0xa0af('0x6'));var path=require(_0xa0af('0x7'));var sox=require(_0xa0af('0x8'));var csv=require(_0xa0af('0x9'));var ejs=require(_0xa0af('0xa'));var fs=require('fs');var fs_extra=require(_0xa0af('0xb'));var _=require(_0xa0af('0xc'));var squel=require(_0xa0af('0xd'));var crypto=require(_0xa0af('0xe'));var jsforce=require(_0xa0af('0xf'));var deskjs=require(_0xa0af('0x10'));var toCsv=require(_0xa0af('0x9'));var querystring=require(_0xa0af('0x11'));var Papa=require(_0xa0af('0x12'));var Redis=require(_0xa0af('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xa0af('0x14'));var as=require(_0xa0af('0x15'));var hardwareService=require(_0xa0af('0x16'));var logger=require(_0xa0af('0x17'))(_0xa0af('0x18'));var utils=require(_0xa0af('0x19'));var config=require('../../config/environment');var licenseUtil=require(_0xa0af('0x1a'));var db=require(_0xa0af('0x1b'))['db'];function respondWithStatusCode(_0x1f83ac,_0x493b71){_0x493b71=_0x493b71||0xcc;return function(_0x462313){if(_0x462313){return _0x1f83ac['sendStatus'](_0x493b71);}return _0x1f83ac['status'](_0x493b71)[_0xa0af('0x1c')]();};}function respondWithResult(_0x2ca5fd,_0x4cf828){_0x4cf828=_0x4cf828||0xc8;return function(_0x13eaad){if(_0x13eaad){return _0x2ca5fd[_0xa0af('0x1d')](_0x4cf828)['json'](_0x13eaad);}};}function respondWithFilteredResult(_0x529912,_0x1c754f){return function(_0x4697c2){if(_0x4697c2){var _0xc5efff=typeof _0x1c754f[_0xa0af('0x1e')]===_0xa0af('0x1f')&&typeof _0x1c754f[_0xa0af('0x20')]===_0xa0af('0x1f');var _0x4e4476=_0x4697c2[_0xa0af('0x21')];var _0x3329a0=_0xc5efff?0x0:_0x1c754f[_0xa0af('0x1e')];var _0x45a356=_0xc5efff?_0x4697c2[_0xa0af('0x21')]:_0x1c754f[_0xa0af('0x1e')]+_0x1c754f[_0xa0af('0x20')];var _0x3f5a54;if(_0x45a356>=_0x4e4476){_0x45a356=_0x4e4476;_0x3f5a54=0xc8;}else{_0x3f5a54=0xce;}_0x529912[_0xa0af('0x1d')](_0x3f5a54);return _0x529912[_0xa0af('0x22')](_0xa0af('0x23'),_0x3329a0+'-'+_0x45a356+'/'+_0x4e4476)['json'](_0x4697c2);}return null;};}function patchUpdates(_0x3a7fea){return function(_0x17f023){try{jsonpatch[_0xa0af('0x24')](_0x17f023,_0x3a7fea,!![]);}catch(_0x8192c7){return BPromise[_0xa0af('0x25')](_0x8192c7);}return _0x17f023[_0xa0af('0x26')]();};}function saveUpdates(_0xe88b6b,_0x147800){return function(_0x2556a8){if(_0x2556a8){return _0x2556a8[_0xa0af('0x27')](_0xe88b6b)[_0xa0af('0x28')](function(_0x9119ee){return _0x9119ee;});}return null;};}function removeEntity(_0x1e9588,_0x5891ce){return function(_0x1ca40d){if(_0x1ca40d){return _0x1ca40d[_0xa0af('0x29')]()[_0xa0af('0x28')](function(){_0x1e9588['status'](0xcc)[_0xa0af('0x1c')]();});}};}function handleEntityNotFound(_0x5c6a0f,_0x5c2b85){return function(_0x3b5643){if(!_0x3b5643){_0x5c6a0f[_0xa0af('0x2a')](0x194);}return _0x3b5643;};}function handleError(_0x454086,_0xdb3672){_0xdb3672=_0xdb3672||0x1f4;return function(_0x347848){logger[_0xa0af('0x2b')](_0x347848[_0xa0af('0x2c')]);if(_0x347848[_0xa0af('0x2d')]){delete _0x347848[_0xa0af('0x2d')];}_0x454086[_0xa0af('0x1d')](_0xdb3672)[_0xa0af('0x2e')](_0x347848);};}exports[_0xa0af('0x2f')]=function(_0xe65a25,_0x424800){var _0x1ca313={},_0x1ae56d={},_0x1adbaf={'count':0x0,'rows':[]};var _0x591241=_['map'](db['CmCustomField']['rawAttributes'],function(_0x202f1d){return{'name':_0x202f1d[_0xa0af('0x30')],'type':_0x202f1d['type']['key']};});_0x1ae56d[_0xa0af('0x31')]=_[_0xa0af('0x32')](_[_0xa0af('0x33')](_0x591241,_0xa0af('0x2d')),[_0xa0af('0x2d')]);_0x1ae56d[_0xa0af('0x34')]=_[_0xa0af('0x35')](_0xe65a25[_0xa0af('0x34')]);_0x1ae56d['filters']=_[_0xa0af('0x36')](_0x1ae56d[_0xa0af('0x31')],_0x1ae56d['query']);_0x1ca313['attributes']=_[_0xa0af('0x36')](_0x1ae56d['model'],qs[_0xa0af('0x37')](_0xe65a25[_0xa0af('0x34')]['fields']));_0x1ca313['attributes']=_0x1ca313[_0xa0af('0x38')][_0xa0af('0x39')]?_0x1ca313[_0xa0af('0x38')]:_0x1ae56d[_0xa0af('0x31')];if(!_0xe65a25[_0xa0af('0x34')][_0xa0af('0x3a')](_0xa0af('0x3b'))){_0x1ca313[_0xa0af('0x20')]=qs['limit'](_0xe65a25['query'][_0xa0af('0x20')]);_0x1ca313['offset']=qs[_0xa0af('0x1e')](_0xe65a25[_0xa0af('0x34')][_0xa0af('0x1e')]);}_0x1ca313[_0xa0af('0x3c')]=qs['sort'](_0xe65a25['query'][_0xa0af('0x3d')]);_0x1ca313[_0xa0af('0x3e')]=qs['filters'](_['pick'](_0xe65a25[_0xa0af('0x34')],_0x1ae56d[_0xa0af('0x3f')]),_0x591241);if(_0xe65a25[_0xa0af('0x34')][_0xa0af('0x40')]){_0x1ca313[_0xa0af('0x3e')]=_['merge'](_0x1ca313[_0xa0af('0x3e')],{'$or':_['map'](_0x591241,function(_0x1b0d86){if(_0x1b0d86[_0xa0af('0x41')]!=='VIRTUAL'){var _0x34bdc8={};_0x34bdc8[_0x1b0d86[_0xa0af('0x2d')]]={'$like':'%'+_0xe65a25[_0xa0af('0x34')]['filter']+'%'};return _0x34bdc8;}})});}_0x1ca313=_[_0xa0af('0x42')]({},_0x1ca313,_0xe65a25[_0xa0af('0x43')]);var _0x3449f3={'where':_0x1ca313[_0xa0af('0x3e')]};return db[_0xa0af('0x44')]['count'](_0x3449f3)[_0xa0af('0x28')](function(_0xcf5b9c){_0x1adbaf[_0xa0af('0x21')]=_0xcf5b9c;if(_0xe65a25[_0xa0af('0x34')]['includeAll']){_0x1ca313[_0xa0af('0x45')]=[{'all':!![]}];}return db[_0xa0af('0x44')][_0xa0af('0x46')](_0x1ca313);})[_0xa0af('0x28')](function(_0x2cc2d6){_0x1adbaf['rows']=_0x2cc2d6;return _0x1adbaf;})[_0xa0af('0x28')](respondWithFilteredResult(_0x424800,_0x1ca313))[_0xa0af('0x47')](handleError(_0x424800,null));};exports[_0xa0af('0x48')]=function(_0x1ebe08,_0x37c61b){var _0x37ff13={'raw':!![],'where':{'id':_0x1ebe08['params']['id']}},_0x217619={};_0x217619['model']=_[_0xa0af('0x35')](db[_0xa0af('0x44')][_0xa0af('0x49')]);_0x217619[_0xa0af('0x34')]=_[_0xa0af('0x35')](_0x1ebe08['query']);_0x217619[_0xa0af('0x3f')]=_[_0xa0af('0x36')](_0x217619[_0xa0af('0x31')],_0x217619[_0xa0af('0x34')]);_0x37ff13['attributes']=_[_0xa0af('0x36')](_0x217619[_0xa0af('0x31')],qs[_0xa0af('0x37')](_0x1ebe08[_0xa0af('0x34')][_0xa0af('0x37')]));_0x37ff13[_0xa0af('0x38')]=_0x37ff13[_0xa0af('0x38')][_0xa0af('0x39')]?_0x37ff13[_0xa0af('0x38')]:_0x217619['model'];if(_0x1ebe08['query'][_0xa0af('0x4a')]){_0x37ff13[_0xa0af('0x45')]=[{'all':!![]}];}_0x37ff13=_['merge']({},_0x37ff13,_0x1ebe08['options']);return db[_0xa0af('0x44')][_0xa0af('0x4b')](_0x37ff13)[_0xa0af('0x28')](handleEntityNotFound(_0x37c61b,null))[_0xa0af('0x28')](respondWithResult(_0x37c61b,null))[_0xa0af('0x47')](handleError(_0x37c61b,null));};exports[_0xa0af('0x27')]=function(_0x2f8758,_0x19537e){if(_0x2f8758['body']['id']){delete _0x2f8758[_0xa0af('0x4c')]['id'];}return db[_0xa0af('0x44')][_0xa0af('0x4b')]({'where':{'id':_0x2f8758[_0xa0af('0x4d')]['id']}})[_0xa0af('0x28')](handleEntityNotFound(_0x19537e,null))[_0xa0af('0x28')](saveUpdates(_0x2f8758[_0xa0af('0x4c')],null))[_0xa0af('0x28')](respondWithResult(_0x19537e,null))[_0xa0af('0x47')](handleError(_0x19537e,null));};exports[_0xa0af('0x29')]=function(_0x2edd2b,_0x283df6){return db['CmCustomField'][_0xa0af('0x4b')]({'where':{'id':_0x2edd2b[_0xa0af('0x4d')]['id']}})[_0xa0af('0x28')](handleEntityNotFound(_0x283df6,null))['then'](removeEntity(_0x283df6,null))[_0xa0af('0x47')](handleError(_0x283df6,null));};exports['create']=function(_0x470c9b,_0x2c4f5c){var _0x2a6bac;return db[_0xa0af('0x4e')][_0xa0af('0x4f')](function(_0x46c6d7){return db[_0xa0af('0x44')]['create'](_0x470c9b[_0xa0af('0x4c')],{'transaction':_0x46c6d7})[_0xa0af('0x28')](function(_0xa0acf2){_0x2a6bac=_0xa0acf2;var _0x246023={'type':db['Sequelize']['TEXT'],'transaction':_0x46c6d7};switch(_0x470c9b['body']['type']){case _0xa0af('0x50'):_0x246023[_0xa0af('0x41')]=db[_0xa0af('0x51')][_0xa0af('0x52')];break;case _0xa0af('0x53'):_0x246023['type']=db[_0xa0af('0x51')][_0xa0af('0x54')];break;case'switch':_0x246023[_0xa0af('0x41')]=db[_0xa0af('0x51')][_0xa0af('0x55')];_0x246023[_0xa0af('0x56')]=![];break;default:}return db[_0xa0af('0x4e')][_0xa0af('0x57')]['addColumn'](_0xa0af('0x58'),util['format'](_0xa0af('0x59'),_0x2a6bac['id']),_0x246023);})[_0xa0af('0x28')](function(){return _0x2a6bac;});})[_0xa0af('0x28')](respondWithResult(_0x2c4f5c,0xc9))[_0xa0af('0x47')](handleError(_0x2c4f5c,null));};