github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/internal/server/index/mock.go (about)

     1  package index
     2  
     3  import (
     4  	"github.com/easysoft/zendata/internal/server/controller"
     5  	"github.com/easysoft/zendata/internal/server/core/module"
     6  	"github.com/kataras/iris/v12"
     7  )
     8  
     9  type MockModule struct {
    10  	MockCtrl *controller.MockCtrl `inject:""`
    11  }
    12  
    13  func NewMockModule() *DataModule {
    14  	return &DataModule{}
    15  }
    16  
    17  // Party 执行
    18  func (m *MockModule) Party() module.WebModule {
    19  	handler := func(index iris.Party) {
    20  		index.Get("/", m.MockCtrl.List).Name = "Mock列表"
    21  		index.Get("/{id:uint}", m.MockCtrl.Get).Name = "Mock详情"
    22  		index.Post("/", m.MockCtrl.Save).Name = "保存Mock"
    23  		index.Delete("/{id:uint}", m.MockCtrl.Remove).Name = "删除Mock"
    24  
    25  		index.Get("/{id:uint}/listSampleSrc", m.MockCtrl.ListSampleSrc).Name = "获取Sample来源列表"
    26  		index.Post("/{id:uint}/changeSampleSrc", m.MockCtrl.ChangeSampleSrc).Name = "修改Sample来源"
    27  
    28  		index.Post("/upload", m.MockCtrl.Upload).Name = "上传Spec"
    29  		index.Get("/getPreviewData", m.MockCtrl.GetPreviewData).Name = "上传Spec"
    30  		index.Post("/getPreviewResp", m.MockCtrl.GetPreviewResp).Name = "上传Spec"
    31  
    32  		index.Post("/startMockService", m.MockCtrl.StartMockService).Name = "启动/关闭Mock服务"
    33  	}
    34  
    35  	return module.NewModule("/mocks", handler)
    36  }
    37  
    38  func (m *MockModule) PartyData() module.WebModule {
    39  	handler := func(index iris.Party) {
    40  		index.Any("/{paths:path}", m.MockCtrl.Mock) // mock data url
    41  	}
    42  
    43  	return module.NewModule("/m", handler)
    44  }