Example #1
0
async def update_user(ref: str, data: UserUpdate, db: DBClient = client):
    """Update user info"""
    logging.info(">>> " + __name__ + ":" + update_user.__name__)
    user = await crud.get(db, ref)
    if not user:
        return utils.create_404_response()

    user = await crud.update(db, user["_id"], data)
    if user:
        return utils.create_aliased_response(UserResponse(response=user))
    return utils.create_404_response()
Example #2
0
async def read_company(ref: str, db: DBClient=client):
    """Read company info"""
    logging.info(f">>> {__name__}:{read_company.__name__}")
    company = await crud.get(db, ref)
    if company:
        return utils.create_aliased_response(CompanyResponse(response=company))
    return utils.create_404_response()
Example #3
0
async def read_user(username: str, db: DBClient = client):
    """Read user by id, username, or email"""
    logging.info(">>> " + __name__ + ":" + read_user.__name__)
    user = await crud.get(db, username)
    if user:
        return utils.create_aliased_response(UserResponse(response=user))
    return utils.create_404_response()
Example #4
0
async def read_persona(ref: str, db: DBClient = client):
    """Read persona info"""
    logging.info(f">>> {__name__}:{read_persona.__name__}")
    persona = await crud.get(db, ref)
    if persona:
        return utils.create_aliased_response(PersonaResponse(response=persona))
    return utils.create_404_response()
Example #5
0
async def update_company(ref: str, data: CompanyUpdate, db: DBClient=client):
    """Update company info"""
    logging.info(f">>> {__name__}:{update_company.__name__}")
    found = await crud.get(db, ref)
    if not found:
        return utils.create_404_response()
    company = await crud.update(db, found["_id"], data)
    if company:
        return utils.create_aliased_response(CompanyResponse(response=company))
    return utils.create_422_response()
Example #6
0
async def update_persona(ref: str, data: PersonaUpdate, db: DBClient = client):
    """Update persona info"""
    logging.info(f">>> {__name__}:{update_persona.__name__}")
    persona = await crud.get(db, ref)
    if not persona:
        return utils.create_404_response()

    updated = await crud.update(db, persona["_id"], data)
    if updated:
        return utils.create_aliased_response(PersonaResponse(response=updated))
    return utils.create_422_response()
Example #7
0
async def update_user_me(
        *,
        password: str = Body(None),
        fullname: str = Body(None),
        email: EmailStr = Body(None),
        current_user: UserInDB = Depends(get_current_active_user),
        db: DBClient = client):
    """
    Update own user
    """
    # user_in = UserUpdate(**current_user.dict())
    user_in = UserUpdate(**current_user)
    if password is not None:
        user_in.password = password
    if fullname is not None:
        user_in.fullname = fullname
    if user_in.email is not None:
        user_in.email = email
    user = await crud.update(db, current_user["_id"], user_in)
    if user:
        return utils.create_aliased_response(UserResponse(response=user))
    return utils.create_404_response()