mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-11-05 08:05:06 +00:00
* feat(sync): sync php extended template * fix(i18n): complete resource sync translations --------- Co-authored-by: ssongliu <sloooop1x@gmail.com>
149 lines
4.0 KiB
Go
149 lines
4.0 KiB
Go
package v2
|
|
|
|
import (
|
|
"github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
|
|
"github.com/1Panel-dev/1Panel/agent/app/dto"
|
|
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// @Tags PHP Extensions
|
|
// @Summary Page Extensions
|
|
// @Accept json
|
|
// @Param request body request.PHPExtensionsSearch true "request"
|
|
// @Success 200 {object} dto.PageResult
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /runtimes/php/extensions/search [post]
|
|
func (b *BaseApi) PagePHPExtensions(c *gin.Context) {
|
|
var req request.PHPExtensionsSearch
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if req.All {
|
|
list, err := phpExtensionsService.List()
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, dto.PageResult{
|
|
Total: int64(len(list)),
|
|
Items: list,
|
|
})
|
|
} else {
|
|
total, list, err := phpExtensionsService.Page(req)
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, dto.PageResult{
|
|
Total: total,
|
|
Items: list,
|
|
})
|
|
}
|
|
|
|
}
|
|
|
|
// @Tags PHP Extensions
|
|
// @Summary Create Extensions
|
|
// @Accept json
|
|
// @Param request body request.PHPExtensionsCreate true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /runtimes/php/extensions [post]
|
|
func (b *BaseApi) CreatePHPExtensions(c *gin.Context) {
|
|
var req request.PHPExtensionsCreate
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := phpExtensionsService.Create(req); err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags PHP Extensions
|
|
// @Summary Update Extensions
|
|
// @Accept json
|
|
// @Param request body request.PHPExtensionsUpdate true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /runtimes/php/extensions/update [post]
|
|
func (b *BaseApi) UpdatePHPExtensions(c *gin.Context) {
|
|
var req request.PHPExtensionsUpdate
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := phpExtensionsService.Update(req); err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags PHP Extensions
|
|
// @Summary Delete Extensions
|
|
// @Accept json
|
|
// @Param request body request.PHPExtensionsDelete true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /runtimes/php/extensions/del [post]
|
|
func (b *BaseApi) DeletePHPExtensions(c *gin.Context) {
|
|
var req request.PHPExtensionsDelete
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := phpExtensionsService.Delete(req); err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Router /runtimes/php/extensions/detail [post]
|
|
func (b *BaseApi) GetPHPExtensions(c *gin.Context) {
|
|
var req request.PHPExtensionsDelete
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
item, err := phpExtensionsService.Get(req.ID)
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, item)
|
|
}
|
|
|
|
// @Router /runtimes/php/extensions/import [post]
|
|
// @x-panel-log {"bodyKeys":["name"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"同步 PHP 扩展模版 [name]","formatEN":"Sync PHP extension template [name]"}
|
|
func (b *BaseApi) ImportPHPExtensions(c *gin.Context) {
|
|
var req request.PHPExtensionsCreate
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
status, err := phpExtensionsService.Import(req)
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, status)
|
|
}
|
|
|
|
// @Router /runtimes/php/extensions/push [post]
|
|
// @x-panel-log {"bodyKeys":["sourceNode","targetNodes"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"推送 PHP 扩展模版 [sourceNode] 至 [targetNodes]","formatEN":"Push PHP extension template from [sourceNode] to [targetNodes]"}
|
|
func (b *BaseApi) PushPHPExtensions(c *gin.Context) {
|
|
var req dto.PHPExtensionsPush
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := phpExtensionsService.Push(req); err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|