Skip to content

Latest commit

 

History

History
544 lines (384 loc) · 7.51 KB

todo.md

File metadata and controls

544 lines (384 loc) · 7.51 KB

API Doc Todo App

Todos

Show Todos

Mendapatkan semua data todo yang ada

  • URL

    /todos

  • Method:

    GET

  • Success Response:

    • Code: 200
      Content:

      [
          {
              "id": 1,
              "title": "todositos",
              "description": "make doritos",
              "status": "donito",
              "due_date": "1970-01-19T18:31:04.068Z",
              "createdAt": "2021-05-24T13:48:27.837Z",
              "updatedAt": "2021-05-24T14:10:58.197Z"
          },
          {
              "id": 3,
              "title": "todos",
              "description": "make todos",
              "status": "pending",
              "due_date": "1970-01-19T18:31:04.068Z",
              "createdAt": "2021-05-24T14:33:59.475Z",
              "updatedAt": "2021-05-24T14:33:59.475Z"
          }
      ]
      
  • Error Response:

    • Code: 500 INTERNAL SERVER ERROR

Show By Id

Mendapatkan Todo Spesifik

  • URL

    /todos

  • Method:

    GET

  • URL Param: ID

  • Success Response:

    • Code: 200
      Content:

      {
          "id": 1,
          "title": "todositos",
          "description": "make doritos",
          "status": "donito",
          "due_date": "1970-01-19T18:31:04.068Z",
          "createdAt": "2021-05-24T13:48:27.837Z",
          "updatedAt": "2021-05-24T14:10:58.197Z"
      }
      
  • Error Response:

    • Code: 500 INTERNAL SERVER ERROR

Create Todos

menambahkan data todo

  • URL

    /todos

  • Method:

    POST

  • Url Param: none

  • Body:

    {
      "title": <title todos> required,
      "description": <description> required,
      "status" : <status> required,
      "due_date": <due date> required
    }
  • Success Response:

    • Code: 200
      Content:

      {
        "message": "created",
        "data": {
              "title": "<title todos>",
              "description": "<description>",
              "status" : "<status>",
              "due_date": "<due date>"
          }
      }
  • Error Response:

    • Code: 400 BAD REQUEST
      Content:

      {
        "message": ["Title cannot be empty", "Date must be after today"]
      }
    • Code: 401 AUTHENTICATION ERROR
      Content:

      {
        "message": "Login Error"
      }
    • Code: 500 INTERNAL SERVER ERROR


Put Todos

Mengubah keseluruhan data todo

  • URL

    /todos

  • Method:

    PUT

  • Url Param: ID

  • Body:

    {
      "title": <title todos> required,
      "description": <description> required,
      "status" : <status> required,
      "due_date": <due date> required
    }
  • Success Response:

    • Code: 200
      Content:

      {
        "message": "put completed",
        "data": {
              "title": "<title todos>",
              "description": "<description>",
              "status" : "<status>",
              "due_date": "<due date>"
          }
      }
  • Error Response:

    • Code: 401 AUTHENTICATION ERROR
      Content:

      {
        "message": "Login Error"
      }
    • Code: 401 AUTHENTICATION ERROR

      Content:

      {
        "message": "User does not have permission"
      }
    • Code: 400 BAD REQUEST
      Content:

      {
        "message": ["Title cannot be empty", "Date must be after today"]
      }
    • Code: 404 NOT FOUND
      Content:

      {
        "message": "Todo not Found"
      }
    • Code: 500 INTERNAL SERVER ERROR


Patch Todos

Mengubah data status

  • URL

    /todos

  • Method:

    PATCH

  • Url Param: ID

  • Body:

    {
      "status" : <status> required
    }
  • Success Response:

    • Code: 200
      Content:

      {
        "message": "put completed",
        "data": {
              "title": "<title todos>",
              "description": "<description>",
              "status" : "<status>",
              "due_date": "<due date>"
          }
      }
  • Error Response:

    • Code: 401 AUTHENTICATION ERROR
      Content:

      {
        "message": "Login Error"
      }
    • Code: 401 AUTHENTICATION ERROR

      Content:

      {
        "message": "User does not have permission"
      }
    • Code: 404 NOT FOUND
      Content:

      {
        "message": "Todo not found"
      }
    • Code: 500 INTERNAL SERVER ERROR


Delete Todos

Menghapus data todo

  • URL

    /todos

  • Method:

    DELETE

  • Url Param: ID

  • Success Response:

    • Code: 200
      Content:

      {
        "message": "todo success to delete",
      }
  • Error Response:

    • Code: 401 AUTHENTICATION ERROR
      Content:

      {
        "message": "Login Error"
      }
    • Code: 401 AUTHENTICATION ERROR

      Content:

      {
        "message": "User does not have permission"
      }
    • Code: 404 NOT FOUND
      Content:

      {
        "message": "Todo not found"
      }
    • Code: 500 INTERNAL SERVER ERROR


Users

Register User

Mendaftarkan User baru

  • URL

    /users/register

  • Method:

    POST

  • Url Param: none

  • Body:

    {
      "email": <email user>,
      "password": <password user>
    }
  • Success Response:

    • Code: 200
      Content:

      {
        "message": "User Registered",
        "data": <email user>
      }
  • Error Response:

    • Code: 400 BAD REQUEST
      Content:

      {
        "message": "Please Fill Email and Password"
      }
    • Code: 400 BAD REQUEST
      Content:

      {
        "message": "Please use proper email format"
      }
    • Code: 400 BAD REQUEST
      Content:

      {
        "message": "Password must be between 4 to 32 characters"
      }
    • Code: 400 BAD REQUEST
      Content:

      {
        "message": "Email already taken"
      }
    • Code: 500 INTERNAL SERVER ERROR


Login User

Login user

  • URL

    /users/login

  • Method:

    POST

  • Url Param: none

  • Body:

    {
      "email": <email user>,
      "password": <password user>
    }
  • Success Response:

    • Code: 200
      Content:

      {
        "message": "Login Success",
        "access_token": <access token>
      }
  • Error Response:

    • Code: 400 BAD REQUEST
      Content:

      {
        "message": "Please Fill Email and Password"
      }
    • Code: 400 BAD REQUEST
      Content:

      {
        "message": "No Email"
      }
    • Code: 400 BAD REQUEST
      Content:

      {
        "message": "Wrong Password"
      }
    • Code: 500 INTERNAL SERVER ERROR


Login Google

Login google

  • URL

    /users/gauth

  • Method:

    POST

  • Url Param: none

  • Body:

    {
      "token": <google token>
    }
  • Success Response:

    • Code: 200
      Content:

      {
        "message": "Login Success",
        "access_token": <access token>
      }
  • Error Response:

    • Code: 500 INTERNAL SERVER ERROR