diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 12c09738..2722ae94 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -165,7 +165,7 @@ This version can break any moment. Be prepared to troubleshoot any issues that a {% endtab %} {% tab title="Swizzin" %} -The installation is not implemented via docker, but barebones. The latest released version of overseerr will be used. +The installation is not implemented via Docker, but barebones. The latest release version of Overseerr will be used. Please see the [swizzin documentation](https://swizzin.ltd/applications/overseerr) for more information. To install, run the following: diff --git a/docs/support/faq.md b/docs/support/faq.md index b50111b8..e30cd38b 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -36,7 +36,7 @@ The most secure method, but also the most inconvenient, is to set up a VPN tunne ### Some media is missing from Overseerr that I know is in Plex! -**A:** Overseerr supports the new Plex Movie, Legacy Plex Movie, TheTVDB agent, and the TMDb agent. Please verify that your library is using one of the agents previously listed. If you are changing agents, a full metadata refresh will need to be performed. Caution, this can take a long time depending on how many items you have in your movie library. +**A:** Overseerr supports the new Plex Movie, legacy Plex Movie, TheTVDB, and TMDb agents. Please verify that your library is using one of the agents previously listed. If you are changing agents, a full metadata refresh will need to be performed. Caution, this can take a long time depending on how many items you have in your movie library. **Troubleshooting Steps:** @@ -55,8 +55,8 @@ Perform these steps to verify the media item has a guid Overseerr can match. **Examples:** -1. TMDB agent `guid="com.plexapp.agents.themoviedb://1705"` -2. The new Plex Movie agent `` +1. TMDb agent `guid="com.plexapp.agents.themoviedb://1705"` +2. New Plex Movie agent `` 3. TheTVDB agent `guid="com.plexapp.agents.thetvdb://78874/1/1"` 4. Legacy Plex Movie agent `guid="com.plexapp.agents.imdb://tt0765446"` @@ -68,7 +68,7 @@ Perform these steps to verify the media item has a guid Overseerr can match. ### Why can't I see all my Plex users? -**A:** Navigate to your **User List** in Overseerr and click **Import Users From Plex** button. Don't forget to check the default user permissions in the **Settings -> General Settings** page beforehand. +**A:** Navigate to your **User List** in Overseerr and click **Import Users from Plex** button. Don't forget to check the default user permissions in the **Settings -> General Settings** page beforehand. ### Can I create local users in Overseerr? diff --git a/docs/using-overseerr/notifications/README.md b/docs/using-overseerr/notifications/README.md index 61323635..a4afbc00 100644 --- a/docs/using-overseerr/notifications/README.md +++ b/docs/using-overseerr/notifications/README.md @@ -11,7 +11,7 @@ Overseerr already supports a good number of notification agents, such as **Disco - Pushover - [Webhooks](./webhooks.md) -## Setting up Notifications +## Setting Up Notifications Configuring your notifications is _very simple_. First, you will need to visit the **Settings** page and click **Notifications** in the menu. This will present you with all of the currently available notification agents. Click on each one individually to configure them. diff --git a/docs/using-overseerr/notifications/webhooks.md b/docs/using-overseerr/notifications/webhooks.md index 9f563b4c..1a30511a 100644 --- a/docs/using-overseerr/notifications/webhooks.md +++ b/docs/using-overseerr/notifications/webhooks.md @@ -42,8 +42,8 @@ These variables are usually the target user of the notification. These variables are only included in media related notifications, such as requests. - `{{media_type}}` Media type. Either `movie` or `tv`. -- `{{media_tmdbid}}` Media's TMDB ID. -- `{{media_imdbid}}` Media's IMDB ID. +- `{{media_tmdbid}}` Media's TMDb ID. +- `{{media_imdbid}}` Media's IMDb ID. - `{{media_tvdbid}}` Media's TVDB ID. - `{{media_status}}` Media's availability status. (Ex. `AVAILABLE` or `PENDING`) - `{{media_status4k}}` Media's 4K availability status. (Ex. `AVAILABLE` or `PENDING`) diff --git a/overseerr-api.yml b/overseerr-api.yml index 21ad93df..796c6bda 100644 --- a/overseerr-api.yml +++ b/overseerr-api.yml @@ -1431,8 +1431,8 @@ components: paths: /status: get: - summary: Return Overseerr version - description: Returns the current Overseerr version in JSON format + summary: Get Overseerr version + description: Returns the current Overseerr version in a JSON object. security: [] tags: - public @@ -1451,8 +1451,8 @@ paths: type: string /settings/main: get: - summary: Returns main settings - description: Retrieves all main settings in JSON format + summary: Get main settings + description: Retrieves all main settings in a JSON object. tags: - settings responses: @@ -1464,7 +1464,7 @@ paths: $ref: '#/components/schemas/MainSettings' post: summary: Update main settings - description: Update current main settings with provided values + description: Updates main settings with the provided values. tags: - settings requestBody: @@ -1482,8 +1482,8 @@ paths: $ref: '#/components/schemas/MainSettings' /settings/main/regenerate: get: - summary: Returns main settings with newly generated API Key - description: Retreives all main settings in JSON format with new API Key + summary: Get main settings with newly-generated API key + description: Returns main settings in a JSON object, using the new API key. tags: - settings responses: @@ -1495,8 +1495,8 @@ paths: $ref: '#/components/schemas/MainSettings' /settings/plex: get: - summary: Returns plex settings - description: Retrieves current Plex settings + summary: Get Plex settings + description: Retrieves current Plex settings. tags: - settings responses: @@ -1507,8 +1507,8 @@ paths: schema: $ref: '#/components/schemas/PlexSettings' post: - summary: Update plex settings - description: Update the current plex settings with provided values + summary: Update Plex settings + description: Updates Plex settings with the provided values. tags: - settings requestBody: @@ -1526,14 +1526,14 @@ paths: $ref: '#/components/schemas/PlexSettings' /settings/plex/library: get: - summary: Get a list of current plex libraries - description: Returns a list of plex libraries in a JSON array + summary: Get Plex libraries + description: Returns a list of Plex libraries in a JSON array. tags: - settings parameters: - in: query name: sync - description: Syncs the current libraries with the current plex server + description: Syncs the current libraries with the current Plex server schema: type: string nullable: true @@ -1556,8 +1556,8 @@ paths: $ref: '#/components/schemas/PlexLibrary' /settings/plex/sync: get: - summary: Start a full Plex Library sync - description: Runs a full plex library sync and returns the progress in a JSON array + summary: Start full Plex library sync + description: Runs a full Plex library sync and returns the progress in a JSON array. tags: - settings parameters: @@ -1573,7 +1573,7 @@ paths: example: false responses: '200': - description: Status of Plex Sync + description: Status of Plex sync content: application/json: schema: @@ -1611,8 +1611,8 @@ paths: $ref: '#/components/schemas/PlexDevice' /settings/radarr: get: - summary: Get all radarr settings - description: Returns all radarr settings in a JSON array + summary: Get Radarr settings + description: Returns all Radarr settings in a JSON array. tags: - settings responses: @@ -1625,8 +1625,8 @@ paths: items: $ref: '#/components/schemas/RadarrSettings' post: - summary: Create new radarr instance - description: Creates a new radarr instance from the request body + summary: Create Radarr instance + description: Creates a new Radarr instance from the request body. tags: - settings requestBody: @@ -1644,8 +1644,8 @@ paths: $ref: '#/components/schemas/RadarrSettings' /settings/radarr/test: post: - summary: Test radarr configuration - description: Test if the provided Radarr configuration values are valid. Returns profiles and root folders on success + summary: Test Radarr configuration + description: Tests if the Radarr configuration is valid. Returns profiles and root folders on success. tags: - settings requestBody: @@ -1688,8 +1688,8 @@ paths: $ref: '#/components/schemas/ServiceProfile' /settings/radarr/{radarrId}: put: - summary: Update existing radarr instance - description: Updates an existing radarr instance with values from request body + summary: Update Radarr instance + description: Updates an existing Radarr instance with the provided values. tags: - settings parameters: @@ -1713,8 +1713,8 @@ paths: schema: $ref: '#/components/schemas/RadarrSettings' delete: - summary: Delete existing radarr instance - description: Deletes an existing radarr instance based on id parameter + summary: Delete Radarr instance + description: Deletes an existing Radarr instance based on the radarrId parameter. tags: - settings parameters: @@ -1723,7 +1723,7 @@ paths: required: true schema: type: integer - description: Radarr Instance ID + description: Radarr instance ID responses: '200': description: 'Radarr instance updated' @@ -1733,8 +1733,8 @@ paths: $ref: '#/components/schemas/RadarrSettings' /settings/radarr/{radarrId}/profiles: get: - summary: Retrieve available profiles for the Radarr instance - description: Returns an array of profile available on the Radarr server instance in JSON format + summary: Get available Radarr profiles + description: Returns a list of profiles available on the Radarr server instance in a JSON array. tags: - settings parameters: @@ -1743,7 +1743,7 @@ paths: required: true schema: type: integer - description: Radarr Instance ID + description: Radarr instance ID responses: '200': description: Returned list of profiles @@ -1755,8 +1755,8 @@ paths: $ref: '#/components/schemas/ServiceProfile' /settings/sonarr: get: - summary: Get all sonarr settings - description: Returns all sonarr settings in a JSON array + summary: Get Sonarr settings + description: Returns all Sonarr settings in a JSON array. tags: - settings responses: @@ -1769,8 +1769,8 @@ paths: items: $ref: '#/components/schemas/SonarrSettings' post: - summary: Create new Sonarr instance - description: Creates a new Sonarr instance from the request body + summary: Create Sonarr instance + description: Creates a new Sonarr instance from the request body. tags: - settings requestBody: @@ -1789,7 +1789,7 @@ paths: /settings/sonarr/test: post: summary: Test Sonarr configuration - description: Test if the provided Sonarr configuration values are valid. Returns profiles and root folders on success + description: Tests if the Sonarr configuration is valid. Returns profiles and root folders on success. tags: - settings requestBody: @@ -1832,8 +1832,8 @@ paths: $ref: '#/components/schemas/ServiceProfile' /settings/sonarr/{sonarrId}: put: - summary: Update existing sonarr instance - description: Updates an existing sonarr instance with values from request body + summary: Update Sonarr instance + description: Updates an existing Sonarr instance with the provided values. tags: - settings parameters: @@ -1857,8 +1857,8 @@ paths: schema: $ref: '#/components/schemas/SonarrSettings' delete: - summary: Delete existing sonarr instance - description: Deletes an existing sonarr instance based on id parameter + summary: Delete Sonarr instance + description: Deletes an existing Sonarr instance based on the sonarrId parameter. tags: - settings parameters: @@ -1867,7 +1867,7 @@ paths: required: true schema: type: integer - description: Sonarr Instance ID + description: Sonarr instance ID responses: '200': description: 'Sonarr instance updated' @@ -1877,35 +1877,35 @@ paths: $ref: '#/components/schemas/SonarrSettings' /settings/public: get: - summary: Returns public settings + summary: Get public settings security: [] - description: Returns settings that are not protected or sensitive. Mainly used to determine if the app has been configured for the first time. + description: Returns settings that are not protected or sensitive. Mainly used to determine if the application has been configured for the first time. tags: - settings responses: '200': - description: Public Settings returned + description: Public settings returned content: application/json: schema: $ref: '#/components/schemas/PublicSettings' /settings/initialize: get: - summary: Set the application as initialized - description: Sets the app as initialized and allows the user to navigate to pages other than the setup page + summary: Initialize application + description: Sets the app as initialized, allowing the user to navigate to pages other than the setup page. tags: - settings responses: '200': - description: Public Settings returned + description: Public settings returned content: application/json: schema: $ref: '#/components/schemas/PublicSettings' /settings/jobs: get: - summary: Returns list of scheduled jobs - description: Returns list of all scheduled jobs and details about their next execution time + summary: Get scheduled jobs + description: Returns list of all scheduled jobs and details about their next execution time in a JSON array. tags: - settings responses: @@ -1926,8 +1926,8 @@ paths: example: '2020-09-02T05:02:23.000Z' /settings/notifications: get: - summary: Return current notification settings - description: Returns current notification settings in JSON format + summary: Return notification settings + description: Returns current notification settings in a JSON object. tags: - settings responses: @@ -1939,7 +1939,7 @@ paths: $ref: '#/components/schemas/NotificationSettings' post: summary: Update notification settings - description: Update current notification settings with provided values + description: Updates notification settings with the provided values. tags: - settings requestBody: @@ -1957,8 +1957,8 @@ paths: $ref: '#/components/schemas/NotificationSettings' /settings/notifications/email: get: - summary: Return current email notification settings - description: Returns current email notification settings in JSON format + summary: Get email notification settings + description: Returns current email notification settings in a JSON object. tags: - settings responses: @@ -1970,7 +1970,7 @@ paths: $ref: '#/components/schemas/NotificationEmailSettings' post: summary: Update email notification settings - description: Update current email notification settings with provided values + description: Updates email notification settings with provided values tags: - settings requestBody: @@ -1988,8 +1988,8 @@ paths: $ref: '#/components/schemas/NotificationEmailSettings' /settings/notifications/email/test: post: - summary: Test the provided email settings - description: Sends a test notification to the email agent + summary: Test email settings + description: Sends a test notification to the email agent. tags: - settings requestBody: @@ -2003,20 +2003,20 @@ paths: description: Test notification attempted /settings/notifications/discord: get: - summary: Return current discord notification settings - description: Returns current discord notification settings in JSON format + summary: Get Discord notification settings + description: Returns current Discord notification settings in a JSON object. tags: - settings responses: '200': - description: Returned discord settings + description: Returned Discord settings content: application/json: schema: $ref: '#/components/schemas/DiscordSettings' post: - summary: Update discord notification settings - description: Update current discord notification settings with provided values + summary: Update Discord notification settings + description: Updates Discord notification settings with the provided values. tags: - settings requestBody: @@ -2034,8 +2034,8 @@ paths: $ref: '#/components/schemas/DiscordSettings' /settings/notifications/discord/test: post: - summary: Test the provided discord settings - description: Sends a test notification to the discord agent + summary: Test Discord settings + description: Sends a test notification to the Discord agent. tags: - settings requestBody: @@ -2049,20 +2049,20 @@ paths: description: Test notification attempted /settings/notifications/telegram: get: - summary: Return current telegram notification settings - description: Returns current telegram notification settings in JSON format + summary: Get Telegram notification settings + description: Returns current Telegram notification settings in a JSON object. tags: - settings responses: '200': - description: Returned telegram settings + description: Returned Telegram settings content: application/json: schema: $ref: '#/components/schemas/TelegramSettings' post: - summary: Update telegram notification settings - description: Update current telegram notification settings with provided values + summary: Update Telegram notification settings + description: Update Telegram notification settings with the provided values. tags: - settings requestBody: @@ -2080,8 +2080,8 @@ paths: $ref: '#/components/schemas/TelegramSettings' /settings/notifications/telegram/test: post: - summary: Test the provided telegram settings - description: Sends a test notification to the telegram agent + summary: Test Telegram settings + description: Sends a test notification to the Telegram agent. tags: - settings requestBody: @@ -2095,20 +2095,20 @@ paths: description: Test notification attempted /settings/notifications/pushover: get: - summary: Return current pushover notification settings - description: Returns current pushover notification settings in JSON format + summary: Get Pushover notification settings + description: Returns current Pushover notification settings in a JSON object. tags: - settings responses: '200': - description: Returned pushover settings + description: Returned Pushover settings content: application/json: schema: $ref: '#/components/schemas/PushoverSettings' post: summary: Update pushover notification settings - description: Update current pushover notification settings with provided values + description: Update Pushover notification settings with the provided values. tags: - settings requestBody: @@ -2126,8 +2126,8 @@ paths: $ref: '#/components/schemas/PushoverSettings' /settings/notifications/pushover/test: post: - summary: Test the provided pushover settings - description: Sends a test notification to the pushover agent + summary: Test Pushover settings + description: Sends a test notification to the Pushover agent. tags: - settings requestBody: @@ -2141,8 +2141,8 @@ paths: description: Test notification attempted /settings/notifications/slack: get: - summary: Return current slack notification settings - description: Returns current slack notification settings in JSON format + summary: Get Slack notification settings + description: Returns current Slack notification settings in a JSON object. tags: - settings responses: @@ -2153,8 +2153,8 @@ paths: schema: $ref: '#/components/schemas/SlackSettings' post: - summary: Update slack notification settings - description: Update current slack notification settings with provided values + summary: Update Slack notification settings + description: Updates Slack notification settings with the provided values. tags: - settings requestBody: @@ -2172,8 +2172,8 @@ paths: $ref: '#/components/schemas/SlackSettings' /settings/notifications/slack/test: post: - summary: Test the provided slack settings - description: Sends a test notification to the slack agent + summary: Test Slack settings + description: Sends a test notification to the Slack agent. tags: - settings requestBody: @@ -2187,8 +2187,8 @@ paths: description: Test notification attempted /settings/notifications/webhook: get: - summary: Return current webhook notification settings - description: Returns current webhook notification settings in JSON format + summary: Get webhook notification settings + description: Returns current webhook notification settings in a JSON object. tags: - settings responses: @@ -2200,7 +2200,7 @@ paths: $ref: '#/components/schemas/WebhookSettings' post: summary: Update webhook notification settings - description: Update current webhook notification settings with provided values + description: Updates webhook notification settings with the provided values. tags: - settings requestBody: @@ -2218,8 +2218,8 @@ paths: $ref: '#/components/schemas/WebhookSettings' /settings/notifications/webhook/test: post: - summary: Test the provided slack settings - description: Sends a test notification to the slack agent + summary: Test webhook settings + description: Sends a test notification to the webhook agent. tags: - settings requestBody: @@ -2233,8 +2233,8 @@ paths: description: Test notification attempted /settings/about: get: - summary: Return current about stats - description: Returns current server stats in JSON format + summary: Get server stats + description: Returns current server stats in a JSON object. tags: - settings responses: @@ -2260,22 +2260,22 @@ paths: example: Asia/Tokyo /auth/me: get: - summary: Returns the currently logged in user - description: Returns the currently logged in user + summary: Get logged-in user + description: Returns the currently logged-in user. tags: - auth - users responses: '200': - description: Object containing the logged in user in JSON + description: Object containing the logged-in user in JSON content: application/json: schema: $ref: '#/components/schemas/User' /auth/login: post: - summary: Login using a plex auth token - description: Takes an `authToken` (plex token) to log the user in. Generates a session cookie for use in further requests. If the user does not exist, and there are no other users, then a user will be created with full admin privileges. If a user logs in with access to the main plex server, they will also have an account created, but without any permissions. + summary: Sign in using a Plex token + description: Takes an `authToken` (Plex token) to log the user in. Generates a session cookie for use in further requests. If the user does not exist, and there are no other users, then a user will be created with full admin privileges. If a user logs in with access to the main Plex server, they will also have an account created, but without any permissions. security: [] tags: - auth @@ -2299,7 +2299,7 @@ paths: - authToken /auth/local: post: - summary: Login using a local account + summary: Sign in using a local account description: Takes an `email` and a `password` to log the user in. Generates a session cookie for use in further requests. security: [] tags: @@ -2327,8 +2327,8 @@ paths: - password /auth/logout: get: - summary: Logout and clear session cookie - description: This endpoint will completely clear the session cookie and associated values, logging out the user + summary: Sign out and clear session cookie + description: Completely clear the session cookie and associated values, effectively signing the user out. tags: - auth responses: @@ -2344,8 +2344,8 @@ paths: example: 'ok' /user: get: - summary: Returns a list of all users - description: Requests all users and returns them in a large array + summary: Get all users + description: Returns all users in a JSON array. tags: - users responses: @@ -2358,13 +2358,9 @@ paths: items: $ref: '#/components/schemas/User' post: - summary: Create a new user + summary: Create new user description: | - Creates a new user. Should under normal circumstances never be called as you will not have a valid authToken to provide for the user. - - In the future when Plex auth is not required, this will be used to create accounts. - - Requires the `MANAGE_USERS` permission. + Creates a new user. Requires the `MANAGE_USERS` permission. tags: - users requestBody: @@ -2375,7 +2371,7 @@ paths: $ref: '#/components/schemas/User' responses: '201': - description: The created user in JSON + description: The created user content: application/json: schema: @@ -2412,7 +2408,7 @@ paths: /user/import-from-plex: post: - summary: Imports all users from Plex + summary: Import all users from Plex description: | Requests users from the Plex Server and creates a new user for each of them @@ -2431,9 +2427,9 @@ paths: /user/{userId}: get: - summary: Retrieve a user by ID + summary: Get user by ID description: | - Retrieve user details in JSON format. Requires the `MANAGE_USERS` permission. + Retrieves user details in a JSON object.. Requires the `MANAGE_USERS` permission. tags: - users parameters: @@ -2452,7 +2448,7 @@ paths: put: summary: Update a user by user ID description: | - Update a user with provided values in request body. You cannot update a user's plex token through this request. + Update a user with the provided values. You cannot update a user's Plex token through this request. Requires the `MANAGE_USERS` permission. tags: @@ -2477,8 +2473,8 @@ paths: schema: $ref: '#/components/schemas/User' delete: - summary: Delete a user by user ID - description: Deletes a user by provided user ID. Requires the `MANAGE_USERS` permission. + summary: Delete user by ID + description: Deletes the user with the provided userId. Requires the `MANAGE_USERS` permission. tags: - users parameters: @@ -2496,8 +2492,8 @@ paths: $ref: '#/components/schemas/User' /search: get: - summary: Search for movies/tv shows/people - description: Returns a list of movies/tv shows/people in JSON format + summary: Search for movies, TV shows, or people + description: Returns a list of movies, TV shows, or people a JSON object. tags: - search parameters: @@ -2545,7 +2541,7 @@ paths: /discover/movies: get: summary: Discover movies - description: Returns a list of movies in JSON format + description: Returns a list of movies in a JSON object. tags: - search parameters: @@ -2583,8 +2579,8 @@ paths: $ref: '#/components/schemas/MovieResult' /discover/movies/upcoming: get: - summary: Upcoming Movies - description: Returns a list of movies in JSON format + summary: Upcoming movies + description: Returns a list of movies in a JSON object. tags: - search parameters: @@ -2623,7 +2619,7 @@ paths: /discover/tv: get: summary: Discover TV shows - description: Returns a list of tv shows in JSON format + description: Returns a list of TV shows in a JSON object. tags: - search parameters: @@ -2661,8 +2657,8 @@ paths: $ref: '#/components/schemas/TvResult' /discover/trending: get: - summary: Trending TV and Movies - description: Returns a list of movie/tv shows in JSON format + summary: Trending movies and TV + description: Returns a list of movies and TV shows in a JSON object. tags: - search parameters: @@ -2703,8 +2699,8 @@ paths: - $ref: '#/components/schemas/PersonResult' /discover/keyword/{keywordId}/movies: get: - summary: Request list of movies from keyword - description: Returns list of movies based on provided keyword ID in JSON format + summary: Get movies from keyword + description: Returns list of movies based on the provided keyword ID a JSON object. tags: - search parameters: @@ -2750,7 +2746,7 @@ paths: get: summary: Get all requests description: | - Returns all requests if the user has the `ADMIN` or `MANAGE_REQUESTS` permissions. Otherwise, only the logged in users requests are returned. + Returns all requests if the user has the `ADMIN` or `MANAGE_REQUESTS` permissions. Otherwise, only the logged-in user's requests are returned. tags: - request parameters: @@ -2793,9 +2789,9 @@ paths: items: $ref: '#/components/schemas/MediaRequest' post: - summary: Create a new request + summary: Create new request description: | - Creates a new request with the provided media id and type. The `REQUEST` permission is required. + Creates a new request with the provided media ID and type. The `REQUEST` permission is required. If the user has the `ADMIN` or `AUTO_APPROVE` permissions, their request will be auomatically approved. tags: @@ -2842,7 +2838,7 @@ paths: $ref: '#/components/schemas/MediaRequest' /request/count: get: - summary: Returns request counts + summary: Gets request counts description: | Returns the number of pending and approved requests. tags: @@ -2866,8 +2862,8 @@ paths: - approved /request/{requestId}: get: - summary: Requests a specific MediaRequest - description: Returns a MediaRequest in JSON format + summary: Get MediaRequest + description: Returns a specific MediaRequest in a JSON object. tags: - request parameters: @@ -2886,8 +2882,8 @@ paths: schema: $ref: '#/components/schemas/MediaRequest' put: - summary: Update a specific MediaRequest - description: Updats a specific media request and returns the request in JSON format. Requires the `MANAGE_REQUESTS` permission. + summary: Update MediaRequest + description: Updates a specific media request and returns the request in a JSON object.. Requires the `MANAGE_REQUESTS` permission. tags: - request parameters: @@ -2906,8 +2902,8 @@ paths: schema: $ref: '#/components/schemas/MediaRequest' delete: - summary: Delete a request - description: Removes a request. If the user has the `MANAGE_REQUESTS` permission, then any request can be removed. Otherwise, only pending requests can be removed. + summary: Delete request + description: Removes a request. If the user has the `MANAGE_REQUESTS` permission, any request can be removed. Otherwise, only pending requests can be removed. tags: - request parameters: @@ -2923,11 +2919,11 @@ paths: description: Succesfully removed request /request/{requestId}/retry: post: - summary: Retry a failed request + summary: Retry failed request description: | - Retries a request by resending requests to Sonarr or Radarr + Retries a request by resending requests to Sonarr or Radarr. - Requires the `MANAGE_REQUESTS` permission or `ADMIN` + Requires the `MANAGE_REQUESTS` permission or `ADMIN`. tags: - request parameters: @@ -2949,9 +2945,9 @@ paths: get: summary: Update a requests status description: | - Updates a requests status to approved or declined. Also returns the request in JSON format + Updates a requests status to approved or declined. Also returns the request in a JSON object. - Requires the `MANAGE_REQUESTS` permission or `ADMIN` + Requires the `MANAGE_REQUESTS` permission or `ADMIN`. tags: - request parameters: @@ -2978,8 +2974,8 @@ paths: $ref: '#/components/schemas/MediaRequest' /movie/{movieId}: get: - summary: Request movie details - description: Returns back full movie details in JSON format + summary: Get movie details + description: Returns full movie details in a JSON object. tags: - movies parameters: @@ -3003,8 +2999,8 @@ paths: $ref: '#/components/schemas/MovieDetails' /movie/{movieId}/recommendations: get: - summary: Request recommended movies - description: Returns list of recommended movies based on provided movie ID in JSON format + summary: Get recommended movies + description: Returns list of recommended movies based on provided movie ID in a JSON object. tags: - movies parameters: @@ -3048,8 +3044,8 @@ paths: $ref: '#/components/schemas/MovieResult' /movie/{movieId}/similar: get: - summary: Request similar movies - description: Returns list of similar movies based on provided movie ID in JSON format + summary: Get similar movies + description: Returns list of similar movies based on the provided movieId in a JSON object. tags: - movies parameters: @@ -3093,8 +3089,8 @@ paths: $ref: '#/components/schemas/MovieResult' /movie/{movieId}/ratings: get: - summary: Get ratings for the provided movie id - description: Returns ratings based on provided movie ID in JSON format + summary: Get movie ratings + description: Returns ratings based on the provided movieId in a JSON object. tags: - movies parameters: @@ -3135,8 +3131,8 @@ paths: enum: ['Spilled', 'Upright'] /tv/{tvId}: get: - summary: Request tv details - description: Returns back full tv details in JSON format + summary: Get TV details + description: Returns full TV details in a JSON object. tags: - tv parameters: @@ -3160,8 +3156,8 @@ paths: $ref: '#/components/schemas/TvDetails' /tv/{tvId}/season/{seasonId}: get: - summary: Return season details with episode list - description: Returns back season details with a list of episodes + summary: Get season details and episode list + description: Returns season details with a list of episodes in a JSON object. tags: - tv parameters: @@ -3191,8 +3187,8 @@ paths: $ref: '#/components/schemas/Season' /tv/{tvId}/recommendations: get: - summary: Request recommended tv series - description: Returns list of recommended tv series based on provided tv ID in JSON format + summary: Get recommended TV series + description: Returns list of recommended TV series based on the provided tvId in a JSON object. tags: - tv parameters: @@ -3215,7 +3211,7 @@ paths: example: en responses: '200': - description: List of tv series + description: List of TV series content: application/json: schema: @@ -3236,8 +3232,8 @@ paths: $ref: '#/components/schemas/TvResult' /tv/{tvId}/similar: get: - summary: Request similar tv series - description: Returns list of similar tv series based on provided movie ID in JSON format + summary: Get similar TV series + description: Returns list of similar TV series based on the provided tvId in a JSON object. tags: - tv parameters: @@ -3260,7 +3256,7 @@ paths: example: en responses: '200': - description: List of tv series + description: List of TV series content: application/json: schema: @@ -3281,8 +3277,8 @@ paths: $ref: '#/components/schemas/TvResult' /tv/{tvId}/ratings: get: - summary: Get ratings for the provided tv id - description: Returns ratings based on provided tv ID in JSON format + summary: Get TV ratings + description: Returns ratings based on provided tvId in a JSON object. tags: - tv parameters: @@ -3317,8 +3313,8 @@ paths: enum: ['Rotten', 'Fresh'] /person/{personId}: get: - summary: Request person details - description: Returns details of the person based on provided person ID in JSON format + summary: Get person details + description: Returns person details based on provided personId in a JSON object. tags: - person parameters: @@ -3343,8 +3339,8 @@ paths: /person/{personId}/combined_credits: get: - summary: Request combined credits of person - description: Returns the combined credits of the person based on the provided person ID in JSON format + summary: Get combined credits + description: Returns the person's combined credits based on the provided personId in a JSON object. tags: - person parameters: @@ -3361,7 +3357,7 @@ paths: example: en responses: '200': - description: Returned combined credts + description: Returned combined credits content: application/json: schema: @@ -3379,8 +3375,8 @@ paths: type: number /media: get: - summary: Return all media - description: Returns all media (can be filtered and limited) in JSON format + summary: Return media + description: Returns all media (can be filtered and limited) in a JSON object. tags: - media parameters: @@ -3424,7 +3420,7 @@ paths: $ref: '#/components/schemas/MediaInfo' /media/{mediaId}: delete: - summary: Delete a media item + summary: Delete media item description: Removes a media item. The `MANAGE_REQUESTS` permission is required to perform this action. tags: - media @@ -3441,8 +3437,8 @@ paths: description: Succesfully removed media item /collection/{collectionId}: get: - summary: Request collection details - description: Returns back full collection details in JSON format + summary: Get collection details + description: Returns full collection details in a JSON object. tags: - collection parameters: @@ -3466,8 +3462,8 @@ paths: $ref: '#/components/schemas/Collection' /service/radarr: get: - summary: Returns non-sensitive radarr server list - description: Returns a list of radarr servers, both ID and name in JSON format + summary: Get non-sensitive Radarr server list + description: Returns a list of Radarr server IDs and names in a JSON object. tags: - service responses: @@ -3481,8 +3477,8 @@ paths: $ref: '#/components/schemas/RadarrSettings' /service/radarr/{radarrId}: get: - summary: Returns radarr server quality profiles and root folders - description: Returns a radarr server quality profile and root folder details in JSON format + summary: Get Radarr server quality profiles and root folders + description: Returns a Radarr server's quality profile and root folder details in a JSON object. tags: - service parameters: @@ -3506,8 +3502,8 @@ paths: $ref: '#/components/schemas/ServiceProfile' /service/sonarr: get: - summary: Returns non-sensitive sonarr server list - description: Returns a list of sonarr servers, both ID and name in JSON format + summary: Get non-sensitive Sonarr server list + description: Returns a list of Sonarr server IDs and names in a JSON object. tags: - service responses: @@ -3521,8 +3517,8 @@ paths: $ref: '#/components/schemas/SonarrSettings' /service/sonarr/{sonarrId}: get: - summary: Returns sonarr server quality profiles and root folders - description: Returns a sonarr server quality profile and root folder details in JSON format + summary: Get Sonarr server quality profiles and root folders + description: Returns a Sonarr server's quality profile and root folder details in a JSON object. tags: - service parameters: @@ -3546,8 +3542,8 @@ paths: $ref: '#/components/schemas/ServiceProfile' /service/sonarr/lookup/{tmdbId}: get: - summary: Returns a list of series from sonarr - description: Returns a list of series returned by searching for the name in sonarr + summary: Get series from Sonarr + description: Returns a list of series returned by searching for the name in Sonarr. tags: - service parameters: diff --git a/server/api/animelist.ts b/server/api/animelist.ts index 428684bc..44205942 100644 --- a/server/api/animelist.ts +++ b/server/api/animelist.ts @@ -12,7 +12,7 @@ const LOCAL_PATH = path.join(__dirname, '../../config/anime-list.xml'); const mappingRegexp = new RegExp(/;[0-9]+-([0-9]+)/g); -// Anime-List xml files are community maintained mappings that Hama agent uses to map AniDB IDs to tvdb/tmdb IDs +// Anime-List xml files are community maintained mappings that Hama agent uses to map AniDB IDs to TVDB/TMDb IDs // https://github.com/Anime-Lists/anime-lists/ interface AnimeMapping { @@ -125,7 +125,7 @@ class AnimeListMapping { } } else { // some movies do not have mapping-list, so map episode 1,2,3,..to movies - // movies must have imdbid or tmdbid + // movies must have imdbId or tmdbId const hasImdb = imdbIds.length > 1 || imdbIds[0] !== undefined; if ((hasImdb || tmdbId) && anime.$.defaulttvdbseason === '0') { if (!this.specials[tvdbId]) { diff --git a/server/api/plextv.ts b/server/api/plextv.ts index c925bec6..0182c27c 100644 --- a/server/api/plextv.ts +++ b/server/api/plextv.ts @@ -192,7 +192,7 @@ class PlexTvAPI { return account.data.user; } catch (e) { logger.error( - `Something went wrong getting the account from plex.tv: ${e.message}`, + `Something went wrong while getting the account from plex.tv: ${e.message}`, { label: 'Plex.tv API' } ); throw new Error('Invalid auth token'); diff --git a/server/api/sonarr.ts b/server/api/sonarr.ts index 6c8cd9af..109191f3 100644 --- a/server/api/sonarr.ts +++ b/server/api/sonarr.ts @@ -216,7 +216,7 @@ class SonarrAPI { return true; } catch (e) { - logger.error('Something went wrong adding a series to Sonarr', { + logger.error('Something went wrong while adding a series to Sonarr.', { label: 'Sonarr API', errorMessage: e.message, error: e, @@ -232,7 +232,7 @@ class SonarrAPI { return response.data; } catch (e) { - logger.error('Something went wrong retrieving Sonarr profiles', { + logger.error('Something went wrong while retrieving Sonarr profiles.', { label: 'Sonarr API', message: e.message, }); @@ -246,10 +246,14 @@ class SonarrAPI { return response.data; } catch (e) { - logger.error('Something went wrong retrieving Sonarr root folders', { - label: 'Sonarr API', - message: e.message, - }); + logger.error( + 'Something went wrong while retrieving Sonarr root folders.', + { + label: 'Sonarr API', + message: e.message, + } + ); + throw new Error('Failed to get root folders'); } } diff --git a/server/api/themoviedb.ts b/server/api/themoviedb.ts index 83fa3fad..fddab1ba 100644 --- a/server/api/themoviedb.ts +++ b/server/api/themoviedb.ts @@ -898,11 +898,11 @@ class TheMovieDb { } throw new Error( - `[TMDB] Failed to find a tv show with the provided TVDB id: ${tvdbId}` + `[TMDB] Failed to find a TV show with the provided TVDB ID: ${tvdbId}` ); } catch (e) { throw new Error( - `[TMDB] Failed to get tv show by external tvdb ID: ${e.message}` + `[TMDB] Failed to get TV show using the external TVDB ID: ${e.message}` ); } } diff --git a/server/entity/MediaRequest.ts b/server/entity/MediaRequest.ts index e7a5f29f..cd5e2ce3 100644 --- a/server/entity/MediaRequest.ts +++ b/server/entity/MediaRequest.ts @@ -556,7 +556,7 @@ export class MediaRequest { if (this.profileId && this.profileId !== qualityProfile) { qualityProfile = this.profileId; - logger.info(`Request has an override profile id: ${qualityProfile}`, { + logger.info(`Request has an override profile ID: ${qualityProfile}`, { label: 'Media Request', }); } diff --git a/server/job/plexsync/index.ts b/server/job/plexsync/index.ts index 5d1025d9..0a744750 100644 --- a/server/job/plexsync/index.ts +++ b/server/job/plexsync/index.ts @@ -96,7 +96,7 @@ class JobPlexSync { newMedia.tmdbId = tmdbMovie.id; } if (!newMedia.tmdbId) { - throw new Error('Unable to find TMDB ID'); + throw new Error('Unable to find TMDb ID'); } const has4k = metadata.Media.some( @@ -181,14 +181,14 @@ class JobPlexSync { } if (!tmdbMovieId) { - throw new Error('Unable to find TMDB ID'); + throw new Error('Unable to find TMDb ID'); } await this.processMovieWithId(plexitem, tmdbMovie, tmdbMovieId); } } catch (e) { this.log( - `Failed to process plex item. ratingKey: ${plexitem.ratingKey}`, + `Failed to process Plex item. ratingKey: ${plexitem.ratingKey}`, 'error', { errorMessage: e.message, @@ -342,7 +342,7 @@ class JobPlexSync { await this.processHamaSpecials(metadata, Number(tvdbId)); } else { this.log( - `Hama id ${plexitem.guid} detected, but library agent is not set to Hama`, + `Hama ID ${plexitem.guid} detected, but library agent is not set to Hama`, 'warn' ); } @@ -352,7 +352,7 @@ class JobPlexSync { if (!animeList.isLoaded()) { this.log( - `Hama id ${plexitem.guid} detected, but library agent is not set to Hama`, + `Hama ID ${plexitem.guid} detected, but library agent is not set to Hama`, 'warn' ); } else if (matched?.[1]) { @@ -408,7 +408,7 @@ class JobPlexSync { return; } - // Lets get the available seasons from plex + // Lets get the available seasons from Plex const seasons = tvShow.seasons; const media = await this.getExisting(tvShow.id, MediaType.TV); @@ -436,7 +436,7 @@ class JobPlexSync { // Check if we found the matching season and it has all the available episodes if (matchedPlexSeason) { - // If we have a matched plex season, get its children metadata so we can check details + // If we have a matched Plex season, get its children metadata so we can check details const episodes = await this.plexClient.getChildrenMetadata( matchedPlexSeason.ratingKey ); @@ -603,7 +603,7 @@ class JobPlexSync { } } catch (e) { this.log( - `Failed to process plex item. ratingKey: ${ + `Failed to process Plex item. ratingKey: ${ plexitem.grandparentRatingKey ?? plexitem.parentRatingKey ?? plexitem.ratingKey diff --git a/server/routes/auth.ts b/server/routes/auth.ts index 00d1ef9d..f1b68d34 100644 --- a/server/routes/auth.ts +++ b/server/routes/auth.ts @@ -186,7 +186,7 @@ authRoutes.get('/logout', (req, res, next) => { if (err) { return next({ status: 500, - message: 'Something went wrong while attempting to logout', + message: 'Something went wrong while attempting to sign out.', }); } diff --git a/src/components/CollectionDetails/index.tsx b/src/components/CollectionDetails/index.tsx index 38e3fb7b..d286b83b 100644 --- a/src/components/CollectionDetails/index.tsx +++ b/src/components/CollectionDetails/index.tsx @@ -20,7 +20,7 @@ import TitleCard from '../TitleCard'; import Transition from '../Transition'; const messages = defineMessages({ - overviewunavailable: 'Overview unavailable', + overviewunavailable: 'Overview unavailable.', overview: 'Overview', movies: 'Movies', numberofmovies: 'Number of Movies: {count}', diff --git a/src/components/Common/ListView/index.tsx b/src/components/Common/ListView/index.tsx index 3bba5214..6bc768d0 100644 --- a/src/components/Common/ListView/index.tsx +++ b/src/components/Common/ListView/index.tsx @@ -7,6 +7,11 @@ import { import TitleCard from '../../TitleCard'; import useVerticalScroll from '../../../hooks/useVerticalScroll'; import PersonCard from '../../PersonCard'; +import { defineMessages, useIntl } from 'react-intl'; + +const messages = defineMessages({ + noresults: 'No results.', +}); interface ListViewProps { items?: (TvResult | MovieResult | PersonResult)[]; @@ -23,12 +28,13 @@ const ListView: React.FC = ({ onScrollBottom, isReachingEnd, }) => { + const intl = useIntl(); useVerticalScroll(onScrollBottom, !isLoading && !isEmpty && !isReachingEnd); return ( <> {isEmpty && (
- No Results + {intl.formatMessage(messages.noresults)}
)}