56 lines
1.6 KiB
Go
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,
|
|
}
|
|
}
|