Built motion from commit (unavailable).|2.5.14
[motion2.git] / server / api / authGoogle / authGoogle.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 _0x4ae9=['clientSecret','secret','callbackURL','Setting','findOne','allowedLoginAttempts','blockDuration','then','User','find','value','admin','user','agent','disabled','Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.','blocked','blockedAt','minutes','clearBlockUser','getLicense','catch','lodash','passport','Strategy','../../mysqldb','../../config/environment','../../components/auth/service','signToken','../../config/utils','login','authenticate','google','/login','profile','email','callback','clientID'];(function(_0x56b5af,_0x1babca){var _0x5600bd=function(_0x1df977){while(--_0x1df977){_0x56b5af['push'](_0x56b5af['shift']());}};_0x5600bd(++_0x1babca);}(_0x4ae9,0xfa));var _0x94ae=function(_0x748f64,_0x1ab840){_0x748f64=_0x748f64-0x0;var _0x50a19c=_0x4ae9[_0x748f64];return _0x50a19c;};'use strict';var _=require(_0x94ae('0x0'));var passport=require(_0x94ae('0x1'));var GoogleStrategy=require('passport-google-oauth20')[_0x94ae('0x2')];var moment=require('moment');var db=require(_0x94ae('0x3'))['db'];var config=require(_0x94ae('0x4'));var signToken=require(_0x94ae('0x5'))[_0x94ae('0x6')];var utils=require(_0x94ae('0x7'));exports[_0x94ae('0x8')]=passport[_0x94ae('0x9')](_0x94ae('0xa'),{'failureRedirect':_0x94ae('0xb'),'scope':[_0x94ae('0xc'),_0x94ae('0xd')],'session':![]});exports[_0x94ae('0xe')]=passport[_0x94ae('0x9')](_0x94ae('0xa'),{'failureRedirect':_0x94ae('0xb'),'session':![]});passport['use'](new GoogleStrategy({'clientID':config[_0x94ae('0xa')]?config[_0x94ae('0xa')][_0x94ae('0xf')]:'id','clientSecret':config[_0x94ae('0xa')]?config['google'][_0x94ae('0x10')]:_0x94ae('0x11'),'callbackURL':config['google']?config[_0x94ae('0xa')][_0x94ae('0x12')]:''},function(_0x1c3841,_0x34e9f1,_0x255175,_0x136067){var _0xe8584b,_0x247e20;return db[_0x94ae('0x13')][_0x94ae('0x14')]({'where':{'id':0x1},'attributes':[_0x94ae('0x15'),_0x94ae('0x16')],'raw':!![]})[_0x94ae('0x17')](function(_0x16aa3a){_0xe8584b=_0x16aa3a;return db[_0x94ae('0x18')][_0x94ae('0x19')]({'where':{'email':_['map'](_0x255175['emails'],_0x94ae('0x1a')),'role':{'$or':[_0x94ae('0x1b'),_0x94ae('0x1c'),_0x94ae('0x1d')]}}});})[_0x94ae('0x17')](function(_0x1daadf){_0x247e20=_0x1daadf;if(_0x247e20){if(_0x247e20[_0x94ae('0x1e')]){return _0x136067(_0x94ae('0x1f'));}else if(_0xe8584b[_0x94ae('0x16')]>0x0){if(_0x247e20[_0x94ae('0x20')]){if(moment(_0x247e20[_0x94ae('0x21')])['add'](_0xe8584b[_0x94ae('0x16')],_0x94ae('0x22'))>moment()){return _0x136067(_0x94ae('0x1f'));}else{return utils[_0x94ae('0x23')](_0x247e20,0x0,![],null)[_0x94ae('0x17')](function(){return utils[_0x94ae('0x24')](_0x247e20);})[_0x94ae('0x17')](function(){return _0x136067(null,_0x247e20);});}}else{return utils[_0x94ae('0x24')](_0x247e20)[_0x94ae('0x17')](function(){return _0x136067(null,_0x247e20);});}}else{return utils['getLicense'](_0x247e20)[_0x94ae('0x17')](function(){return _0x136067(null,_0x247e20);});}}return _0x136067(_0x94ae('0x1f'));})[_0x94ae('0x25')](function(_0x177c3c){_0x136067(_0x177c3c);});}));