Backend half

This commit is contained in:
2025-07-11 19:56:28 +02:00
parent fa868e7c1d
commit 8600fa7c1d
19426 changed files with 3750448 additions and 8108 deletions
@@ -0,0 +1,49 @@
import { User } from '../entities/user.entity';
import { UserBasicDto, UserUpdateDto, UserCreateDto, UserResponseDto } from '../dto/user.dto';
export class UserMapper {
static toBasicDto(user: User): UserBasicDto {
return new UserBasicDto(user.id, user.username, user.CompanyId || undefined);
}
static toResponseDto(user: User): UserResponseDto {
return new UserResponseDto(
user.id,
user.username,
user.FirstName,
user.LastName,
user.email,
user.RegDate
);
}
static toEntity(createDto: UserCreateDto): User {
const user = new User();
user.username = createDto.username;
user.FirstName = createDto.FirstName;
user.LastName = createDto.LastName;
user.email = createDto.email;
user.password = createDto.password;
// Only set CompanyId if it's provided and not null/undefined
if (createDto.CompanyId !== undefined && createDto.CompanyId !== null) {
user.CompanyId = createDto.CompanyId;
}
// If not provided, leave it as undefined (which will be NULL in database)
return user;
}
static updateEntity(original: User, updateDto: UserUpdateDto): User {
if (updateDto.username !== undefined) original.username = updateDto.username;
if (updateDto.FirstName !== undefined) original.FirstName = updateDto.FirstName;
if (updateDto.LastName !== undefined) original.LastName = updateDto.LastName;
if (updateDto.email !== undefined) original.email = updateDto.email;
if (updateDto.password !== undefined) original.password = updateDto.password;
return original;
}
static UsersListResponseDto(users: User[]): UserResponseDto[] {
return users.map(user => this.toResponseDto(user));
}
}