resources

package
v0.0.0-...-e95280a Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Access

type Access interface {
	Resource() Mutable
	Owners() []*uuid.UUID
	IsEncrypted() bool
	Encrypted() public.Key
}

Access represents a list of pubkeys that can access data

type AccessBuilder

type AccessBuilder interface {
	Create() AccessBuilder
	WithResource(res Mutable) AccessBuilder
	WithOwners(owners []*uuid.UUID) AccessBuilder
	WithEncryptionPubKey(pubKey public.Key) AccessBuilder
	Now() (Access, error)
}

AccessBuilder represents an access builder

func NewAccessBuilder

func NewAccessBuilder() AccessBuilder

NewAccessBuilder creates a new access builder instance

type Accessible

type Accessible interface {
	ImmutableAccessible
	IsImmutable() bool
	Immutable() ImmutableAccessible
	IsMutable() bool
	Mutable() MutableAccessible
}

Accessible represents an accessible resource

type AccessibleBuilder

type AccessibleBuilder interface {
	Create() AccessibleBuilder
	WithImmutable(immutable ImmutableAccessible) AccessibleBuilder
	WithMutable(mutable MutableAccessible) AccessibleBuilder
	Now() (Accessible, error)
}

AccessibleBuilder represents an accessible builder

func NewAccessibleBuilder

func NewAccessibleBuilder() AccessibleBuilder

NewAccessibleBuilder creates a new accessible builder instance

type Builder

type Builder interface {
	Create() Builder
	WithHash(hash hash.Hash) Builder
	WithAccessible(accessible Accessible) Builder
	WithImmutable(immutable Immutable) Builder
	WithMutable(mutable Mutable) Builder
	Now() (Resource, error)
}

Builder represents a resource builder

func NewBuilder

func NewBuilder() Builder

NewBuilder creates a new builder instance

type Immutable

type Immutable interface {
	ID() *uuid.UUID
	Hash() hash.Hash
	CreatedOn() time.Time
}

Immutable represents an immutable resource

type ImmutableAccessible

type ImmutableAccessible interface {
	Immutable
	HasAccess() bool
	Access() Access
}

ImmutableAccessible represents an immutable accessible resource

type ImmutableAccessibleBuilder

type ImmutableAccessibleBuilder interface {
	Create() ImmutableAccessibleBuilder
	WithHash(hash hash.Hash) ImmutableAccessibleBuilder
	WithAccess(access Access) ImmutableAccessibleBuilder
	Now() (ImmutableAccessible, error)
}

ImmutableAccessibleBuilder represents an immutable accessible builder

func NewImmutableAccessibleBuilder

func NewImmutableAccessibleBuilder() ImmutableAccessibleBuilder

NewImmutableAccessibleBuilder creates a new immutable accessible builder instance

type ImmutableBuilder

type ImmutableBuilder interface {
	Create() ImmutableBuilder
	WithHash(hash hash.Hash) ImmutableBuilder
	Now() (Immutable, error)
}

ImmutableBuilder represents an immutable builder

func NewImmutableBuilder

func NewImmutableBuilder() ImmutableBuilder

NewImmutableBuilder creates a new immutable builder instance

type Mutable

type Mutable interface {
	Immutable
	HasParent() bool
	Parent() Mutable
}

Mutable represents a mutable resource

type MutableAccessible

type MutableAccessible interface {
	Mutable
	HasAccess() bool
	Access() Access
}

MutableAccessible represents a mutable accessible resource

type MutableAccessibleBuilder

type MutableAccessibleBuilder interface {
	Create() MutableAccessibleBuilder
	WithHash(hash hash.Hash) MutableAccessibleBuilder
	WithParent(parent Mutable) MutableAccessibleBuilder
	WithAccess(access Access) MutableAccessibleBuilder
	Now() (MutableAccessible, error)
}

MutableAccessibleBuilder represents a mutable accessible builder

func NewMutableAccessibleBuilder

func NewMutableAccessibleBuilder() MutableAccessibleBuilder

NewMutableAccessibleBuilder creates a new mutable accessible builder instance

type MutableBuilder

type MutableBuilder interface {
	Create() MutableBuilder
	WithHash(hash hash.Hash) MutableBuilder
	WithParent(parent Mutable) MutableBuilder
	Now() (Mutable, error)
}

MutableBuilder represents a mutable builder

func NewMutableBuilder

func NewMutableBuilder() MutableBuilder

NewMutableBuilder creates a new mutable builder instance

type Resource

type Resource interface {
	Immutable
	IsCompatible(accessible Accessible) bool
	IsImmutable() bool
	Immutable() Immutable
	IsMutable() bool
	Mutable() Mutable
}

Resource represents an immutable or mutable resource

Jump to

Keyboard shortcuts

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