import { Document, Types } from "mongoose";

export type ChatMediaType = "image" | "video" | "file";

export interface IChatMediaItem {
  /** Full R2 public URL, or legacy `/uploads/...` path */
  url: string;
  type: ChatMediaType;
  mimeType?: string | null;
  fileName?: string | null;
}

export interface IMessage extends Document {
  conversationId: Types.ObjectId;
  senderId: Types.ObjectId;
  /** Optional caption; empty for media-only messages */
  text: string;
  media: IChatMediaItem[];
  createdAt: Date;
  updatedAt: Date;
}
