package report

type reportUserDTO struct {
	Avatar               string `json:"avatar"`
	DefaultDisplayUserID string `json:"defaultDisplayUserId"`
	DisplayUserID        string `json:"displayUserId"`
	UserID               string `json:"userId"`
	Username             string `json:"username"`
}

type reportRoomDTO struct {
	CoverURL    string `json:"coverUrl"`
	RoomID      string `json:"roomId"`
	RoomShortID string `json:"roomShortId"`
	Title       string `json:"title"`
}

type reportTargetDTO struct {
	Type string         `json:"type"`
	Room *reportRoomDTO `json:"room,omitempty"`
	User *reportUserDTO `json:"user,omitempty"`
}

type reportDTO struct {
	CreatedAtMS    int64           `json:"createdAtMs"`
	ImageURLs      []string        `json:"imageUrls"`
	Reason         string          `json:"reason"`
	ReportID       string          `json:"reportId"`
	ReporterUserID string          `json:"reporterUserId"`
	ReportType     string          `json:"reportType"`
	RequestID      string          `json:"requestId"`
	RoomID         string          `json:"roomId"`
	Status         string          `json:"status"`
	Target         reportTargetDTO `json:"target"`
	TargetType     string          `json:"targetType"`
	UpdatedAtMS    int64           `json:"updatedAtMs"`
	UserID         string          `json:"userId"`
}
