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): user = User.get_by_user_name_and_password(self.user_name.lower(), self.password) user_full_detail = None if user: user_full_detail = UserFullDetail.create_from_user(user) return user_full_detail