def create_account(name: str, email: str) -> Owner:
    owner = Owner()
    owner.name = name
    owner.email = email

    owner.save()

    return owner
def create_account(name: str, email: str, age: int, phone: str,
                   gender: str) -> Owner:
    owner = Owner()
    owner.first_name = name.split(" ")[0]
    owner.last_name = name.split(" ")[1]
    owner.email = email
    owner.age = age
    owner.phone_number = phone
    owner.gender = gender
    owner.save()
    return owner
def add_snake(account: Owner, name: str, species: float, length: float,
              venomous: bool) -> Snake:
    snake = Snake()
    snake.name = name
    snake.species = species
    snake.length = length
    snake.venomous = venomous
    snake.save()

    account = find_account_by_email(account.email)  # get fresh copy
    account.snake_ids.append(snake.id)
    account.save()

    return snake
def register_cage(active_account: Owner, name, allow_dangerous, has_toys,
                  carpeted, metres, price) -> Cage:
    cage = Cage()

    cage.name = name
    cage.square_metres = metres
    cage.is_carpeted = carpeted
    cage.has_toys = has_toys
    cage.allow_dangerous_snakes = allow_dangerous
    cage.price = price

    cage.save()
    active_account.cage_ids.append(cage.id)
    active_account.save()
    return cage
def create_account_by_flask(name, email, department, password) -> Owner:
    owner = Owner()
    owner.name = name
    owner.email = email
    owner.Department = department
    owner.password = password
    owner.save()
    return owner
Exemple #6
0
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 register_cage(account: Owner, name: str, price: float, meters: float,
                  carpeted: bool, has_toys: bool,
                  allow_dangerous: bool) -> Cage:
    cage = Cage()
    cage.name = name
    cage.price = price
    cage.square_meters = meters
    cage.carpeted = carpeted
    cage.has_toys = has_toys
    cage.allow_dangerous_snakes = allow_dangerous
    cage.save()

    account = find_account_by_email(account.email)  # get fresh copy
    account.cage_ids.append(cage.id)
    account.save()

    return cage
def register_room(account: Owner, number: str, rtype: str, price: float,
                  area: float, allow_pets: bool) -> Room:
    room = Room()
    room.number = number
    room.rtype = rtype
    room.price = price
    room.area = area
    room.allow_pets = allow_pets
    # Save the room to DB.
    room.save()

    # Get latest owner info from the db
    account = find_account_by_email(account.email)
    # Append it to the list of rooms
    account.room_ids.append(room.id)
    account.save()

    return room
Exemple #9
0
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
Exemple #10
0
def create_account(name: str, email: str, password: str) -> Owner:
    owner = Owner()
    owner.name = name
    owner.email = email
    owner.password = password

    owner.save()

    return owner
Exemple #11
0
def create_account(name: str, email: str) -> Owner:  # returns Owner type
    owner = Owner() #this doesn't create an id (if you have not)
    owner.name = name
    owner.email = email
    owner.save()  # this function saves the document on database with autogenerated key
    #this creates an _id if user has not defined already and if this is the first time you are saving this
    return owner
Exemple #12
0
def create_account(name: str, email: str) -> Owner:
    owner = Owner()
    owner.name = name
    owner.email = email

    owner.save()  # IMPORTANTE: aquí se crea
    return owner
Exemple #13
0
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))
Exemple #14
0
def create_account(name: str, email: str) -> Owner:
    owner = Owner()
    owner.name = name
    owner.email = email

    owner.save()  # primary key auto generated

    return owner
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
Exemple #16
0
def create_account(name: object, email: object) -> object:
    """

    :rtype:
    """
    owner = Owner()
    owner.name = name
    owner.email = email

    owner.save()

    return owner
Exemple #17
0
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
Exemple #18
0
def find_account_by_email(email: str) -> Owner:
    owner = Owner.objects(email=email).first()  # returns query
    return owner
Exemple #19
0
def find_account_by_email(email: str) -> Owner:
    owner = Owner.objects(email=email).first()  # pylint: disable=no-member
    return owner
Exemple #20
0
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().filter(email=email).first()
    owner = Owner.objects(
        email=email).first()  # only one filter, remove `).filter(`
    return owner
Exemple #22
0
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
Exemple #23
0
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 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 find_account_by_email(email: str) -> Owner:
    owner = Owner.objects(email=email).first()
    return owner
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 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)
from data.owners import Owner
import mongoengine

from data.snakes import Snake

owner = Owner(name=name, email=email)
# owner.id is None

owner.save()
# owner.id is objectId('whatever object id is')

snakes = [snake1, snake2]
# ...

Snake.objects().insert(snakes)
def find_account_by_email(email: str) -> Owner:
    owner = Owner.objects().get(Q(email=email))
    if owner:
        return owner
    else:
        return None
Exemple #30
0
def find_account_by_email(email: object) -> object:
    owner = Owner.objects(email=email).first()
    return owner
Exemple #31
0
def find_account_by_email(email: str) -> Owner:
    return Owner.objects(email=email).first()
Exemple #32
0
def find_account_by_email(email: str) -> Owner:

    owner = Owner.objects().filter(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)