Subversion Repositories SmartDukaan

Rev

Rev 14819 | Rev 18530 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 14819 Rev 15251
Line 6... Line 6...
6
from elixir import session
6
from elixir import session
7
from shop2020.model.v1.user.impl import Dataservice
7
from shop2020.model.v1.user.impl import Dataservice
8
from shop2020.model.v1.user.impl.CartDataAccessors import create_cart
8
from shop2020.model.v1.user.impl.CartDataAccessors import create_cart
9
from shop2020.model.v1.user.impl.Dataservice import User, UserCommunication, \
9
from shop2020.model.v1.user.impl.Dataservice import User, UserCommunication, \
10
    Address, Affiliate, Tracker, TrackLog, MasterAffiliate, UserWidgetItem, \
10
    Address, Affiliate, Tracker, TrackLog, MasterAffiliate, UserWidgetItem, \
11
    FacebookUser, UserSource, PrivateDealUser, Counter
11
    FacebookUser, UserSource, PrivateDealUser, Counter, AccessTokenizer
12
from shop2020.thriftpy.model.v1.user.ttypes import UserContextException, \
12
from shop2020.thriftpy.model.v1.user.ttypes import UserContextException, \
13
    AuthenticationException, Sex, WidgetType as WType
13
    AuthenticationException, Sex, WidgetType as WType
14
from shop2020.utils.Utils import log_entry, to_py_date
14
from shop2020.utils.Utils import log_entry, to_py_date
15
from sqlalchemy import desc, select
15
from sqlalchemy import desc, select
16
from sqlalchemy.sql import and_
16
from sqlalchemy.sql import and_
17
from sqlalchemy.sql.expression import or_
17
from sqlalchemy.sql.expression import or_
18
import datetime
18
import datetime
-
 
19
import os, binascii
19
 
20
 
20
CounterStateMap = {"Telangana" : "TS", "Andhra Pradesh" : "AP"}
21
CounterStateMap = {"Telangana" : "TS", "Andhra Pradesh" : "AP"}
21
 
22
 
22
def initialize(dbname='user', db_hostname="localhost"):
23
def initialize(dbname='user', db_hostname="localhost"):
23
    log_entry("initialize@DataAccessor", "Initializing data service")
24
    log_entry("initialize@DataAccessor", "Initializing data service")
Line 644... Line 645...
644
    print dealerids  
645
    print dealerids  
645
    if len(dealerids) > 0:
646
    if len(dealerids) > 0:
646
        return User.query.filter(User.id.in_(dealerids)).all()
647
        return User.query.filter(User.id.in_(dealerids)).all()
647
    return []
648
    return []
648
            
649
            
-
 
650
def get_active_access_token_for_user(userId, source):
-
 
651
    user = get_private_deal_user(userId)
-
 
652
    if user is not None:
-
 
653
        accessTokenObj = AccessTokenizer.query.filter(AccessTokenizer.userId==userId).filter(AccessTokenizer.source==source).filter(AccessTokenizer.expired==False).filter(AccessTokenizer.expiredTime>datetime.datetime.now()).first()
-
 
654
        if accessTokenObj is not None:
-
 
655
            return accessTokenObj.tokenString
-
 
656
        else:
-
 
657
            accessTokenObj = AccessTokenizer()
-
 
658
            accessTokenObj.userId = userId
-
 
659
            accessTokenObj.source = source
-
 
660
            accessTokenObj.tokenString = binascii.b2a_hex(os.urandom(15))
-
 
661
            accessTokenObj.expiredTime = datetime.datetime.now()+datetime.timedelta(minutes=10)
-
 
662
            accessTokenObj.expired = False
-
 
663
            session.commit()
-
 
664
            return accessTokenObj.tokenString
-
 
665
    else:
-
 
666
        return 'Invalid User'
-
 
667
    
-
 
668
def validate_access_token(accessToken):
-
 
669
    accessTokenObj = AccessTokenizer.query.filter(AccessTokenizer.tokenString==accessToken).filter(AccessTokenizer.expired==False).filter(AccessTokenizer.expiredTime>datetime.datetime.now()).first()
-
 
670
    if accessTokenObj is not None:
-
 
671
        accessTokenObj.expired = True
-
 
672
        session.commit()
-
 
673
        return True
-
 
674
    else:
-
 
675
        return False
649
        
676
        
650
    
677
    
651
def close_session():
678
def close_session():
652
    if session.is_active:
679
    if session.is_active:
653
        print "session is active. closing it."
680
        print "session is active. closing it."