utils to transform byte to resource
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package resources
|
package resources
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"slices"
|
"slices"
|
||||||
|
|
||||||
@@ -382,3 +383,42 @@ func (rp *ResourcePartnerShip[T]) GetPeerGroups() map[string][]string {
|
|||||||
func (rp *ResourcePartnerShip[T]) ClearPeerGroups() {
|
func (rp *ResourcePartnerShip[T]) ClearPeerGroups() {
|
||||||
rp.PeerGroups = map[string][]string{}
|
rp.PeerGroups = map[string][]string{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ToResource(
|
||||||
|
dt int,
|
||||||
|
payload []byte,
|
||||||
|
) (ResourceInterface, error) {
|
||||||
|
switch dt {
|
||||||
|
case tools.PROCESSING_RESOURCE.EnumIndex():
|
||||||
|
var data ProcessingResource
|
||||||
|
if err := json.Unmarshal(payload, &data); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &data, nil
|
||||||
|
case tools.WORKFLOW_RESOURCE.EnumIndex():
|
||||||
|
var data WorkflowResource
|
||||||
|
if err := json.Unmarshal(payload, &data); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &data, nil
|
||||||
|
case tools.DATA_RESOURCE.EnumIndex():
|
||||||
|
var data DataResource
|
||||||
|
if err := json.Unmarshal(payload, &data); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &data, nil
|
||||||
|
case tools.STORAGE_RESOURCE.EnumIndex():
|
||||||
|
var data StorageResource
|
||||||
|
if err := json.Unmarshal(payload, &data); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &data, nil
|
||||||
|
case tools.COMPUTE_RESOURCE.EnumIndex():
|
||||||
|
var data ComputeResource
|
||||||
|
if err := json.Unmarshal(payload, &data); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &data, nil
|
||||||
|
}
|
||||||
|
return nil, errors.New("can't found any data resources matching")
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user