func AppendIfMissing(reports []Report, report Report) (newSlice []Report, appended bool) {
	for _, existing := range reports {
		if existing.Equal(report) {
			return reports, false
		}
	}
	return append(reports, report), true
}
___________________________________________________________________________________________________________________
AppendIfMissing appends the given report to the provided reports slice if not already present.
If appended, returns the new slice and true.
If not appended, returns the original slice and false.
package types
import (
	"fmt"
	"strings"
	"github.com/cosmos/cosmos-sdk/codec"
)
func NewReport(postID string, reportType string, message string, user string) Report {
	return Report{
		PostID:  postID,
		Type:    reportType,
		Message: message,
		User:    user,
	}
}
func (r Report) Validate() error {
	if !IsValidPostID(r.PostID) {
		return fmt.Errorf("invalid post id: %s", r.PostID)
	}
	if len(strings.TrimSpace(r.Type)) == 0 {
		return fmt.Errorf("report type cannot be empty")
	}
	if len(strings.TrimSpace(r.Message)) == 0 {
		return fmt.Errorf("report message cannot be empty")
	}
	if len(r.User) == 0 {
		return fmt.Errorf("invalid user address: %s", r.User)
	}
	return nil
}