From e6ac4cf20ba9c04727a94d5ee1ce3aac2fd8be95 Mon Sep 17 00:00:00 2001 From: David Mehren Date: Sat, 25 Jul 2020 20:06:22 +0200 Subject: [PATCH] Add UsersModule This contains the module, a service (which only returns mock data), a model and the UserInfo DTO. Signed-off-by: David Mehren --- src/users/user-info.dto.ts | 12 ++++++++++++ src/users/user.entity.ts | 8 ++++++++ src/users/users.module.ts | 11 +++++++++++ src/users/users.service.spec.ts | 18 ++++++++++++++++++ src/users/users.service.ts | 15 +++++++++++++++ 5 files changed, 64 insertions(+) create mode 100644 src/users/user-info.dto.ts create mode 100644 src/users/user.entity.ts create mode 100644 src/users/users.module.ts create mode 100644 src/users/users.service.spec.ts create mode 100644 src/users/users.service.ts diff --git a/src/users/user-info.dto.ts b/src/users/user-info.dto.ts new file mode 100644 index 000000000..9296074a0 --- /dev/null +++ b/src/users/user-info.dto.ts @@ -0,0 +1,12 @@ +import { IsString } from 'class-validator'; + +export class UserInfoDto { + @IsString() + userName: string; + @IsString() + displayName: string; + @IsString() + photo: string; + @IsString() + email: string; +} diff --git a/src/users/user.entity.ts b/src/users/user.entity.ts new file mode 100644 index 000000000..dd3e90344 --- /dev/null +++ b/src/users/user.entity.ts @@ -0,0 +1,8 @@ +import { Entity, PrimaryGeneratedColumn } from 'typeorm'; + +@Entity() +export class User { + //TODO: Still missing many properties + @PrimaryGeneratedColumn('uuid') + id: string; +} diff --git a/src/users/users.module.ts b/src/users/users.module.ts new file mode 100644 index 000000000..3ffa0fbe5 --- /dev/null +++ b/src/users/users.module.ts @@ -0,0 +1,11 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { User } from './user.entity'; +import { UsersService } from './users.service'; + +@Module({ + imports: [TypeOrmModule.forFeature([User])], + providers: [UsersService], + exports: [UsersService], +}) +export class UsersModule {} diff --git a/src/users/users.service.spec.ts b/src/users/users.service.spec.ts new file mode 100644 index 000000000..62815ba64 --- /dev/null +++ b/src/users/users.service.spec.ts @@ -0,0 +1,18 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { UsersService } from './users.service'; + +describe('UsersService', () => { + let service: UsersService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [UsersService], + }).compile(); + + service = module.get(UsersService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); +}); diff --git a/src/users/users.service.ts b/src/users/users.service.ts new file mode 100644 index 000000000..ade4cad3a --- /dev/null +++ b/src/users/users.service.ts @@ -0,0 +1,15 @@ +import { Injectable } from '@nestjs/common'; +import { UserInfoDto } from './user-info.dto'; + +@Injectable() +export class UsersService { + getUserInfo(): UserInfoDto { + //TODO: Use the database + return { + displayName: 'foo', + userName: 'fooUser', + email: 'foo@example.com', + photo: '', + }; + } +}