LocalStorage
@quik/storage-express / LocalStorage
Variable: LocalStorage
constLocalStorage:object
Defined in: storage-express/src/local.ts:433
Exported helpers for working with local file storage.
Type Declaration
Decorators
Decorators:
object
Helper decorators for Express route handlers.
Decorators.ArrayFile
ArrayFile: (
fieldName,maxCount?) => <This,Args,Return>(target,context) =>MethodDecoratorType<This,Args,Return>
Accept multiple file uploads for a field and expose them on the request context.
Parameters
fieldName
string
maxCount?
number
Returns
<This, Args, Return>(target, context) => MethodDecoratorType<This, Args, Return>
Decorators.ArrayFilePersist
ArrayFilePersist: (
fieldName,maxCount?,destination?) => <This,Args,Return>(target,context) =>MethodDecoratorType<This,Args,Return>
Accept multiple files and persist them to storage.
Parameters
fieldName
string
Multer field name.
maxCount?
number
Max number of files to accept.
destination?
string
Destination folder or file path.
Returns
<This, Args, Return>(target, context) => MethodDecoratorType<This, Args, Return>
Decorators.NoUploads
NoUploads: () => <
This,Args,Return>(target,context) =>MethodDecoratorType<This,Args,Return>
Reject all file uploads for the route.
Returns
<This, Args, Return>(target, context) => MethodDecoratorType<This, Args, Return>
Decorators.RequireSignedToken
RequireSignedToken: (
purpose) => <This,Args,Return>(target,context) =>MethodDecoratorType<This,Args,Return> =RequireLocalStorageToken
Verify a signed local storage token before the handler runs; throws when missing, invalid, expired, or issued for a different purpose.
Endpoint middleware decorator that verifies a signed local storage token before the handler runs.
Expects the endpoint's query parameters to include a token field carrying a token produced by
LocalSignature.sign/QLocalStorageEngine.getSignedUploadURL/getSignedDownloadURL. Throws
StorageInvalidSignedURLError, StorageSignedURLExpiredError, or
StorageSignedURLPurposeMismatchError when the token is missing, malformed, expired, or was
issued for a different purpose; otherwise execution continues and the verified storage path is made
available to the handler via event.getObject(LOCAL_STORAGE_TOKEN_PATH_KEY).
Parameters
purpose
QLocalSignaturePurpose
Purpose the token must have been issued for.
Returns
<This, Args, Return>(target, context) => MethodDecoratorType<This, Args, Return>
Throws
StorageInvalidSignedURLError When the token query parameter is missing or malformed.
Throws
StorageSignedURLPurposeMismatchError When the token was issued for a different purpose.
Example
@Decorators.Endpoint.GET("/download", { query: LocalStorageTokenQuery })
@RequireLocalStorageToken("download")
public async download(event: QQueryParametersOnlyEvent<LocalStorageTokenQuery>): Promise<IQResponse> {
const path = event.getObject<string>(LOCAL_STORAGE_TOKEN_PATH_KEY);
// ...
}
Param
purpose
Purpose the token must have been issued for.
Decorators.SingleFile
SingleFile: (
fieldName) => <This,Args,Return>(target,context) =>MethodDecoratorType<This,Args,Return>
Accept a single file upload and expose it on the request context.
Parameters
fieldName
string
Returns
<This, Args, Return>(target, context) => MethodDecoratorType<This, Args, Return>
Decorators.SingleFilePersist
SingleFilePersist: (
fieldName,destination?) => <This,Args,Return>(target,context) =>MethodDecoratorType<This,Args,Return>
Accept a single file upload and persist it to storage.
Parameters
fieldName
string
Multer field name.
destination?
string
Destination folder or file path.
Returns
<This, Args, Return>(target, context) => MethodDecoratorType<This, Args, Return>
init
init: () =>
void
Initialise the Multer middleware and register entities if local storage is enabled.
Returns
void