add offset limit

This commit is contained in:
mr
2026-04-10 15:11:09 +02:00
parent c3f4e9b5c4
commit 556f1cd492
8 changed files with 82 additions and 25 deletions

View File

@@ -4,6 +4,7 @@ import (
"encoding/json"
"errors"
"fmt"
"strconv"
"strings"
oclib "cloud.o-forge.io/core/oc-lib"
@@ -44,15 +45,18 @@ var paths = map[tools.DataType]map[tools.METHOD]string{ // paths to call other O
// @Description search workspace
// @Param search path string true "the word search you want to get"
// @Param is_draft query string false "draft wished"
// @Param offset query string false
// @Param limit query string false
// @Success 200 {workspace} models.workspace
// @router /search/:search [get]
func (o *WorkflowController) Search() {
// user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
offset, _ := strconv.Atoi(o.Ctx.Input.Query("offset"))
limit, _ := strconv.Atoi(o.Ctx.Input.Query("limit"))
// store and return Id or post with UUID
search := o.Ctx.Input.Param(":search")
isDraft := o.Ctx.Input.Query("is_draft")
// o.Data["json"] = oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, nil).Search(nil, search, isDraft == "true")
o.Data["json"] = oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.WORKFLOW), nil).Search(nil, search, isDraft == "true")
o.Data["json"] = oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, nil).Search(nil, search, isDraft == "true", int64(offset), int64(limit))
o.ServeJSON()
}
@@ -64,17 +68,16 @@ func (o *WorkflowController) Search() {
// @Success 200 {object} models.workflow
// @router /:id [put]
func (o *WorkflowController) Put() {
user, _, _ := oclib.ExtractTokenInfo(*o.Ctx.Request)
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
// store and return Id or post with UUID
var res map[string]interface{}
id := o.Ctx.Input.Param(":id")
json.Unmarshal(o.Ctx.Input.CopyBody(10000000), &res)
fmt.Println("res", res["links"])
caller := tools.NewHTTPCaller(paths) // create a new HTTP caller
caller.Disabled = oclib.IsQueryParamsEquals(o.Ctx.Input, "is_remote", true)
o.Ctx.Input.Param("is_remote")
// data := oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, caller).UpdateOne(res, id)
data := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.WORKFLOW), caller).UpdateOne(res, id)
data := oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, caller).UpdateOne(res, id)
fmt.Println(res["exposes"])
if wf := data.ToWorkflow(); wf != nil {
EmitNATS(user, tools.CREATE_RESOURCE, wf)
}
@@ -88,13 +91,12 @@ func (o *WorkflowController) Put() {
// @Success 200 {object} models.workflow
// @router / [post]
func (o *WorkflowController) Post() {
// user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
var res map[string]interface{}
json.Unmarshal(o.Ctx.Input.CopyBody(10000000), &res)
caller := tools.NewHTTPCaller(paths) // create a new HTTP caller
caller.Disabled = oclib.IsQueryParamsEquals(o.Ctx.Input, "is_remote", true)
// data := oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, caller).StoreOne(res)
data := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.WORKFLOW), caller).StoreOne(res)
data := oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, caller).StoreOne(res)
o.Data["json"] = data
o.ServeJSON()
}
@@ -119,14 +121,16 @@ func (o *WorkflowController) Publish() {
// @Title GetAll
// @Description find workflow by workflowid
// @Param is_draft query string false "draft wished"
// @Param offset query string false
// @Param limit query string false
// @Success 200 {workflow} models.workflow
// @router / [get]
func (o *WorkflowController) GetAll() {
// user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
isDraft := o.Ctx.Input.Query("is_draft")
// o.Data["json"] = oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, nil).LoadAll(isDraft == "true")
o.Data["json"] = oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.WORKFLOW), nil).LoadAll(isDraft == "true")
offset, _ := strconv.Atoi(o.Ctx.Input.Query("offset"))
limit, _ := strconv.Atoi(o.Ctx.Input.Query("limit"))
o.Data["json"] = oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, nil).LoadAll(isDraft == "true", int64(offset), int64(limit))
o.ServeJSON()
}
@@ -136,12 +140,11 @@ func (o *WorkflowController) GetAll() {
// @Success 200 {workflow} models.workflow
// @router /:id [get]
func (o *WorkflowController) Get() {
// user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
caller := tools.NewHTTPCaller(paths) // create a new HTTP caller
caller.Disabled = oclib.IsQueryParamsEquals(o.Ctx.Input, "is_remote", true)
// .Data["json"] = oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, caller).LoadOne(id)
o.Data["json"] = oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.WORKFLOW), caller).LoadOne(id)
o.Data["json"] = oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, caller).LoadOne(id)
o.ServeJSON()
}