def delete(self, member_id): try: find_member = Member.objects(id=member_id).first() find_member.soft_delete() except ValidationError as err: return err return jsonify(message='회원탈퇴가 정상처리 되었습니다.'), 200
def get(self, member_id): try: find_member = Member.objects(id=member_id).first() member_detail = MemberSchema().dump(find_member) except ValidationError as err: return err return jsonify(member_detail), 200
def index(self): try: members = Member.objects(deleted=False).order_by( '+created_time', '-email') result = SimpleMemberSchema().dump(members, many=True) except ValidationError as err: return err return jsonify(result), 200
def post(self): try: form = JoinSchema().load(json.loads(request.data)) if Member.objects(email=form['email']).first(): return jsonify(message='이미 가입된 아이디 입니다.'), 409 form['password'] = bcrypt.hashpw(form['password'].encode('utf-8'), bcrypt.gensalt()).decode('utf-8') form.save() except ValidationError as err: return jsonify(err.messages), 422 return jsonify(message='회원가입이 완료되었습니다.'), 200
def login(self): form = LoginSchema().load(json.loads(request.data)) find_member = Member.objects(email=form.get('email')).first() if not find_member: return jsonify(message='존재하지 않는 이메일 입니다.'), 422 if not find_member.check_password(form.get('password')): return jsonify(message='비밀번호가 틀렸습니다.'), 422 find_member.update_last_login_time() token = jwt.encode({"member_id": dumps(find_member.id)}, current_app.config['SECRET'], current_app.config['ALGORITHM']) return jsonify(token.decode('utf-8')), 200
def test_db에_저장된다(self, subject, email, name): member = Member.objects(email=email).get() assert member.name == name