Built motion from commit (unavailable).|2.5.13
[motion2.git] / server / api / cmContact / cmContact.rpc.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 _0x520e=['catch','CreateCmContact','keys','body','length','startsWith','cf_','update','id\x20=\x20?','query','lodash','moment','bluebird','ioredis','squel','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','http','redis','socket.io-emitter','./cmContact.socket','register','then','info','request\x20sent','debug','CmContact,\x20%s,\x20%s,\x20%s','stringify','error','CmContact,\x20%s,\x20%s','message','result','CmContact','findAll','options','where','attributes','limit','map','model','include','GetCmContact'];(function(_0x189d41,_0x19ba05){var _0x2e929e=function(_0x113892){while(--_0x113892){_0x189d41['push'](_0x189d41['shift']());}};_0x2e929e(++_0x19ba05);}(_0x520e,0x145));var _0xe520=function(_0x35ef6b,_0x202c42){_0x35ef6b=_0x35ef6b-0x0;var _0x3ad145=_0x520e[_0x35ef6b];return _0x3ad145;};'use strict';var _=require(_0xe520('0x0'));var util=require('util');var moment=require(_0xe520('0x1'));var BPromise=require(_0xe520('0x2'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xe520('0x3'));var squel=require(_0xe520('0x4'));var db=require('../../mysqldb')['db'];var utils=require(_0xe520('0x5'));var logger=require(_0xe520('0x6'))(_0xe520('0x7'));var config=require(_0xe520('0x8'));var jayson=require(_0xe520('0x9'));var client=jayson['client'][_0xe520('0xa')]({'port':0x232a});config['redis']=_['defaults'](config[_0xe520('0xb')],{'host':'localhost','port':0x18eb});var socket=require(_0xe520('0xc'))(new Redis(config[_0xe520('0xb')]));require(_0xe520('0xd'))[_0xe520('0xe')](socket);function respondWithRpcPromise(_0x350554,_0x1fcb24,_0x281ecf){return new BPromise(function(_0x28ccdf,_0x14409a){return client['request'](_0x350554,_0x281ecf)[_0xe520('0xf')](function(_0x71a501){logger[_0xe520('0x10')]('CmContact,\x20%s,\x20%s',_0x1fcb24,_0xe520('0x11'));logger[_0xe520('0x12')](_0xe520('0x13'),_0x1fcb24,'request\x20sent',JSON[_0xe520('0x14')](_0x71a501));if(_0x71a501['error']){if(_0x71a501['error']['code']===0x1f4){logger[_0xe520('0x15')](_0xe520('0x16'),_0x1fcb24,_0x71a501['error'][_0xe520('0x17')]);return _0x14409a(_0x71a501[_0xe520('0x15')][_0xe520('0x17')]);}logger[_0xe520('0x15')](_0xe520('0x16'),_0x1fcb24,_0x71a501[_0xe520('0x15')]['message']);return _0x28ccdf(_0x71a501['error'][_0xe520('0x17')]);}else{logger[_0xe520('0x10')](_0xe520('0x16'),_0x1fcb24,_0xe520('0x11'));_0x28ccdf(_0x71a501[_0xe520('0x18')]['message']);}})['catch'](function(_0x438320){logger['error']('CmContact,\x20%s,\x20%s',_0x1fcb24,_0x438320);_0x14409a(_0x438320);});});}exports['GetCmContact']=function(_0xd8bd43){var _0x88217a=this;return new Promise(function(_0xf240a5,_0x43af91){return db[_0xe520('0x19')][_0xe520('0x1a')]({'raw':_0xd8bd43['options']?_0xd8bd43[_0xe520('0x1b')]['raw']===undefined?!![]:![]:!![],'where':_0xd8bd43['options']?_0xd8bd43['options'][_0xe520('0x1c')]||null:null,'attributes':_0xd8bd43['options']?_0xd8bd43[_0xe520('0x1b')][_0xe520('0x1d')]||null:null,'limit':_0xd8bd43[_0xe520('0x1b')]?_0xd8bd43['options'][_0xe520('0x1e')]||null:null,'include':_0xd8bd43[_0xe520('0x1b')]?_0xd8bd43[_0xe520('0x1b')]['include']?_[_0xe520('0x1f')](_0xd8bd43['options']['include'],function(_0x44422f){return{'model':db[_0x44422f[_0xe520('0x20')]],'as':_0x44422f['as'],'attributes':_0x44422f['attributes'],'include':_0x44422f[_0xe520('0x21')]?_[_0xe520('0x1f')](_0x44422f[_0xe520('0x21')],function(_0x1ecd35){return{'model':db[_0x1ecd35[_0xe520('0x20')]],'as':_0x1ecd35['as'],'attributes':_0x1ecd35[_0xe520('0x1d')],'include':_0x1ecd35[_0xe520('0x21')]?_[_0xe520('0x1f')](_0x1ecd35['include'],function(_0x191ee4){return{'model':db[_0x191ee4[_0xe520('0x20')]],'as':_0x191ee4['as'],'attributes':_0x191ee4[_0xe520('0x1d')]};}):[]};}):[]};}):[]:[]})[_0xe520('0xf')](function(_0xb81ad2){logger[_0xe520('0x10')](_0xe520('0x22'),_0xd8bd43);logger[_0xe520('0x12')](_0xe520('0x22'),_0xd8bd43,JSON[_0xe520('0x14')](_0xb81ad2));_0xf240a5(_0xb81ad2);})[_0xe520('0x23')](function(_0x3e3c56){logger[_0xe520('0x15')](_0xe520('0x22'),_0x3e3c56[_0xe520('0x17')],_0xd8bd43);_0x43af91(_0x88217a[_0xe520('0x15')](0x1f4,_0x3e3c56[_0xe520('0x17')]));});});};exports[_0xe520('0x24')]=function(_0x5d5507){var _0x337eea=this;return new Promise(function(_0x44c5fa,_0x408fed){return db[_0xe520('0x19')]['create'](_0x5d5507['body'],{'raw':_0x5d5507[_0xe520('0x1b')]?_0x5d5507[_0xe520('0x1b')]['raw']===undefined?!![]:![]:!![]})['then'](function(_0x5baae6){var _0x290d14;for(var _0x5d06c0=0x0;_0x5d06c0<Object[_0xe520('0x25')](_0x5d5507[_0xe520('0x26')])[_0xe520('0x27')];_0x5d06c0++){var _0x421d69=Object[_0xe520('0x25')](_0x5d5507['body'])[_0x5d06c0];if(_0x421d69[_0xe520('0x28')](_0xe520('0x29'))){_0x290d14=squel[_0xe520('0x2a')]()['table']('cm_contacts')['set'](_0x421d69,_0x5d5507['body'][_0x421d69])['where'](_0xe520('0x2b'),_0x5baae6['id'])['toString']();break;}}if(!_0x290d14)return _0x5baae6;return db['sequelize'][_0xe520('0x2c')](_0x290d14)[_0xe520('0xf')](function(){return _0x5baae6;});})[_0xe520('0xf')](function(_0x22eafb){logger[_0xe520('0x10')]('CreateCmContact',_0x5d5507);logger[_0xe520('0x12')](_0xe520('0x24'),_0x5d5507,JSON[_0xe520('0x14')](_0x22eafb));_0x44c5fa(_0x22eafb);})['catch'](function(_0x2b5202){logger[_0xe520('0x15')](_0xe520('0x24'),_0x2b5202[_0xe520('0x17')],_0x5d5507);_0x408fed(_0x337eea[_0xe520('0x15')](0x1f4,_0x2b5202[_0xe520('0x17')]));});});};