Compare commits
1 Commits
feat/perso
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
423942d65e |
8
.vscode/extensions.json
vendored
8
.vscode/extensions.json
vendored
@@ -4,13 +4,13 @@
|
||||
|
||||
// List of extensions which should be recommended for users of this workspace.
|
||||
"recommendations": [
|
||||
|
||||
],
|
||||
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
|
||||
"unwantedRecommendations": [
|
||||
"dbaeumer.vscode-eslint",
|
||||
"esbenp.prettier-vscode",
|
||||
"Vue.volar",
|
||||
"atommaterial.a-file-icon-vscode"
|
||||
],
|
||||
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
|
||||
"unwantedRecommendations": [
|
||||
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,6 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { AppController } from './app.controller';
|
||||
import { AppService } from './app.service';
|
||||
import { UsersModule } from './users/users.module';
|
||||
import { PersonsModule } from './persons/persons.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -35,8 +34,6 @@ import { PersonsModule } from './persons/persons.module';
|
||||
}),
|
||||
|
||||
UsersModule,
|
||||
|
||||
PersonsModule,
|
||||
],
|
||||
controllers: [AppController],
|
||||
providers: [AppService],
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
import {
|
||||
IsString,
|
||||
IsNotEmpty,
|
||||
IsDateString,
|
||||
IsBoolean,
|
||||
IsOptional,
|
||||
} from 'class-validator';
|
||||
import { ICreatePersonneDTO } from '@gim/shared';
|
||||
|
||||
export class CreatePersonDto implements ICreatePersonneDTO {
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
numeroLicence!: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
nom!: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
prenom!: string;
|
||||
|
||||
@IsDateString()
|
||||
dateNaissance!: string;
|
||||
|
||||
@IsBoolean()
|
||||
@IsOptional()
|
||||
surclasse!: boolean;
|
||||
|
||||
@IsBoolean()
|
||||
@IsOptional()
|
||||
coach!: boolean;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { PartialType } from '@nestjs/mapped-types';
|
||||
import { CreatePersonDto } from './create-person.dto';
|
||||
|
||||
export class UpdatePersonDto extends PartialType(CreatePersonDto) {}
|
||||
@@ -1,26 +0,0 @@
|
||||
import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';
|
||||
import { IPersonne } from '@gim/shared';
|
||||
|
||||
@Entity('personnes')
|
||||
export class Person implements IPersonne {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id!: string;
|
||||
|
||||
@Column({ unique: true })
|
||||
numeroLicence!: string;
|
||||
|
||||
@Column()
|
||||
nom!: string;
|
||||
|
||||
@Column()
|
||||
prenom!: string;
|
||||
|
||||
@Column({ type: 'date' })
|
||||
dateNaissance!: string;
|
||||
|
||||
@Column({ default: false })
|
||||
surclasse!: boolean;
|
||||
|
||||
@Column({ default: false })
|
||||
coach!: boolean;
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { PersonsController } from './persons.controller';
|
||||
import { PersonsService } from './persons.service';
|
||||
|
||||
describe('PersonsController', () => {
|
||||
let controller: PersonsController;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
controllers: [PersonsController],
|
||||
providers: [PersonsService],
|
||||
}).compile();
|
||||
|
||||
controller = module.get<PersonsController>(PersonsController);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(controller).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -1,34 +0,0 @@
|
||||
import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common';
|
||||
import { PersonsService } from './persons.service';
|
||||
import { CreatePersonDto } from './dto/create-person.dto';
|
||||
import { UpdatePersonDto } from './dto/update-person.dto';
|
||||
|
||||
@Controller('persons')
|
||||
export class PersonsController {
|
||||
constructor(private readonly personsService: PersonsService) {}
|
||||
|
||||
@Post()
|
||||
create(@Body() createPersonDto: CreatePersonDto) {
|
||||
return this.personsService.create(createPersonDto);
|
||||
}
|
||||
|
||||
@Get()
|
||||
findAll() {
|
||||
return this.personsService.findAll();
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
findOne(@Param('id') id: string) {
|
||||
return this.personsService.findOne(+id);
|
||||
}
|
||||
|
||||
@Patch(':id')
|
||||
update(@Param('id') id: string, @Body() updatePersonDto: UpdatePersonDto) {
|
||||
return this.personsService.update(+id, updatePersonDto);
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
remove(@Param('id') id: string) {
|
||||
return this.personsService.remove(+id);
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { PersonsService } from './persons.service';
|
||||
import { PersonsController } from './persons.controller';
|
||||
import { Person } from './entities/person.entity';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([Person])],
|
||||
controllers: [PersonsController],
|
||||
providers: [PersonsService],
|
||||
})
|
||||
export class PersonsModule {}
|
||||
@@ -1,18 +0,0 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { PersonsService } from './persons.service';
|
||||
|
||||
describe('PersonsService', () => {
|
||||
let service: PersonsService;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [PersonsService],
|
||||
}).compile();
|
||||
|
||||
service = module.get<PersonsService>(PersonsService);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(service).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -1,26 +0,0 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { CreatePersonDto } from './dto/create-person.dto';
|
||||
import { UpdatePersonDto } from './dto/update-person.dto';
|
||||
|
||||
@Injectable()
|
||||
export class PersonsService {
|
||||
create(createPersonDto: CreatePersonDto) {
|
||||
return 'This action adds a new person';
|
||||
}
|
||||
|
||||
findAll() {
|
||||
return `This action returns all persons`;
|
||||
}
|
||||
|
||||
findOne(id: number) {
|
||||
return `This action returns a #${id} person`;
|
||||
}
|
||||
|
||||
update(id: number, updatePersonDto: UpdatePersonDto) {
|
||||
return `This action updates a #${id} person`;
|
||||
}
|
||||
|
||||
remove(id: number) {
|
||||
return `This action removes a #${id} person`;
|
||||
}
|
||||
}
|
||||
@@ -4,10 +4,7 @@ import {
|
||||
PrimaryGeneratedColumn,
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
ManyToMany,
|
||||
JoinTable,
|
||||
} from 'typeorm';
|
||||
import { Person } from '../../persons/entities/person.entity';
|
||||
|
||||
@Entity('utilisateurs')
|
||||
export class User implements IUser {
|
||||
@@ -28,8 +25,4 @@ export class User implements IUser {
|
||||
|
||||
@CreateDateColumn()
|
||||
dateCreation!: Date;
|
||||
|
||||
@ManyToMany(() => Person)
|
||||
@JoinTable({ name: 'utilisateurs_personnes' })
|
||||
personnesRattachees!: Person[];
|
||||
}
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
export * from './users/user.interface';
|
||||
export * from './persons/person.interface';
|
||||
@@ -1,19 +0,0 @@
|
||||
|
||||
/**
|
||||
* Contrat pour les données envoyées lors de la création d'une personne
|
||||
*/
|
||||
export interface ICreatePersonneDTO {
|
||||
numeroLicence: string;
|
||||
nom: string;
|
||||
prenom: string;
|
||||
dateNaissance: string; // Format ISO: "YYYY-MM-DD"
|
||||
surclasse?: boolean;
|
||||
coach?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Contrat pour les données renvoyées par l'API (profil public)
|
||||
*/
|
||||
export interface IPersonne extends ICreatePersonneDTO {
|
||||
id: string;
|
||||
}
|
||||
Reference in New Issue
Block a user