package commands import ( "netina/models" o "netina/repositories/owner" "time" ) type CreateOwnerHandler struct{ Repository o.OwnerCommandRepository } func (r *CreateOwnerHandler) Handle(command models.CreateOwnerCommand) error { owner := &models.Owner{ 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 models.UpdateOwnerCommand)(*models.Owner , error) { owner := &models.Owner{ PhoneNumber: command.PhoneNumber, FirstName: command.FirstName, LastName: command.LastName, NationalCode: command.NationalCode, Modified_by: command.Modified_by, } return r.Repository.UpdateOwner(id , owner) } type RemoveOwnerCommand struct { Repository o.OwnerCommandRepository } func (r *RemoveOwnerCommand) Handle(id uint) error { return r.Repository.RemoveOwner(id) }