Setup table migration and update schemas/endpoints
This commit is contained in:
@@ -18,7 +18,7 @@ Sleep Tracker is intended for anyone interested in improving their sleep and hea
|
||||
|
||||
## Database Schemas
|
||||
|
||||
### Users `users`
|
||||
### Users Schema `users`
|
||||
| field | data type | metadata |
|
||||
| :--------| :--------------- | :-------------------------------------------------- |
|
||||
| id | unsigned integer | primary key, auto-increments, generated by database |
|
||||
@@ -26,35 +26,35 @@ Sleep Tracker is intended for anyone interested in improving their sleep and hea
|
||||
| username | string | required |
|
||||
| password | string | required |
|
||||
|
||||
### Sleep Sessions `sessions`
|
||||
|
||||
### Sleep Sessions Schema `sessions`
|
||||
| field | data type | metadata |
|
||||
| :------------ | :--------------- | :-------------------------------------------------- |
|
||||
| id | unsigned integer | primary key, auto-increments, generated by database |
|
||||
| user_id | unsigned integer | foreign key referencing `users.id`, required |
|
||||
| bed_time | unsigned integer | timestamp with date, required |
|
||||
| wake_time | unsigned integer | timestamp with date, required |
|
||||
| bed_tiredness | unsigned integer | between 1-5, |
|
||||
| wake_mood | unsigned integer | between 1-5, |
|
||||
| day_mood | unsigned integer | between 1-5, |
|
||||
| bed_tiredness | unsigned integer | |
|
||||
| wake_mood | unsigned integer | |
|
||||
| day_mood | unsigned integer | |
|
||||
|
||||
### Average Mood per Sleep Session `moods`
|
||||
| field | data type | metadata |
|
||||
| :------------- | :--------------- | :--------------------------------------------------- |
|
||||
| id | unsigned integer | primary key, auto-increments, generated by database |
|
||||
| session_date | unsigned integer | foreign key referencing `sessions.wake_time` |
|
||||
| sleep_duration | unsigned integer | |
|
||||
| average_mood | float | average of bed_tiredness/wake_mood/day_mood |
|
||||
### Average Mood per Sleep Session Schema `dailyAverages`
|
||||
| field | data type | metadata |
|
||||
| :------------- | :--------------- | :-------------------------------------------------- |
|
||||
| id | unsigned integer | primary key, auto-increments, generated by database |
|
||||
| session_user | unsigned integer | foreign key referencing `sessions.user_id` |
|
||||
| session_date | unsigned integer | foreign key referencing `sessions.wake_time` |
|
||||
| sleep_duration | unsigned integer | |
|
||||
| average_mood | float | |
|
||||
|
||||
## API Endpoints
|
||||
- `POST /api/users` - add a new user
|
||||
- `GET /api/users/:id` - fetch a user
|
||||
- `PUT /api/users/:id` - update a user
|
||||
|
||||
- `GET /api/sessions` - fetch list of all sessions
|
||||
- `POST /api/sessions` - add a session
|
||||
- `GET /api/sessions/:id` - get a single session by id
|
||||
- `PUT /api/sessions/:id` - update a session by user id
|
||||
- `DELETE /api/sessions/:id` - delete a session by user id
|
||||
- `GET /api/users/:id/sessions` - fetch list of all sessions by user id
|
||||
- `POST /api/users/:id/sessions` - add a session y user id
|
||||
- `GET /api/users/:id/sessions/:id` - fetch a single session by id
|
||||
- `PUT /api/users/:id/sessions/:id` - update a session by id
|
||||
- `DELETE /api/users/:id/sessions/:id` - delete a session by id
|
||||
|
||||
- `GET /api/moods/:id` - fetch a list of last 30 moods by user id
|
||||
- `GET /api/dailyaverages/:id` - fetch a list of last 30 daily averages by user id
|
||||
Reference in New Issue
Block a user