From c1490a77460b1018b674267a75ba7242369fa266 Mon Sep 17 00:00:00 2001 From: mr Date: Tue, 2 Jun 2026 15:49:03 +0200 Subject: [PATCH] proper --- models/resources/dynamic.go | 18 +++++++++++++++++- models/resources/resource.go | 2 -- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/models/resources/dynamic.go b/models/resources/dynamic.go index d5e8ca0..99311bb 100755 --- a/models/resources/dynamic.go +++ b/models/resources/dynamic.go @@ -52,7 +52,7 @@ func (d *DynamicResource) SetAllowedInstances(request *tools.APIRequest, instanc if d.Type != k { continue } - access := NewAccessor[*DynamicResource](k, request) + access := d.getResAccessor(k, request) m := map[string]interface{}{} b, _ := json.Marshal(d.Filters) json.Unmarshal(b, &m) @@ -80,6 +80,22 @@ func (d *DynamicResource) SetAllowedInstances(request *tools.APIRequest, instanc return d.Instances } +func (d *DynamicResource) getResAccessor(dt tools.DataType, request *tools.APIRequest) utils.Accessor { + switch dt { + case tools.COMPUTE_RESOURCE: + return NewAccessor[*ComputeResource](dt, request) + case tools.PROCESSING_RESOURCE: + return NewAccessor[*ProcessingResource](dt, request) + case tools.DATA_RESOURCE: + return NewAccessor[*DataResource](dt, request) + case tools.STORAGE_RESOURCE: + return NewAccessor[*ServiceResource](dt, request) + case tools.WORKFLOW_RESOURCE: + return NewAccessor[*WorkflowResource](dt, request) + } + return nil +} + func (d *DynamicResource) AddInstances(instance ResourceInstanceITF) { d.Instances = append(d.Instances, instance) } diff --git a/models/resources/resource.go b/models/resources/resource.go index 26abc91..1cb8a08 100755 --- a/models/resources/resource.go +++ b/models/resources/resource.go @@ -234,9 +234,7 @@ func (r *AbstractInstanciatedResource[T]) GetSelectedInstance(selected *int) Res func (abs *AbstractInstanciatedResource[T]) SetAllowedInstances(request *tools.APIRequest, instanceID ...string) []ResourceInstanceITF { if !((request != nil && request.PeerID == abs.CreatorID && request.PeerID != "") || request.Admin) { - abs.Instances = VerifyAuthAction(abs.Instances, request, instanceID...) - fmt.Println("Not Admin", abs.Name, abs.Instances) // Filter AEs: only return AEs visible to the requesting peer. if request != nil { abs.FilterExploitationAuthorizations(request.PeerID, request.Admin)