Example #1
0
def get_user_item_list(user_id):
    try:
        user = UserModel.get(id=user_id)
    except UserModel.DoesNotExist:
        raise NotFound(f"User {user_id} does not exist")

    return user.items
Example #2
0
 def load_user(user_id):
     try:
         user = UserModel.get(user_id, is_deleted=False)
     except UserModel.DoesNotExist:
         return None
     else:
         return user
Example #3
0
def login():
    validated_body = get_validated_body()

    try:
        user = UserModel.get(username=validated_body.get("username"),
                             is_deleted=False)
    except UserModel.DoesNotExist:
        raise NotFound

    if user.key.tobytes() != get_hash(password=validated_body.get("password"),
                                      salt=user.salt):
        raise Unauthorized

    login_user(user=user)

    return user
Example #4
0
def create_user():
    validated_body = get_validated_body()

    salt = os.urandom(32)
    try:
        user = UserModel.create(
            username=validated_body.get("username"),
            email_address=validated_body.get("email_address"),
            salt=salt,
            key=get_hash(password=validated_body.get("password"), salt=salt),
        )
    except IntegrityError:
        raise BadRequest()
    except Exception as e:
        pass

    return user, 201
Example #5
0
def seed_users():

    user_data = [
        {
            "username": "******",
            "password": "******",
            "salt": os.urandom(32),
            "email_address": "*****@*****.**",
            "role": UserRole.ADMIN,
        },
        {
            "username": "******",
            "password": "******",
            "salt": os.urandom(32),
            "email_address": "*****@*****.**",
            "role": UserRole.ADMIN,
        },
        {
            "username": "******",
            "password": "******",
            "salt": os.urandom(32),
            "email_address": "*****@*****.**",
        },
        {
            "username": "******",
            "password": "******",
            "salt": os.urandom(32),
            "email_address": "*****@*****.**",
        },
    ]

    for data in user_data:
        user = UserModel.create(
            **data,
            key=get_hash(password=data["password"], salt=data["salt"]),
        )
        logger.info(f"Created {user}")
        yield user
Example #6
0
def users():
    if UserModel.table_exists():
        UserModel.truncate_table(cascade=True)

    UserModel.create_table()

    salt = os.urandom(32)
    users = [
        UserModel.create(
            username="******",
            email_address="*****@*****.**",
            key=get_hash(password="******", salt=salt),
            salt=salt,
            role=UserRole.ADMIN,
        ),
        UserModel.create(
            username="******",
            email_address="*****@*****.**",
            key=get_hash(password="******", salt=salt),
            salt=salt,
            role=UserRole.ADMIN,
        ),
        UserModel.create(
            username="******",
            email_address="*****@*****.**",
            key=get_hash(password="******", salt=salt),
            salt=salt,
        ),
        UserModel.create(
            username="******",
            email_address="*****@*****.**",
            key=get_hash(password="******", salt=salt),
            salt=salt,
        ),
    ]
    yield users

    UserModel.truncate_table(cascade=True)
Example #7
0
def seed():
    salt = os.urandom(32)
    password = "******"

    micko = UserModel.create(
        username="******",
        email_address="*****@*****.**",
        salt=salt,
        key=get_hash(password=password, salt=salt),
        role=UserRole.ADMIN,
    )
    logging.info(f"Created {micko.username}")

    michael = UserModel.create(
        username="******",
        email_address="*****@*****.**",
        salt=salt,
        key=get_hash(password=password, salt=salt),
        role=UserRole.ADMIN,
    )
    logging.info(f"Created {michael.username}")

    angelo = UserModel.create(
        username="******",
        email_address="*****@*****.**",
        salt=salt,
        key=get_hash(password=password, salt=salt),
    )
    logging.info(f"Created {angelo.username}")

    rivera = UserModel.create(
        username="******",
        email_address="*****@*****.**",
        salt=salt,
        key=get_hash(password=password, salt=salt),
    )
    logging.info(f"Created {rivera.username}")

    for admin in (micko, michael):
        for list_index in range(2):
            app_list = ListModel.create(
                author=admin, title=f"{admin.username} list {list_index}")
            logging.info(f"{admin.username} created {app_list.title}")

            for card_index in range(3):
                card = CardModel.create(
                    author=admin,
                    list=app_list,
                    title=f"{app_list.title} Card {card_index}",
                    description=
                    f"{app_list.title} Card {card_index} Description",
                )
                logging.info(
                    f"{admin.username} created {card.title} on {app_list}")

                for comment_index in range(5):
                    comment = CommentModel.create(
                        author=admin,
                        card=card,
                        content=f"{card.title} Comment {comment_index}",
                    )
                    logging.info(
                        f"{admin.username} commented {comment.content} on {card.title}"
                    )

                    for reply_index in range(5):
                        comment_reply = CommentReplyModel.create(
                            author=admin,
                            comment=comment,
                            content=
                            f"{comment.content} Comment Reply {reply_index}",
                        )
                        logging.info(
                            f"{admin.username} commented {comment_reply.content} on {comment.content}"
                        )
Example #8
0
def clear_table():
    UserModel.truncate_table(cascade=True)
Example #9
0
def get_user_details(id):
    return UserModel.get(id=id)
Example #10
0
def get_user_list():
    return UserModel.select()
Example #11
0
 def teardown_class(cls):
     user = UserModel.get(username="******")
     user.is_deleted = True
     user.save()
     print(user)