import 'package:clean/base/base_request.dart';
import 'package:json_annotation/json_annotation.dart';

part 'event_push_request.g.dart';

@JsonSerializable()
class EventPushRequest {
  @JsonKey(name: 'ak')
  late String ak;

  @JsonKey(name: 'cp')
  late Map<String, dynamic> cp;

  @JsonKey(name: 'es')
  List<Map<String, dynamic>> es;

  @JsonKey(name: 'pr')
  Map<String, dynamic>? pr;

  @JsonKey(name: 'ft')
  late int ft;

  EventPushRequest(this.ft, this.es, Map<String, dynamic>? pr) {
    ak = "4808237ea7d1462a8de80c8ce7ae5c06";
    cp = <String, dynamic>{};
    cp["\$pkg"] = BaseRequest().packageName;
    cp["\$aplf"] = BaseRequest().appPlatform;
    cp["\$chnl"] = BaseRequest().channelName;
    cp["\$aver"] = BaseRequest().appVersionName;
    cp["\$avec"] = BaseRequest().appVersionCode;
    cp["\$Idfa"] = BaseRequest().idfa;
    cp["\$idfv"] = BaseRequest().idfv;
    cp["\$tplf"] = BaseRequest().tgPlatform;
    cp["\$osv"] = BaseRequest().tgPlatform;
    cp["\$modl"] = BaseRequest().model;
    cp["\$brnd"] = BaseRequest().brand;
  }

  @override
  Map<String, dynamic> toJson() => _$EventPushRequestToJson(this);
}