Interface
IAssetsStorage

Interface defining base functionality for asset storage operations in the WebReportDesigner system.

Definition

Namespace:Telerik.WebReportDesigner.Services

Assembly:Telerik.WebReportDesigner.Services.dll

Syntax:

cs-api-definition
public interface IAssetsStorage

Methods

CreateFolderAsync(CreateFolderModel)

Creates a new folder in the specified parent location.

Declaration

cs-api-definition
Task<ResourceFolderModel> CreateFolderAsync(CreateFolderModel model)

Parameters

model

CreateFolderModel

The model containing the create operation data

Returns

Task<ResourceFolderModel>

The ResourceFolderModel of the newly created folder

Remarks

Establishes a new directory structure within the storage system, enabling hierarchical organization of assets and supporting the folder creation operations in the Assets Manager.

DeleteAsync(string)

Deletes the resource at the specified URI.

Declaration

cs-api-definition
Task DeleteAsync(string uri)

Parameters

uri

string

The unique resource identifier (URI)

Returns

Task

Remarks

Removes the resource from the storage system permanently, supporting cleanup operations and manual resource management through the Assets Manager interface.

DeleteFolderAsync(string)

Deletes the folder at the specified URI.

Declaration

cs-api-definition
Task DeleteFolderAsync(string uri)

Parameters

uri

string

The unique resource identifier (URI)

Returns

Task

Remarks

Removes the folder and all its contents from the storage system, providing cleanup functionality for the Assets Manager and automated maintenance operations.

GetAsync(string)

Finds a resource by its name and returns its contents as a byte array.

Declaration

cs-api-definition
Task<byte[]> GetAsync(string resourceName)

Parameters

resourceName

string

The name of the resource to retrieve.

Returns

Task<byte[]>

Task<TResult>, where TResult is byte[], containing the resource bytes.

Remarks

Must throw a ReportNotFoundException when the requested resourceName represents a report definition and was not found. Must throw a ResourceNotFoundException when the requested resourceName represents a resource and was not found.

GetFolderAsync(string)

Retrieves the folder model at the specified URI or returns null if not found.

Declaration

cs-api-definition
Task<ResourceFolderModel> GetFolderAsync(string uri)

Parameters

uri

string

The unique resource identifier (URI).

Returns

Task<ResourceFolderModel>

The ResourceFolderModel of the obtained folder.

Remarks

Provides folder metadata including name, parent relationships, and subfolder indicators for UI components that require folder information without loading the complete contents.

GetFolderContentsAsync(string)

Retrieves all resources contained in the specified folder.

Declaration

cs-api-definition
Task<IEnumerable<ResourceModelBase>> GetFolderContentsAsync(string uri)

Parameters

uri

string

The unique resource identifier (URI) of the folder

Returns

Task<IEnumerable<ResourceModelBase>>

A list of all resources found in the folder as an enumerable of ResourceModelBase

Remarks

Returns both files and subfolders within the specified directory, enabling hierarchical navigation and content listing in the Assets Manager interface.

GetModelAsync(string)

Retrieves the resource model at the specified URI or returns null if not found.

Declaration

cs-api-definition
Task<ResourceFileModel> GetModelAsync(string uri)

Parameters

uri

string

The unique resource identifier (URI) of the resource.

Returns

Task<ResourceFileModel>

ResourceFileModel, containing the information about the resource.

Remarks

Provides complete resource metadata including size, timestamps, and path information for displaying in the Assets Manager and supporting resource management operations.

RenameAsync(RenameResourceModel)

Renames an existing resource to a new name.

Declaration

cs-api-definition
Task<ResourceFileModel> RenameAsync(RenameResourceModel model)

Parameters

model

RenameResourceModel

The model containing the rename operation data

Returns

Task<ResourceFileModel>

ResourceFileModel, containing the information about the renamed resource.

Remarks

Updates the resource name while preserving its content and location, maintaining proper file extension validation and preventing naming conflicts within the storage system.

RenameFolderAsync(RenameFolderModel)

Renames an existing folder to a new name.

Declaration

cs-api-definition
Task<ResourceFolderModel> RenameFolderAsync(RenameFolderModel model)

Parameters

model

RenameFolderModel

The model containing the rename operation data

Returns

Task<ResourceFolderModel>

The ResourceFolderModel of the renamed folder

Remarks

Updates the folder name while preserving its location and contents, maintaining all references and hierarchical relationships within the storage system.

SaveAsync(SaveResourceModel, byte[])

Saves raw data as a new resource and returns its model information.

Declaration

cs-api-definition
Task<ResourceFileModel> SaveAsync(SaveResourceModel model, byte[] resource)

Parameters

model

SaveResourceModel

The model containing the save operation data.

resource

byte[]

The contents of the resource.

Returns

Task<ResourceFileModel>

ResourceFileModel, containing the information about the saved resource.

Remarks

Persists the resource data to the storage system and creates the necessary directory structure if it doesn't exist, supporting upload operations and programmatic resource creation.