Skip to content

Instantly share code, notes, and snippets.

@vittolewerissa
Last active November 15, 2018 03:46
Show Gist options
  • Select an option

  • Save vittolewerissa/f704ffba1a6a3dd3f3264dbb967fb122 to your computer and use it in GitHub Desktop.

Select an option

Save vittolewerissa/f704ffba1a6a3dd3f3264dbb967fb122 to your computer and use it in GitHub Desktop.

Endpoint: http://advanced-react-training.now.sh

Login

POST:login/

Payload:

type Body = {
  email: string
  password: string
}

Example return:

{
  "data": {
    "id": "cjog1c42b1mty0a01lnjx6nvn",
    "email": "admin@admin.com",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySUQiOiJjam9nMWM0MmIxbXR5MGEwMWxuang2bnZuIiwiaWF0IjoxNTQyMjUzMTM3LCJleHAiOjE1NDI4NTc5Mzd9.wvJX79_mwm1G9m5pafM0QfuvDpC_PXxHdcG2ptLH9mQ",
    "name": "Admin Keren"
  }
}

Example error:

{
  "data": null,
  "errors": [
    {
      "message": "Email or password is incorrect!"
    }
  ]
}

USERS

type User = {
  id: string
  name: string
  email: string
  createdAt: string
  updatedAt: string
}

GET:users/

Example return:

{
	"data": [
	{
		"id": "cjog1c42b1mty0a01lnjx6nvn",
		"email": "admin@admin.com",
		"name": "Admin Keren",
		"password": "$2b$10$Vhk8XTphINe0N7p8C4Qcr.f1UnfoyUIxOkTYOKohH1P8F80166O6.",
		"createdAt": "2018-11-13T17:53:17.459Z",
		"updatedAt": "2018-11-13T17:53:17.459Z"
	},
	{
		"id": "cjognrgfo3wra0a01x0dy4ks6",
		"email": "domi@gmail.com",
		"name": "Domi",
		"password": "$2b$10$Vhk8XTphINe0N7p8C4Qcr.f1UnfoyUIxOkTYOKohH1P8F80166O6.",
		"createdAt": "2018-11-14T04:21:04.884Z",
		"updatedAt": "2018-11-14T04:21:04.884Z"
	}]
}

GET:users/:id

Example return:

{
	"data":
	{
		"id": "cjog1c42b1mty0a01lnjx6nvn",
		"email": "admin@admin.com",
		"name": "Admin Keren",
		"password": "$2b$10$Vhk8XTphINe0N7p8C4Qcr.f1UnfoyUIxOkTYOKohH1P8F80166O6.",
		"createdAt": "2018-11-13T17:53:17.459Z",
		"updatedAt": "2018-11-13T17:53:17.459Z"
	}
}

TRANSACTIONS

type Category =
  | 'FOOD'
  | 'CLOTHES'
  | 'COMMUNICATIONS'
  | 'ENTERTAINMENT'
  | 'TRANSPORTATION'
  | 'BILLS'
  | 'SALARY'
  | 'SAVINGS'
  | 'DEPOSITS'

GET:transactions/

Example return:

{
	"data": [
	{
		"id": "cjogsek3x4cls0a01u82i04yi",
		"type": "EXPENSE",
		"transactionDetail": "Transaksi 1",
		"amount": 10000,
		"category": "FOOD",
		"createdAt": "2018-11-14T06:31:01.197Z",
		"updatedAt": "2018-11-14T06:31:01.197Z"
	},
	{
		"id": "cjogxuxqc000y0944laq5nzh3",
		"type": "EXPENSE",
		"transactionDetail": "Transaksi 1",
		"amount": 10000,
		"category": "FOOD",
		"createdAt": "2018-11-14T09:03:43.397Z",
		"updatedAt": "2018-11-14T09:03:43.397Z"
	}]
}

GET:transactions/:id

Example return:

{
	"data":
	{
		"id": "cjogsek3x4cls0a01u82i04yi",
		"type": "EXPENSE",
		"transactionDetail": "Transaksi 1",
		"amount": 10000,
		"category": "FOOD",
		"createdAt": "2018-11-14T06:31:01.197Z",
		"updatedAt": "2018-11-14T06:31:01.197Z"
	}
}

POST:transactions/

Payload:

Content-Type: 'application/json'
Body: {
  type: 'INCOME' | 'EXPENSE'
  transactionDetail: string
  amount: number
  category: Category
}

Return example:

{
  "data": {
    "id": "cjohz8s0o01lq0a77pjh9qrzk",
    "type": "INCOME",
    "transactionDetail": "Transaksi Gokil",
    "amount": 12000,
    "category": "FOOD",
    "createdAt": "2018-11-15T02:30:15.000Z",
    "updatedAt": "2018-11-15T02:30:15.000Z"
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment