Files
bridge/internal/metal/providers/provider.go
2023-07-17 19:02:55 +00:00

20 lines
762 B
Go

// Package providers defines the provider interface for fetching metal resources.
package providers
import (
"context"
"go.infratographer.com/x/gidx"
"go.equinixmetal.net/infra9-metal-bridge/internal/metal/models"
)
// Provider defines the provider implementation.
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)
}