def check_email_token(cls, email_token): ''' 校验email_token ''' key = cls.gen_email_token_key(email_token) res = redis_conn.hgetall(key) if res: email = res['email'] username = res['username'] user = User.valid_objects.filter(username=username).first() if user: return {'email': email, 'username': username, 'name': user.name} raise ValidationError({'email_token': ['invalid']})
def set_active_count(user): ''' update active_count to cache ''' date = datetime.datetime.today().date().isoformat() uuid = str(user.uuid) key = settings.ACTIVE_USER_REDIS_KEY_PREFIX + date res = redis_conn.hgetall(key) if res: redis_conn.hincrby(key, uuid, 1) else: redis_conn.hset(key, uuid, 1) redis_conn.expire(key, settings.ACTIVE_USER_DATA_LIFEDAY * 60 * 60 * 24)
def check_email_token(cls, email_token): ''' 校验email_token ''' key = cls.gen_email_token_key(email_token) res = redis_conn.hgetall(key) if res: email = res[b'email'].decode() invite_key = res[b'key'].decode() user = User.valid_objects.filter(private_email=email).first() if user: return { 'email': email, 'name': user.name, 'username': user.username, 'key': invite_key } raise ValidationError({'email_token': ['invalid']})