Built motion from commit (unavailable).|2.4.18
[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 _0xecd1=['error','stack','name','send','index','map','CmCustomField','rawAttributes','fieldName','model','differenceBy','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','pick','filter','where','merge','options','includeAll','include','findAll','rows','show','params','catch','update','body','find','create','Sequelize','TEXT','type','text','number','INTEGER','switch','defaultValue','sequelize','queryInterface','addColumn','cm_contacts','cf_%d','html-pdf','rimraf','fast-json-patch','request-promise','util','path','sox','ejs','lodash','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','count','offset','limit','Content-Range','reject','then','destroy'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xecd1,0xd0));var _0x1ecd=function(_0x335c40,_0x4961ac){_0x335c40=_0x335c40-0x0;var _0x48ad54=_0xecd1[_0x335c40];return _0x48ad54;};'use strict';var pdf=require(_0x1ecd('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x1ecd('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1ecd('0x2'));var rp=require(_0x1ecd('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x1ecd('0x4'));var path=require(_0x1ecd('0x5'));var sox=require(_0x1ecd('0x6'));var csv=require('to-csv');var ejs=require(_0x1ecd('0x7'));var fs=require('fs');var _=require(_0x1ecd('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1ecd('0x9'));var deskjs=require(_0x1ecd('0xa'));var toCsv=require(_0x1ecd('0xb'));var querystring=require(_0x1ecd('0xc'));var Papa=require(_0x1ecd('0xd'));var Redis=require(_0x1ecd('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x1ecd('0xf'));var hardwareService=require(_0x1ecd('0x10'));var logger=require(_0x1ecd('0x11'))('api');var utils=require(_0x1ecd('0x12'));var config=require('../../config/environment');var db=require(_0x1ecd('0x13'))['db'];function respondWithStatusCode(_0x206216,_0xb58c75){_0xb58c75=_0xb58c75||0xcc;return function(_0x532f8e){if(_0x532f8e){return _0x206216[_0x1ecd('0x14')](_0xb58c75);}return _0x206216[_0x1ecd('0x15')](_0xb58c75)['end']();};}function respondWithResult(_0x1fb598,_0x15e9de){_0x15e9de=_0x15e9de||0xc8;return function(_0x4f41f2){if(_0x4f41f2){return _0x1fb598[_0x1ecd('0x15')](_0x15e9de)['json'](_0x4f41f2);}};}function respondWithFilteredResult(_0x317fcf,_0x4d2337){return function(_0x55dc28){if(_0x55dc28){var _0x162b0c=_0x55dc28[_0x1ecd('0x16')],_0x71bcfc=_0x4d2337[_0x1ecd('0x17')],_0x68bb62=_0x4d2337[_0x1ecd('0x17')]+_0x4d2337[_0x1ecd('0x18')],_0x25b502;if(_0x68bb62>=_0x162b0c){_0x68bb62=_0x162b0c;_0x25b502=0xc8;}else{_0x25b502=0xce;}_0x317fcf[_0x1ecd('0x15')](_0x25b502);return _0x317fcf['set'](_0x1ecd('0x19'),_0x71bcfc+'-'+_0x68bb62+'/'+_0x162b0c)['json'](_0x55dc28);}return null;};}function patchUpdates(_0x304628){return function(_0x30d84c){try{jsonpatch['apply'](_0x30d84c,_0x304628,!![]);}catch(_0x34386e){return BPromise[_0x1ecd('0x1a')](_0x34386e);}return _0x30d84c['save']();};}function saveUpdates(_0x379f91,_0x34d930){return function(_0x2fd62d){if(_0x2fd62d){return _0x2fd62d['update'](_0x379f91)[_0x1ecd('0x1b')](function(_0x42be33){return _0x42be33;});}return null;};}function removeEntity(_0x2026d9,_0x37167e){return function(_0x5c9c60){if(_0x5c9c60){return _0x5c9c60[_0x1ecd('0x1c')]()[_0x1ecd('0x1b')](function(){_0x2026d9['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4296ed,_0x286805){return function(_0x231dbf){if(!_0x231dbf){_0x4296ed[_0x1ecd('0x14')](0x194);}return _0x231dbf;};}function handleError(_0x171f0f,_0x55368d){_0x55368d=_0x55368d||0x1f4;return function(_0x3f2892){logger[_0x1ecd('0x1d')](_0x3f2892[_0x1ecd('0x1e')]);if(_0x3f2892[_0x1ecd('0x1f')]){delete _0x3f2892[_0x1ecd('0x1f')];}_0x171f0f[_0x1ecd('0x15')](_0x55368d)[_0x1ecd('0x20')](_0x3f2892);};}exports[_0x1ecd('0x21')]=function(_0x14d95f,_0x94b3b8){var _0x15f56f={},_0x25efe9={},_0x5dcddd={'count':0x0,'rows':[]};var _0x4a19f6=_[_0x1ecd('0x22')](db[_0x1ecd('0x23')][_0x1ecd('0x24')],function(_0x36ee13){return{'name':_0x36ee13[_0x1ecd('0x25')],'type':_0x36ee13['type']['key']};});_0x25efe9[_0x1ecd('0x26')]=_[_0x1ecd('0x27')](_[_0x1ecd('0x22')](_0x4a19f6,_0x1ecd('0x1f')),['name']);_0x25efe9[_0x1ecd('0x28')]=_[_0x1ecd('0x29')](_0x14d95f[_0x1ecd('0x28')]);_0x25efe9[_0x1ecd('0x2a')]=_[_0x1ecd('0x2b')](_0x25efe9['model'],_0x25efe9['query']);_0x15f56f[_0x1ecd('0x2c')]=_[_0x1ecd('0x2b')](_0x25efe9[_0x1ecd('0x26')],qs[_0x1ecd('0x2d')](_0x14d95f[_0x1ecd('0x28')][_0x1ecd('0x2d')]));_0x15f56f['attributes']=_0x15f56f[_0x1ecd('0x2c')][_0x1ecd('0x2e')]?_0x15f56f[_0x1ecd('0x2c')]:_0x25efe9[_0x1ecd('0x26')];if(!_0x14d95f[_0x1ecd('0x28')]['hasOwnProperty'](_0x1ecd('0x2f'))){_0x15f56f['limit']=qs['limit'](_0x14d95f[_0x1ecd('0x28')][_0x1ecd('0x18')]);_0x15f56f[_0x1ecd('0x17')]=qs[_0x1ecd('0x17')](_0x14d95f[_0x1ecd('0x28')]['offset']);}_0x15f56f[_0x1ecd('0x30')]=qs[_0x1ecd('0x31')](_0x14d95f['query'][_0x1ecd('0x31')]);_0x15f56f['where']=qs[_0x1ecd('0x2a')](_[_0x1ecd('0x32')](_0x14d95f[_0x1ecd('0x28')],_0x25efe9['filters']));if(_0x14d95f['query'][_0x1ecd('0x33')]){_0x15f56f[_0x1ecd('0x34')]=_[_0x1ecd('0x35')](_0x15f56f[_0x1ecd('0x34')],{'$or':_[_0x1ecd('0x22')](_0x4a19f6,function(_0x19dbca){if(_0x19dbca['type']!=='VIRTUAL'){var _0x259957={};_0x259957[_0x19dbca[_0x1ecd('0x1f')]]={'$like':'%'+_0x14d95f['query'][_0x1ecd('0x33')]+'%'};return _0x259957;}})});}_0x15f56f=_[_0x1ecd('0x35')]({},_0x15f56f,_0x14d95f[_0x1ecd('0x36')]);var _0x33d9ff={'where':_0x15f56f[_0x1ecd('0x34')]};return db['CmCustomField']['count'](_0x33d9ff)['then'](function(_0x5df0d2){_0x5dcddd[_0x1ecd('0x16')]=_0x5df0d2;if(_0x14d95f[_0x1ecd('0x28')][_0x1ecd('0x37')]){_0x15f56f[_0x1ecd('0x38')]=[{'all':!![]}];}return db[_0x1ecd('0x23')][_0x1ecd('0x39')](_0x15f56f);})[_0x1ecd('0x1b')](function(_0x2b5690){_0x5dcddd[_0x1ecd('0x3a')]=_0x2b5690;return _0x5dcddd;})[_0x1ecd('0x1b')](respondWithFilteredResult(_0x94b3b8,_0x15f56f))['catch'](handleError(_0x94b3b8,null));};exports[_0x1ecd('0x3b')]=function(_0x21f77d,_0x3b9c61){var _0x4728d1={'raw':!![],'where':{'id':_0x21f77d[_0x1ecd('0x3c')]['id']}},_0x2248df={};_0x2248df[_0x1ecd('0x26')]=_[_0x1ecd('0x29')](db['CmCustomField']['rawAttributes']);_0x2248df[_0x1ecd('0x28')]=_[_0x1ecd('0x29')](_0x21f77d[_0x1ecd('0x28')]);_0x2248df[_0x1ecd('0x2a')]=_['intersection'](_0x2248df['model'],_0x2248df['query']);_0x4728d1[_0x1ecd('0x2c')]=_['intersection'](_0x2248df[_0x1ecd('0x26')],qs[_0x1ecd('0x2d')](_0x21f77d['query']['fields']));_0x4728d1[_0x1ecd('0x2c')]=_0x4728d1['attributes'][_0x1ecd('0x2e')]?_0x4728d1[_0x1ecd('0x2c')]:_0x2248df[_0x1ecd('0x26')];if(_0x21f77d[_0x1ecd('0x28')][_0x1ecd('0x37')]){_0x4728d1[_0x1ecd('0x38')]=[{'all':!![]}];}_0x4728d1=_[_0x1ecd('0x35')]({},_0x4728d1,_0x21f77d[_0x1ecd('0x36')]);return db[_0x1ecd('0x23')]['find'](_0x4728d1)['then'](handleEntityNotFound(_0x3b9c61,null))[_0x1ecd('0x1b')](respondWithResult(_0x3b9c61,null))[_0x1ecd('0x3d')](handleError(_0x3b9c61,null));};exports[_0x1ecd('0x3e')]=function(_0x459c90,_0x297ec4){if(_0x459c90[_0x1ecd('0x3f')]['id']){delete _0x459c90[_0x1ecd('0x3f')]['id'];}return db[_0x1ecd('0x23')][_0x1ecd('0x40')]({'where':{'id':_0x459c90[_0x1ecd('0x3c')]['id']}})[_0x1ecd('0x1b')](handleEntityNotFound(_0x297ec4,null))[_0x1ecd('0x1b')](saveUpdates(_0x459c90[_0x1ecd('0x3f')],null))[_0x1ecd('0x1b')](respondWithResult(_0x297ec4,null))['catch'](handleError(_0x297ec4,null));};exports[_0x1ecd('0x1c')]=function(_0x5b9c26,_0x4cf90f){return db[_0x1ecd('0x23')]['find']({'where':{'id':_0x5b9c26[_0x1ecd('0x3c')]['id']}})['then'](handleEntityNotFound(_0x4cf90f,null))[_0x1ecd('0x1b')](removeEntity(_0x4cf90f,null))[_0x1ecd('0x3d')](handleError(_0x4cf90f,null));};exports['create']=function(_0x5b4f2d,_0x1d2a8d){var _0x8454db;return db['sequelize']['transaction'](function(_0x30d4b1){return db['CmCustomField'][_0x1ecd('0x41')](_0x5b4f2d[_0x1ecd('0x3f')],{'transaction':_0x30d4b1})['then'](function(_0x25f34f){_0x8454db=_0x25f34f;var _0x6a2096={'type':db[_0x1ecd('0x42')][_0x1ecd('0x43')],'transaction':_0x30d4b1};switch(_0x5b4f2d[_0x1ecd('0x3f')][_0x1ecd('0x44')]){case _0x1ecd('0x45'):_0x6a2096[_0x1ecd('0x44')]=db[_0x1ecd('0x42')][_0x1ecd('0x43')];break;case _0x1ecd('0x46'):_0x6a2096[_0x1ecd('0x44')]=db['Sequelize'][_0x1ecd('0x47')];break;case _0x1ecd('0x48'):_0x6a2096[_0x1ecd('0x44')]=db[_0x1ecd('0x42')]['BOOLEAN'];_0x6a2096[_0x1ecd('0x49')]=![];break;default:}return db[_0x1ecd('0x4a')][_0x1ecd('0x4b')][_0x1ecd('0x4c')](_0x1ecd('0x4d'),util['format'](_0x1ecd('0x4e'),_0x8454db['id']),_0x6a2096);})[_0x1ecd('0x1b')](function(){return _0x8454db;});})[_0x1ecd('0x1b')](respondWithResult(_0x1d2a8d,0xc9))[_0x1ecd('0x3d')](handleError(_0x1d2a8d,null));};