Esempio n. 1
0
def profile_create(user=None):

    user_id = get_jwt_identity()

    profile_fields = profile_schema.load(request.json)

    profile = Profile.query.get(user_id)

    if not profile:

        new_profile = Profile()
        new_profile.username = profile_fields["username"]
        new_profile.fname = profile_fields["fname"]
        new_profile.lname = profile_fields["lname"]
        new_profile.account_active = profile_fields["account_active"]
        new_profile.admin = profile_fields["admin"]

        user.profile.append(new_profile)

        db.session.add(new_profile)
        db.session.commit()

        return jsonify(profile_schema.dump(new_profile))

    else:
        return abort(401, description='User Profile already exists')
Esempio n. 2
0
def seed_db():
    from models.User import User
    from models.Profile import Profile
    from faker import Faker
    from main import bcrypt
    from models.Equipment import Equipment
    from models.EquipmentOrder import EquipmentOrder
    import random
    from random import seed
    from random import randint

    faker = Faker()
    profiles = []
    equipments = []

    categories = ["dumbells", "cardio", "machine", "yoga", "mobility"]

    for i in range(10):
        user = User()
        user.email = f"test{i}@test.com"
        user.password = bcrypt.generate_password_hash("123456").decode("utf-8")
        db.session.add(user)

    db.session.commit()

    for i in range(10):
        profile = Profile()
        profile.username = faker.name()
        profile.fname = faker.first_name()
        profile.lname = faker.last_name()
        profile.account_active = faker.boolean()
        profile.user_id = i + 1
        profiles.append(profile)
        db.session.add(profile)

    db.session.commit()

    for i in range(30):
        equipment = Equipment()
        equipment.equipment_name = faker.name()
        equipment.equipment_description = faker.catch_phrase()
        equipment.rented = random.choice([True, False])
        equipment.rentpw = randint(8, 120)
        equipment.owner_id = random.choice(profiles).profileid
        equipment.category = random.choice(categories)
        equipments.append(equipment)
        db.session.add(equipment)

    for i in range(30):
        equipment_order = EquipmentOrder()
        equipment_order.order_begin_date = faker.date_between(start_date='-1y',
                                                              end_date='today')
        equipment_order.order_return_date_estimate = faker.date_between(
            start_date='today', end_date='+1y')
        equipment_order.order_actual_return_date = faker.date_between(
            start_date='today', end_date='+1y')
        equipment_order.order_active = random.choice([True, False])
        equipment_order.equipment_id = randint(1, 29)
        # equipment_order.equipment_id = random.choice(equipments).id
        equipment_order.hirer_id = random.choice(profiles).profileid
        db.session.add(equipment_order)

    db.session.commit()
    print("Tables seeded")