Built motion from commit b517aaa2a6638133380e4d135c64a80893061362. Version 3.0.0...
[motion-next.git] / server / api / user / user.model.js
1 const a650_0x2c78=['extensionMonitor','pbkdf2Sync','catch','toString','local','chanspy','join','users','CDR(type)=%s','salt','format','authenticate','prototype','auth','utf8_bin','Missing\x20Callback','util','models','internal','WAV','from','defaults','wav','updateMd5Password','pbkdf2','options','base64','CDR(type)=internal','record','encryptPassword','SIP/%s,,tTxX','md5secret','context','${UNIQUEID}.%s,ab','VoiceExtension','VoiceChanSpy','push','length','Dial','define','includes','MixMonitor','crypto','md5','merge','makeSaltAsync','Invalid\x20password','priority','prefix','isEmpty','exports','gsm','lodash','makeSalt','name','destroy','randomBytes','then','concat','sequelize','system','Authenticate','StopMixMonitor','recordingFormat','changed','updatePassword','./user.attributes','Set','SIP/%s,,tTxXU(xcally-mixmonitor-context)','_XCALLY_MIXMONITOR_FORMAT=%s','password','resolve','bulkCreate','findAll'];(function(_0x4c66cf,_0x2c78ae){const _0x31221e=function(_0x38a552){while(--_0x38a552){_0x4c66cf['push'](_0x4c66cf['shift']());}};_0x31221e(++_0x2c78ae);}(a650_0x2c78,0x1bd));const a650_0x3122=function(_0x4c66cf,_0x2c78ae){_0x4c66cf=_0x4c66cf-0x0;let _0x31221e=a650_0x2c78[_0x4c66cf];return _0x31221e;};const _0x4c110e=a650_0x3122;'use strict';const _=require(_0x4c110e('0x33')),util=require(_0x4c110e('0xf')),crypto=require(_0x4c110e('0x29')),md5=require(_0x4c110e('0x2a')),sequelize=require(_0x4c110e('0x3a')),{Op}=sequelize,attributes=require(_0x4c110e('0x41')),addUserApplication=function(_0x38a552,_0x53312a){const _0x2731a9=_0x4c110e,_0x3581b9=[_0x2731a9('0x15'),_0x2731a9('0x12'),_0x2731a9('0x32')],_0x14c1cf={'context':_0x38a552['context']||'from-sip','exten':_0x53312a,'type':'system','isApp':![],'UserId':_0x38a552['id']},_0x514a6d=[{'app':_0x2731a9('0x42'),'appdata':_0x2731a9('0x1a')}];_0x38a552[_0x2731a9('0x49')]&&_[_0x2731a9('0x27')](_0x3581b9,_0x38a552[_0x2731a9('0x49')])?(_0x514a6d[_0x2731a9('0x23')]({'app':_0x2731a9('0x42'),'appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}'}),_0x514a6d['push']({'app':_0x2731a9('0x42'),'appdata':util['format'](_0x2731a9('0x44'),_0x38a552[_0x2731a9('0x49')])}),_0x514a6d[_0x2731a9('0x23')]({'app':'Dial','appdata':util[_0x2731a9('0x9')](_0x2731a9('0x43'),_0x38a552[_0x2731a9('0x35')])})):_0x514a6d[_0x2731a9('0x23')]({'app':_0x2731a9('0x25'),'appdata':util[_0x2731a9('0x9')](_0x2731a9('0x1d'),_0x38a552[_0x2731a9('0x35')])});_0x514a6d[_0x2731a9('0x23')]({'app':'Hangup'});for(let _0x14c8e9=0x0;_0x14c8e9<_0x514a6d['length'];_0x14c8e9++){_0x514a6d[_0x14c8e9][_0x2731a9('0x2e')]=_0x14c8e9+0x1,_0x514a6d[_0x14c8e9]=_[_0x2731a9('0x14')](_0x514a6d[_0x14c8e9],_0x14c1cf);}return _0x514a6d;},addChanSpyApplications=function(_0x550968,_0x14f4fe,_0x5d8bc3){const _0x5472fa=_0x4c110e,_0x57b3a1={'context':_0x550968['context']||'from-sip','type':_0x5472fa('0x3b'),'isApp':![],'UserId':_0x550968['id']},_0x5662de=[];for(let _0x499049=0x0,_0x29376c=0x1;_0x499049<_0x5d8bc3['length'];_0x499049++,_0x29376c=0x1){const _0x510f7f={'exten':util[_0x5472fa('0x9')]('%s%s',_0x5d8bc3[_0x499049][_0x5472fa('0x2f')],_0x14f4fe),'ChanSpyId':_0x5d8bc3[_0x499049]['id']};_0x5662de['push'](_[_0x5472fa('0x2b')]({'app':_0x5472fa('0x42'),'appdata':util['format'](_0x5472fa('0x7'),'chanspy'),'priority':_0x29376c++},_0x57b3a1,_0x510f7f)),_0x5d8bc3[_0x499049][_0x5472fa('0x1b')]&&_0x5662de['push'](_['merge']({'app':_0x5472fa('0x28'),'appdata':util[_0x5472fa('0x9')](_0x5472fa('0x20'),_0x5d8bc3[_0x499049][_0x5472fa('0x3e')]),'priority':_0x29376c++},_0x57b3a1,_0x510f7f)),_0x5d8bc3[_0x499049][_0x5472fa('0xc')]&&_0x5662de['push'](_['merge']({'app':_0x5472fa('0x3c'),'appdata':_0x5d8bc3[_0x499049][_0x5472fa('0x45')],'priority':_0x29376c++},_0x57b3a1,_0x510f7f)),_0x5662de['push'](_['merge']({'app':'ChanSpy','appdata':util[_0x5472fa('0x9')]('SIP/%s,%s',_0x550968[_0x5472fa('0x35')],_0x5d8bc3[_0x499049][_0x5472fa('0x18')]?_0x5d8bc3[_0x499049][_0x5472fa('0x18')][_0x5472fa('0x5')](''):''),'priority':_0x29376c++},_0x57b3a1,_0x510f7f)),_0x5d8bc3[_0x499049][_0x5472fa('0x1b')]&&_0x5662de[_0x5472fa('0x23')](_[_0x5472fa('0x2b')]({'app':_0x5472fa('0x3d'),'priority':_0x29376c++},_0x57b3a1,_0x510f7f));}return _0x5662de;},getChanSpy=function(_0x33bf72,_0x201161){return new Promise(function(_0x27c9bb,_0x59655f){const _0x12f172=a650_0x3122;return _0x33bf72[_0x12f172('0x22')][_0x12f172('0x48')]()[_0x12f172('0x38')](function(_0xecabdd){const _0x41c975=_0x12f172;if(_0xecabdd){let _0x581f1d=addChanSpyApplications(_0x201161,_0x201161[_0x41c975('0x11')],_0xecabdd);return _0x201161[_0x41c975('0x11')]!=_0x201161[_0x41c975('0x35')]&&(_0x581f1d=_0x581f1d['concat'](addChanSpyApplications(_0x201161,_0x201161[_0x41c975('0x35')],_0xecabdd))),_0x27c9bb(_0x581f1d);}return _0x27c9bb([]);})[_0x12f172('0x1')](function(_0x560244){_0x59655f(_0x560244);});});},authTypes=['google',_0x4c110e('0x3')];module[_0x4c110e('0x31')]=function(_0x1a9fb7){const _0x262296=_0x4c110e,_0x2d431c=_0x1a9fb7[_0x262296('0x10')],_0x2c3658=_0x1a9fb7[_0x262296('0x26')]('User',attributes,{'tableName':_0x262296('0x6'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x3ba38f){const _0x21d62f=_0x262296;return _0x3ba38f[_0x21d62f('0x16')](),_0x3ba38f[_0x21d62f('0x40')]();},'beforeUpdate':function(_0x2cb347){const _0x4fd2d2=_0x262296;return _0x2cb347[_0x4fd2d2('0x3f')](_0x4fd2d2('0x45'))?(_0x2cb347['updateMd5Password'](),_0x2cb347[_0x4fd2d2('0x40')]()):Promise[_0x4fd2d2('0x46')]();},'afterCreate':function(_0x20a8aa){const _0x12c560=_0x262296;let _0x26e36f=addUserApplication(_0x20a8aa,_0x20a8aa[_0x12c560('0x11')]);return _0x20a8aa[_0x12c560('0x11')]!=_0x20a8aa[_0x12c560('0x35')]&&(_0x26e36f=_0x26e36f[_0x12c560('0x39')](addUserApplication(_0x20a8aa,_0x20a8aa[_0x12c560('0x35')]))),_0x2d431c[_0x12c560('0x21')][_0x12c560('0x47')](_0x26e36f)[_0x12c560('0x38')](function(){const _0x5713ec=_0x12c560;if(_0x20a8aa[_0x5713ec('0x4')])return getChanSpy(_0x2d431c,_0x20a8aa);})['then'](function(_0x4661f2){const _0x1ffda4=_0x12c560;return _0x4661f2&&_0x4661f2[_0x1ffda4('0x24')]?_0x2d431c[_0x1ffda4('0x21')][_0x1ffda4('0x47')](_0x4661f2):null;})['catch'](function(_0x1bd0f8){return _0x1bd0f8;});},'afterUpdate':function(_0x923ab1){const _0x1ab21a=_0x262296;return Promise[_0x1ab21a('0x46')]()[_0x1ab21a('0x38')](function(){const _0x56947d=_0x1ab21a;if(_0x923ab1['changed'](_0x56947d('0x4'))||_0x923ab1[_0x56947d('0x3f')](_0x56947d('0x1f')))return _0x2d431c[_0x56947d('0x21')][_0x56947d('0x36')]({'where':{'UserId':_0x923ab1['id'],'type':_0x56947d('0x3b'),'ChanSpyId':{[Op['ne']]:null}}})[_0x56947d('0x38')](function(){const _0x520785=_0x56947d;if(_0x923ab1['chanspy'])return getChanSpy(_0x2d431c,_0x923ab1)[_0x520785('0x38')](function(_0x510031){const _0x519db9=_0x520785;if(_0x510031&&_0x510031[_0x519db9('0x24')])return _0x2d431c[_0x519db9('0x21')][_0x519db9('0x47')](_0x510031);});});})['then'](function(){const _0x58378e=_0x1ab21a;return _0x923ab1[_0x58378e('0x3f')]('extensionMonitor')||_0x923ab1['changed'](_0x58378e('0x1f'))?_0x2d431c[_0x58378e('0x21')][_0x58378e('0x36')]({'where':{'UserId':_0x923ab1['id'],'type':_0x58378e('0x3b'),'ChanSpyId':null}})[_0x58378e('0x38')](function(){const _0x2c07f7=_0x58378e;let _0x580dba=addUserApplication(_0x923ab1,_0x923ab1['internal']);return _0x923ab1[_0x2c07f7('0x11')]!=_0x923ab1[_0x2c07f7('0x35')]&&(_0x580dba=_0x580dba['concat'](addUserApplication(_0x923ab1,_0x923ab1[_0x2c07f7('0x35')]))),_0x2d431c['VoiceExtension'][_0x2c07f7('0x47')](_0x580dba);}):null;})[_0x1ab21a('0x1')](function(_0x353880){return _0x353880;});},'afterDestroy':function(_0x264bcb){const _0x507434=_0x262296;return _0x2d431c['VoiceExtension'][_0x507434('0x36')]({'where':{'UserId':_0x264bcb['id'],'type':_0x507434('0x3b')}});}},'charset':'utf8','collate':_0x262296('0xd')});return _0x2c3658[_0x262296('0xb')][_0x262296('0xa')]=function(_0x58baef,_0x32bc8b){const _0xeb13a9=_0x262296;if(!_0x32bc8b)return this['password']===this[_0xeb13a9('0x1c')](_0x58baef);const _0x308550=this;this[_0xeb13a9('0x1c')](_0x58baef,function(_0x4e071f,_0x3a9de1){const _0x334f25=_0xeb13a9;_0x4e071f&&_0x32bc8b(_0x4e071f),_0x308550[_0x334f25('0x45')]===_0x3a9de1?_0x32bc8b(null,!![]):_0x32bc8b(null,![]);});},_0x2c3658['prototype'][_0x262296('0x34')]=function(_0x30b56e,_0x23aea4){const _0x10f5db=_0x262296,_0x53bb94=0x10;if(typeof arguments[0x0]==='function')_0x23aea4=arguments[0x0],_0x30b56e=_0x53bb94;else{if(typeof arguments[0x1]==='function')_0x23aea4=arguments[0x1];else throw new Error(_0x10f5db('0xe'));}return!_0x30b56e&&(_0x30b56e=_0x53bb94),crypto[_0x10f5db('0x37')](_0x30b56e,function(_0x493846,_0x1e7649){const _0x191b40=_0x10f5db;return _0x493846&&_0x23aea4(_0x493846),_0x23aea4(null,_0x1e7649[_0x191b40('0x2')]('base64'));});},_0x2c3658[_0x262296('0xb')]['makeSaltAsync']=async function(_0x1cb9f1=0x10){return new Promise((_0x1b5e83,_0x13472b)=>{crypto['randomBytes'](_0x1cb9f1,function(_0x723182,_0x1c211f){return _0x723182&&_0x13472b(_0x723182),_0x1b5e83(_0x1c211f['toString']('base64'));});});},_0x2c3658[_0x262296('0xb')][_0x262296('0x1c')]=function(_0x39dc75,_0x159f52){const _0xdd694b=_0x262296;if(!_0x39dc75||!this[_0xdd694b('0x8')])return _0x159f52?_0x159f52(null):null;const _0x2443c5=0x2710,_0xe90736=0x40,_0x483eb1=Buffer[_0xdd694b('0x13')](this[_0xdd694b('0x8')],_0xdd694b('0x19'));if(!_0x159f52)return crypto[_0xdd694b('0x0')](_0x39dc75,_0x483eb1,_0x2443c5,_0xe90736,'sha1')[_0xdd694b('0x2')](_0xdd694b('0x19'));return crypto[_0xdd694b('0x17')](_0x39dc75,_0x483eb1,_0x2443c5,_0xe90736,'sha1',function(_0x5cbe9c,_0x35e4bb){const _0x395fcc=_0xdd694b;return _0x5cbe9c&&_0x159f52(_0x5cbe9c),_0x159f52(null,_0x35e4bb[_0x395fcc('0x2')](_0x395fcc('0x19')));});},_0x2c3658[_0x262296('0xb')][_0x262296('0x40')]=async function(){const _0xcd7263=_0x262296;if(!this['password'])return null;if(!_[_0xcd7263('0x30')](this['password'])&&authTypes['indexOf'](this['provider'])===-0x1)throw new Error(_0xcd7263('0x2d'));return this[_0xcd7263('0x8')]=await this[_0xcd7263('0x2c')](),new Promise((_0x6c34a1,_0x38db42)=>{const _0x314ee2=_0xcd7263;this[_0x314ee2('0x1c')](this['password'],(_0xd4abe3,_0x12a00f)=>{const _0x53fa51=_0x314ee2;_0xd4abe3?_0x38db42(_0xd4abe3):(this[_0x53fa51('0x45')]=_0x12a00f,_0x6c34a1());});});},_0x2c3658[_0x262296('0xb')]['updateMd5Password']=function(){const _0x3d7593=_0x262296;this[_0x3d7593('0x1e')]=md5(this[_0x3d7593('0x35')]+':asterisk:'+this['password']);},_0x2c3658;};