adonis-drive-r2
Version:
R2 driver for AdonisJS drive
35 lines (34 loc) • 953 B
TypeScript
/// <reference types="@adonisjs/drive/build/adonis-typings" />
declare module '@ioc:Adonis/Core/Drive' {
import { S3Client, S3ClientConfig } from '@aws-sdk/client-s3';
/**
* Configuration accepted by the R2 driver
*/
type R2DriverConfig = S3ClientConfig & {
driver: 'r2';
visibility: 'public' | 'private';
bucket: string;
cdnUrl?: string;
key?: string;
secret?: string;
accountId: string;
};
/**
* The R2 driver implementation interface
*/
interface R2DriverContract extends DriverContract {
name: 'r2';
adapter: S3Client;
/**
* Returns a new instance of the R2 driver with a custom runtime
* bucket
*/
bucket(bucket: string): R2DriverContract;
}
interface DriversList {
r2: {
implementation: R2DriverContract;
config: R2DriverConfig;
};
}
}