diff --git a/src/KodiApi/AllFiles/Entity/title.entity.ts b/src/KodiApi/AllFiles/Entity/title.entity.ts new file mode 100644 index 0000000..b8b9630 --- /dev/null +++ b/src/KodiApi/AllFiles/Entity/title.entity.ts @@ -0,0 +1,14 @@ +import { Column, Entity, PrimaryColumn } from 'typeorm'; +import { TitleTypeEnum } from '../Enum/title-type.enum'; + +@Entity('titles') +export class TitleEntity { + @PrimaryColumn({ name: 'id' }) + id: number; + + @Column({ name: 'title' }) + title: string; + + @Column({ name: 'type' }) + type: TitleTypeEnum; +} diff --git a/src/KodiApi/AllFiles/Enum/title-type.enum.ts b/src/KodiApi/AllFiles/Enum/title-type.enum.ts new file mode 100644 index 0000000..2ae628a --- /dev/null +++ b/src/KodiApi/AllFiles/Enum/title-type.enum.ts @@ -0,0 +1,4 @@ +export enum TitleTypeEnum { + movie = 'movie', + show = 'show', +} diff --git a/src/KodiApi/AllFiles/all-files.controller.ts b/src/KodiApi/AllFiles/all-files.controller.ts index 4d7ed3a..36387bf 100644 --- a/src/KodiApi/AllFiles/all-files.controller.ts +++ b/src/KodiApi/AllFiles/all-files.controller.ts @@ -11,6 +11,11 @@ export class AllFilesController { return this.allFilesService.getMenu(); } + @Get('titles') + async titles() { + return this.allFilesService.getAllTitles(); + } + @Get('show') getShows() { return { will: 'show shows list' }; diff --git a/src/KodiApi/AllFiles/all-files.module.ts b/src/KodiApi/AllFiles/all-files.module.ts index c892f87..c1e6689 100644 --- a/src/KodiApi/AllFiles/all-files.module.ts +++ b/src/KodiApi/AllFiles/all-files.module.ts @@ -2,9 +2,11 @@ import { Module } from '@nestjs/common'; import { AllFilesController } from './all-files.controller'; import { AllFilesService } from './all-files.service'; import { KodiApiResponseFactory } from '../kodi-api-response.factory'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { TitleEntity } from './Entity/title.entity'; @Module({ - imports: [], + imports: [TypeOrmModule.forFeature([TitleEntity])], controllers: [AllFilesController], providers: [AllFilesService, KodiApiResponseFactory], }) diff --git a/src/KodiApi/AllFiles/all-files.service.ts b/src/KodiApi/AllFiles/all-files.service.ts index a2350a1..67a5df6 100644 --- a/src/KodiApi/AllFiles/all-files.service.ts +++ b/src/KodiApi/AllFiles/all-files.service.ts @@ -1,10 +1,17 @@ import { Injectable } from '@nestjs/common'; import ApiResponse from '../Dto/api-response.dto'; import { KodiApiResponseFactory } from '../kodi-api-response.factory'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Repository } from 'typeorm'; +import { TitleEntity } from './Entity/title.entity'; @Injectable() export class AllFilesService { - constructor(private readonly koiApiResponseFactory: KodiApiResponseFactory) {} + constructor( + private readonly koiApiResponseFactory: KodiApiResponseFactory, + @InjectRepository(TitleEntity) + private titleRepository: Repository, + ) {} getMenu(): ApiResponse { const apiResponse = this.koiApiResponseFactory.createApiResponse(); @@ -21,4 +28,9 @@ export class AllFilesService { return apiResponse; } + + async getAllTitles() { + return this.titleRepository.find(); + //return { todo: true }; + } } diff --git a/src/KodiApi/LRT/LrtApiClient/Entity/lrt-category.entity.ts b/src/KodiApi/LRT/LrtApiClient/Entity/lrt-category.entity.ts index b64dbf0..f2454de 100644 --- a/src/KodiApi/LRT/LrtApiClient/Entity/lrt-category.entity.ts +++ b/src/KodiApi/LRT/LrtApiClient/Entity/lrt-category.entity.ts @@ -2,7 +2,6 @@ import { Column, Entity, PrimaryColumn } from 'typeorm'; @Entity() export class LrtCategory { - @PrimaryColumn({ name: 'category_url' }) categoryUrl: string; diff --git a/src/config/config.service.ts b/src/config/config.service.ts index 4f69b66..b1daf1c 100644 --- a/src/config/config.service.ts +++ b/src/config/config.service.ts @@ -2,6 +2,7 @@ import * as env from 'dotenv'; import { TypeOrmModuleOptions } from '@nestjs/typeorm'; import { LrtCategory } from '../KodiApi/LRT/LrtApiClient/Entity/lrt-category.entity'; import { join } from 'path'; +import { TitleEntity } from '../KodiApi/AllFiles/Entity/title.entity'; env.config(); @@ -20,7 +21,7 @@ export class ConfigService { return { type: 'sqlite', database: this.getEnv('DB_PATH'), - entities: [LrtCategory], + entities: [LrtCategory, TitleEntity], }; }