예제 #1
0
def get_patients_by_birthdate(patiente_birthdate: datetime, token):
    current_user: models.Medico = get_current_user_db_with_token(token)
    patients: list = crud.get_patients_by_date_by_doctor(
        current_user.id, patiente_birthdate)
    if not patients:
        return ServerResponse(ok=False, msg=strings.NOT_PATIENTS, data=[])
    return ServerResponse(msg=strings.SUCCESS, data=patients)
예제 #2
0
def get_consulta_with_patient_by_id(id: int, token):
    current_user: models.Medico = get_current_user_db_with_token(token)
    consult = crud.get_consulta_with_patient_by_id(current_user.id, id)
    if not consult:
        return ServerResponse(ok=False, msg=strings.CONSULT_NOT_FOUND, data={})
    else:
        return ServerResponse(msg=strings.SUCCESS, data=consult)
예제 #3
0
def get_pac_by_id(id_patient: int, token):
    current_user: models.Medico = get_current_user_db_with_token(token)
    pac = models.Paciente.get_or_none(
        models.Paciente.id == id_patient,
        models.Paciente.medico == current_user.id)
    if pac:
        return ServerResponse(msg=strings.SUCCESS, data=pac.__data__)
    else:
        return ServerResponse(ok=False, msg=strings.NOT_PATIENTS, data={})
예제 #4
0
def update_prodcut(product: shemas.ProductUpdate,
                   db: Session = Depends(get_db)):
    product_updated = crud.update_product(db, product)
    if not product_updated:
        raise HTTPException(status.HTTP_400_BAD_REQUEST,
                            detail=strings.NOT_UPDATED)
    return ServerResponse(msg=strings.SUCCESS)
예제 #5
0
def create_paciente(pac: shemas.Patient, token: str):
    current_user: models.Medico = get_current_user_db_with_token(token)
    try:
        paciente = models.Paciente.create(**pac.dict(), medico=current_user.id)
        return ServerResponse(msg=strings.PATIENT_ADED)
    except:
        raise HTTPException(status_code=status.HTTP_409_CONFLICT,
                            detail=strings.PATIENT_NOT_CREATED)
예제 #6
0
def create_cosulta(consulta: shemas.ConsultCreate, token: str):
    current_user: models.Medico = get_current_user_db_with_token(token)
    try:
        crud.create_consulta(consulta, id_doctor=current_user.id)
        return ServerResponse(msg=strings.CREATED)
    except:
        raise HTTPException(status_code=status.HTTP_409_CONFLICT,
                            detail=strings.CONSULT_NOT_CREATED)
예제 #7
0
def update_photo(doctor:shemas.MedicFoto,token:str):
    current_user: models.Medico  = get_current_user_db_with_token(token)
    doctor_updated =  crud.update_photo(current_user.id, doctor)
    if doctor_updated ==1:
        return ServerResponse(msg=strings.DOCTOR_UPDATED)
    else: 
       raise HTTPException(
           status_code=status.HTTP_304_NOT_MODIFIED,
           detail=strings.DOCTOR_NOT_UPDATED)
예제 #8
0
def delete_multiple(patients: List[shemas.PatientId], token):
    current_user: models.Medico = get_current_user_db_with_token(token)
    try:
        data = crud.delete_multiple_patients_by_doctor(current_user.id,
                                                       patients)
    except:
        raise HTTPException(status_code=status.HTTP_409_CONFLICT,
                            detail=strings.ERROR)
    return ServerResponse(msg=strings.SUCCESS)
예제 #9
0
def delete_consulta(id_consult: str, token):
    current_user: models.Medico = get_current_user_db_with_token(token)
    dela = models.Consulta.delete().where(
        models.Consulta.id == id_consult,
        models.Consulta.medico == current_user.id).execute()
    if dela == 1:
        return ServerResponse(msg=strings.CONSULT_DELETED)
    else:
        raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST,
                            detail=strings.COULD_NOT_DELETE)
예제 #10
0
def edit_consulta(id_consult, con: shemas.Consult, token):
    current_user: models.Medico = get_current_user_db_with_token(token)
    edited = models.Consulta.update(**con.dict()).where(
        models.Consulta.id == id_consult,
        models.Consulta.medico == current_user.id).execute()
    if edited == 1:
        return ServerResponse(msg=strings.CONSULT_UPDATED)
    else:
        raise HTTPException(status_code=status.HTTP_304_NOT_MODIFIED,
                            detail=strings.COULD_NOT_UPDATE)
예제 #11
0
def delete_pac(id_patient: str, token):
    current_user: models.Medico = get_current_user_db_with_token(token)
    dela = models.Paciente.delete().where(
        models.Paciente.id == id_patient,
        models.Paciente.medico == current_user.id).execute()
    if dela == 1:
        return ServerResponse(msg=strings.PATIENT_DELETED)
    else:
        raise HTTPException(status_code=status.HTTP_304_NOT_MODIFIED,
                            detail=strings.PATIENT_NOT_DELETED)
예제 #12
0
def update_pac(id_patient: str, pac: shemas.Patient, token):
    current_user: models.Medico = get_current_user_db_with_token(token)
    updated = models.Paciente.update(**pac.dict()).where(
        models.Paciente.id == id_patient,
        models.Paciente.medico == current_user.id).execute()
    if updated == 1:
        return ServerResponse(msg=strings.PATIENT_UPDATED)
    else:
        raise HTTPException(status_code=status.HTTP_304_NOT_MODIFIED,
                            detail=strings.PATIENT_NOT_UPDATED)
예제 #13
0
def login(med: shemas.MedicLogin):
    medico:models.Medico = models.Medico.get_or_none(
        models.Medico.correo == med.correo, 
        models.Medico.clave == med.clave)
    if not medico:
        raise HTTPException(
            status_code=status.HTTP_400_BAD_REQUEST,
            detail=strings.USER_OR_EMAIL_NOT_FOUND)
    else:
        token =Token().encode(user_id=medico.id, user_email=medico.correo)
        return ServerResponse(msg=strings.LOGGED, token=token)
예제 #14
0
def create(invoice: shemas.InvoiceCreate, db: Session = Depends(get_db)):
    #begind calculations
    sub_total: float = 0
    for item in invoice.invoice_details:
        price_per_quality: float = item.price * item.quantity
        sub_total = sub_total + price_per_quality
    itbts: float = 0.18
    total: float = sub_total - sub_total * itbts
    #end
    crud.create_invoice(db, invoice, sub_total, total)
    return ServerResponse(msg=strings.SUCCESS)
예제 #15
0
def get_current_doctor(token:str):
    current_user: models.Medico  = get_current_user_db_with_token(token)
    current_user_dict:dict = {
        'nombre':current_user.nombre,
        'apellido':current_user.apellido,
        'pais':current_user.pais,
        'profesion': current_user.profesion,
        'foto':current_user.foto,
        'correo':current_user.correo
    }
    return ServerResponse(msg=strings.SUCCESS, data=current_user_dict)
예제 #16
0
def get_current_doctor_with_(token:str):
    current_user: models.Medico  = get_current_user_db_with_token(token)
    consults =  crud.get_closset_consults_by_doctor(current_user.id)
    current_user_consults:dict = {
        'nombre':current_user.nombre,
        'apellido':current_user.apellido,
        'pais':current_user.pais,
        'foto':current_user.foto,
        'correo':current_user.correo
    }
    current_user_consults['fecha_hoy'] = datetime.today()
    current_user_consults['consults'] = consults
    if not consults:
        return ServerResponse(ok=False, 
                              msg=strings.NOT_COLSULTS, 
                              data=current_user_consults)
    return ServerResponse(msg=strings.SUCCESS, data=current_user_consults)




    
예제 #17
0
def update_password(doctor:shemas.MedicCambiarClave,token:str):
    current_user: models.Medico = get_current_user_db_with_token(token)
    if  not current_user.clave == doctor.clave:
        raise HTTPException(
           status_code=status.HTTP_401_UNAUTHORIZED,
           detail=strings.INCORRECT_PASSWORD)
    doctor_updated =  crud.update_password_doctor(current_user.id, doctor.nueva_clave)
    if doctor_updated ==1:
        return ServerResponse(msg=strings.DOCTOR_UPDATED)
    else: 
       raise HTTPException(
           status_code=status.HTTP_304_NOT_MODIFIED,
           detail=strings.DOCTOR_NOT_UPDATED)
예제 #18
0
def create_medico(med: shemas.MedicRegister):
    if check_if_email_is_taken(med.correo):
        raise HTTPException(
            status_code=status.HTTP_400_BAD_REQUEST,
            detail= strings.USER_ALRRADY_REGISTERED)
    try:
        medico:models.Medico = models.Medico(**med.dict())
        medico.save()
        token = Token().encode(medico.id,medico.correo)
        return ServerResponse(
            msg=strings.DOCTOR_ADED,token = token)
    except:
            raise HTTPException(
                status_code = status.HTTP_400_BAD_REQUEST,
                detail=strings.ERROR)
예제 #19
0
def update_email_name(doctor:shemas.MedicNombreCorreo,token:str):
    current_user: models.Medico  = get_current_user_db_with_token(token)
    if check_if_email_is_taken(doctor.correo):
        raise HTTPException(
            status_code=status.HTTP_400_BAD_REQUEST,
            detail= strings.USER_ALRRADY_REGISTERED)
    doctor_updated =  crud.update_email_name_doctor(current_user.id, doctor)
    if doctor_updated ==1:
        newToken = Token().encode(current_user.id,
                                  doctor.correo)
        return ServerResponse(msg=strings.DOCTOR_UPDATED, token=newToken)
    else: 
       raise HTTPException(
           status_code=status.HTTP_304_NOT_MODIFIED,
           detail=strings.DOCTOR_NOT_UPDATED)
예제 #20
0
def get_all_products(db: Session = Depends(get_db)):
    products = crud.get_all_products(db)
    if not products:
        raise HTTPException(status.HTTP_400_BAD_REQUEST,
                            detail=strings.PRODUCTS_NOT_FOUND)
    return ServerResponse(msg=strings.SUCCESS, data=products)
예제 #21
0
def create_product(product: shemas.ProductCreate,
                   db: Session = Depends(get_db)):
    crud.create_products(db, product)
    return ServerResponse(msg=strings.CREATED)
예제 #22
0
def get_all_patient_with_total_visits(token: str):
    current_user: models.Medico = get_current_user_db_with_token(token)
    patients: list = crud.get_patients_total_visists_by_doctor(current_user.id)
    if not patients:
        return ServerResponse(ok=False, msg=strings.NOT_PATIENTS, data=[])
    return ServerResponse(msg=strings.SUCCESS, data=patients)
예제 #23
0
def get_all(db: Session = Depends(get_db)):
    invioices = crud.get_all(db)
    if not invioices:
        raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST,
                            detail=strings.INVOICE_NOT_FOUND)
    return ServerResponse(msg=strings.SUCCESS, data=invioices)
예제 #24
0
def funcname(id_invoice: int, db: Session = Depends(get_db)):
    invoice_details = crud.get_invoice_datials_from_invoice(db, id_invoice)
    if not invoice_details:
        raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST,
                            detail=strings.INVOICE_NOT_FOUND)
    return ServerResponse(msg=strings.SUCCESS, data=invoice_details)
예제 #25
0
def get_all_consultas_by_date(token: str, date: datetime):
    current_user: models.Medico = get_current_user_db_with_token(token)
    consults = crud.get_all_consults_by_date_by_doctor(current_user.id, date)
    if not consults:
        return ServerResponse(ok=False, msg=strings.NOT_COLSULTS, data=[])
    return ServerResponse(msg=strings.SUCCESS, data=consults)