Commit Graph

12 Commits

Author SHA1 Message Date
d4296e5c7b refactor(server): update metadata resolution to handle missing data with null returns
Updated metadata provider interfaces and implementations to return null instead of placeholder objects when data cannot be resolved. This improves error handling and reduces unnecessary object creation.

- Modified schema types to include null unions (e.g., ResolvedMovieMetadataResult)
- Changed runtime fields from minutes to seconds for consistency
- Removed placeholder builders in TMDB provider, returning null directly
- Optimized library scanner by removing redundant file counting and adding early exits for existing media
- Ensured type safety across services and providers

BREAKING CHANGE: Metadata resolution methods now return null for unresolved data, requiring consumers to handle null cases explicitly.
2025-10-03 12:46:59 +00:00
078738f502 refactor(metadata): remove credit resolution functionality
Removed unused credit-related schemas, types, and methods from models, providers, services, and TMDB extension. This simplifies the codebase by eliminating deprecated individual credit resolution in favor of title-based credits fetching.

BREAKING CHANGE: Removed resolveCredits method and associated schemas, which may affect integrations relying on individual credit resolution.
2025-10-03 09:56:26 +00:00
0cf143c09e refactor(db): consolidate rating fields and enhance metadata schema
Updated titles schema to use a single 'rating' field instead of 'voteAverage' and 'voteCount', made 'originalTitle' required, and added index on rating. Removed deprecated fields from metadata models and TRPC schemas. Enhanced TMDB metadata provider to include additional fields like homepage, original language, popularity, and tagline. Updated library scanner and routers to reflect these changes for improved data consistency and completeness.
2025-10-02 17:25:09 +00:00
44d4d3f567 feat(metadata): add provider IDs and title credits resolution to TMDB metadata provider
Add TMDB and IMDB provider IDs to movie metadata responses for better external reference tracking. Introduce resolveTitleCredits method to fetch and map cast and crew information from TMDB API, enhancing metadata completeness for movies and TV shows.
2025-10-01 20:29:02 +00:00
dec927693a feat(tmdb-metadata): add credit and person resolution methods
Add resolveCredits and resolvePeople methods to TMDBMetadataProviderExtension to fetch detailed credit and person information from TMDB API. These methods handle client configuration checks, API calls, and proper error handling while transforming TMDB responses to application models.

Also improve number parsing in search methods by adding radix parameter to parseInt calls for better compatibility.
2025-09-30 17:40:05 +07:00
f7082c58fb chore(deps): update tmdb-ts dependency to workspace version 2025-09-30 17:14:16 +07:00
065ebe1625 style: format code with biome linter across multiple packages 2025-09-30 14:47:22 +07:00
50f3becc13 feat(tmdb-metadata): implement TMDB search functionality
Implement the search method for TMDB metadata provider to query movies and TV shows using the TMDB API. Process and combine results, sort by popularity, and return structured metadata. This replaces the placeholder implementation that threw an error.
2025-09-29 12:15:39 +00:00
d9b222e390 refactor(deps): update package references to use @nontara/server 2025-09-29 07:36:02 +00:00
8a133b033d refactor(tmdb-metadata): simplify original title assignment
Always use movieDetails.original_title instead of conditional fallback to info.title.
2025-09-25 19:41:20 +07:00
6de9e79c8f feat(tmdb-metadata): add language-aware movie metadata resolution
Implement support for fetching localized movie metadata from TMDB based on
primary metadata language. Prioritize translations matching the primary
language, fallback to audio language if it matches, and use original title
when appropriate. Update search to use fileName and simplify placeholder
data with defaults.
2025-09-25 14:14:11 +07:00
d45ad2af27 feat(server): implement dynamic extension loading and TMDB extension
Refactors the server's extension service to dynamically discover and load extensions
from the `extensions` directory. The TMDB metadata provider is extracted into its
own `@nontora/tmdb-metadata` extension package, demonstrating the new modular
architecture. This change simplifies adding or updating server functionalities.

Includes necessary configuration updates for the server's `tsconfig.json` (path alias)
and the root `package.json` (workspaces).

Also adds a title to the web app's welcome page and removes unused imports in related
components. Updates VSCode settings to use Biome as the default TypeScript formatter.
2025-09-23 07:22:40 +00:00