Spaces:
Runtime error
Runtime error
File size: 1,145 Bytes
4327358 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | import { S3MediaData } from '@waha/structures/media.s3.dto';
/**
* Handles saving data to the physical storage
*/
interface Message {
// false_111111111@c.us_AAAAAAAAAAAAAA
id: string;
// 1111111@c.us
chatId: string;
}
interface File {
extension: string;
filename?: string;
}
export interface MediaData {
session: string;
message: Message;
file: File;
}
/**
* For stored media data
*/
export interface MediaStorageData {
url: string;
s3?: S3MediaData;
}
abstract class IMediaStorage {
abstract init(): Promise<void>;
abstract save(buffer: Buffer, data: MediaData): Promise<boolean>;
abstract exists(data: MediaData): Promise<boolean>;
abstract getStorageData(data: MediaData): Promise<MediaStorageData>;
abstract purge(): Promise<void>;
abstract close(): Promise<void>;
}
export function getMetadata(data: MediaData): any {
const now = new Date();
return {
'waha-session': data.session,
'waha-chat-id': data.message.chatId,
'waha-message-id': data.message.id,
'waha-media-filename': data.file.filename,
'waha-created-at': now.getTime(),
};
}
export { IMediaStorage };
|