Users may access other user's resources unless otherwise stated by the specific route.
Listing/querying operations must be nested under a /user/{user_id}
Profiles/Albums
New albums table with name, id, public.
Modify file with public, album_id (optional).
Visible albums will show on user's profile in an ordered list/collection.
From public view, only public uploads will show.
When uploading a file, an optional public and album_id parameter can be specified
If public is not specified, it will use the public on the album_id provided
If neither parameter is provided, default to false (private).
From an outsiders viewpoint, only public uploads will show.
On top of the user's profile page will be a list of all public albums, below will be a paginatable list of all public uploads (with viewable information).
Clicking on an album expands to album view.
Default album view (none selected) will show all images ordered by query parameters.
Allow ordering by name with a LIKE query and upload_date and size with up/down arrow toggles.
Scoped resources
/user/{user_id}
Profiles/Albums
albums
table withname
,id
,public
.public
,album_id
(optional).public
uploads will show.public
andalbum_id
parameter can be specifiedpublic
is not specified, it will use thepublic
on thealbum_id
providedfalse
(private).name
with a LIKE query andupload_date
andsize
with up/down arrow toggles.