Ejemplo n.º 1
0
async def create_projeto(
    db: Session,
    nome: str,
    descricao: str,
    visibilidade: bool,
    objetivo: str,
    pessoa_id: t.Optional[int] = None,
    foto_capa: t.Optional[UploadFile] = None,
):

    path = None
    if foto_capa:
        contents = await foto_capa.read()
        path = store_image(contents)

    db_projeto = models.Projeto(
        nome=nome,
        descricao=descricao,
        visibilidade=visibilidade,
        objetivo=objetivo,
        pessoa_id=pessoa_id,
        foto_capa=path,
    )

    db.add(db_projeto)
    db.commit()
    db.refresh(db_projeto)

    db_proj = db_projeto.__dict__
    return {"id": db_proj["id"]}
Ejemplo n.º 2
0
async def sign_up_new_pessoa(db,
                             email: str,
                             senha: str,
                             usuario: str,
                             telefone: Optional[str] = None,
                             nome: Optional[str] = None,
                             data_nascimento: Optional[date] = None,
                             foto_perfil: UploadFile = File(None)):
    pessoa = get_pessoa_by_email(db, email)
    pessoa_username = get_pessoa_by_username(db, usuario)

    if pessoa or pessoa_username:
        return False  # Pessoa already exists

    path = None
    if foto_perfil:
        contents = await foto_perfil.read()
        path = store_image(contents, foto_perfil.filename)

    new_pessoa = create_pessoa(
        db,
        schemas.PessoaCreate(data_nascimento=data_nascimento,
                             email=email,
                             telefone=telefone,
                             nome=nome,
                             senha=senha,
                             usuario=usuario,
                             ativo=True,
                             superusuario=False,
                             foto_perfil=path),
    )

    return new_pessoa
Ejemplo n.º 3
0
async def edit_foto_pessoa(db: Session, pessoa_id: int,
                           foto_perfil: UploadFile):

    contents = await foto_perfil.read()
    db_pessoa = get_pessoa_by_id(db, pessoa_id)

    if db_pessoa.foto_perfil:
        if delete_file(db_pessoa.foto_perfil):
            db_pessoa.foto_perfil = store_image(contents)
    else:
        db_pessoa.foto_perfil = store_image(contents)

    db.add(db_pessoa)
    db.commit()
    db.refresh(db_pessoa)
    return db_pessoa
Ejemplo n.º 4
0
async def edit_foto_projeto(db: Session, projeto_id: int,
                            foto_capa: UploadFile):

    contents = await foto_capa.read()
    db_projeto = get_projeto(db, projeto_id)

    if db_projeto.foto_capa:
        if delete_file(db_projeto.foto_capa):
            db_projeto.foto_capa = store_image(contents)
    else:
        db_projeto.foto_capa = store_image(contents)

    db.add(db_projeto)
    db.commit()
    db.refresh(db_projeto)
    return db_projeto