working oc-catalog + enum ref

This commit is contained in:
mr
2025-01-17 17:03:32 +01:00
parent 4b8f129564
commit 99b42f6d02
14 changed files with 1295 additions and 361 deletions

View File

@@ -12,6 +12,8 @@ type ComputeController struct {
beego.Controller
}
var comp_collection = oclib.LibDataEnum(oclib.COMPUTE_RESOURCE)
// @Title Update
// @Description create computes
// @Param id path string true "the compute id you want to get"
@@ -19,11 +21,12 @@ type ComputeController struct {
// @Success 200 {compute} models.compute
// @router /:id [put]
func (o *ComputeController) Put() {
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(10000), &res)
o.Data["json"] = oclib.UpdateOne(oclib.LibDataEnum(oclib.COMPUTE_RESOURCE), res, id)
o.Data["json"] = oclib.NewRequest(comp_collection, user, peerID, groups, nil).UpdateOne(res, id)
o.ServeJSON()
}
@@ -33,29 +36,36 @@ func (o *ComputeController) Put() {
// @Success 200 {compute} models.compute
// @router / [post]
func (o *ComputeController) Post() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
var res map[string]interface{}
json.Unmarshal(o.Ctx.Input.CopyBody(10000), &res)
o.Data["json"] = oclib.StoreOne(oclib.LibDataEnum(oclib.COMPUTE_RESOURCE), res)
o.Data["json"] = oclib.NewRequest(comp_collection, user, peerID, groups, nil).StoreOne(res)
o.ServeJSON()
}
// @Title GetAll
// @Description find compute by id
// @Param is_draft query string false "draft wished"
// @Success 200 {compute} models.compute
// @router / [get]
func (o *ComputeController) GetAll() {
o.Data["json"] = oclib.LoadAll(oclib.LibDataEnum(oclib.COMPUTE_RESOURCE))
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
isDraft := o.Ctx.Input.Query("is_draft")
o.Data["json"] = oclib.NewRequest(comp_collection, user, peerID, groups, nil).LoadAll(isDraft == "true")
o.ServeJSON()
}
// @Title Get
// @Description find compute by key word
// @Param search path string true "the search you want to get"
// @Param is_draft query string false "draft wished"
// @Success 200 {compute} models.compute
// @router /search/:search [get]
func (o *ComputeController) Search() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
isDraft := o.Ctx.Input.Query("is_draft")
search := o.Ctx.Input.Param(":search")
o.Data["json"] = oclib.Search(nil, search, oclib.LibDataEnum(oclib.COMPUTE_RESOURCE))
o.Data["json"] = oclib.NewRequest(comp_collection, user, peerID, groups, nil).Search(nil, search, isDraft == "true")
o.ServeJSON()
}
@@ -65,8 +75,9 @@ func (o *ComputeController) Search() {
// @Success 200 {compute} models.compute
// @router /:id [get]
func (o *ComputeController) Get() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
o.Data["json"] = oclib.LoadOne(oclib.LibDataEnum(oclib.COMPUTE_RESOURCE), id)
o.Data["json"] = oclib.NewRequest(comp_collection, user, peerID, groups, nil).LoadOne(id)
o.ServeJSON()
}
@@ -76,7 +87,8 @@ func (o *ComputeController) Get() {
// @Success 200 {compute} delete success!
// @router /:id [delete]
func (o *ComputeController) Delete() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
o.Data["json"] = oclib.DeleteOne(oclib.LibDataEnum(oclib.COMPUTE_RESOURCE), id)
o.Data["json"] = oclib.NewRequest(comp_collection, user, peerID, groups, nil).DeleteOne(id)
o.ServeJSON()
}

View File

@@ -12,6 +12,8 @@ type DataController struct {
beego.Controller
}
var data_collection = oclib.LibDataEnum(oclib.DATA_RESOURCE)
// @Title Update
// @Description create datas
// @Param id path string true "the data id you want to get"
@@ -20,10 +22,11 @@ type DataController struct {
// @router /:id [put]
func (o *DataController) Put() {
// store and return Id or post with UUID
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
var res map[string]interface{}
id := o.Ctx.Input.Param(":id")
json.Unmarshal(o.Ctx.Input.CopyBody(10000), &res)
o.Data["json"] = oclib.UpdateOne(oclib.LibDataEnum(oclib.DATA_RESOURCE), res, id)
o.Data["json"] = oclib.NewRequest(data_collection, user, peerID, groups, nil).UpdateOne(res, id)
o.ServeJSON()
}
@@ -33,29 +36,37 @@ func (o *DataController) Put() {
// @Success 200 {data} models.data
// @router / [post]
func (o *DataController) Post() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
var res map[string]interface{}
json.Unmarshal(o.Ctx.Input.CopyBody(10000), &res)
o.Data["json"] = oclib.StoreOne(oclib.LibDataEnum(oclib.DATA_RESOURCE), res)
o.Data["json"] = oclib.NewRequest(data_collection, user, peerID, groups, nil).StoreOne(res)
o.ServeJSON()
}
// @Title GetAll
// @Description find data by id
// @Param is_draft query string false "draft wished"
// @Success 200 {data} models.data
// @router / [get]
func (o *DataController) GetAll() {
o.Data["json"] = oclib.LoadAll(oclib.LibDataEnum(oclib.DATA_RESOURCE))
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
isDraft := o.Ctx.Input.Query("is_draft")
o.Data["json"] = oclib.NewRequest(data_collection, user, peerID, groups, nil).LoadAll(isDraft == "true")
o.ServeJSON()
}
// @Title Get
// @Description find data by key word
// @Param search path string true "the search you want to get"
// @Param is_draft query string false "draft wished"
// @Success 200 {data} models.data
// @router /search/:search [get]
func (o *DataController) Search() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
search := o.Ctx.Input.Param(":search")
o.Data["json"] = oclib.Search(nil, search, oclib.LibDataEnum(oclib.DATA_RESOURCE))
isDraft := o.Ctx.Input.Query("is_draft")
o.Data["json"] = oclib.NewRequest(data_collection, user, peerID, groups, nil).Search(nil, search, isDraft == "true")
o.ServeJSON()
}
@@ -65,8 +76,9 @@ func (o *DataController) Search() {
// @Success 200 {data} models.data
// @router /:id [get]
func (o *DataController) Get() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
o.Data["json"] = oclib.LoadOne(oclib.LibDataEnum(oclib.DATA_RESOURCE), id)
o.Data["json"] = oclib.NewRequest(data_collection, user, peerID, groups, nil).LoadOne(id)
o.ServeJSON()
}
@@ -76,7 +88,8 @@ func (o *DataController) Get() {
// @Success 200 {data} delete success!
// @router /:id [delete]
func (o *DataController) Delete() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
o.Data["json"] = oclib.DeleteOne(oclib.LibDataEnum(oclib.DATA_RESOURCE), id)
o.Data["json"] = oclib.NewRequest(data_collection, user, peerID, groups, nil).DeleteOne(id)
o.ServeJSON()
}

183
controllers/enum.go Normal file
View File

@@ -0,0 +1,183 @@
package controllers
import (
"cloud.o-forge.io/core/oc-lib/models/common/enum"
"cloud.o-forge.io/core/oc-lib/models/common/pricing"
"cloud.o-forge.io/core/oc-lib/models/resources"
"cloud.o-forge.io/core/oc-lib/tools"
beego "github.com/beego/beego/v2/server/web"
)
// Operations about resource
type EnumController struct {
beego.Controller
}
// @Title EnumStorageType
// @Description get list of StorageType
// @Success 200 {resource} models.resource
// @router /storage/type [get]
func (o *EnumController) EnumStorageType() {
enumMap := map[int]string{}
for _, d := range enum.TypeList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumStorageSize
// @Description get list of StorageSize
// @Success 200 {resource} models.resource
// @router /storage/size [get]
func (o *EnumController) EnumStorageSize() {
enumMap := map[int]string{}
for _, d := range enum.SizeList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumInfrastructure
// @Description get list of Infrastructure
// @Success 200 {resource} models.resource
// @router /infrastructure [get]
func (o *EnumController) EnumInfrastructure() {
enumMap := map[int]string{}
for _, d := range enum.InfrastructureList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title BookingStatus
// @Description get list of Infrastructure
// @Success 200 {resource} models.resource
// @router /booking/status [get]
func (o *EnumController) EnumBookingStatus() {
enumMap := map[int]string{}
for _, d := range enum.StatusList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumStatus
// @Description get list of status
// @Success 200 {resource} models.resource
// @router /status [get]
func (o *EnumController) EnumStatus() {
enumMap := map[int]string{}
for _, d := range enum.StatusList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumStrategyBuy
// @Description get list of status
// @Success 200 {resource} models.resource
// @router /pricing/strategy/buy [get]
func (o *EnumController) EnumStrategyBuy() {
enumMap := map[int]string{}
for _, d := range pricing.BuyingStrategyList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumStrategyTime
// @Description get list of status
// @Success 200 {resource} models.resource
// @router /pricing/strategy/time [get]
func (o *EnumController) EnumStrategyTime() {
enumMap := map[int]string{}
for _, d := range pricing.TimePricingStrategyList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumStrategyPrivilege
// @Description get list of status
// @Success 200 {resource} models.resource
// @router /pricing/strategy/privilege [get]
func (o *EnumController) EnumStrategyPrivilege() {
enumMap := map[int]string{}
for _, d := range pricing.ExploitPrivilegeStrategyList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumRefundType
// @Description get list of status
// @Success 200 {resource} models.resource
// @router /pricing/refund/type [get]
func (o *EnumController) EnumRefundType() {
enumMap := map[int]string{}
for _, d := range pricing.RefundTypeList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumStrategyPrivilegeStorage
// @Description get list of status
// @Success 200 {resource} models.resource
// @router /pricing/strategy/privilege/storage [get]
func (o *EnumController) EnumStrategyPrivilegeStorage() {
enumMap := map[int]string{}
for _, d := range resources.PrivilegeStoragePricingStrategyList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumStrategyStorage
// @Description get list of status
// @Success 200 {resource} models.resource
// @router /pricing/strategy/storage [get]
func (o *EnumController) EnumStrategyStorage() {
enumMap := map[int]string{}
for _, d := range resources.StorageResourcePricingStrategyList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumStrategyData
// @Description get list of status
// @Success 200 {resource} models.resource
// @router /pricing/strategy/data [get]
func (o *EnumController) EnumStrategyData() {
enumMap := map[int]string{}
for _, d := range resources.DataResourcePricingStrategyList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}
// @Title EnumResourceType
// @Description get list of status
// @Success 200 {resource} models.resource
// @router /resource/type [get]
func (o *EnumController) EnumResourceType() {
enumMap := map[int]string{}
for _, d := range tools.DataTypeList() {
enumMap[int(d)] = d.String()
}
o.Data["json"] = map[string]interface{}{"data": enumMap, "code": 200, "error": ""}
o.ServeJSON()
}

View File

@@ -12,6 +12,8 @@ type ProcessingController struct {
beego.Controller
}
var processing_collection = oclib.LibDataEnum(oclib.PROCESSING_RESOURCE)
// @Title Update
// @Description create processings
// @Param id path string true "the processing id you want to get"
@@ -20,10 +22,11 @@ type ProcessingController struct {
// @router /:id [put]
func (o *ProcessingController) Put() {
// store and return Id or post with UUID
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
var res map[string]interface{}
id := o.Ctx.Input.Param(":id")
json.Unmarshal(o.Ctx.Input.CopyBody(10000), &res)
o.Data["json"] = oclib.UpdateOne(oclib.LibDataEnum(oclib.PROCESSING_RESOURCE), res, id)
o.Data["json"] = oclib.NewRequest(processing_collection, user, peerID, groups, nil).UpdateOne(res, id)
o.ServeJSON()
}
@@ -33,29 +36,36 @@ func (o *ProcessingController) Put() {
// @Success 200 {processing} models.processing
// @router / [post]
func (o *ProcessingController) Post() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
var res map[string]interface{}
json.Unmarshal(o.Ctx.Input.CopyBody(10000), &res)
o.Data["json"] = oclib.StoreOne(oclib.LibDataEnum(oclib.PROCESSING_RESOURCE), res)
o.Data["json"] = oclib.NewRequest(processing_collection, user, peerID, groups, nil).StoreOne(res)
o.ServeJSON()
}
// @Title GetAll
// @Description find processing by id
// @Param is_draft query string false "draft wished"
// @Success 200 {processing} models.processing
// @router / [get]
func (o *ProcessingController) GetAll() {
o.Data["json"] = oclib.LoadAll(oclib.LibDataEnum(oclib.PROCESSING_RESOURCE))
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
isDraft := o.Ctx.Input.Query("is_draft")
o.Data["json"] = oclib.NewRequest(processing_collection, user, peerID, groups, nil).LoadAll(isDraft == "true")
o.ServeJSON()
}
// @Title Get
// @Description find processing by key word
// @Param search path string true "the search you want to get"
// @Param is_draft query string false "draft wished"
// @Success 200 {processing} models.processing
// @router /search/:search [get]
func (o *ProcessingController) Search() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
search := o.Ctx.Input.Param(":search")
o.Data["json"] = oclib.Search(nil, search, oclib.LibDataEnum(oclib.PROCESSING_RESOURCE))
isDraft := o.Ctx.Input.Query("is_draft")
o.Data["json"] = oclib.NewRequest(processing_collection, user, peerID, groups, nil).Search(nil, search, isDraft == "true")
o.ServeJSON()
}
@@ -65,8 +75,9 @@ func (o *ProcessingController) Search() {
// @Success 200 {processing} models.processing
// @router /:id [get]
func (o *ProcessingController) Get() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
o.Data["json"] = oclib.LoadOne(oclib.LibDataEnum(oclib.PROCESSING_RESOURCE), id)
o.Data["json"] = oclib.NewRequest(processing_collection, user, peerID, groups, nil).LoadOne(id)
o.ServeJSON()
}
@@ -76,7 +87,8 @@ func (o *ProcessingController) Get() {
// @Success 200 {processing} delete success!
// @router /:id [delete]
func (o *ProcessingController) Delete() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
o.Data["json"] = oclib.DeleteOne(oclib.LibDataEnum(oclib.PROCESSING_RESOURCE), id)
o.Data["json"] = oclib.NewRequest(processing_collection, user, peerID, groups, nil).DeleteOne(id)
o.ServeJSON()
}

View File

@@ -1,6 +1,8 @@
package controllers
import (
"fmt"
oclib "cloud.o-forge.io/core/oc-lib"
beego "github.com/beego/beego/v2/server/web"
)
@@ -12,17 +14,17 @@ type ResourceController struct {
// @Title GetAll
// @Description find resource by id
// @Param is_draft query string false "draft wished"
// @Success 200 {resource} models.resource
// @router / [get]
func (o *ResourceController) GetAll() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
results := map[string]interface{}{}
isDraft := o.Ctx.Input.Query("is_draft")
for _, resource := range []oclib.LibDataEnum{
oclib.LibDataEnum(oclib.DATA_RESOURCE),
oclib.LibDataEnum(oclib.COMPUTE_RESOURCE),
oclib.LibDataEnum(oclib.STORAGE_RESOURCE),
oclib.LibDataEnum(oclib.PROCESSING_RESOURCE),
oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE)} {
d := oclib.LoadAll(resource)
data_collection, comp_collection, storage_collection,
processing_collection, workflow_collection} {
d := oclib.NewRequest(resource, user, peerID, groups, nil).LoadAll(isDraft == "true")
if d.Code != 200 || len(d.Data) == 0 {
results[resource.String()] = []interface{}{}
} else {
@@ -36,18 +38,19 @@ func (o *ResourceController) GetAll() {
// @Title Get
// @Description find resource by key word
// @Param search path string true "the search you want to get"
// @Param is_draft query string false "draft wished"
// @Success 200 {resource} models.resource
// @router /search/:search [get]
func (o *ResourceController) Search() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
search := o.Ctx.Input.Param(":search")
isDraft := o.Ctx.Input.Query("is_draft")
results := map[string]interface{}{}
for _, resource := range []oclib.LibDataEnum{
oclib.LibDataEnum(oclib.DATA_RESOURCE),
oclib.LibDataEnum(oclib.COMPUTE_RESOURCE),
oclib.LibDataEnum(oclib.STORAGE_RESOURCE),
oclib.LibDataEnum(oclib.PROCESSING_RESOURCE),
oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE)} {
d := oclib.Search(nil, search, resource)
data_collection, comp_collection, storage_collection,
processing_collection, workflow_collection} {
fmt.Println("search", search)
d := oclib.NewRequest(resource, user, peerID, groups, nil).Search(nil, search, isDraft == "true")
if d.Code != 200 || len(d.Data) == 0 {
results[resource.String()] = []interface{}{}
} else {
@@ -64,15 +67,13 @@ func (o *ResourceController) Search() {
// @Success 200 {resource} models.resource
// @router /:id [get]
func (o *ResourceController) Get() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
results := map[string]interface{}{}
for _, resource := range []oclib.LibDataEnum{
oclib.LibDataEnum(oclib.DATA_RESOURCE),
oclib.LibDataEnum(oclib.COMPUTE_RESOURCE),
oclib.LibDataEnum(oclib.STORAGE_RESOURCE),
oclib.LibDataEnum(oclib.PROCESSING_RESOURCE),
oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE)} {
d := oclib.LoadOne(resource, id)
data_collection, comp_collection, storage_collection,
processing_collection, workflow_collection} {
d := oclib.NewRequest(resource, user, peerID, groups, nil).LoadOne(id)
if d.Code != 200 {
results[resource.String()] = nil
} else {
@@ -89,15 +90,14 @@ func (o *ResourceController) Get() {
// @Success 200 {resource} delete success!
// @router /:id [delete]
func (o *ResourceController) Delete() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
results := map[string]interface{}{}
for _, resource := range []oclib.LibDataEnum{
oclib.LibDataEnum(oclib.DATA_RESOURCE),
oclib.LibDataEnum(oclib.COMPUTE_RESOURCE),
oclib.LibDataEnum(oclib.STORAGE_RESOURCE),
oclib.LibDataEnum(oclib.PROCESSING_RESOURCE),
oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE)} {
d := oclib.DeleteOne(resource, id)
data_collection, comp_collection, storage_collection,
processing_collection, workflow_collection,
} {
d := oclib.NewRequest(resource, user, peerID, groups, nil).DeleteOne(id)
if d.Code != 200 {
results[resource.String()] = nil
} else {

View File

@@ -12,6 +12,8 @@ type StorageController struct {
beego.Controller
}
var storage_collection = oclib.LibDataEnum(oclib.STORAGE_RESOURCE)
// @Title Update
// @Description create storages
// @Param id path string true "the storage id you want to get"
@@ -20,21 +22,11 @@ type StorageController struct {
// @router /:id [put]
func (o *StorageController) Put() {
// store and return Id or post with UUID
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
var res map[string]interface{}
id := o.Ctx.Input.Param(":id")
json.Unmarshal(o.Ctx.Input.CopyBody(10000), &res)
o.Data["json"] = oclib.UpdateOne(oclib.LibDataEnum(oclib.STORAGE_RESOURCE), res, id)
o.ServeJSON()
}
// @Title Get
// @Description find storage by key word
// @Param search path string true "the search you want to get"
// @Success 200 {storage} models.storage
// @router /search/:search [get]
func (o *StorageController) Search() {
search := o.Ctx.Input.Param(":search")
o.Data["json"] = oclib.Search(nil, search, oclib.LibDataEnum(oclib.STORAGE_RESOURCE))
o.Data["json"] = oclib.NewRequest(storage_collection, user, peerID, groups, nil).UpdateOne(res, id)
o.ServeJSON()
}
@@ -44,18 +36,36 @@ func (o *StorageController) Search() {
// @Success 200 {storage} models.storage
// @router / [post]
func (o *StorageController) Post() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
var res map[string]interface{}
json.Unmarshal(o.Ctx.Input.CopyBody(10000), &res)
o.Data["json"] = oclib.StoreOne(oclib.LibDataEnum(oclib.STORAGE_RESOURCE), res)
o.Data["json"] = oclib.NewRequest(storage_collection, user, peerID, groups, nil).StoreOne(res)
o.ServeJSON()
}
// @Title GetAll
// @Description find storage by id
// @Param is_draft query string false "draft wished"
// @Success 200 {storage} models.storage
// @router / [get]
func (o *StorageController) GetAll() {
o.Data["json"] = oclib.LoadAll(oclib.LibDataEnum(oclib.STORAGE_RESOURCE))
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
isDraft := o.Ctx.Input.Query("is_draft")
o.Data["json"] = oclib.NewRequest(storage_collection, user, peerID, groups, nil).LoadAll(isDraft == "true")
o.ServeJSON()
}
// @Title Get
// @Description find storage by key word
// @Param search path string true "the search you want to get"
// @Param is_draft query string false "draft wished"
// @Success 200 {storage} models.storage
// @router /search/:search [get]
func (o *StorageController) Search() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
search := o.Ctx.Input.Param(":search")
isDraft := o.Ctx.Input.Query("is_draft")
o.Data["json"] = oclib.NewRequest(storage_collection, user, peerID, groups, nil).Search(nil, search, isDraft == "true")
o.ServeJSON()
}
@@ -65,8 +75,9 @@ func (o *StorageController) GetAll() {
// @Success 200 {storage} models.storage
// @router /:id [get]
func (o *StorageController) Get() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
o.Data["json"] = oclib.LoadOne(oclib.LibDataEnum(oclib.STORAGE_RESOURCE), id)
o.Data["json"] = oclib.NewRequest(storage_collection, user, peerID, groups, nil).LoadOne(id)
o.ServeJSON()
}
@@ -76,7 +87,8 @@ func (o *StorageController) Get() {
// @Success 200 {storage} delete success!
// @router /:id [delete]
func (o *StorageController) Delete() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
o.Data["json"] = oclib.DeleteOne(oclib.LibDataEnum(oclib.STORAGE_RESOURCE), id)
o.Data["json"] = oclib.NewRequest(storage_collection, user, peerID, groups, nil).DeleteOne(id)
o.ServeJSON()
}

View File

@@ -12,6 +12,8 @@ type WorkflowController struct {
beego.Controller
}
var workflow_collection = oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE)
// @Title Update
// @Description create workflows
// @Param id path string true "the workflow id you want to get"
@@ -20,21 +22,11 @@ type WorkflowController struct {
// @router /:id [put]
func (o *WorkflowController) Put() {
// store and return Id or post with UUID
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
var res map[string]interface{}
id := o.Ctx.Input.Param(":id")
json.Unmarshal(o.Ctx.Input.CopyBody(10000), &res)
o.Data["json"] = oclib.UpdateOne(oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE), res, id)
o.ServeJSON()
}
// @Title Get
// @Description find workflow by key word
// @Param search path string true "the search you want to get"
// @Success 200 {workflow} models.workflow
// @router /search/:search [get]
func (o *WorkflowController) Search() {
search := o.Ctx.Input.Param(":search")
o.Data["json"] = oclib.Search(nil, search, oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE))
o.Data["json"] = oclib.NewRequest(workflow_collection, user, peerID, groups, nil).UpdateOne(res, id)
o.ServeJSON()
}
@@ -44,18 +36,36 @@ func (o *WorkflowController) Search() {
// @Success 200 {workflow} models.workflow
// @router / [post]
func (o *WorkflowController) Post() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
var res map[string]interface{}
json.Unmarshal(o.Ctx.Input.CopyBody(10000), &res)
o.Data["json"] = oclib.StoreOne(oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE), res)
o.Data["json"] = oclib.NewRequest(workflow_collection, user, peerID, groups, nil).StoreOne(res)
o.ServeJSON()
}
// @Title GetAll
// @Description find workflow by id
// @Param is_draft query string false "draft wished"
// @Success 200 {workflow} models.workflow
// @router / [get]
func (o *WorkflowController) GetAll() {
o.Data["json"] = oclib.LoadAll(oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE))
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
isDraft := o.Ctx.Input.Query("is_draft")
o.Data["json"] = oclib.NewRequest(workflow_collection, user, peerID, groups, nil).LoadAll(isDraft == "true")
o.ServeJSON()
}
// @Title Get
// @Description find workflow by key word
// @Param search path string true "the search you want to get"
// @Param is_draft query string false "draft wished"
// @Success 200 {workflow} models.workflow
// @router /search/:search [get]
func (o *WorkflowController) Search() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
search := o.Ctx.Input.Param(":search")
isDraft := o.Ctx.Input.Query("is_draft")
o.Data["json"] = oclib.NewRequest(workflow_collection, user, peerID, groups, nil).Search(nil, search, isDraft == "true")
o.ServeJSON()
}
@@ -65,8 +75,9 @@ func (o *WorkflowController) GetAll() {
// @Success 200 {workflow} models.workflow
// @router /:id [get]
func (o *WorkflowController) Get() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
o.Data["json"] = oclib.LoadOne(oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE), id)
o.Data["json"] = oclib.NewRequest(workflow_collection, user, peerID, groups, nil).LoadOne(id)
o.ServeJSON()
}
@@ -76,7 +87,8 @@ func (o *WorkflowController) Get() {
// @Success 200 {workflow} delete success!
// @router /:id [delete]
func (o *WorkflowController) Delete() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id")
o.Data["json"] = oclib.DeleteOne(oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE), id)
o.Data["json"] = oclib.NewRequest(workflow_collection, user, peerID, groups, nil).DeleteOne(id)
o.ServeJSON()
}