forked from technologiestiftung/giessdenkiez-de-postgres-api
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathapi.http
177 lines (126 loc) · 4.45 KB
/
api.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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
@protocol = http
@host = localhost
@port = 3000
@API_HOST = {{protocol}}://{{host}}:{{port}}
# @API_HOST = https://giessdenkiez-de-postgres-api-git-dev-technologiestiftung1.vercel.app
# These needs a .env in the root of the project
# you get these variables from auth0
@audience = {{$dotenv audience}}
@issuer = {{$dotenv issuer}}
@jwksuri = {{$dotenv jwksuri}}
@client_id = {{$dotenv client_id}}
@client_secret = {{$dotenv client_secret}}
# the token below is obtained from the
# request to the token issuer
# https://giessdenkiez.eu.auth0.com/oauth/token
# see section POST AUTH
@token = {{$dotenv token}}
##### ####### #######
# # # #
# # #
# #### ##### #
# # # #
# # # #
##### ####### #
### Healthcheck
GET {{API_HOST}}
### GET tree by its id byid
GET {{API_HOST}}/get?queryType=byid&id=id=_0001wka6l
### GET a list of all waterd trees
GET {{API_HOST}}/get?queryType=watered
### get all trees with id, lat, lon, radolan_sum
# with pagination
GET {{API_HOST}}/get?queryType=all&limit=10&offset=10
### GET list of trees from an list of ids
GET {{API_HOST}}/get?queryType=treesbyids&tree_ids=id=_0001wka6l,_00043ixvp
### GET a list of trees with the properities
# adopted (how many users)
# waterd how often in the last 30days
GET {{API_HOST}}/get?queryType=wateredandadopted
### GET count of trees by age
GET {{API_HOST}}/get?queryType=countbyage&start=1800&end=2020
##### ####### ####### # # # ####### # #
# # # # # # # # # # #
# # # # # # # # # #
# #### ##### # # # # # # #######
# # # # ####### # # # # #
# # # # # # # # # # #
##### ####### # # # ##### # # #
### GET trees that where watered by aq specific user
GET {{API_HOST}}/get?queryType=wateredbyuser&uuid=auth0|abc
Authorization: Bearer {{token}}
### GET check if a tree is adopted by a specific user
{{API_HOST}}/get?queryType=istreeadopted&uuid=auth0|abc&id=_0001wka6l
Authorization: Bearer {{token}}
### GET trees that are adopted by a specific user
{{API_HOST}}/get?queryType=adopted&uuid=auth0|abc
Authorization: Bearer {{token}}
### GET the last watering of a specific tree with all the users
{{API_HOST}}/get?queryType=lastwatered&id=id=_0001wka6l
###### ####### ##### #######
# # # # # # #
# # # # # #
###### # # ##### #
# # # # #
# # # # # #
# ####### ##### #
# # # ####### # #
# # # # # # #
# # # # # # #
# # # # # #######
####### # # # # #
# # # # # # #
# # ##### # # #
### POST to the token issuer and get an JWT token
# for authenticated requests
POST https://giessdenkiez.eu.auth0.com/oauth/token
Content-Type: application/json
{
"client_id": "{{client_id}}",
"client_secret": "{{client_secret}}",
"audience": "{{audience}}",
"grant_type": "client_credentials"
}
### POST water a tree
POST {{API_HOST}}/post
Authorization: Bearer {{token}}
Content-Type: application/json
{
"queryType":"water",
"tree_id":"_0001wka6l",
"uuid": "auth0|abc",
"username":"foo",
"amount": 100
}
### Adopt a tree
POST {{API_HOST}}/post
Authorization: Bearer {{token}}
Content-Type: application/json
{
"queryType":"adopt",
"tree_id":"_0001wka6l",
"uuid": "auth0|abc"
}
###### ####### # ####### ####### #######
# # # # # # #
# # # # # # #
# # ##### # ##### # #####
# # # # # # #
# # # # # # #
###### ####### ####### ####### # #######
# # # ####### # #
# # # # # # #
# # # # # # #
# # # # # #######
####### # # # # #
# # # # # # #
# # ##### # # #
### DELETE a tree adoption
DELETE {{API_HOST}}/delete
Authorization: Bearer {{token}}
Content-Type: application/json
{
"queryType":"unadopt",
"tree_id":"_0001wka6l",
"uuid": "bah"
}