diff --git a/nest-cli.json b/nest-cli.json
index f53cb4d..d398548 100644
--- a/nest-cli.json
+++ b/nest-cli.json
@@ -8,6 +8,11 @@
"include": "KodiApiInterface/View/",
"outDir": "dist/src",
"watchAssets": true
+ },
+ {
+ "include": "AliasesModule/View/",
+ "outDir": "dist/src",
+ "watchAssets": true
}
]
}
diff --git a/src/AliasesModule/View/index.html b/src/AliasesModule/View/index.html
new file mode 100644
index 0000000..3a0949f
--- /dev/null
+++ b/src/AliasesModule/View/index.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/AliasesModule/aliases.cotroller.ts b/src/AliasesModule/aliases.cotroller.ts
new file mode 100644
index 0000000..f8588c6
--- /dev/null
+++ b/src/AliasesModule/aliases.cotroller.ts
@@ -0,0 +1,52 @@
+import { Body, Controller, Get, Post, Res } from '@nestjs/common';
+import { JsonFileDataStorageService } from '../DataStorage/json-file-data-storage.service';
+import { createReadStream } from 'fs';
+import { join } from 'path';
+import { Response } from 'express';
+
+@Controller('aliases')
+export class AliasesController {
+ constructor(private readonly jsonDs: JsonFileDataStorageService) {}
+
+ @Get('')
+ async main(@Res() res: Response) {
+ //todo - make the views directory global so no need to edit nest-cli.json every time
+ const readable = createReadStream(join(__dirname, './View/index.html'));
+ readable.pipe(res);
+ }
+
+ @Get('data')
+ async getData() {
+ return this.jsonDs.get('aliases', []);
+ }
+
+ @Post('')
+ async setData(@Body() data: any) {
+ await this.jsonDs.set('aliases', data);
+ return data;
+ }
+
+ @Get('schema')
+ getSchema() {
+ return {
+ title: 'Aliases',
+ type: 'array',
+ format: 'table',
+ uniqueItems: true,
+ items: {
+ type: 'object',
+ title: 'Alias',
+ properties: {
+ alias: {
+ type: 'string',
+ title: 'alias',
+ },
+ title: {
+ type: 'string',
+ title: 'title',
+ },
+ },
+ },
+ };
+ }
+}
diff --git a/src/AliasesModule/aliases.module.ts b/src/AliasesModule/aliases.module.ts
new file mode 100644
index 0000000..d989484
--- /dev/null
+++ b/src/AliasesModule/aliases.module.ts
@@ -0,0 +1,13 @@
+import { Module } from '@nestjs/common';
+import { AliasesController } from './aliases.cotroller';
+import { DataStorageModule } from '../DataStorage/data-storage.module';
+
+/**
+ * Playground module for playing around
+ */
+@Module({
+ imports: [DataStorageModule],
+ controllers: [AliasesController],
+ providers: [],
+})
+export class AliasesModule {}
diff --git a/src/app.module.ts b/src/app.module.ts
index a48b26b..56d2df8 100644
--- a/src/app.module.ts
+++ b/src/app.module.ts
@@ -11,12 +11,15 @@ import { RequestLogMiddleware } from './RequestLog/request-log.middleware';
import { TryModule } from './TryOutModule/try.module';
import { configService } from './config/config.service';
import { KodiApiInterfaceModule } from './KodiApiInterface/kodi-api-interface.module';
+import { AliasesModule } from './AliasesModule/aliases.module';
@Module({
imports: [
TryModule,
+ AliasesModule,
KodiApiModule,
KodiApiInterfaceModule,
+ /** all routes must be before static module to be reachable */
StaticModule,
TypeOrmModule.forRoot(configService.getTypeOrmConfig()),
],