31 lines
693 B
Go
31 lines
693 B
Go
package workbench
|
|||
|
|
|
||
|
|
import (
|
||
|
|
"strings"
|
||
|
|
|
||
|
|
"github.com/Tencent/WeKnora/internal/accesspolicy"
|
||
|
|
"github.com/gin-gonic/gin"
|
||
|
|
)
|
||
|
|
|
||
|
|
func (h *Handler) Export(c *gin.Context) {
|
||
|
|
if !accesspolicy.Allowed(c.Request.Context(), "content.deliver") {
|
||
|
|
respondError(c, ErrForbidden)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
if c.Param("kind") != "content-tasks" {
|
||
|
|
respondError(c, ErrInvalid)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
r, err := h.service.get(c.Request.Context(), "content-tasks", c.Param("id"))
|
||
|
|
if err != nil {
|
||
|
|
respondError(c, err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
data, err := decode[TaskData](r.Data)
|
||
|
|
if err != nil || strings.TrimSpace(data.Composed) == "" {
|
||
|
|
respondError(c, ErrInvalid)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result(c, gin.H{"name": r.Name, "content": data.Composed})
|
||
|
|
}
|