Zum Hauptinhalt springen

ILinkedBinaryDataSource

Namespace: Meshmakers.Octo.Runtime.Contracts.Repositories

Interface for handling large binary files in the repository.

public interface ILinkedBinaryDataSource

Methods​

UploadFileSystemBinaryAsync(IOctoSession, RtEntityId, String, String, Stream, CancellationToken)​

Uploads a large binary file to the repository

Task<OctoObjectId> UploadFileSystemBinaryAsync(IOctoSession session, RtEntityId rtEntityId, string filename, string contentType, Stream stream, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

rtEntityId RtEntityId
Runtime entity id of the associated entity

filename String
Filename of the file

contentType String
Content type of the file

stream Stream
Binary stream of the file

cancellationToken CancellationToken
An optional cancellation token

Returns​

Task<OctoObjectId>

UploadTemporaryBinaryAsync(IOctoSession, String, String, DateTime, Stream, CancellationToken)​

Uploads a large binary file to the repository

Task<OctoObjectId> UploadTemporaryBinaryAsync(IOctoSession session, string filename, string contentType, DateTime expiryDateTime, Stream stream, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

filename String
Filename of the file

contentType String
Content type of the file

expiryDateTime DateTime
Expiry date time of the file

stream Stream
Binary stream of the file

cancellationToken CancellationToken
An optional cancellation token

Returns​

Task<OctoObjectId>

ReplaceFileSystemBinaryAsync(IOctoSession, OctoObjectId, String, String, Stream, CancellationToken)​

Replaces a large binary file in the repository based on the large binary id

Task ReplaceFileSystemBinaryAsync(IOctoSession session, OctoObjectId largeBinaryId, string filename, string contentType, Stream stream, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

largeBinaryId OctoObjectId
Object id of the large binary

filename String
Filename of the file

contentType String
Content type of the file

stream Stream
Stream of the file

cancellationToken CancellationToken
An optional cancellation token

Returns​

Task

ReplaceTemporaryLargeBinaryAsync(IOctoSession, String, String, Stream, CancellationToken)​

Replaces a large binary file in the repository based on the filename and binary type

Task<OctoObjectId> ReplaceTemporaryLargeBinaryAsync(IOctoSession session, string filename, string contentType, Stream stream, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

filename String
Filename of the file

contentType String
Content type of the file

stream Stream
Stream of the file

cancellationToken CancellationToken
An optional cancellation token

Returns​

Task<OctoObjectId>
Object id of the large binary

DeleteAllFileSystemBinariesAsync(IOctoSession, RtEntityId, CancellationToken)​

Deletes all large binary files from the repository based on the runtime entity id

Task DeleteAllFileSystemBinariesAsync(IOctoSession session, RtEntityId rtEntityId, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

rtEntityId RtEntityId
Runtime entity id of the associated entity

cancellationToken CancellationToken
An optional cancellation token

Returns​

Task

DeleteTemporaryLargeBinaryAsync(IOctoSession, OctoObjectId, CancellationToken)​

Deletes a large binary file from the repository

Task DeleteTemporaryLargeBinaryAsync(IOctoSession session, OctoObjectId largeBinaryId, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

largeBinaryId OctoObjectId
Object id of the large binary

cancellationToken CancellationToken
An optional cancellation token

Returns​

Task

DownloadBinaryAsync(IOctoSession, OctoObjectId, CancellationToken)​

Downloads a large binary file from the repository based on the large binary id

Task<IDownloadStreamHandler> DownloadBinaryAsync(IOctoSession session, OctoObjectId largeBinaryId, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

largeBinaryId OctoObjectId
Object id of the large binary

cancellationToken CancellationToken
An optional cancellation token

Returns​

Task<IDownloadStreamHandler>
Handler for the download stream

GetFileSystemBinaryAsync(IOctoSession, OctoObjectId, CancellationToken)​

Gets a large binary file from the repository based on the large binary id

Task<IBinaryInfo> GetFileSystemBinaryAsync(IOctoSession session, OctoObjectId largeBinaryId, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

largeBinaryId OctoObjectId
Object id of the large binary

cancellationToken CancellationToken
Optional cancellation token

Returns​

Task<IBinaryInfo>
Binary info of the file including size, content type, etc.

GetTemporaryBinaryAsync(IOctoSession, OctoObjectId, CancellationToken)​

Gets a large binary file from the repository based on the object id

Task<IBinaryInfo> GetTemporaryBinaryAsync(IOctoSession session, OctoObjectId binaryId, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

binaryId OctoObjectId
Binary id of the file

cancellationToken CancellationToken
Optional cancellation token

Returns​

Task<IBinaryInfo>
Binary info of the file including size, content type, etc.

GetTemporaryBinaryAsync(IOctoSession, String, CancellationToken)​

Gets a large binary file from the repository based on the filename and binary type

Task<IBinaryInfo> GetTemporaryBinaryAsync(IOctoSession session, string fileName, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

fileName String
Filename of the file

cancellationToken CancellationToken
Optional cancellation token

Returns​

Task<IBinaryInfo>
Binary info of the file including size, content type, etc.

DeleteExpiredTemporaryLargeBinariesAsync(IOctoSession, DateTime, CancellationToken)​

Deletes all expired temporary large binaries from the repository. This method is typically called by a background job to clean up expired files.

Task DeleteExpiredTemporaryLargeBinariesAsync(IOctoSession session, DateTime expiryDateTime, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

expiryDateTime DateTime
Expiry date time to filter expired binaries

cancellationToken CancellationToken
Optional cancellation token

Returns​

Task

DeleteAllTemporaryLargeBinariesAsync(IOctoSession, CancellationToken)​

Deletes all temporary large binaries from the repository. This method is typically called by a background job to clean up all temporary files.

Task DeleteAllTemporaryLargeBinariesAsync(IOctoSession session, CancellationToken cancellationToken)

Parameters​

session IOctoSession
Session object for transaction handling

cancellationToken CancellationToken
Optional cancellation token

Returns​

Task