示例#1
0
    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
示例#2
0
    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
示例#3
0
    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
示例#4
0
    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
示例#5
0
    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
示例#6
0
 def test_db에_저장된다(self, subject, email, name):
     member = Member.objects(email=email).get()
     assert member.name == name