| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package v1
- import (
- "github.com/runningwater/gohub/app/models/{{PackageName}}"
- "github.com/runningwater/gohub/app/policies"
- "github.com/runningwater/gohub/app/requests"
- "github.com/runningwater/gohub/pkg/response"
- "github.com/gin-gonic/gin"
- )
- type {{StructNamePlural}}Controller struct {
- BaseApiController
- }
- func (ctrl *{{StructNamePlural}}Controller) Index(c *gin.Context) {
- {{VariableNamePlural}} := {{PackageName}}.All()
- response.Data(c, {{VariableNamePlural}})
- }
- func (ctrl *{{StructNamePlural}}Controller) Show(c *gin.Context) {
- {{VariableName}}Model := {{PackageName}}.Get(c.Param("id"))
- if {{VariableName}}Model.ID == 0 {
- response.Abort404(c)
- return
- }
- response.Data(c, {{VariableName}}Model)
- }
- func (ctrl *{{StructNamePlural}}Controller) Store(c *gin.Context) {
- request := requests.{{StructName}}Request{}
- if ok := requests.Validate(c, &request, requests.{{StructName}}Save); !ok {
- return
- }
- {{VariableName}}Model := {{PackageName}}.{{StructName}}{
- FieldName: request.FieldName,
- }
- {{VariableName}}Model.Create()
- if {{VariableName}}Model.ID > 0 {
- response.Created(c, {{VariableName}}Model)
- } else {
- response.Abort500(c, "创建失败,请稍后尝试~")
- }
- }
- func (ctrl *{{StructNamePlural}}Controller) Update(c *gin.Context) {
- {{VariableName}}Model := {{PackageName}}.Get(c.Param("id"))
- if {{VariableName}}Model.ID == 0 {
- response.Abort404(c)
- return
- }
- if ok := policies.CanModify{{StructName}}(c, {{VariableName}}Model); !ok {
- response.Abort403(c)
- return
- }
- request := requests.{{StructName}}Request{}
- bindOk, errs := requests.Validate(c, &request, requests.{{StructName}}Save)
- if !bindOk {
- return
- }
- if len(errs) > 0 {
- response.ValidationError(c, errs)
- return
- }
- {{VariableName}}Model.FieldName = request.FieldName
- rowsAffected := {{VariableName}}Model.Save()
- if rowsAffected > 0 {
- response.Data(c, {{VariableName}}Model)
- } else {
- response.Abort500(c, "更新失败,请稍后尝试~")
- }
- }
- func (ctrl *{{StructNamePlural}}Controller) Delete(c *gin.Context) {
- {{VariableName}}Model := {{PackageName}}.Get(c.Param("id"))
- if {{VariableName}}Model.ID == 0 {
- response.Abort404(c)
- return
- }
- if ok := policies.CanModify{{StructName}}(c, {{VariableName}}Model); !ok {
- response.Abort403(c)
- return
- }
- rowsAffected := {{VariableName}}Model.Delete()
- if rowsAffected > 0 {
- response.Success(c)
- return
- }
- response.Abort500(c, "删除失败,请稍后尝试~")
- }
|