mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-14 20:41:15 +08:00
45 lines
1.4 KiB
Go
45 lines
1.4 KiB
Go
package release
|
|
|
|
import (
|
|
"github.com/APIParkLab/APIPark/module/release"
|
|
"github.com/APIParkLab/APIPark/module/release/dto"
|
|
service_diff "github.com/APIParkLab/APIPark/module/service-diff"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
var (
|
|
_ IReleaseController = (*imlReleaseController)(nil)
|
|
)
|
|
|
|
type imlReleaseController struct {
|
|
module release.IReleaseModule `autowired:""`
|
|
diffModule service_diff.IServiceDiffModule `autowired:""`
|
|
}
|
|
|
|
func (c *imlReleaseController) Create(ctx *gin.Context, project string, input *dto.CreateInput) error {
|
|
|
|
_, err := c.module.Create(ctx, project, input)
|
|
return err
|
|
}
|
|
func (c *imlReleaseController) Delete(ctx *gin.Context, project string, id string) error {
|
|
return c.module.Delete(ctx, project, id)
|
|
}
|
|
func (c *imlReleaseController) Detail(ctx *gin.Context, project string, id string) (*dto.Detail, error) {
|
|
return c.module.Detail(ctx, project, id)
|
|
}
|
|
func (c *imlReleaseController) List(ctx *gin.Context, project string) ([]*dto.Release, error) {
|
|
return c.module.List(ctx, project)
|
|
}
|
|
func (c *imlReleaseController) Preview(ctx *gin.Context, project string) (*dto.Release, *service_diff.DiffOut, bool, error) {
|
|
releaseInfo, diff, complete, err := c.module.Preview(ctx, project)
|
|
if err != nil {
|
|
return nil, nil, false, err
|
|
}
|
|
|
|
out, err := c.diffModule.Out(ctx, diff)
|
|
if err != nil {
|
|
return nil, nil, false, err
|
|
}
|
|
return releaseInfo, out, complete, nil
|
|
}
|