Files
RenewCMS/internal/infrastructure/persistence/mappers/userMapper.go
T

56 lines
1.6 KiB
Go

package mappers
import (
"RenewCMS/internal/domain/user"
"RenewCMS/internal/infrastructure/persistence/models"
)
func nullableStringToDomain(value *string) string {
if value == nil {
return ""
}
return *value
}
func DomainToNullableString(value string) *string {
if value == "" {
return nil
}
return &value
}
func UserToDomain(m models.User) user.User {
return user.User{
ID: m.ID,
Username: m.Username,
Password: m.Password,
PasswordResetCode: nullableStringToDomain(m.PasswordResetCode),
Email: m.Email,
DisplayName: m.DisplayName,
IsVerified: m.IsVerified,
VerificationCode: nullableStringToDomain(m.VerificationCode),
VerificationExpiration: m.VerificationExpiration,
PasswordResetExpiration: m.PasswordResetExpiration,
TokenVersion: m.TokenVersion,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}
}
func UserToModel(a user.User) models.User {
return models.User{
Username: a.Username,
Password: a.Password,
PasswordResetCode: DomainToNullableString(a.PasswordResetCode),
Email: a.Email,
DisplayName: a.DisplayName,
IsVerified: a.IsVerified,
VerificationCode: DomainToNullableString(a.VerificationCode),
VerificationExpiration: a.VerificationExpiration,
PasswordResetExpiration: a.PasswordResetExpiration,
TokenVersion: a.TokenVersion,
CreatedAt: a.CreatedAt,
UpdatedAt: a.UpdatedAt,
}
}