Hub-Api/commands/owner_handler.go

65 lines
1.3 KiB
Go
Raw Normal View History

2024-05-27 23:06:25 +03:30
package commands
import (
m "netina/models"
c "netina/models/commands"
2024-05-27 23:06:25 +03:30
o "netina/repositories/owner"
"netina/validation"
2024-05-27 23:06:25 +03:30
"time"
)
type CreateOwnerHandler struct{
Repository o.OwnerCommandRepository
}
func (r *CreateOwnerHandler) Handle(command c.CreateOwnerCommand) error {
if err := validation.ValidateStruct(command); err != nil {
return err
}
owner := &m.Owner{
2024-05-27 23:06:25 +03:30
PhoneNumber: command.PhoneNumber,
FirstName: command.FirstName,
LastName: command.LastName,
NationalCode: command.NationalCode,
Created_at: time.Now(),
Modified_by: command.Modified_by,
}
return r.Repository.CreateOwner(owner)
}
type UpdateOwnerHandler struct {
Repository o.OwnerCommandRepository
}
func (r *UpdateOwnerHandler) Handle(id uint , command c.UpdateOwnerCommand)(*m.Owner , error) {
if err := validation.ValidateStruct(command); err != nil {
return nil , err
}
owner := &m.Owner{
2024-05-27 23:06:25 +03:30
PhoneNumber: command.PhoneNumber,
FirstName: command.FirstName,
LastName: command.LastName,
NationalCode: command.NationalCode,
Modified_by: command.Modified_by,
}
return r.Repository.UpdateOwner(id , owner)
}
2024-06-02 20:57:12 +03:30
type RemoveOwnerHandler struct {
2024-05-27 23:06:25 +03:30
Repository o.OwnerCommandRepository
}
2024-06-02 20:57:12 +03:30
func (r *RemoveOwnerHandler) Handle(id uint) error {
2024-05-27 23:06:25 +03:30
return r.Repository.RemoveOwner(id)
}