def get_bookings_for_user(user_id: ObjectId) -> List[Booking]: owner = Owner.objects(id=user_id).first() booked_cages = Cage \ .objects(bookings__guest_snake_id__in=owner.snake_ids) \ .all() return list(booked_cages)
def find_account_by_email(email: str, password: str) -> Owner: owner = Owner.objects(email=email).first() msg = 0 if not owner: msg = 1 elif (owner.password != password): msg = 2 return owner, msg
def add_snake(email, name, length, species, is_venomous): snake = Snake(name=name, length=length, species=species, is_venomous=is_venomous) snake.save() num_updated = Owner.objects(email=email).update_one( push__snake_ids=snake.id) if num_updated != 1: raise Exception("No account with email {}".format(email))
def get_bookings_for_user(user_id: bson.ObjectId) -> List[Booking]: account = Owner.objects(id=user_id).first() booked_cages = Cage.objects() \ .filter(bookings__guest_owner_id=account.id) \ .only('bookings', 'name') def map_cage_to_booking(cage: Cage, booking: Booking) -> Booking: booking.cage = cage return booking bookings = [ map_cage_to_booking(c, booking) for c in booked_cages for booking in c.bookings if booking.guest_owner_id == account.id ] return bookings
def addMiss(emailid, pub): Owner.objects(email=emailid).update_one(push__miss=pub)
def find_account_by_email(email: str) -> Owner: owner = Owner.objects(email=email).first() # returns query return owner
def get_sports_for_user(user_id: bson.ObjectId) -> List[Sport]: owner = Owner.objects(id=user_id).first() sports = Sport.objects(id__in=owner.sport_ids).all() return list(sports)
def get_snakes_for_user(user_id: bson.ObjectId) -> List[Snake]: owner = Owner.objects(id=user_id).first() snakes = Snake.objects(id__in=owner.snake_ids).all() return list(snakes)
def deletePublication(emailid, pub): Owner.objects(email=emailid).update_one(pull__publication=pub)
def find_account_by_email(email: str) -> Owner: # owner = Owner.objects().filter(email=email).first() owner = Owner.objects( email=email).first() # only one filter, remove `).filter(` return owner
def deleteGrants(emailid, pub): Owner.objects(email=emailid).update_one(pull__grants=pub)
def deleteAwards(emailid, pub): Owner.objects(email=emailid).update_one(pull__awards=pub)
def find_account_by_email(email: str) -> Owner: owner = Owner.objects().get(Q(email=email)) if owner: return owner else: return None
def addTeaching(emailid, pub): Owner.objects(email=emailid).update_one(push__teaching=pub)
def get_cats_for_user(user_id: bson.ObjectId) -> List[Cat]: owner = Owner.objects(id=user_id).first() cats = Cat.objects(id__in=owner.cat_ids).all() return list(cats)
def addAwards(emailid, pub): Owner.objects(email=emailid).update_one(push__awards=pub)
def addGrants(emailid, pub): Owner.objects(email=emailid).update_one(push__grants=pub)
def addPublication(emailid, pub): Owner.objects(email=emailid).update_one(push__publication=pub)
def deleteMiss(emailid, pub): Owner.objects(email=emailid).update_one(pull__miss=pub)
def deleteTeaching(emailid, pub): Owner.objects(email=emailid).update_one(pull__teaching=pub)
def get_schools_for_user(user_id: bson.ObjectId) -> List[Schools]: owner = Owner.objects(id=user_id).first() schools = Schools.objects(id__in=owner.School_ids).all() return list(schools)
def find_account_by_email_and_password(email: str, password: str) -> Owner: owner = Owner.objects(email=email, password=password).first() return owner
def find_owner_by_email(email: str) -> Owner: owner = Owner.objects().filter(email=email).first() # filter on 1 or more fields. email must match passed email value # Call first to execute the query and return 1 owner or None return owner
def find_account_by_email(email: str) -> Owner: owner = Owner.objects(email=email).first() # pylint: disable=no-member return owner
def find_account_by_email(email: str) -> Owner: return Owner.objects(email=email).first()
def get_snakes_for_user(user_id: bson.ObjectId) -> List[Snake]: owner = Owner.objects(id=user_id).first() # pylint: disable=no-member snakes = Snake.objects(id__in=owner.snake_ids).all() # pylint: disable=no-member return list(snakes)
def find_account_by_email(email: str) -> Owner: owner = Owner.objects(email=email).first() return owner
def get_snakes_for_user(user_id: bson.ObjectId) -> List[Snake]: owner = Owner.objects(id=user_id).first() snakes = Snake.objects(id__in=owner.snake_ids).all() return list(snakes)
def find_account_by_email(email: object) -> object: owner = Owner.objects(email=email).first() return owner
def find_account_by_email(email: str) -> Owner: # owner = Owner.objects().filter(email=email).first() owner = Owner.objects(email=email).first( ) # for one filer, we can directly do this in mongodb return owner
def find_account_by_email(email: str) -> Owner: owner = Owner.objects().filter(email=email).first() return owner
def find_guests_for_user(email): owner = Owner.objects(email=email).first() return list(Guest.objects(id__in=owner.guest_ids).all())