Built motion from commit 00bf23f6.|2.6.16
[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 _0xcc61=['json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','end','error','stack','name','send','index','rawAttributes','fieldName','model','differenceBy','map','query','filters','intersection','attributes','fields','nolimit','sort','where','pick','filter','merge','CmCustomField','includeAll','include','findAll','rows','catch','show','params','keys','length','options','find','body','destroy','create','sequelize','transaction','Sequelize','TEXT','type','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','format','cf_%d','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status'];(function(_0x7a8e71,_0x2acaa6){var _0x1792a4=function(_0x398d73){while(--_0x398d73){_0x7a8e71['push'](_0x7a8e71['shift']());}};_0x1792a4(++_0x2acaa6);}(_0xcc61,0x94));var _0x1cc6=function(_0x2aa397,_0x58bcd2){_0x2aa397=_0x2aa397-0x0;var _0x229797=_0xcc61[_0x2aa397];return _0x229797;};'use strict';var emlformat=require(_0x1cc6('0x0'));var rimraf=require(_0x1cc6('0x1'));var zipdir=require(_0x1cc6('0x2'));var jsonpatch=require(_0x1cc6('0x3'));var rp=require(_0x1cc6('0x4'));var moment=require('moment');var BPromise=require(_0x1cc6('0x5'));var Mustache=require(_0x1cc6('0x6'));var util=require(_0x1cc6('0x7'));var path=require('path');var sox=require(_0x1cc6('0x8'));var csv=require(_0x1cc6('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1cc6('0xa'));var _=require(_0x1cc6('0xb'));var squel=require(_0x1cc6('0xc'));var crypto=require(_0x1cc6('0xd'));var jsforce=require(_0x1cc6('0xe'));var deskjs=require(_0x1cc6('0xf'));var toCsv=require(_0x1cc6('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x1cc6('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x1cc6('0x11'));var as=require(_0x1cc6('0x12'));var hardwareService=require(_0x1cc6('0x13'));var logger=require('../../config/logger')(_0x1cc6('0x14'));var utils=require(_0x1cc6('0x15'));var config=require(_0x1cc6('0x16'));var licenseUtil=require(_0x1cc6('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x23399a,_0x439f1d){_0x439f1d=_0x439f1d||0xcc;return function(_0x1119f0){if(_0x1119f0){return _0x23399a[_0x1cc6('0x18')](_0x439f1d);}return _0x23399a[_0x1cc6('0x19')](_0x439f1d)['end']();};}function respondWithResult(_0x41fcc5,_0x4cf916){_0x4cf916=_0x4cf916||0xc8;return function(_0x50dbae){if(_0x50dbae){return _0x41fcc5[_0x1cc6('0x19')](_0x4cf916)[_0x1cc6('0x1a')](_0x50dbae);}};}function respondWithFilteredResult(_0x12b1da,_0xbe1f79){return function(_0x390448){if(_0x390448){var _0x33d3f4=typeof _0xbe1f79[_0x1cc6('0x1b')]===_0x1cc6('0x1c')&&typeof _0xbe1f79[_0x1cc6('0x1d')]===_0x1cc6('0x1c');var _0x368cf6=_0x390448[_0x1cc6('0x1e')];var _0x477401=_0x33d3f4?0x0:_0xbe1f79[_0x1cc6('0x1b')];var _0x486165=_0x33d3f4?_0x390448[_0x1cc6('0x1e')]:_0xbe1f79['offset']+_0xbe1f79[_0x1cc6('0x1d')];var _0x107ba5;if(_0x486165>=_0x368cf6){_0x486165=_0x368cf6;_0x107ba5=0xc8;}else{_0x107ba5=0xce;}_0x12b1da[_0x1cc6('0x19')](_0x107ba5);return _0x12b1da[_0x1cc6('0x1f')](_0x1cc6('0x20'),_0x477401+'-'+_0x486165+'/'+_0x368cf6)['json'](_0x390448);}return null;};}function patchUpdates(_0x427b5b){return function(_0x4b540b){try{jsonpatch[_0x1cc6('0x21')](_0x4b540b,_0x427b5b,!![]);}catch(_0x45e98d){return BPromise[_0x1cc6('0x22')](_0x45e98d);}return _0x4b540b[_0x1cc6('0x23')]();};}function saveUpdates(_0x5db4c6,_0x429403){return function(_0x35597c){if(_0x35597c){return _0x35597c[_0x1cc6('0x24')](_0x5db4c6)[_0x1cc6('0x25')](function(_0x2b469b){return _0x2b469b;});}return null;};}function removeEntity(_0x419eb1,_0x3ebde0){return function(_0x608c4c){if(_0x608c4c){return _0x608c4c['destroy']()['then'](function(){_0x419eb1[_0x1cc6('0x19')](0xcc)[_0x1cc6('0x26')]();});}};}function handleEntityNotFound(_0x3d54ce,_0x57c218){return function(_0x563ef7){if(!_0x563ef7){_0x3d54ce['sendStatus'](0x194);}return _0x563ef7;};}function handleError(_0x2f7074,_0x5511e7){_0x5511e7=_0x5511e7||0x1f4;return function(_0x514fa5){logger[_0x1cc6('0x27')](_0x514fa5[_0x1cc6('0x28')]);if(_0x514fa5[_0x1cc6('0x29')]){delete _0x514fa5[_0x1cc6('0x29')];}_0x2f7074[_0x1cc6('0x19')](_0x5511e7)[_0x1cc6('0x2a')](_0x514fa5);};}exports[_0x1cc6('0x2b')]=function(_0x12c0d5,_0x308539){var _0x5c8484={},_0xc8052b={},_0x1a909c={'count':0x0,'rows':[]};var _0x25180f=_['map'](db['CmCustomField'][_0x1cc6('0x2c')],function(_0x57aaab){return{'name':_0x57aaab[_0x1cc6('0x2d')],'type':_0x57aaab['type']['key']};});_0xc8052b[_0x1cc6('0x2e')]=_[_0x1cc6('0x2f')](_[_0x1cc6('0x30')](_0x25180f,_0x1cc6('0x29')),[_0x1cc6('0x29')]);_0xc8052b['query']=_['keys'](_0x12c0d5[_0x1cc6('0x31')]);_0xc8052b[_0x1cc6('0x32')]=_[_0x1cc6('0x33')](_0xc8052b[_0x1cc6('0x2e')],_0xc8052b[_0x1cc6('0x31')]);_0x5c8484[_0x1cc6('0x34')]=_[_0x1cc6('0x33')](_0xc8052b[_0x1cc6('0x2e')],qs[_0x1cc6('0x35')](_0x12c0d5[_0x1cc6('0x31')]['fields']));_0x5c8484[_0x1cc6('0x34')]=_0x5c8484['attributes']['length']?_0x5c8484['attributes']:_0xc8052b[_0x1cc6('0x2e')];if(!_0x12c0d5[_0x1cc6('0x31')]['hasOwnProperty'](_0x1cc6('0x36'))){_0x5c8484[_0x1cc6('0x1d')]=qs[_0x1cc6('0x1d')](_0x12c0d5[_0x1cc6('0x31')][_0x1cc6('0x1d')]);_0x5c8484[_0x1cc6('0x1b')]=qs[_0x1cc6('0x1b')](_0x12c0d5[_0x1cc6('0x31')][_0x1cc6('0x1b')]);}_0x5c8484['order']=qs[_0x1cc6('0x37')](_0x12c0d5[_0x1cc6('0x31')]['sort']);_0x5c8484[_0x1cc6('0x38')]=qs[_0x1cc6('0x32')](_[_0x1cc6('0x39')](_0x12c0d5[_0x1cc6('0x31')],_0xc8052b['filters']),_0x25180f);if(_0x12c0d5[_0x1cc6('0x31')][_0x1cc6('0x3a')]){_0x5c8484['where']=_[_0x1cc6('0x3b')](_0x5c8484[_0x1cc6('0x38')],{'$or':_[_0x1cc6('0x30')](_0x25180f,function(_0x28b2f1){if(_0x28b2f1['type']!=='VIRTUAL'){var _0x495b70={};_0x495b70[_0x28b2f1[_0x1cc6('0x29')]]={'$like':'%'+_0x12c0d5['query'][_0x1cc6('0x3a')]+'%'};return _0x495b70;}})});}_0x5c8484=_[_0x1cc6('0x3b')]({},_0x5c8484,_0x12c0d5['options']);var _0x5d175c={'where':_0x5c8484['where']};return db[_0x1cc6('0x3c')][_0x1cc6('0x1e')](_0x5d175c)[_0x1cc6('0x25')](function(_0x217102){_0x1a909c[_0x1cc6('0x1e')]=_0x217102;if(_0x12c0d5['query'][_0x1cc6('0x3d')]){_0x5c8484[_0x1cc6('0x3e')]=[{'all':!![]}];}return db[_0x1cc6('0x3c')][_0x1cc6('0x3f')](_0x5c8484);})['then'](function(_0x2c6f71){_0x1a909c[_0x1cc6('0x40')]=_0x2c6f71;return _0x1a909c;})[_0x1cc6('0x25')](respondWithFilteredResult(_0x308539,_0x5c8484))[_0x1cc6('0x41')](handleError(_0x308539,null));};exports[_0x1cc6('0x42')]=function(_0x5565f1,_0x4d9f2e){var _0x40299c={'raw':!![],'where':{'id':_0x5565f1[_0x1cc6('0x43')]['id']}},_0x1a2529={};_0x1a2529[_0x1cc6('0x2e')]=_[_0x1cc6('0x44')](db['CmCustomField'][_0x1cc6('0x2c')]);_0x1a2529['query']=_[_0x1cc6('0x44')](_0x5565f1[_0x1cc6('0x31')]);_0x1a2529[_0x1cc6('0x32')]=_[_0x1cc6('0x33')](_0x1a2529[_0x1cc6('0x2e')],_0x1a2529[_0x1cc6('0x31')]);_0x40299c[_0x1cc6('0x34')]=_['intersection'](_0x1a2529[_0x1cc6('0x2e')],qs[_0x1cc6('0x35')](_0x5565f1['query'][_0x1cc6('0x35')]));_0x40299c['attributes']=_0x40299c['attributes'][_0x1cc6('0x45')]?_0x40299c[_0x1cc6('0x34')]:_0x1a2529[_0x1cc6('0x2e')];if(_0x5565f1[_0x1cc6('0x31')][_0x1cc6('0x3d')]){_0x40299c[_0x1cc6('0x3e')]=[{'all':!![]}];}_0x40299c=_[_0x1cc6('0x3b')]({},_0x40299c,_0x5565f1[_0x1cc6('0x46')]);return db[_0x1cc6('0x3c')][_0x1cc6('0x47')](_0x40299c)['then'](handleEntityNotFound(_0x4d9f2e,null))['then'](respondWithResult(_0x4d9f2e,null))[_0x1cc6('0x41')](handleError(_0x4d9f2e,null));};exports['update']=function(_0x53d13c,_0x5be937){if(_0x53d13c[_0x1cc6('0x48')]['id']){delete _0x53d13c['body']['id'];}return db[_0x1cc6('0x3c')][_0x1cc6('0x47')]({'where':{'id':_0x53d13c[_0x1cc6('0x43')]['id']}})[_0x1cc6('0x25')](handleEntityNotFound(_0x5be937,null))[_0x1cc6('0x25')](saveUpdates(_0x53d13c['body'],null))[_0x1cc6('0x25')](respondWithResult(_0x5be937,null))[_0x1cc6('0x41')](handleError(_0x5be937,null));};exports[_0x1cc6('0x49')]=function(_0x204a4e,_0x1f533d){return db['CmCustomField'][_0x1cc6('0x47')]({'where':{'id':_0x204a4e[_0x1cc6('0x43')]['id']}})[_0x1cc6('0x25')](handleEntityNotFound(_0x1f533d,null))[_0x1cc6('0x25')](removeEntity(_0x1f533d,null))[_0x1cc6('0x41')](handleError(_0x1f533d,null));};exports[_0x1cc6('0x4a')]=function(_0xf6fc60,_0x33b1b1){var _0x292964;return db[_0x1cc6('0x4b')][_0x1cc6('0x4c')](function(_0x45e5d0){return db[_0x1cc6('0x3c')][_0x1cc6('0x4a')](_0xf6fc60[_0x1cc6('0x48')],{'transaction':_0x45e5d0})['then'](function(_0x4bab08){_0x292964=_0x4bab08;var _0x4870b6={'type':db[_0x1cc6('0x4d')][_0x1cc6('0x4e')],'transaction':_0x45e5d0};switch(_0xf6fc60['body'][_0x1cc6('0x4f')]){case'text':_0x4870b6[_0x1cc6('0x4f')]=db[_0x1cc6('0x4d')][_0x1cc6('0x4e')];break;case'number':_0x4870b6[_0x1cc6('0x4f')]=db[_0x1cc6('0x4d')][_0x1cc6('0x50')];break;case _0x1cc6('0x51'):_0x4870b6[_0x1cc6('0x4f')]=db[_0x1cc6('0x4d')][_0x1cc6('0x52')];_0x4870b6[_0x1cc6('0x53')]=![];break;default:}return db[_0x1cc6('0x4b')][_0x1cc6('0x54')]['addColumn']('cm_contacts',util[_0x1cc6('0x55')](_0x1cc6('0x56'),_0x292964['id']),_0x4870b6);})['then'](function(){return _0x292964;});})['then'](respondWithResult(_0x33b1b1,0xc9))[_0x1cc6('0x41')](handleError(_0x33b1b1,null));};