JColonJr / API-Project

0 stars 0 forks source link

<name of application here>

Database Schema Design

Screen Shot 2022-08-25 at 11 58 00 AM

API Documentation

FEATURE 0: USER AUTHORIZATION

All endpoints that require authentication

All endpoints that require a current user to be logged in.

All endpoints that require proper authorization

All endpoints that require authentication and the current user does not have the correct role(s) or permission(s).

Get the Current User

Returns the information about the current user that is logged in.

Log In a User

Logs in a current user with valid credentials and returns the current user's information.

Sign Up a User

Creates a new user, logs them in as the current user, and returns the current user's information.

FEATURE 1: SONGS FEATURE

Get all Songs

Returns all the songs.

Get all Songs created by the Current User

Returns all the songs created by the current user.

Get details of a Song from an id

Returns the details of a song specified by its id.

Create a Song for an Album based on the Album's id

Creates and returns a new song.

Edit a Song

Updates and returns an existing song.

Delete a Song

Deletes an existing song.

FEATURE 2: ALBUMS FEATURE

Get all Albums

Returns all the Albums.

Get all Albums created by the Current User

Returns all the Albums created by the current user.

Get details of an Album from an id

Returns the details of an album specified by its id.

Create an Album

Creates and returns a new album.

Edit an Album

Updates and returns an existing album.

Delete an Album

Deletes an existing album.

Get all Comments by a Song's id

Returns all the comments that belong to a song specified by id.

Create a Comment for a Song based on the Song's id

Create and return a new comment for a song specified by id.

Edit a Comment

Update and return an existing comment.

Delete a Comment

Delete an existing comment.

FEATURE 4: ARTISTS FEATURE

Get details of an Artist from an id

Returns the details of an artist specified by their id.

Get all Songs of an Artist from an id

Returns all the songs created by the specified artist.

Get all Albums of an Artist from an id

Returns all the albums created by the specified artist.

FEATURE 5: PLAYLISTS FEATURE

Get all Playlists of an Artist from an id

Returns all the playlists created by the specified artist.

Create a Playlist

Creates and returns a new playlist.

Add a Song to a Playlist based on the Playlists's id

Add a song to a playlist specified by the playlist's id.

Get details of a Playlist from an id

Returns the details of a playlist specified by its id.

Edit a Playlist

Updates and returns an existing playlist.

Delete a Playlist

Deletes an existing playlist.

Get all Playlists created by the Current User

Returns all the playlists created by the current user.

Add Query Filters to Get All Songs

Return songs filtered by query parameters.