From 17c2068c35e9104416b58fca9296cf722540da25 Mon Sep 17 00:00:00 2001 From: Angel Penchev <26301867+angel-penchev@users.noreply.github.com> Date: Tue, 19 Oct 2021 00:10:57 +0300 Subject: [PATCH] [Feat] Recordings init Created inital controller and service for brainwave recording storage. References #20. --- server/.env.template | 2 ++ server/src/app.module.ts | 20 ++++++++++++++++--- .../controllers/recordings.controller.spec.ts | 19 ++++++++++++++++++ .../controllers/recordings.controller.ts | 4 ++++ server/src/recordings/recordings.module.ts | 4 ++++ .../services/recordings.service.spec.ts | 19 ++++++++++++++++++ .../recordings/services/recordings.service.ts | 4 ++++ server/types/enviourment.d.ts | 2 ++ 8 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 server/src/recordings/controllers/recordings.controller.spec.ts create mode 100644 server/src/recordings/controllers/recordings.controller.ts create mode 100644 server/src/recordings/recordings.module.ts create mode 100644 server/src/recordings/services/recordings.service.spec.ts create mode 100644 server/src/recordings/services/recordings.service.ts diff --git a/server/.env.template b/server/.env.template index dc99ee2..612bda0 100644 --- a/server/.env.template +++ b/server/.env.template @@ -22,6 +22,8 @@ GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET= GITHUB_CALLBACK_URL= +AWS_REGION= AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_CODE_SNIPPETS_S3_BUCKET= +AWS_RECORDINGS_S3_BUCKET= diff --git a/server/src/app.module.ts b/server/src/app.module.ts index aea05c3..da8df97 100644 --- a/server/src/app.module.ts +++ b/server/src/app.module.ts @@ -9,9 +9,12 @@ import { CodeSnippetsModule } from './code-snippets/code-snippets.module'; import { CodeSnippetsService } from './code-snippets/services/code-snippets.service'; import { Module } from '@nestjs/common'; import { PassportModule } from '@nestjs/passport'; +import { RecordingsController } from './recordings/controllers/recordings.controller'; +import { RecordingsModule } from './recordings/recordings.module'; +import { RecordingsService } from './recordings/services/recordings.service'; import { S3 } from 'aws-sdk'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { User } from './users/models/user.model'; +import { User } from './users/entities/user.entity'; import { UsersController } from './users/controllers/users.controller'; import { UsersModule } from './users/users.module'; import { UsersService } from './users/services/users.service'; @@ -22,6 +25,7 @@ import { configuration } from './configuration'; UsersModule, AuthModule, CodeSnippetsModule, + RecordingsModule, ConfigModule.forRoot({ load: [configuration], }), @@ -42,7 +46,17 @@ import { configuration } from './configuration'; }), AwsSdkModule.forFeatures([S3]), ], - controllers: [UsersController, AuthController, CodeSnippetsController], - providers: [UsersService, AuthService, CodeSnippetsService], + controllers: [ + UsersController, + AuthController, + CodeSnippetsController, + RecordingsController, + ], + providers: [ + UsersService, + AuthService, + CodeSnippetsService, + RecordingsService, + ], }) export class AppModule {} diff --git a/server/src/recordings/controllers/recordings.controller.spec.ts b/server/src/recordings/controllers/recordings.controller.spec.ts new file mode 100644 index 0000000..53ad13f --- /dev/null +++ b/server/src/recordings/controllers/recordings.controller.spec.ts @@ -0,0 +1,19 @@ +import { Test, TestingModule } from '@nestjs/testing'; + +import { RecordingsController } from './recordings.controller'; + +describe('RecordingsController', () => { + let controller: RecordingsController; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [RecordingsController], + }).compile(); + + controller = module.get(RecordingsController); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); +}); diff --git a/server/src/recordings/controllers/recordings.controller.ts b/server/src/recordings/controllers/recordings.controller.ts new file mode 100644 index 0000000..c85a146 --- /dev/null +++ b/server/src/recordings/controllers/recordings.controller.ts @@ -0,0 +1,4 @@ +import { Controller } from '@nestjs/common'; + +@Controller('recordings') +export class RecordingsController {} diff --git a/server/src/recordings/recordings.module.ts b/server/src/recordings/recordings.module.ts new file mode 100644 index 0000000..641880b --- /dev/null +++ b/server/src/recordings/recordings.module.ts @@ -0,0 +1,4 @@ +import { Module } from '@nestjs/common'; + +@Module({}) +export class RecordingsModule {} diff --git a/server/src/recordings/services/recordings.service.spec.ts b/server/src/recordings/services/recordings.service.spec.ts new file mode 100644 index 0000000..a2c104a --- /dev/null +++ b/server/src/recordings/services/recordings.service.spec.ts @@ -0,0 +1,19 @@ +import { Test, TestingModule } from '@nestjs/testing'; + +import { RecordingsService } from './recordings.service'; + +describe('RecordingsService', () => { + let service: RecordingsService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [RecordingsService], + }).compile(); + + service = module.get(RecordingsService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); +}); diff --git a/server/src/recordings/services/recordings.service.ts b/server/src/recordings/services/recordings.service.ts new file mode 100644 index 0000000..f77ed5e --- /dev/null +++ b/server/src/recordings/services/recordings.service.ts @@ -0,0 +1,4 @@ +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class RecordingsService {} diff --git a/server/types/enviourment.d.ts b/server/types/enviourment.d.ts index c5e4c2e..3cf93aa 100644 --- a/server/types/enviourment.d.ts +++ b/server/types/enviourment.d.ts @@ -26,8 +26,10 @@ declare namespace NodeJS { GITHUB_CLIENT_SECRET: string; GITHUB_CALLBACK_URL: string; + AWS_REGION: string; AWS_ACCESS_KEY_ID: string; AWS_SECRET_ACCESS_KEY: string; AWS_CODE_SNIPPETS_S3_BUCKET: string; + AWS_RECORDINGS_S3_BUCKET: string; } }