Esempio n. 1
0
    def execute(self):
        from pyclaim.domain.aggregates.user.model.user import User
        from pyclaim.domain.aggregates.token.model.token import Token

        user = User.get_by_user_name_and_password(self.user_name, self.password)
        if user is None:
            result = UserErrorCodes.USER_NOT_AVAILABLE
            result["data"] = "user_name: %s" % self.user_name
            raise ValidationException([result])
        if not user.is_inoperable():
            user_token = Token.generate(user._id)
            token = {"token_id": user_token.token_id,
                     "user_id": user_token.user_id,
                     "is_sys_admin": user.is_sys_admin()
                     }
            object_coder = ObjectCoder(Config().secret_key)
            hashed_token = object_coder.encode(token)
            login_info = {"token": hashed_token, "user_id": user._id}
        else:
            result = UserErrorCodes.DEACTIVATED_USER
            result["data"] = "user_name: %s" % self.user_name
            raise ValidationException([result])
        return login_info
 def execute(self):
     from pyclaim.domain.aggregates.token.app.v1_0.rest.view_model.detail.token import TokenDetail
     from pyclaim.domain.aggregates.token.model.token import Token
     token = Token.generate(self.user_id)
     token_detail = TokenDetail.create_from_token(token)
     return token_detail