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