80 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
| package commands
 | |
| 
 | |
| import (
 | |
| 	m "netina/models"
 | |
| 	c "netina/models/commands"
 | |
| 	s "netina/repositories/store"
 | |
| 	"netina/validation"
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| 
 | |
| type CreateStoreHandler struct {
 | |
| 	Repository  s.StoreCommandRepository
 | |
| }
 | |
| 
 | |
| 
 | |
| func (r *CreateStoreHandler) Handle (command c.CreateStoreCommand)error {
 | |
| 
 | |
| 	if err := validation.ValidateStruct(command); err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	store := &m.Store{
 | |
| 		Owner_id: command.Owner_id,
 | |
| 		Name: command.Name,
 | |
| 		Address: command.Address,
 | |
| 		PhoneNumber: command.PhoneNumber,
 | |
| 		WebAddress: command.WebAddress,
 | |
| 		ApiAddress: command.ApiAddress,
 | |
| 		AdminPanelAddress: command.AdminPanelAddress,
 | |
| 		StorageAddress: command.StorageAddress,
 | |
| 		License_id: command.License_id,
 | |
| 		Modified_by: command.Modified_by,
 | |
| 		Created_at: time.Now(),
 | |
| 	}
 | |
| 
 | |
| 	return r.Repository.CreateStore(store)
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| type UpdateStoreHandler struct {
 | |
| 	Repository  s.StoreCommandRepository
 | |
| }
 | |
| 
 | |
| 
 | |
| func (r *UpdateStoreHandler) Handle (id uint ,command c.UpdateStoreCommand)(*m.Store , error) {
 | |
| 
 | |
| 	if err := validation.ValidateStruct(command); err != nil {
 | |
| 		return nil,err
 | |
| 	}
 | |
| 
 | |
| 	store := &m.Store{
 | |
| 		Owner_id: command.Owner_id,
 | |
| 		Name: command.Name,
 | |
| 		Address: command.Address,
 | |
| 		PhoneNumber: command.PhoneNumber,
 | |
| 		WebAddress: command.WebAddress,
 | |
| 		ApiAddress: command.ApiAddress,
 | |
| 		AdminPanelAddress: command.AdminPanelAddress,
 | |
| 		StorageAddress: command.StorageAddress,
 | |
| 		License_id: command.License_id,
 | |
| 		Modified_by: command.Modified_by,
 | |
| 		
 | |
| 	}
 | |
| 
 | |
| 	return r.Repository.UpdateStore(id ,store )
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| type RemoveStoreHandler struct {
 | |
| 	Repository  s.StoreCommandRepository
 | |
| }
 | |
| 
 | |
| 
 | |
| func (r *RemoveStoreHandler) Handle (id uint) error {
 | |
| 	return r.Repository.RemoveStore(id)
 | |
| } |