// ignore_for_file: non_constant_identifier_names, avoid_init_to_null

import 'package:json_annotation/json_annotation.dart';
import 'package:oto/oto/data/base_data.dart';

part 'integration_data.g.dart';

//Jira
@JsonSerializable()
class DataJira extends DataParam {
  DataJira();

  late String id;
  late String token;
  late String domain;
  late String issue;
  late String? subChannel;
  late List<DataJiraUser> users;
  late String setSlackData;
  late String setSlackChannel;

  factory DataJira.fromJson(Map<String, dynamic> json) =>
      _$DataJiraFromJson(json);
  @override
  Map<String, dynamic> toJson() => _$DataJiraToJson(this);
}

//Jira User
@JsonSerializable()
class DataJiraUser extends DataParam {
  DataJiraUser();

  late String? mail = null;
  late String? slackID = null;

  factory DataJiraUser.fromJson(Map<String, dynamic> json) =>
      _$DataJiraUserFromJson(json);
  @override
  Map<String, dynamic> toJson() => _$DataJiraUserToJson(this);
}

//Jenkins Parameter Modify
@JsonSerializable()
class DataJenkinsParameterModify extends DataParam {
  DataJenkinsParameterModify();

  late String? content;
  late String? name;
  late dynamic value;
  late String? setContent;

  factory DataJenkinsParameterModify.fromJson(Map<String, dynamic> json) =>
      _$DataJenkinsParameterModifyFromJson(json);
  @override
  Map<String, dynamic> toJson() => _$DataJenkinsParameterModifyToJson(this);
}
