Built motion from commit 47436d59.|2.6.7
[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 _0x1671=['apply','then','destroy','error','name','index','map','fieldName','type','key','differenceBy','query','keys','filters','intersection','model','attributes','fields','length','limit','order','sort','pick','filter','where','merge','VIRTUAL','options','CmCustomField','includeAll','include','findAll','rows','catch','show','params','update','body','find','sequelize','create','Sequelize','TEXT','number','INTEGER','switch','BOOLEAN','defaultValue','cm_contacts','cf_%d','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count'];(function(_0x1fcf1b,_0x214549){var _0x5d2952=function(_0x3331b7){while(--_0x3331b7){_0x1fcf1b['push'](_0x1fcf1b['shift']());}};_0x5d2952(++_0x214549);}(_0x1671,0xda));var _0x1167=function(_0x2d8275,_0x70332){_0x2d8275=_0x2d8275-0x0;var _0x378712=_0x1671[_0x2d8275];return _0x378712;};'use strict';var emlformat=require(_0x1167('0x0'));var rimraf=require(_0x1167('0x1'));var zipdir=require(_0x1167('0x2'));var jsonpatch=require(_0x1167('0x3'));var rp=require(_0x1167('0x4'));var moment=require(_0x1167('0x5'));var BPromise=require(_0x1167('0x6'));var Mustache=require(_0x1167('0x7'));var util=require(_0x1167('0x8'));var path=require('path');var sox=require(_0x1167('0x9'));var csv=require(_0x1167('0xa'));var ejs=require(_0x1167('0xb'));var fs=require('fs');var fs_extra=require(_0x1167('0xc'));var _=require(_0x1167('0xd'));var squel=require(_0x1167('0xe'));var crypto=require(_0x1167('0xf'));var jsforce=require('jsforce');var deskjs=require(_0x1167('0x10'));var toCsv=require(_0x1167('0xa'));var querystring=require(_0x1167('0x11'));var Papa=require(_0x1167('0x12'));var Redis=require(_0x1167('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x1167('0x14'));var as=require(_0x1167('0x15'));var hardwareService=require(_0x1167('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x1167('0x17'));var config=require(_0x1167('0x18'));var licenseUtil=require(_0x1167('0x19'));var db=require(_0x1167('0x1a'))['db'];function respondWithStatusCode(_0x50b961,_0x1751e6){_0x1751e6=_0x1751e6||0xcc;return function(_0x33a215){if(_0x33a215){return _0x50b961[_0x1167('0x1b')](_0x1751e6);}return _0x50b961[_0x1167('0x1c')](_0x1751e6)[_0x1167('0x1d')]();};}function respondWithResult(_0x4e65b1,_0x512aa8){_0x512aa8=_0x512aa8||0xc8;return function(_0x5bc076){if(_0x5bc076){return _0x4e65b1[_0x1167('0x1c')](_0x512aa8)[_0x1167('0x1e')](_0x5bc076);}};}function respondWithFilteredResult(_0x299728,_0x2c5a6f){return function(_0x49b7c2){if(_0x49b7c2){var _0x311354=typeof _0x2c5a6f[_0x1167('0x1f')]===_0x1167('0x20')&&typeof _0x2c5a6f['limit']===_0x1167('0x20');var _0x56b065=_0x49b7c2['count'];var _0x393e19=_0x311354?0x0:_0x2c5a6f[_0x1167('0x1f')];var _0x1ddf1e=_0x311354?_0x49b7c2[_0x1167('0x21')]:_0x2c5a6f['offset']+_0x2c5a6f['limit'];var _0x5c6d64;if(_0x1ddf1e>=_0x56b065){_0x1ddf1e=_0x56b065;_0x5c6d64=0xc8;}else{_0x5c6d64=0xce;}_0x299728[_0x1167('0x1c')](_0x5c6d64);return _0x299728['set']('Content-Range',_0x393e19+'-'+_0x1ddf1e+'/'+_0x56b065)[_0x1167('0x1e')](_0x49b7c2);}return null;};}function patchUpdates(_0x4ee38e){return function(_0x1253a4){try{jsonpatch[_0x1167('0x22')](_0x1253a4,_0x4ee38e,!![]);}catch(_0x218b9e){return BPromise['reject'](_0x218b9e);}return _0x1253a4['save']();};}function saveUpdates(_0x456e3f,_0x26d8de){return function(_0x56da0f){if(_0x56da0f){return _0x56da0f['update'](_0x456e3f)[_0x1167('0x23')](function(_0x5a6f05){return _0x5a6f05;});}return null;};}function removeEntity(_0x57e093,_0xc3b4f6){return function(_0x1a7d72){if(_0x1a7d72){return _0x1a7d72[_0x1167('0x24')]()[_0x1167('0x23')](function(){_0x57e093['status'](0xcc)[_0x1167('0x1d')]();});}};}function handleEntityNotFound(_0x25ab6f,_0x550177){return function(_0x54945c){if(!_0x54945c){_0x25ab6f[_0x1167('0x1b')](0x194);}return _0x54945c;};}function handleError(_0x23caf8,_0x4d7228){_0x4d7228=_0x4d7228||0x1f4;return function(_0x48cd57){logger[_0x1167('0x25')](_0x48cd57['stack']);if(_0x48cd57[_0x1167('0x26')]){delete _0x48cd57[_0x1167('0x26')];}_0x23caf8[_0x1167('0x1c')](_0x4d7228)['send'](_0x48cd57);};}exports[_0x1167('0x27')]=function(_0x127ac4,_0x101dc1){var _0x579670={},_0xcbac7f={},_0x24d40d={'count':0x0,'rows':[]};var _0x3ee9a8=_[_0x1167('0x28')](db['CmCustomField']['rawAttributes'],function(_0x590f57){return{'name':_0x590f57[_0x1167('0x29')],'type':_0x590f57[_0x1167('0x2a')][_0x1167('0x2b')]};});_0xcbac7f['model']=_[_0x1167('0x2c')](_[_0x1167('0x28')](_0x3ee9a8,_0x1167('0x26')),['name']);_0xcbac7f[_0x1167('0x2d')]=_[_0x1167('0x2e')](_0x127ac4['query']);_0xcbac7f[_0x1167('0x2f')]=_[_0x1167('0x30')](_0xcbac7f[_0x1167('0x31')],_0xcbac7f[_0x1167('0x2d')]);_0x579670[_0x1167('0x32')]=_[_0x1167('0x30')](_0xcbac7f[_0x1167('0x31')],qs[_0x1167('0x33')](_0x127ac4[_0x1167('0x2d')][_0x1167('0x33')]));_0x579670[_0x1167('0x32')]=_0x579670[_0x1167('0x32')][_0x1167('0x34')]?_0x579670[_0x1167('0x32')]:_0xcbac7f[_0x1167('0x31')];if(!_0x127ac4[_0x1167('0x2d')]['hasOwnProperty']('nolimit')){_0x579670['limit']=qs[_0x1167('0x35')](_0x127ac4['query'][_0x1167('0x35')]);_0x579670[_0x1167('0x1f')]=qs[_0x1167('0x1f')](_0x127ac4[_0x1167('0x2d')][_0x1167('0x1f')]);}_0x579670[_0x1167('0x36')]=qs[_0x1167('0x37')](_0x127ac4['query'][_0x1167('0x37')]);_0x579670['where']=qs[_0x1167('0x2f')](_[_0x1167('0x38')](_0x127ac4[_0x1167('0x2d')],_0xcbac7f['filters']),_0x3ee9a8);if(_0x127ac4[_0x1167('0x2d')][_0x1167('0x39')]){_0x579670[_0x1167('0x3a')]=_[_0x1167('0x3b')](_0x579670[_0x1167('0x3a')],{'$or':_[_0x1167('0x28')](_0x3ee9a8,function(_0x2bf816){if(_0x2bf816[_0x1167('0x2a')]!==_0x1167('0x3c')){var _0x1adfd7={};_0x1adfd7[_0x2bf816['name']]={'$like':'%'+_0x127ac4[_0x1167('0x2d')][_0x1167('0x39')]+'%'};return _0x1adfd7;}})});}_0x579670=_['merge']({},_0x579670,_0x127ac4[_0x1167('0x3d')]);var _0x304682={'where':_0x579670[_0x1167('0x3a')]};return db[_0x1167('0x3e')][_0x1167('0x21')](_0x304682)[_0x1167('0x23')](function(_0x4eafa5){_0x24d40d['count']=_0x4eafa5;if(_0x127ac4[_0x1167('0x2d')][_0x1167('0x3f')]){_0x579670[_0x1167('0x40')]=[{'all':!![]}];}return db['CmCustomField'][_0x1167('0x41')](_0x579670);})[_0x1167('0x23')](function(_0x44c4af){_0x24d40d[_0x1167('0x42')]=_0x44c4af;return _0x24d40d;})[_0x1167('0x23')](respondWithFilteredResult(_0x101dc1,_0x579670))[_0x1167('0x43')](handleError(_0x101dc1,null));};exports[_0x1167('0x44')]=function(_0x460701,_0x460070){var _0x3f0cfd={'raw':!![],'where':{'id':_0x460701[_0x1167('0x45')]['id']}},_0x2103de={};_0x2103de[_0x1167('0x31')]=_['keys'](db[_0x1167('0x3e')]['rawAttributes']);_0x2103de[_0x1167('0x2d')]=_[_0x1167('0x2e')](_0x460701[_0x1167('0x2d')]);_0x2103de[_0x1167('0x2f')]=_[_0x1167('0x30')](_0x2103de[_0x1167('0x31')],_0x2103de['query']);_0x3f0cfd['attributes']=_['intersection'](_0x2103de[_0x1167('0x31')],qs[_0x1167('0x33')](_0x460701[_0x1167('0x2d')][_0x1167('0x33')]));_0x3f0cfd['attributes']=_0x3f0cfd['attributes'][_0x1167('0x34')]?_0x3f0cfd[_0x1167('0x32')]:_0x2103de[_0x1167('0x31')];if(_0x460701[_0x1167('0x2d')][_0x1167('0x3f')]){_0x3f0cfd[_0x1167('0x40')]=[{'all':!![]}];}_0x3f0cfd=_['merge']({},_0x3f0cfd,_0x460701['options']);return db[_0x1167('0x3e')]['find'](_0x3f0cfd)['then'](handleEntityNotFound(_0x460070,null))[_0x1167('0x23')](respondWithResult(_0x460070,null))[_0x1167('0x43')](handleError(_0x460070,null));};exports[_0x1167('0x46')]=function(_0x3bed9e,_0x200e48){if(_0x3bed9e[_0x1167('0x47')]['id']){delete _0x3bed9e[_0x1167('0x47')]['id'];}return db[_0x1167('0x3e')][_0x1167('0x48')]({'where':{'id':_0x3bed9e['params']['id']}})['then'](handleEntityNotFound(_0x200e48,null))[_0x1167('0x23')](saveUpdates(_0x3bed9e['body'],null))[_0x1167('0x23')](respondWithResult(_0x200e48,null))['catch'](handleError(_0x200e48,null));};exports[_0x1167('0x24')]=function(_0xd69994,_0x9cb085){return db[_0x1167('0x3e')][_0x1167('0x48')]({'where':{'id':_0xd69994[_0x1167('0x45')]['id']}})['then'](handleEntityNotFound(_0x9cb085,null))[_0x1167('0x23')](removeEntity(_0x9cb085,null))[_0x1167('0x43')](handleError(_0x9cb085,null));};exports['create']=function(_0x5b0434,_0x4a55cb){var _0x260c55;return db[_0x1167('0x49')]['transaction'](function(_0x5c7948){return db['CmCustomField'][_0x1167('0x4a')](_0x5b0434['body'],{'transaction':_0x5c7948})[_0x1167('0x23')](function(_0x2c2b85){_0x260c55=_0x2c2b85;var _0xb6d3e5={'type':db[_0x1167('0x4b')][_0x1167('0x4c')],'transaction':_0x5c7948};switch(_0x5b0434[_0x1167('0x47')]['type']){case'text':_0xb6d3e5[_0x1167('0x2a')]=db['Sequelize'][_0x1167('0x4c')];break;case _0x1167('0x4d'):_0xb6d3e5['type']=db[_0x1167('0x4b')][_0x1167('0x4e')];break;case _0x1167('0x4f'):_0xb6d3e5[_0x1167('0x2a')]=db[_0x1167('0x4b')][_0x1167('0x50')];_0xb6d3e5[_0x1167('0x51')]=![];break;default:}return db[_0x1167('0x49')]['queryInterface']['addColumn'](_0x1167('0x52'),util['format'](_0x1167('0x53'),_0x260c55['id']),_0xb6d3e5);})[_0x1167('0x23')](function(){return _0x260c55;});})['then'](respondWithResult(_0x4a55cb,0xc9))['catch'](handleError(_0x4a55cb,null));};