export interface FeedbackUser {
  id: string;
  createdAt: string;
  updatedAt: string;
  email: string | null;
  phone: string;
  userName: string;
  firstName: string;
  lastName: string;
  birthDate: string;
  nationalCode: string;
  profilePic: string | null;
  emailVerified: boolean;
  financialType: string | null;
  deletedAt: string | null;
}

export interface FeedbackService {
  id: string;
  createdAt: string;
  updatedAt: string;
  name: string;
  title: string;
  pageTitle: string;
  pageDescription: string;
  slug: string;
  isDanakSuggest: boolean;
  description: string;
  author: string;
  createDate: string;
  userCount: number;
  serviceLanguage: string;
  softwareLanguage: string;
  metaDescription: string;
  isActive: boolean;
  showInSlider: boolean;
  link: string;
  icon: string;
  coverUrl: string;
  deletedAt: string | null;
}

export interface FeedbackMetadata {
  userIp: string;
  referer: string;
  userAgent: string;
  acceptLanguage: string;
  acceptEncoding: string;
  contentType: string;
  origin: string;
  host: string;
  xForwardedFor: string;
  xRealIp: string;
  timestamp: string;
  platform?: string;
  mobile?: string;
}

export interface Feedback {
  id: string;
  createdAt: string;
  updatedAt: string;
  content: string;
  rating: number;
  metadata: FeedbackMetadata;
  user: FeedbackUser;
  phone: string | null;
  email: string | null;
  service: FeedbackService;
  deletedAt: string | null;
}

export interface FeedbackPager {
  page: number;
  limit: number;
  totalItems: number;
  totalPages: number;
  prevPage: boolean;
  nextPage: boolean;
}

export interface FeedbackResponse {
  statusCode: number;
  success: boolean;
  data: {
    pager: FeedbackPager;
    feedbacks: Feedback[];
  };
}
