diff --git a/packages/backend/src/users/dto/create-user.dto.ts b/packages/backend/src/users/dto/create-user.dto.ts index 99d3a64..7a4e6e4 100644 --- a/packages/backend/src/users/dto/create-user.dto.ts +++ b/packages/backend/src/users/dto/create-user.dto.ts @@ -1,6 +1,7 @@ import { IsEmail, IsNotEmpty, MinLength } from 'class-validator'; +import { ICreateUserDTO } from '@gim/shared'; -export class CreateUserDto { +export class CreateUserDto implements ICreateUserDTO { @IsEmail({}, { message: "L'email doit être valide" }) email!: string; diff --git a/packages/backend/src/users/entities/user.entity.ts b/packages/backend/src/users/entities/user.entity.ts index f7e9ceb..d35be10 100644 --- a/packages/backend/src/users/entities/user.entity.ts +++ b/packages/backend/src/users/entities/user.entity.ts @@ -1,3 +1,4 @@ +import { IUser } from '@gim/shared'; import { Entity, PrimaryGeneratedColumn, @@ -6,7 +7,7 @@ import { } from 'typeorm'; @Entity('utilisateurs') -export class User { +export class User implements IUser { @PrimaryGeneratedColumn('uuid') id!: string; diff --git a/packages/shared/src/index.ts b/packages/shared/src/index.ts new file mode 100644 index 0000000..75c70a4 --- /dev/null +++ b/packages/shared/src/index.ts @@ -0,0 +1 @@ +export * from './users/user.interface'; \ No newline at end of file diff --git a/packages/shared/src/users/user.interface.ts b/packages/shared/src/users/user.interface.ts new file mode 100644 index 0000000..6adb59d --- /dev/null +++ b/packages/shared/src/users/user.interface.ts @@ -0,0 +1,20 @@ +/** + * Contrat pour les données envoyées lors de l'inscription + */ +export interface ICreateUserDTO { + email: string; + motDePasse: string; + nom: string; + prenom: string; +} + +/** + * Contrat pour les données renvoyées par l'API (profil public) + */ +export interface IUser { + id: string; + email: string; + nom: string; + prenom: string; + dateCreation: Date; +} \ No newline at end of file