20 lines
762 B
Go
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)
|
|
}
|