project_module_version_controller.go 4.1 KB
package controllers

import (
	"encoding/json"

	"github.com/astaxie/beego"
	"github.com/linmadan/egglib-go/web/beego/utils"
	"github.com/tiptok/godevp/pkg/application/projectModuleVersion/command"
	"github.com/tiptok/godevp/pkg/application/projectModuleVersion/query"
	"github.com/tiptok/godevp/pkg/application/projectModuleVersion/service"
)

type ProjectModuleVersionController struct {
	beego.Controller
}

func (controller *ProjectModuleVersionController) CreateProjectModuleVersion() {
	projectModuleVersionService := service.NewProjectModuleVersionService(nil)
	createProjectModuleVersionCommand := &command.CreateProjectModuleVersionCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), createProjectModuleVersionCommand)
	data, err := projectModuleVersionService.CreateProjectModuleVersion(createProjectModuleVersionCommand)
	var response utils.JsonResponse
	if err != nil {
		response = utils.ResponseError(controller.Ctx, err)
	} else {
		response = utils.ResponseData(controller.Ctx, data)
	}
	controller.Data["json"] = response
	controller.ServeJSON()
}

func (controller *ProjectModuleVersionController) UpdateProjectModuleVersion() {
	projectModuleVersionService := service.NewProjectModuleVersionService(nil)
	updateProjectModuleVersionCommand := &command.UpdateProjectModuleVersionCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), updateProjectModuleVersionCommand)
	projectModuleVersionId, _ := controller.GetInt64(":projectModuleVersionId")
	updateProjectModuleVersionCommand.ProjectModuleVersionId = projectModuleVersionId
	data, err := projectModuleVersionService.UpdateProjectModuleVersion(updateProjectModuleVersionCommand)
	var response utils.JsonResponse
	if err != nil {
		response = utils.ResponseError(controller.Ctx, err)
	} else {
		response = utils.ResponseData(controller.Ctx, data)
	}
	controller.Data["json"] = response
	controller.ServeJSON()
}

func (controller *ProjectModuleVersionController) GetProjectModuleVersion() {
	projectModuleVersionService := service.NewProjectModuleVersionService(nil)
	getProjectModuleVersionQuery := &query.GetProjectModuleVersionQuery{}
	projectModuleVersionId, _ := controller.GetInt64(":projectModuleVersionId")
	getProjectModuleVersionQuery.ProjectModuleVersionId = projectModuleVersionId
	data, err := projectModuleVersionService.GetProjectModuleVersion(getProjectModuleVersionQuery)
	var response utils.JsonResponse
	if err != nil {
		response = utils.ResponseError(controller.Ctx, err)
	} else {
		response = utils.ResponseData(controller.Ctx, data)
	}
	controller.Data["json"] = response
	controller.ServeJSON()
}

func (controller *ProjectModuleVersionController) RemoveProjectModuleVersion() {
	projectModuleVersionService := service.NewProjectModuleVersionService(nil)
	removeProjectModuleVersionCommand := &command.RemoveProjectModuleVersionCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), removeProjectModuleVersionCommand)
	projectModuleVersionId, _ := controller.GetInt64(":projectModuleVersionId")
	removeProjectModuleVersionCommand.ProjectModuleVersionId = projectModuleVersionId
	data, err := projectModuleVersionService.RemoveProjectModuleVersion(removeProjectModuleVersionCommand)
	var response utils.JsonResponse
	if err != nil {
		response = utils.ResponseError(controller.Ctx, err)
	} else {
		response = utils.ResponseData(controller.Ctx, data)
	}
	controller.Data["json"] = response
	controller.ServeJSON()
}

func (controller *ProjectModuleVersionController) ListProjectModuleVersion() {
	projectModuleVersionService := service.NewProjectModuleVersionService(nil)
	listProjectModuleVersionQuery := &query.ListProjectModuleVersionQuery{}
	offset, _ := controller.GetInt("offset")
	listProjectModuleVersionQuery.Offset = offset
	limit, _ := controller.GetInt("limit")
	listProjectModuleVersionQuery.Limit = limit
	data, err := projectModuleVersionService.ListProjectModuleVersion(listProjectModuleVersionQuery)
	var response utils.JsonResponse
	if err != nil {
		response = utils.ResponseError(controller.Ctx, err)
	} else {
		response = utils.ResponseData(controller.Ctx, data)
	}
	controller.Data["json"] = response
	controller.ServeJSON()
}