pennsieve

package
v1.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2024 License: Apache-2.0 Imports: 26 Imported by: 4

Documentation

Index

Constants

View Source
const (
	BaseURLV1           = "https://api.pennsieve.io"
	BaseURLV2           = "https://api2.pennsieve.io"
	DefaultUploadBucket = "pennsieve-prod-uploads-v2-use1"
)

Variables

View Source
var AWSEndpoints = AWSCognitoEndpoints{}

AWSEndpoints can be used to set custom endpoints for Cognito. The default value will provide the default endpoints. Modifications only affect subsequent calls to NewAuthenticationService and not any already existing instances of authenticationService.

Functions

func NewAccountService added in v1.3.2

func NewAccountService(client PennsieveHTTPClient, baseUrl string) *accountService

func NewAuthenticationService added in v1.2.0

func NewAuthenticationService(client PennsieveHTTPClient, baseUrl string) *authenticationService

func NewDatasetService added in v1.2.0

func NewDatasetService(client PennsieveHTTPClient, baseUrl string) *datasetService

func NewDiscoverService added in v1.3.0

func NewDiscoverService(client PennsieveHTTPClient, baseUrl string) *discoverService

func NewManifestService added in v1.2.0

func NewManifestService(client PennsieveHTTPClient, baseUrl string) *manifestService

func NewOrganizationService added in v1.2.0

func NewOrganizationService(client PennsieveHTTPClient, baseUrl string) *organizationService

func NewUserService added in v1.2.0

func NewUserService(client PennsieveHTTPClient, baseUrl string) *userService

Types

type APIParams added in v1.2.1

type APIParams struct {
	ApiKey        string
	ApiSecret     string
	Port          string
	ApiHost       string
	ApiHost2      string
	UploadBucket  string
	UseConfigFile bool
	Profile       string
}

type APISession

type APISession struct {
	Token        string
	IdToken      string
	Expiration   time.Time
	RefreshToken string
	IsRefreshed  bool
}

type AWSCognitoEndpoints added in v1.2.3

type AWSCognitoEndpoints struct {
	IdentityProviderEndpoint string
	IdentityEndpoint         string
}

func (*AWSCognitoEndpoints) IsEmpty added in v1.2.3

func (e *AWSCognitoEndpoints) IsEmpty() bool

IsEmpty returns true if no custom endpoints have been set.

func (*AWSCognitoEndpoints) Reset added in v1.2.3

func (e *AWSCognitoEndpoints) Reset()

Reset resets the endpoints to the default values.

type AWSCredentialProviderWithExpiration added in v1.1.3

type AWSCredentialProviderWithExpiration struct {
	AuthService AuthenticationService
}

AWSCredentialProviderWithExpiration provides AWS credentials This method is used by the upload service and is wrapped in Credentials Cache

func (AWSCredentialProviderWithExpiration) Retrieve added in v1.1.3

type AccountService added in v1.3.2

type AccountService interface {
	GetPennsieveAccounts(ctx context.Context, accountType string) (*account.GetPennsieveAccountsResponse, error)
	CreateAccount(ctx context.Context, accountId string, accountType string, roleName string, externalId string) (*account.CreateAccountResponse, error)
	SetBaseUrl(url string)
}

type AuthenticationService

type AuthenticationService interface {
	ReAuthenticate() (*APISession, error)
	Authenticate(apiKey string, apiSecret string) (*APISession, error)
	GetAWSCredsForUser() *IdentityTypes.Credentials
	SetBaseUrl(url string)
	SetClient(client *Client)
	// contains filtered or unexported methods
}

type Client

type Client struct {
	APISession APISession

	HTTPClient *http.Client

	OrganizationNodeId string
	OrganizationId     int

	Organization   OrganizationService
	Authentication AuthenticationService
	User           UserService
	Dataset        DatasetService
	Manifest       ManifestService
	Discover       DiscoverService
	Account        AccountService
	// contains filtered or unexported fields
}

func NewClient

func NewClient(params APIParams) *Client

NewClient creates a new Pennsieve HTTP client.

func (*Client) GetAPIParams added in v1.2.1

func (c *Client) GetAPIParams() *APIParams

func (*Client) SetOrganization added in v1.2.0

func (c *Client) SetOrganization(orgId int, orgNodeId string)

func (*Client) SetSession added in v1.2.0

func (c *Client) SetSession(s APISession)

func (*Client) Updateparams added in v1.2.1

func (c *Client) Updateparams(params APIParams)

type DatasetService

type DatasetService interface {
	Get(ctx context.Context, id string) (*dataset.GetDatasetResponse, error)
	Find(ctx context.Context, limit int, query string) (*dataset.ListDatasetResponse, error)
	List(ctx context.Context, limit int, offset int) (*dataset.ListDatasetResponse, error)
	SetBaseUrl(url string)
	Create(ctx context.Context, name, description, tags string) (*dataset.CreateDatasetResponse, error)
}

type DiscoverService added in v1.3.0

type DiscoverService interface {
	GetDatasetByVersion(ctx context.Context, datasetId int32, versionId int32) (*discover.GetDatasetByVersionResponse, error)
	GetDatasetMetadataByVersion(ctx context.Context, datasetId int32, versionId int32) (*discover.GetDatasetMetadataByVersionResponse, error)
	GetDatasetFileByVersion(ctx context.Context, datasetId int32, versionId int32, filename string) (*discover.GetDatasetFileByVersionResponse, error)
}

type ManifestService added in v0.1.3

type ManifestService interface {
	Create(ctx context.Context, requestBody manifest.DTO) (*manifest.PostResponse, error)
	GetFilesForStatus(ctx context.Context, manifestId string,
		status manifestFile.Status, continuationToken string, verify bool) (*manifest.GetStatusEndpointResponse, error)
	SetBaseUrl(url string)
}

type OrganizationService

type OrganizationService interface {
	List(ctx context.Context) (*organization.GetOrganizationsResponse, error)
	Get(ctx context.Context, id string) (*organization.GetOrganizationResponse, error)
	SetBaseUrl(url string)
}

type PennsieveHTTPClient added in v1.2.0

type PennsieveHTTPClient interface {
	GetAPIParams() *APIParams
	SetSession(s APISession)
	SetOrganization(orgId int, orgNodeId string)
	Updateparams(params APIParams)
	// contains filtered or unexported methods
}

type UserService

type UserService interface {
	GetUser(ctx context.Context) (*user.User, error)
	SetBaseUrl(url string)
}

Directories

Path Synopsis
models

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL