UNPKG

1.63 kBMarkdownView Raw
1[back to hoodie-account-server](../README.md)
2
3# hapi CouchDB Account Routes
4
5See the shiny docs at http://docs.accountjsonapi.apiary.io/.
6Comment / send PRs for [apiary.apib](https://github.com/hoodiehq/account-json-api/blob/master/apiary.apib).
7
8All routes at a glance
9
10```
11# sign in, check session, sign out
12PUT /session
13GET /session
14DELETE /session
15
16# sign up, get / update / destroy account
17# non-admins only
18PUT /session/account
19GET /session/account
20PATCH /session/account
21DELETE /session/account
22
23# get / update profile
24# non-admins only
25GET /session/account/profile
26PATCH /session/account/profile
27
28# requests (e.g. password resets / username reminder, user account confirmation)
29POST /requests
30GET /requests # admins only
31GET /requests/{id}
32DELETE /requests/{id}
33
34# admins only: manage accounts
35POST /accounts
36GET /accounts
37GET /accounts/{username}
38PATCH /accounts/{username}
39DELETE /accounts/{username}
40```
41
42The route groups are implemented as hapi plugins themselves.
43
44- [session.js](session.js)
45- [account.js](account.js)
46- [profile.js](profile.js)
47- [requests.js](requests.js)
48- [accounts.js](accounts.js)
49
50The options passed to the routes plugins are the same as the ones passed to the
51[main plugin](../plugin/README.md).
52
53## Notes on CouchDB Admin accounts
54
55CouchDB admins do not require `_users` docs, which that plugin requires, as it
56stores user IDs in a special `id:<userId here>` role. Because of that, the
57`/session/account` & `/session/account/profile` routes are forbidden for admins.
58And even if an admin account has a `_users` doc, it will not be returned by the
59`/accounts` API for consistency reasons.