-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMoExpenseTracker.http
121 lines (93 loc) · 3.44 KB
/
MoExpenseTracker.http
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
@MoExpenseTracker_HostAddress=http://localhost:5158
# after sign up or login replace the placeholder, JWT, with the auth token
@MoAuthToken=eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJNb0V4cGVuc2VUcmFja2VyOjpBdWRpZW5jZTo6VFc5RmVIQmxibk5sVkhKaFkydGxjam82U1hOemRXVnlPam96Vm5wbFkwdExkbTlYTldsc1J6azBlVlEzZVRobGNFdHpUUzlYVTJGRFNucDNja3A0UzFaclp6Z3VhSFZyUmtsSlFrOVFiUT09IiwiaXNzIjoiTW9FeHBlbnNlVHJhY2tlcjo6SXNzdWVyOjpUVzlGZUhCbGJuTmxWSEpoWTJ0bGNqbzZTWE56ZFdWeU9qcEdOR05UUW0xd1NtOHZWVGRIYW0xTGJsQmFjbEl1TW5ObWFGSjJjMU5DWWxoRGJtd3ZSWGh3Y210M1dtUjRWRk52YzFjMVZ3PT0iLCJleHAiOjE3MzczMDQwOTUsImlkIjoiNSIsIm5vbmNlIjoiRUFBQTBEODZCNTQwMzNFQTEyNkJENjIwMzMwN0FEMTRBNUU0MDQzRjBFQTJDNjA1RTZDRTM2NERFMDk1MkU2RjVBRkE0QzRERkZCMjRGNUZCMkE4RkY3NjI5NkVDNDBCQ0ZERkREMzJEQUY1QzU2OTMzODMyNDg0QTlEQzNEODUiLCJpYXQiOjE3MzcyOTY4OTUsIm5iZiI6MTczNzI5Njg5NX0.vsVtoxIvNQdQJkO-unaqK2T-8730Z1onVzXffSY2YYpUcqMoDuF7V2hCgIaJ8Mo0btWbNE8BTGM_oyPoZAWXQw
# Actual api starts from here
## auth
### Signup
POST {{MoExpenseTracker_HostAddress}}/auth/signup
Content-Type: application/json
{
"name":"Jeff Mann",
"email": "[email protected]",
"password": "greenmann$"
}
### Login
POST {{MoExpenseTracker_HostAddress}}/auth/login
Content-Type: application/json
{
"email": "[email protected]",
"password": "Password123$"
}
### Account
### Authenticated route (required auth token)
GET {{MoExpenseTracker_HostAddress}}/accounts
Authorization: Bearer {{MoAuthToken}}
### Update user profile
PUT {{MoExpenseTracker_HostAddress}}/accounts
Authorization: Bearer {{MoAuthToken}}
Content-Type: application/json
{
"name": "Gooose Man",
"email": "[email protected]"
}
### category
### Create Category
POST {{MoExpenseTracker_HostAddress}}/categories
Authorization: Bearer {{MoAuthToken}}
Content-Type: application/json
{
"name": "Tech nimbus",
"description": "Expenses on mad tech shopping"
}
### List Category
GET {{MoExpenseTracker_HostAddress}}/categories
?pageNumber=3
&pageSize=1
&nameSearch=Saving
&sortBy=id
&sortIn=desc
Authorization: Bearer {{MoAuthToken}}
### Read Category
GET {{MoExpenseTracker_HostAddress}}/categories/1
Authorization: Bearer {{MoAuthToken}}
### Update Category
PUT {{MoExpenseTracker_HostAddress}}/categories/8
Authorization: Bearer {{MoAuthToken}}
Content-Type: application/json
{
"name": "Tech nimbus",
"description": "Expenses on mad tech shopping with other accessories"
}
### expense
### Create Expense
POST {{MoExpenseTracker_HostAddress}}/expenses
Authorization: Bearer {{MoAuthToken}}
Content-Type: application/json
{
"categoryId": 5,
"amount": 200,
"description": "MTN - 90Gb data bundle",
"expenseDate": "28/12/2024"
}
### List Expense
GET {{MoExpenseTracker_HostAddress}}/expenses
?pageNumber=1
&pageSize=100
# &nameSearch=Toiletries
&sortBy=expense_date
&sortIn=asc
Authorization: Bearer {{MoAuthToken}}
# could search for a string in the description
### Read Expense
GET {{MoExpenseTracker_HostAddress}}/expenses/5
Authorization: Bearer {{MoAuthToken}}
### Update Expense
PUT {{MoExpenseTracker_HostAddress}}/expenses/5
Authorization: Bearer {{MoAuthToken}}
Content-Type: application/json
{
"categoryId": 5,
"amount": 170,
"description": "Custom made socket with two holes",
"expenseDate": "28/12/2024"
}