// ignore_for_file: non_constant_identifier_names, avoid_init_to_null

import 'package:json_annotation/json_annotation.dart';

part 'base_data.g.dart';

@JsonSerializable()
class DataCommon {
  late String workspace;
  late String jenkinsHome;
  late String jenkinsUrl;
  late String buildUrl;
  late String jobUrl;
  late String jobName;
  late String gitCommit;
  late int buildNumber;
  late int buildID;
  late String buildDisplayName;
  late String gitBranch;
  late String buildTag;

  DataCommon();

  factory DataCommon.fromJson(Map<String, dynamic> json) =>
      _$DataCommonFromJson(json);
  Map<String, dynamic> toJson() => _$DataCommonToJson(this);
}

@JsonSerializable()
class DataParam {
  DataParam();

  late String? workspace;
  late List<int>? passExitCodes;
  late String? setResult;
  late String? setExitCode;
  late bool? showPrint = true;

  factory DataParam.fromJson(Map<String, dynamic> json) =>
      _$DataParamFromJson(json);
  Map<String, dynamic> toJson() => _$DataParamToJson(this);
}

class DataFile extends DataParam {
  DataFile();
  late List<String>? ignorePattern;
}
