/**
 * DTOs for UpsertExternalGameRatingUseCase
 */

export interface UpsertExternalGameRatingInput {
  userId: string;
  gameKey: string;
  ratings: Array<{
    type: string;
    value: number;
  }>;
  provenance: {
    source: string;
    lastSyncedAt: string; // ISO 8601
    verified?: boolean;
  };
}

export interface UpsertExternalGameRatingOutput {
  success: boolean;
  profile: {
    userId: string;
    gameKey: string;
    ratingCount: number;
    ratingTypes: string[];
    source: string;
    lastSyncedAt: string;
    verified: boolean;
  };
  action: 'created' | 'updated';
  errors?: string[];
}