@jrmc/adonis-attachment
Version:
Turn any field on your Lucid model to an attachment data type
47 lines • 1.51 kB
TypeScript
/**
* @jrmc/adonis-attachment
*
* @license MIT
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
*/
import type { LucidRow } from '@adonisjs/lucid/types/model';
import type { DriveService, SignedURLOptions } from '@adonisjs/drive/types';
import type { LucidOptions, AttachmentBaseAttributes, AttachmentBase as AttachmentBaseInterface } from '../types/attachment.js';
import type { Exif, Input } from '../types/input.js';
export declare class AttachmentBase implements AttachmentBaseInterface {
#private;
drive: DriveService;
input?: Input;
size: number;
extname: string;
mimeType: string;
meta?: Exif;
originalPath?: string;
url?: string;
options: LucidOptions;
constructor(drive: DriveService, attributes: AttachmentBaseAttributes, input?: Input);
/**
* Getters / setters
*/
get name(): string;
set name(name: string);
get folder(): string | undefined;
get path(): string;
/**
* Methods
*/
getDisk(): import("flydrive").Disk;
getBytes(): Promise<Uint8Array<ArrayBufferLike>>;
getBuffer(): Promise<Buffer<ArrayBuffer>>;
getStream(): Promise<import("stream").Readable>;
getUrl(): Promise<string>;
getSignedUrl(signedUrlOptions?: SignedURLOptions): Promise<string>;
setOptions(options: LucidOptions): this;
makeFolder(record?: LucidRow): this;
/**
*
*/
toObject(): AttachmentBaseAttributes;
toJSON(): Object;
}
//# sourceMappingURL=attachment_base.d.ts.map