Skip to content

Commit

Permalink
PLT-1493: Added support for permissions
Browse files Browse the repository at this point in the history
  • Loading branch information
SivaanandM committed Nov 18, 2024
1 parent b4855be commit 8f1212d
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions client/permission.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package client

import (
"fmt"

clientv1 "github.com/spectrocloud/palette-sdk-go/api/client/v1"
"github.com/spectrocloud/palette-sdk-go/api/models"
)

// GetPermissionByName retrieves an existing permission by name and permissionScope(project, tenant & resource).
func (h *V1Client) GetPermissionByName(permissionName string, permissionScope string) (*models.V1Permission, error) {
// ACL scoped to tenant only
params := clientv1.NewV1PermissionsListParams().WithScope(&permissionScope)
resp, err := h.Client.V1PermissionsList(params)
if err != nil {
return nil, err
}

for _, permission := range resp.Payload {
if permission.Name == permissionName {
return permission, nil
}
}

return nil, fmt.Errorf("permission name '%s' not found in scope '%s'", permissionName, permissionScope)
}

0 comments on commit 8f1212d

Please sign in to comment.