def get_species() -> list: session = db.create_session() try: species = session.query(Species).all() finally: session.close() return species
def get_breeds() -> list: session = db.create_session() try: breeds = session.query(Breed).all() finally: session.close() return breeds
def delete_pet(pet_id): session = db.create_session() try: pet = db.get_db_obj(pet_id, Pet) session.delete(pet) session.commit() finally: session.close()
def get_pet_by_name(pet_name, owner_id) -> Pet: session = db.create_session() try: # pet = session.query(Pet).filter(and_(Pet.name == pet_name, Pet.owner.id == owner_id)) pet = session.query(Pet, User).filter(Pet.name == pet_name).filter( User.id == owner_id).first() finally: session.close() return pet
def insert_operations(data): session = db.create_session() for row in data: o = Operation() o.id = row.strip() session.add(o) session.commit() session.close()
def insert_test_user(username="******"): session = db.create_session() user = User() user.id = 3 # TODO: Get rid of magic user id user.username = username user.email = "fake" user.password = "******" session.add(user) session.commit() session.close()
def authenticate(username: str, password: str) -> Optional[User]: session = db.create_session() user = session.query(User).filter(User.username == username).first() if not user: return None if not crypto.verify(password, user.password): return None return user
def insert_dog_breeds(data, species_id=1): session = db.create_session() s = db.get_db_obj(species_id, Species) for row in data: b = Breed() b.name = row.strip() b.species = s session.add(b) session.commit() session.close()
def insert(obj): print("--Commiting into database:", obj, obj.birthday, obj.breed, obj.owner) session = db.create_session() try: if obj.id is None: session.add(obj) else: session.merge(obj) session.commit() finally: session.close() return obj
def insert_species(): session = db.create_session() dog = Species() dog.name = "koira" session.add(dog) cat = Species() cat.name = "kissa" session.add(cat) session.commit() sps_dog = dog.id sps_cat = cat.id session.close() return sps_dog, sps_cat
def create_user(username: str, name: str, email: str, password: str) -> Optional[User]: if get_user_by_username_or_email(username, email): return None user = User() user.username = username user.email = email user.name = name user.password = crypto.encrypt(password, rounds=CRYPTO_ROUNDS) session = db.create_session() session.add(user) session.commit() return user
def get_user_by_username_or_email(username: str, email: str) -> Optional[User]: session = db.create_session() return session.query(User).filter(User.username == username).first() \ or session.query(User).filter(User.email == email).first()
def get_pets_for_user(user_id): session = db.create_session() return session.query(Pet, Breed, Species).select_from(Pet).\ join(Breed).\ join(Species).\ filter(Pet.user_id == user_id).order_by(Species.id).all()