import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:flutter/foundation.dart';
part 'channel_plan_list.freezed.dart';
part 'channel_plan_list.g.dart';

@freezed
abstract class ChannelPlanList with _$ChannelPlanList {
  const factory ChannelPlanList({List<ChannelPlan>? list}) = _ChannelPlanList;

  factory ChannelPlanList.fromJson(Map<String, Object?> json) =>
      _$ChannelPlanListFromJson(json);
}

@freezed
abstract class ChannelPlan with _$ChannelPlan {
  const factory ChannelPlan({
    String? channelItemId,
    String? title,
    String? subTitle,
    String? introduce,
    double? orgPrice,
    double? price,
    String? tag,
    int? tagType,
    int? currency,
    bool? recommend,
    bool? isDefault,
    int? sort,
    int? deviceLimit,
    bool? isSubscribe,
    int? subscribeType,
    int? subscribePeriodValue,
    String? payoutType,
    String? payoutData,
  }) = _ChannelPlan;

  factory ChannelPlan.fromJson(Map<String, Object?> json) =>
      _$ChannelPlanFromJson(json);
}
