/
Chebarik
/
PackageManagement
Обзор
Документация
Войти
/
Chebarik
/
PackageManagement
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/packagemanagement/domain/model/User.java
61 строка
2 KB
Николай Мехоношин
Implemented non functional requirements
14 апр 2026, 18:37
14 апр 2026, 18:37
2e86838
Код
Авторство
О чём код?
package com.packagemanagement.domain.model; import java.time.Instant; import java.util.Objects; import java.util.UUID; public class User { private final String id; private final String username; private final String passwordHash; private final String email; private final UserRole role; private final Instant createdAt; private User(String id, String username, String passwordHash, String email, UserRole role, Instant createdAt) { this.id = Objects.requireNonNull(id); this.username = Objects.requireNonNull(username); this.passwordHash = Objects.requireNonNull(passwordHash); this.email = email; this.role = Objects.requireNonNull(role); this.createdAt = Objects.requireNonNull(createdAt); } public static User create(String username, String passwordHash, String email, UserRole role) { return new User( UUID.randomUUID().toString(), username, passwordHash, email, role, Instant.now() ); } public static User restore(String id, String username, String passwordHash, String email, UserRole role, Instant createdAt) { return new User(id, username, passwordHash, email, role, createdAt); } public String getId() { return id; } public String getUsername() { return username; } public String getPasswordHash() { return passwordHash; } public String getEmail() { return email; } public UserRole getRole() { return role; } public Instant getCreatedAt() { return createdAt; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; User user = (User) o; return Objects.equals(id, user.id); } @Override public int hashCode() { return Objects.hash(id); } }