Options
All
  • Public
  • Public/Protected
  • All
Menu

A strategy for handling one or more types of auxiliary resources. References to "an auxiliary resource" implicitly imply a specific type of auxiliary resources supported by this strategy.

Hierarchy

Index

Properties

addMetadata

addMetadata: (metadata: RepresentationMetadata) => Promise<void>

Adds metadata related to this auxiliary resource, in case this is required for this type of auxiliary resource. The metadata that is added depends on the given identifier being an auxiliary or associated resource: the metadata will be used to link to the other one, and potentially add extra typing info.

Used for: Solid, ยง4.3.1: "For any defined auxiliary resource available for a given Solid resource, all representations of that resource MUST include an HTTP Link header pointing to the location of each auxiliary resource." https://solid.github.io/specification/protocol#auxiliary-resources-server

The above is an example of how that metadata would only be added in case the input is the associated identifier.

param

Metadata to update.

Type declaration

getAssociatedIdentifier

getAssociatedIdentifier: (identifier: ResourceIdentifier) => ResourceIdentifier

Returns the identifier of the resource which this auxiliary resource is referring to. This does not guarantee that this resource exists.

param

Identifier of the auxiliary resource.

returns

The ResourceIdentifier of the corresponding resource.

Type declaration

getAuxiliaryIdentifier

getAuxiliaryIdentifier: (identifier: ResourceIdentifier) => ResourceIdentifier

Returns the identifier of the auxiliary resource corresponding to the given resource. This does not guarantee that this auxiliary resource exists.

Should error if there are multiple results: see getAuxiliaryIdentifiers.

param

The ResourceIdentifier of which we need the corresponding auxiliary resource.

returns

The ResourceIdentifier of the corresponding auxiliary resource.

Type declaration

getAuxiliaryIdentifiers

getAuxiliaryIdentifiers: (identifier: ResourceIdentifier) => ResourceIdentifier[]

Returns all the identifiers of corresponding auxiliary resources. This can be used when there are potentially multiple results. In the case of a single result this should be an array containing the result of getAuxiliaryIdentifier.

param

The ResourceIdentifier of which we need the corresponding auxiliary resources.

returns

The ResourceIdentifiers of the corresponding auxiliary resources.

Type declaration

isAuxiliaryIdentifier

isAuxiliaryIdentifier: (identifier: ResourceIdentifier) => boolean

Checks if the input identifier corresponds to an auxiliary resource. This does not check if that auxiliary resource exists, only if the identifier indicates that there could be an auxiliary resource there.

param

Identifier to check.

returns

true if the input identifier points to an auxiliary resource.

Type declaration

isRootRequired

isRootRequired: (identifier: ResourceIdentifier) => boolean

Whether this auxiliary resource in a root storage container. If yes, this means they can't be deleted individually from such a container.

param

Identifier of the auxiliary resource.

Type declaration

validate

validate: (representation: Representation) => Promise<void>

Validates if the representation contains valid data for an auxiliary resource. Should throw an error in case the data is invalid.

param

Identifier of the auxiliary resource.

param

Representation of the auxiliary resource.

Type declaration