mirror of
https://github.com/sakaljurgis/kodi-api-server.git
synced 2026-07-08 20:37:41 +00:00
create main menu response
This commit is contained in:
@@ -0,0 +1,17 @@
|
|||||||
|
import { Injectable } from '@nestjs/common';
|
||||||
|
import ApiResponse from './Dto/api-response.dto';
|
||||||
|
import NotificationResponse from './Dto/notification-response';
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class KodiApiResponseFactory {
|
||||||
|
createApiResponse(): ApiResponse {
|
||||||
|
return new ApiResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
createNotificationResponse(
|
||||||
|
message: string,
|
||||||
|
refreshContainer = true,
|
||||||
|
): NotificationResponse {
|
||||||
|
return new NotificationResponse(message, refreshContainer);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,18 +1,11 @@
|
|||||||
import { Controller, Get, Req } from '@nestjs/common';
|
import { Controller, Get } from '@nestjs/common';
|
||||||
import RequestRangeBytes from 'src/RequestRange/request-range-bytes.class';
|
import { KodiApiService } from './kodi-api.service';
|
||||||
import { RequestRange } from 'src/RequestRange/request-range.decorator';
|
|
||||||
import { Request } from 'express';
|
|
||||||
|
|
||||||
@Controller('api')
|
@Controller('api')
|
||||||
export class KodiApiController {
|
export class KodiApiController {
|
||||||
|
constructor(private readonly kodiApiService: KodiApiService) {}
|
||||||
@Get()
|
@Get()
|
||||||
getMainMenu(
|
getMainMenu() {
|
||||||
@RequestRange() requestedRange: RequestRangeBytes,
|
return this.kodiApiService.getMainMenu();
|
||||||
@Req() request: Request,
|
|
||||||
) {
|
|
||||||
return {
|
|
||||||
range: requestedRange,
|
|
||||||
path: request.url,
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,11 +7,12 @@ import {
|
|||||||
import { KodiApiController } from './kodi-api.controller';
|
import { KodiApiController } from './kodi-api.controller';
|
||||||
import { KodiApiUrlRewriteMiddleware } from './UrlRewrite/url-rewrite.middleware';
|
import { KodiApiUrlRewriteMiddleware } from './UrlRewrite/url-rewrite.middleware';
|
||||||
import { LrtModule } from './LRT/lrt.module';
|
import { LrtModule } from './LRT/lrt.module';
|
||||||
|
import { KodiApiService } from './kodi-api.service';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [LrtModule],
|
imports: [LrtModule],
|
||||||
controllers: [KodiApiController],
|
controllers: [KodiApiController],
|
||||||
providers: [],
|
providers: [KodiApiService],
|
||||||
})
|
})
|
||||||
export class KodiApiModule implements NestModule {
|
export class KodiApiModule implements NestModule {
|
||||||
configure(consumer: MiddlewareConsumer) {
|
configure(consumer: MiddlewareConsumer) {
|
||||||
|
|||||||
@@ -1,21 +1,30 @@
|
|||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
import ApiResponse from './Dto/api-response.dto';
|
import ApiResponse from './Dto/api-response.dto';
|
||||||
import NotificationResponse from './Dto/notification-response';
|
import { KodiApiResponseFactory } from './kodi-api-response.factory';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class KodiApiService {
|
export class KodiApiService {
|
||||||
getMainMenu(): string {
|
constructor(
|
||||||
return 'Hello World!';
|
private readonly kodiApiResponseFactory: KodiApiResponseFactory,
|
||||||
|
) {}
|
||||||
|
getMainMenu(): ApiResponse {
|
||||||
|
const apiResponse = this.kodiApiResponseFactory.createApiResponse();
|
||||||
|
|
||||||
|
apiResponse.setTitle('Menu');
|
||||||
|
this.createMainMenu(apiResponse);
|
||||||
|
|
||||||
|
return apiResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
createApiResponse(): ApiResponse {
|
private createMainMenu(apiResponse: ApiResponse): void {
|
||||||
return new ApiResponse();
|
const items = {
|
||||||
}
|
all: 'All files',
|
||||||
|
torr: 'Torr',
|
||||||
|
lrt: 'LRT.lt',
|
||||||
|
};
|
||||||
|
|
||||||
createNotificationResponse(
|
for (const [path, label] of Object.entries(items)) {
|
||||||
message: string,
|
apiResponse.createItem().setLabel(label).setToFolder().setPath(path);
|
||||||
refreshContainer = true,
|
}
|
||||||
): NotificationResponse {
|
|
||||||
return new NotificationResponse(message, refreshContainer);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user