Exemple #1
0
async def update_note(note: NoteInUpdate = Body(..., embed=True),
                      user: UserInDb = Depends(get_current_user),
                      note_repo: NoteRepository = Depends(
                          get_repository(NoteRepository))) -> dict:
    try:
        await note_repo.update_note(user.id, note)
    except ParametersNotSpecified:
        raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST,
                            detail="Parameters for updating are not specified")
    return {"status": "ok", "detail": "Note updated"}
Exemple #2
0
async def register(
    user_create: UserInCreate = Body(..., embed=True, alias="user"),
    user_repo: UserRepository = Depends(get_repository(UserRepository)),
) -> dict:
    try:
        await user_repo.create_user(user_create)
    except EntityAlreadyExist:
        raise HTTPException(
            status_code=status.HTTP_400_BAD_REQUEST,
            detail="User with this email or username already exist"
        )

    return {"status": "ok"}
Exemple #3
0
async def login(
    response: Response,
    user_login: UserInLogin = Body(..., embed=True, alias="user"),
    user_repo: UserRepository = Depends(get_repository(UserRepository))
) -> dict:
    try:
        token = await user_repo.get_access_token(user_login)
    except(EntityDoesNotExist, FailedCredentials):
        raise HTTPException(
            status_code=status.HTTP_400_BAD_REQUEST,
            detail="User does not exist or invalid credentials"
        )
    response.set_cookie(key="access_token",
                        value=token,
                        expires=ACCESS_TOKEN_EXPIRE_MINUTES * 60,
                        samesite='none')
    return {"status": "ok"}
Exemple #4
0
async def delete_note(note: NoteInUpdate = Body(..., embed=True),
                      user: UserInDb = Depends(get_current_user),
                      note_repo: NoteRepository = Depends(
                          get_repository(NoteRepository))) -> dict:
    await note_repo.delete_note(user.id, note)
    return {"status": "ok", "detail": "Note deleted"}
Exemple #5
0
async def get_notes(user: UserInDb = Depends(get_current_user),
                    note_repo: NoteRepository = Depends(
                        get_repository(NoteRepository))) -> list:
    return await note_repo.get_user_notes(user.id)
Exemple #6
0
async def create_note(note: NoteInCreate = Body(..., embed=True),
                      user: UserInDb = Depends(get_current_user),
                      note_repo: NoteRepository = Depends(
                          get_repository(NoteRepository))) -> dict:
    await note_repo.create_note(note, user.id)
    return {"status": "ok"}