diff --git a/backend/README.md b/backend/README.md index 00a13b1..e81283d 100644 --- a/backend/README.md +++ b/backend/README.md @@ -58,6 +58,68 @@ $ npm run test:e2e $ npm run test:cov ``` +## Structure +- Routes +- series -> shows + +### Users +- PUT /users/{id} +- GET /users +- GET /users/{id} +- DELETE /users/{id} +- POST /users + +### Users > Library +- GET /users/{userId}/library +- POST /users/{userId}/library/{tmdbId} +- DELETE /users/{userId}/library/{tmdbId} + +### Users > PlayState +- GET /users/{userId}/playstate/movies/{tmdbId} +- GET /users/{userId}/playstate/series/{tmdbId}/{season}/{episode} +- PUT /users/{userId}/playstate/movies/{tmdbId} +- PUT /users/{userId}/playstate/series/{tmdbId}/{season}/{episode} + +### TMDB / Metadata +- GET /movies/{tmdbId} +- GET /movies/{tmdbId}/similar +- GET /movies/recommendations + - User-specific +- GET /series/{tmdbId} +- (GET /series/{tmdbId}/season/{season}) +- GET /series/{tmdbId}/season/{season}/episode/{episode} +- GET /series/{tmdbId}/similar +- GET /series/recommendations + - User-specific +- GET /people/{tmdbPersonId} + +### TMDB / Discovery +- (GET /discover/popular) +- GET /discover/popular/movies +- GET /discover/popular/series +- (GET /discover/network/{network}) +- GET /discover/network/{network}/movies +- GET /discover/network/{network}/series +- (GET /discover/genre/{genre}) +- GET /discover/genre/{genre}/movies +- GET /discover/genre/{genre}/series + +### Sources +- GET /sources +- (GET /sources/{sourceId}) +- GET /sources/{sourceId}/movies + - if indexable +- GET /sources/{sourceId}/movies/{tmdbId} +- GET /sources/{sourceId}/movies/{tmdbId}/stream +- GET /sources/{sourceId}/series + - if indexable +- GET /sources/{sourceId}/series/{tmdbId} +- GET /sources/{sourceId}/series/{tmdbId}/season/{season}/episode/{episode}/stream + +## Resources + +- [REST best practices](https://github.com/saifaustcse/api-best-practices) + ## Support Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). diff --git a/backend/src/app.module.ts b/backend/src/app.module.ts index 1b2bc20..3404cd0 100644 --- a/backend/src/app.module.ts +++ b/backend/src/app.module.ts @@ -6,6 +6,8 @@ import { UsersModule } from './users/users.module'; import { AuthModule } from './auth/auth.module'; import { ServeStaticModule } from '@nestjs/serve-static'; import { join } from 'path'; +import { MediaModule } from './media/media.module'; +import { SourcesModule } from './sources/sources.module'; @Module({ imports: [ @@ -15,6 +17,8 @@ import { join } from 'path'; ServeStaticModule.forRoot({ rootPath: join(__dirname, '../dist'), }), + MediaModule, + SourcesModule, ], controllers: [AppController], providers: [AppService], diff --git a/backend/src/media/media.module.ts b/backend/src/media/media.module.ts new file mode 100644 index 0000000..acf2a0a --- /dev/null +++ b/backend/src/media/media.module.ts @@ -0,0 +1,4 @@ +import { Module } from '@nestjs/common'; + +@Module({}) +export class MediaModule {} diff --git a/backend/src/sources/sources.module.ts b/backend/src/sources/sources.module.ts new file mode 100644 index 0000000..7d46ddb --- /dev/null +++ b/backend/src/sources/sources.module.ts @@ -0,0 +1,4 @@ +import { Module } from '@nestjs/common'; + +@Module({}) +export class SourcesModule {} diff --git a/backend/src/users/library/library.module.ts b/backend/src/users/library/library.module.ts new file mode 100644 index 0000000..8c2805d --- /dev/null +++ b/backend/src/users/library/library.module.ts @@ -0,0 +1,4 @@ +import { Module } from '@nestjs/common'; + +@Module({}) +export class LibraryModule {} diff --git a/backend/src/users/play-state/play-state.module.ts b/backend/src/users/play-state/play-state.module.ts new file mode 100644 index 0000000..350d9e5 --- /dev/null +++ b/backend/src/users/play-state/play-state.module.ts @@ -0,0 +1,4 @@ +import { Module } from '@nestjs/common'; + +@Module({}) +export class PlayStateModule {} diff --git a/backend/src/users/users.module.ts b/backend/src/users/users.module.ts index ef768d9..e165ba9 100644 --- a/backend/src/users/users.module.ts +++ b/backend/src/users/users.module.ts @@ -3,9 +3,11 @@ import { UsersService } from './users.service'; import { userProviders } from './user.providers'; import { UsersController } from './users.controller'; import { DatabaseModule } from '../database/database.module'; +import { LibraryModule } from './library/library.module'; +import { PlayStateModule } from './play-state/play-state.module'; @Module({ - imports: [DatabaseModule], + imports: [DatabaseModule, LibraryModule, PlayStateModule], providers: [...userProviders, UsersService], controllers: [UsersController], exports: [UsersService],