import 'package:json_annotation/json_annotation.dart';

part '../../../_generated/data/remote/models/media_image.g.dart';

@JsonSerializable(fieldRename: FieldRename.snake)
class MediaImage {
  final String url;
  final String preload;
  final String thumbnail;
  final String productHero;
  final String alt;

  const MediaImage({
    required this.url,
    required this.preload,
    required this.thumbnail,
    required this.productHero,
    required this.alt,
  });

  static empty() => const MediaImage(url: "", preload: "", thumbnail: "", productHero: "", alt: "");

  factory MediaImage.fromJson(Map<String, dynamic> json) => _$MediaImageFromJson(json);

  Map<String, dynamic> toJson() => _$MediaImageToJson(this);
}