Class QuotaStrategyAbstract

A QuotaStrategy is used when we want to set a limit to the amount of data that can be stored on the server. This can range from a limit for the whole server to a limit on a per pod basis. The way the size of a resource is calculated is implemented by the implementing classes. This can be bytes, quads, file count, ...

Hierarchy (view full)

Constructors

Properties

limit: Size
reporter: SizeReporter<unknown>

Methods

  • Get a Passthrough stream that will keep track of the available space. If the quota is exceeded the stream will emit an error and destroy itself. Like other Passthrough instances this will simply pass on the chunks, when the quota isn't exceeded.

    Parameters

    Returns Promise<Guarded<PassThrough>>

    a Passthrough instance that errors when quota is exceeded

  • Get the available space when writing data to the given identifier. If the given resource already exists it will deduct the already taken up space by that resource since it is going to be overwritten and thus counts as available space.

    Parameters

    • identifier: ResourceIdentifier

      the identifier of the resource of which you want the available space

    Returns Promise<Size>

    the available space and the unit of the space as a Size object

  • Get the currently used/occupied space.

    Parameters

    Returns Promise<Size>

    a Size object containing the requested value. If quota is not relevant for this identifier, Size.amount should be Number.MAX_SAFE_INTEGER