44 lines
999 B
TypeScript
44 lines
999 B
TypeScript
|
import { FileType } from '../types/file.type';
|
||
|
import { FileEventJson } from '@ucap-webmessenger/protocol-event';
|
||
|
|
||
|
export interface FileInfo {
|
||
|
// 대화방SEQ
|
||
|
roomSeq: string;
|
||
|
// 이벤트SEQ
|
||
|
eventSeq: number;
|
||
|
// 파일SEQ
|
||
|
seq: number;
|
||
|
// 송신자SEQ
|
||
|
senderSeq: number;
|
||
|
// 파일타입
|
||
|
type: FileType;
|
||
|
// 파일이름
|
||
|
name: string;
|
||
|
// 파일URL
|
||
|
url: string;
|
||
|
// 파일크기(byte)
|
||
|
size: number;
|
||
|
// 전송일시
|
||
|
sendDate: string;
|
||
|
// 수신완료자수
|
||
|
receivedUserCount: number;
|
||
|
// 수신자수
|
||
|
receiverCount: number;
|
||
|
// 발신내용
|
||
|
sentMessage: string;
|
||
|
// 발신내용 For Json
|
||
|
sentMessageJson?: FileEventJson;
|
||
|
}
|
||
|
|
||
|
export function isMedia(fileInfo: FileInfo): boolean {
|
||
|
return (
|
||
|
[FileType.Image, FileType.Sound, FileType.Video, FileType.Bundle].some(
|
||
|
v => v === fileInfo.type
|
||
|
) || isSound(fileInfo)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
export function isSound(fileInfo: FileInfo): boolean {
|
||
|
return -1 !== ['mp3'].indexOf(fileInfo.sentMessageJson.fileExt);
|
||
|
}
|