Files
bridge/internal/metal/providers/provider.go
2023-07-11 21:56:39 +00:00

18 lines
630 B
Go

package provider
import (
"context"
"go.infratographer.com/x/gidx"
"go.equinixmetal.net/infra9-metal-bridge/internal/metal/models"
)
type Provider interface {
GetOrganizationDetails(ctx context.Context, id gidx.PrefixedID) (*models.OrganizationDetails, error)
GetProjectDetails(ctx context.Context, id gidx.PrefixedID) (*models.ProjectDetails, error)
GetUserDetails(ctx context.Context, id gidx.PrefixedID) (*models.UserDetails, error)
GetUserOrganizationRole(ctx context.Context, userID, orgID gidx.PrefixedID) (string, error)
GetUserProjectRole(ctx context.Context, userID, projID gidx.PrefixedID) (string, error)
}