Django GraphQL Simple ToDo
HOW TO RUN
just run the following instructions:
python -m venv venv
pip install -r requirements.txt
source venv/bin/activate
chmod 777 remove_migrations.sh
./remove_migrations.sh
python manage.py runserver
the output should be something like this:
System check identified 1 issue (0 silenced).
November 12, 2021 - 13:38:31
Django version 3.2.9, using settings 'DjangoGraphQLToDoListApplication.settings'
Starting development server at 
Quit the server with CONTROL-C.
Usage
just go to http://127.0.0.1:8000/ then,
Test Queries and Mutations
fetching all users:
query {
  users {
    id
    username
  }
}
create a new user:
mutation {
  userCreate(username: "alice", email: "[email protected]", password:"password") {
    user {
      id
      username
      email
      dateJoined
    }
  }
}
Login
mutation {
  tokenAuth(username: "your user name", password: "your password") {
    token
    payload
    refreshExpiresIn
  }
}
currentUser
query{
  currentUser{
    id
  }
}
users
query{
  users{
    id
  }
}
user Create Todo
mutation {
  userCreateTodo(title: "alice") {
    todo {
      id
      title
    }
  }
}
user update Todo state
mutation {
  userUpdateTodoState(id:17, state: "done") {
    todo {
      id
      title
    }
  }
}
user delete Todo
mutation {
  userDeleteTodo(id:17) {
    todo {
      id
      title
    }
  }
}
Filtering
query {
  todos(title_Icontains: "e", state: "in-progress") {
    edges {
      node {
        title
      }
    }
  }
}