feat: user domain & storage mapper

This commit is contained in:
2025-09-06 12:02:05 +03:30
parent 0e32d0d820
commit 9bade56794
17 changed files with 83 additions and 74 deletions
View File
-38
View File
@@ -1,38 +0,0 @@
package entity
import (
"backend/pkg/validate/national"
"backend/pkg/validate/phone"
"time"
"github.com/google/uuid"
)
type User struct {
ID uuid.UUID
Name string
LastName string
PhoneNumber string
Email string
PubKey string
NationalID string
BirthDate time.Time // format YYYY-MM-DD in presentation
CreatedAt time.Time
UpdatedAt time.Time
}
func (u *User) ValidatePhoneNumber(phoneNumber string) error {
ok, err := phone.IsValid(phoneNumber)
if !ok {
return err
}
return nil
}
func (u *User) ValidateNationalID(ID string) error {
ok, err := national.IsValid(ID)
if !ok {
return err
}
return nil
}
+7
View File
@@ -0,0 +1,7 @@
package user
// Repo represents the user repository interface.
type Repo interface{}
// Service represents the user service interface.(UseCases)
type Service interface{}
+18
View File
@@ -0,0 +1,18 @@
package user
import (
"time"
"github.com/google/uuid"
)
type User struct {
ID uuid.UUID
Name string
LastName string
PhoneNumber string
NationalID string
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
}