Пример #1
0
def new_room(db_session, data):
    validate_data(data=data, serializer=room_serializer)
    room = Room()
    room.name = data["name"]
    db_session.add(room)
    db_session.commit()
    result = room_serializer.dump(db_session.query(Room).get(room.id))
    return HTTPResponse(status=status.HTTP_200_OK, body=result)
Пример #2
0
def change_password(db_session, data):
    validate_data(change_password_serializer, data)
    req_user_json = bottle.request.get_user()
    current_user = db_session.query(User).get(req_user_json['id'])
    if current_user.check_password(data['old_password']):
        current_user.set_password(data['password'])
        return HTTPResponse(*PASSWORD_CHANGED)
    raise HTTPError(*OLD_PASSWORD_NOT_VALID)
Пример #3
0
def set_user_role(pk, db_session: Session, data):
    validate_data(set_role_serializer, data)
    # validate_permission("edit_roles", db_session, User)
    user = get_object_or_404(User, db_session, User.id == pk)
    user.set_roles(data['roles'])
    db_session.commit()
    result = user_serializer.dump(db_session.query(User).get(user.id))
    return HTTPResponse(status=status.HTTP_201_CREATED, body=result)
Пример #4
0
 def authenticate_user(self, username, password):
     # self.defender.is_ip_in_blacklist()
     validate_data(login_serializer, data={"phone": username, "password": password})
     user_obj = self.get_user_by_phone(phone=username)
     if user_obj is not None:
         if username == user_obj.phone and user_obj.check_password(password):
             user = user_serializer.dump(user_obj)
             return user
     # self.defender.check_ip_exceed()
     raise HTTPError(*AUTHENTICATION_ERROR)
Пример #5
0
def add_room_image(db_session, data):
    validate_data(data=data, serializer=room_image_serializer)
    room_image = RoomImage()
    room_image.name = upload(data=data)
    room_image.room_id = data["room_id"]
    db_session.add(room_image)
    db_session.commit()
    room_image = db_session.query(RoomImage).get(room_image.id)
    result = room_image_serializer.dump(room_image)
    return HTTPResponse(status=status.HTTP_200_OK, body=result)
Пример #6
0
def edit_user(pk, db_session: Session, data):
    validate_data(user_edit_serializer, data)
    user = get_object_or_404(User, db_session, User.id == pk)
    person = data['person']
    user.person.name = person['name']
    user.person.last_name = person['last_name']
    user.person.email = person['email']
    user.phone = data['phone']
    user.username = data['phone']
    db_session.commit()
    result = user_serializer.dump(db_session.query(User).get(user.id))
    return HTTPResponse(status=status.HTTP_201_CREATED, body=result)
Пример #7
0
def add_person_image(db_session: Session, data):
    validate_data(person_image_serializer, data)
    person_image = PersonImage()
    person = get_object_or_404(Person, db_session, Person.id == data['person_id'])
    set_objects_limit(person.person_images, limit=1, session=db_session)
    person_image.name = upload(data=data)
    person_image.person_id = data['person_id']
    db_session.add(person_image)
    db_session.commit()
    result = db_session.query(PersonImage).get(person_image.id)
    result = person_image_serializer.dump(result)
    return HTTPResponse(status=200, body=result)
Пример #8
0
def create_user(db_session: Session, data):
    validate_data(user_serializer, data)
    is_object_exist_409(User, db_session, User.phone == data['phone'])
    person = data['person']
    person_obj = get_or_create(Person, db_session, name=person['name'])
    person_obj.name = person['name']
    person_obj.last_name = person['last_name']
    person_obj.email = person['email']
    db_session.add(person_obj)
    user = get_or_create(User, db_session, phone=data['phone'])
    user.phone = data['phone']
    user.set_roles(data['roles'])
    user.username = user.get_phone
    user.set_password(data['password'])
    user.person = person_obj
    db_session.add(user)
    db_session.commit()
    result = user_serializer.dump(db_session.query(User).get(user.id))
    return HTTPResponse(status=201, body=result)
Пример #9
0
def new_quote(data, db_session):
    validate_data(data=data, serializer=quote_serializer)
    author = data['author']

    first = author['first']
    last = author['last']

    content = data['content']

    author = get_or_create(Author, db_session, Author.first == first,
                           Author.last == last)

    if author is None:
        author = Author(first, last)
        db_session.add(author)
    quote = Quote(content, author)

    db_session.add(quote)
    db_session.commit()

    result = quote_serializer.dump(db_session.query(Quote).get(quote.id))
    return HTTPResponse(status=200, body=result)
Пример #10
0
def new_rooms(data, db_session: Session):
    validate_data(data=data, serializer=room_serializer)
    room = Room()
    room.name = data["name"]
    room.room_images = data["rooms"]