def seed_db(): from models.Item import Item from models.User import User from models.Order import Order from models.OrderShipping import OrderShipping from main import bcrypt from faker import Faker import random faker = Faker() for i in range(3): user = User() user.email = f"test{i}@test.com" user.password = bcrypt.generate_password_hash("123456").decode("utf-8") db.session.add(user) admin = User() admin.email = "*****@*****.**" admin.password = bcrypt.generate_password_hash("123456").decode("utf-8") admin.admin = True db.session.add(admin) db.session.commit() for i in range(10): item = Item() item.name = faker.currency_name() item.description = faker.paragraph(nb_sentences=3) item.price = 53.25 db.session.add(item) db.session.commit() ordershipping = [] for i in range(5): shipping = OrderShipping() shipping.first_name = faker.first_name() shipping.last_name = faker.last_name() shipping.address = faker.street_address() shipping.state = faker.city() shipping.zip_code = faker.postcode() db.session.add(shipping) ordershipping.append(shipping) db.session.commit() orders = [] for i in range(5): order = Order() order.shipping_id = random.choice(ordershipping).id db.session.add(order) orders.append(order) db.session.commit() print("Tables seeded.")
def seed_db(): from main import bcrypt from models.Menu import Menu from models.User import User from models.Order import Order from faker import Faker import random faker = Faker() users = [] menus = [] for i in range(10): user = User() user.email = faker.email() user.password = bcrypt.generate_password_hash("123456").decode("utf-8") user.first_name = faker.first_name() user.last_name = faker.last_name() user.admin = faker.boolean(chance_of_getting_true=50) users.append(user) db.session.add(user) print(f"{i} users created") db.session.commit() for i in range(10): menu = Menu() menu.title = faker.color_name() menu.price = faker.random_number(digits=2) menu.vegetarian = faker.boolean(chance_of_getting_true=50) menus.append(menu) db.session.add(menu) print(f"{i} book record(s) created") db.session.commit() for i in range(10): order = Order() order.menu_id = random.choice(menus).id order.user_id = random.choice(users).id order.test = "test" db.session.add(order) print(f"{i} order created") db.session.commit() print("Tables seeded")
def auth_register(): user_fields = user_schema.load(request.json) user = User.query.filter_by(email=user_fields["email"]).first() if user: return abort(400, description="Email already registered.") user = User() user.email = user_fields["email"] user.password = bcrypt.generate_password_hash( user_fields["password"]).decode("utf-8") user.admin = user_fields["admin"] db.session.add(user) db.session.commit() return jsonify(user_schema.dump(user))