Example #1
0
async def make_transaction(transaction_in: TransactionIn):
    user_in_db = get_user(transaction_in.username)

    if user_in_db == None:
        raise HTTPException(status_code=404, detail="El usuario no existe")

    if user_in_db.balance < transaction_in.value:
        raise HTTPException(status_code=400, detail="Sin fondos suficientes")

    user_in_db.balance = user_in_db.balance - transaction_in.value
    update_user(user_in_db)

    transaction_in_db = TransactionInDB(**transaction_in.dict(),
                                        actual_balance=user_in_db.balance)

    transaction_in_db = save_transaction(transaction_in_db)

    transaction_out = TransactionOut(**transaction_in_db.dict())
    return transaction_out
Example #2
0
async def make_transaction(transaction_in: TransactionIn):

    user_in_db = get_user(transaction_in.nombre)

    if user_in_db == None:
        raise HTTPException(status_code=404, detail="El hotel no existe")

    if user_in_db.totalHabitaciones < transaction_in.totalHabitaciones:
        raise HTTPException(status_code=400,
                            detail="No se tienen los fondos suficientes")

    user_in_db.totalHabitaciones = user_in_db.totalHabitaciones - transaction_in.reserva
    update_user(user_in_db)

    transaction_in_db = TransactionInDB(**transaction_in.dict(),
                                        totalHabs=user_in_db.totalHabitaciones)
    transaction_in_db = save_transaction(transaction_in_db)

    transaction_out = TransactionOut(**transaction_in_db.dict())

    return transaction_out
Example #3
0
    return {"Autenticado": True}

@api.get("/user/balance/{username}")
async def get_balance(username: str):
    user_in_db = get_user(username)
    if user_in_db == None:
        raise HTTPException(status_code=404,
                            detail="El usuario no existe")
    user_out = UserOut(**user_in_db.dict())
    return user_out



@api.put("/user/transaction/")
async def make_transaction(transaction_in: TransactionIn):
    user_in_db = get_user(transaction_in.username)
    if user_in_db == None:
        raise HTTPException(status_code=404,
                            detail="El usuario no existe")
    
    user_in_db.balance = user_in_db.balance + transaction_in.income
    user_in_db.balance = user_in_db.balance - transaction_in.expense
    update_user(user_in_db)

    transaction_in_db = TransactionInDB(**transaction_in.dict(), actual_balance = user_in_db.balance)

    transaction_in_db = save_transaction(transaction_in_db)
    transaction_out = TransactionOut(**transaction_in_db.dict())
    return transaction_out