oto/lib/oto/data/command_data.dart

420 lines
10 KiB
Dart

// ignore_for_file: non_constant_identifier_names, avoid_init_to_null
import 'package:dart_framework/utils/slack/slack_sender.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:dart_framework/core/app_data_manager.dart';
import 'package:dart_framework/utils/slack/slack_data.dart';
import 'package:oto_cli/oto/commands/command.dart';
import 'package:oto_cli/oto/data/pipeline_data.dart';
part 'command_data.g.dart';
/// ***************************** Base Data ****************************///
@JsonSerializable()
class DataBuild {
late Map<String, dynamic> property;
late DataPipeline? pipeline;
late List<DataCommand> commands;
DataBuild();
factory DataBuild.fromJson(Map<String, dynamic> json) =>
_$DataBuildFromJson(json);
Map<String, dynamic> toJson() => _$DataBuildToJson(this);
}
@JsonSerializable()
class DataCommand {
DataCommand();
late CommandType command;
late String id;
late dynamic param;
String get name {
return command.toString().replaceAll('CommandType.', '');
}
factory DataCommand.fromJson(Map<String, dynamic> json) =>
_$DataCommandFromJson(json);
Map<String, dynamic> toJson() => _$DataCommandToJson(this);
}
@JsonSerializable()
class DataParam {
DataParam();
late String? workspace;
}
/// ***************************** Command List ****************************///
//SimpleCommand
@JsonSerializable()
class DataSimpleCommand extends DataParam {
DataSimpleCommand();
late String message;
factory DataSimpleCommand.fromJson(Map<String, dynamic> json) =>
_$DataSimpleCommandFromJson(json);
Map<String, dynamic> toJson() => _$DataSimpleCommandToJson(this);
}
//AppDataCreator
@JsonSerializable()
class DataAppDataCreator extends DataParam {
DataAppDataCreator();
late SCMType scm;
late String relativeAssetPath;
@JsonKey(name: 'return-version')
late String return_version;
@JsonKey(name: 'return-hash')
late String return_hash;
late String name;
factory DataAppDataCreator.fromJson(Map<String, dynamic> json) =>
_$DataAppDataCreatorFromJson(json);
Map<String, dynamic> toJson() => _$DataAppDataCreatorToJson(this);
}
//BuildDart
@JsonSerializable()
class DataBuildDart extends DataParam {
DataBuildDart();
late bool? executeBuildRunner;
factory DataBuildDart.fromJson(Map<String, dynamic> json) =>
_$DataBuildDartFromJson(json);
Map<String, dynamic> toJson() => _$DataBuildDartToJson(this);
}
//BuildFlutter
@JsonSerializable()
class DataBuildFlutter extends DataBuildDart {
DataBuildFlutter();
late String platform;
late String? additional;
factory DataBuildFlutter.fromJson(Map<String, dynamic> json) =>
_$DataBuildFlutterFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataBuildFlutterToJson(this);
}
//BuildDartCompile
@JsonSerializable()
class DataBuildDartCompile extends DataBuildDart {
DataBuildDartCompile();
late String? targetDartFile;
late String? buildFileName;
factory DataBuildDartCompile.fromJson(Map<String, dynamic> json) =>
_$DataBuildDartCompileFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataBuildDartCompileToJson(this);
}
//BuildDotNet
@JsonSerializable()
class DataBuildDotNet extends DataParam {
DataBuildDotNet();
late String projectFile;
factory DataBuildDotNet.fromJson(Map<String, dynamic> json) =>
_$DataBuildDotNetFromJson(json);
Map<String, dynamic> toJson() => _$DataBuildDotNetToJson(this);
}
//BuildiOS
@JsonSerializable()
class DataBuildiOS extends DataParam {
DataBuildiOS();
late String scheme;
late String? destination;
late String xcworkspaceFilePath;
late bool? cleanPod;
factory DataBuildiOS.fromJson(Map<String, dynamic> json) =>
_$DataBuildiOSFromJson(json);
Map<String, dynamic> toJson() => _$DataBuildiOSToJson(this);
}
//ArchiveiOS
@JsonSerializable()
class DataArchiveiOS extends DataParam {
DataArchiveiOS();
late String xcworkspaceFilePath;
late String scheme;
late String archivePath;
factory DataArchiveiOS.fromJson(Map<String, dynamic> json) =>
_$DataArchiveiOSFromJson(json);
Map<String, dynamic> toJson() => _$DataArchiveiOSToJson(this);
}
//ExportiOS
@JsonSerializable()
class DataExportiOS extends DataParam {
DataExportiOS();
late String archivePath;
late String exportOptionPlistPath;
late String exportPath;
factory DataExportiOS.fromJson(Map<String, dynamic> json) =>
_$DataExportiOSFromJson(json);
Map<String, dynamic> toJson() => _$DataExportiOSToJson(this);
}
//PublishiOS
@JsonSerializable()
class DataPublishiOS extends DataParam {
DataPublishiOS();
late String bundleID;
late String version;
late String appName;
late String ipaURL;
late String menifestURL;
late String displayImageURL;
late String fullSizeImageURL;
late String destinationPath;
factory DataPublishiOS.fromJson(Map<String, dynamic> json) =>
_$DataPublishiOSFromJson(json);
Map<String, dynamic> toJson() => _$DataPublishiOSToJson(this);
}
//ExecuteApp
@JsonSerializable()
class DataExecuteApp extends DataParam {
DataExecuteApp();
late String executable;
late String desktopServicePath;
factory DataExecuteApp.fromJson(Map<String, dynamic> json) =>
_$DataExecuteAppFromJson(json);
Map<String, dynamic> toJson() => _$DataExecuteAppToJson(this);
}
//Uploader
@JsonSerializable()
class DataUploader extends DataParam {
DataUploader();
late bool sftp;
late int port;
late String host;
late String user;
late String password;
late Map<String, String> uploadMap;
factory DataUploader.fromJson(Map<String, dynamic> json) =>
_$DataUploaderFromJson(json);
Map<String, dynamic> toJson() => _$DataUploaderToJson(this);
}
class DataFile extends DataParam {
DataFile();
late List<String>? ignorePattern;
}
//Copy & Move
@JsonSerializable()
class DataCopy extends DataFile {
DataCopy();
late bool? isMove;
late Map<String, String> copyMap;
factory DataCopy.fromJson(Map<String, dynamic> json) =>
_$DataCopyFromJson(json);
Map<String, dynamic> toJson() => _$DataCopyToJson(this);
}
//Delete
@JsonSerializable()
class DataDelete extends DataFile {
DataDelete();
late List<String> list;
factory DataDelete.fromJson(Map<String, dynamic> json) =>
_$DataDeleteFromJson(json);
Map<String, dynamic> toJson() => _$DataDeleteToJson(this);
}
//Rename
@JsonSerializable()
class DataRename extends DataFile {
DataRename();
late Map<String, String> renameMap;
factory DataRename.fromJson(Map<String, dynamic> json) =>
_$DataRenameFromJson(json);
Map<String, dynamic> toJson() => _$DataRenameToJson(this);
}
//Slack
@JsonSerializable()
class DataSlackSender extends DataParam {
DataSlackSender();
late String token;
late String? property;
late DataSlack message;
factory DataSlackSender.fromJson(Map<String, dynamic> json) =>
_$DataSlackSenderFromJson(json);
Map<String, dynamic> toJson() => _$DataSlackSenderToJson(this);
}
//Slack Build
@JsonSerializable()
class DataSlackBuild extends DataSlackSender {
DataSlackBuild();
late String appName;
late SlackBuildType type;
late String color;
late String version;
late String downloadURL;
factory DataSlackBuild.fromJson(Map<String, dynamic> json) =>
_$DataSlackBuildFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataSlackBuildToJson(this);
}
//Jira
@JsonSerializable()
class DataJira extends DataParam {
DataJira();
late String id;
late String token;
late String domain;
late String issue;
@JsonKey(name: 'sub-channel')
late String? sub_channel;
late List<DataJiraUser> users;
@JsonKey(name: 'return-slack-data')
late String return_slack_data;
@JsonKey(name: 'return-slack-channel')
late String return_slack_channel;
factory DataJira.fromJson(Map<String, dynamic> json) =>
_$DataJiraFromJson(json);
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);
Map<String, dynamic> toJson() => _$DataJiraUserToJson(this);
}
//Zip
@JsonSerializable()
class DataZip extends DataParam {
DataZip();
late String zipFile;
late List<String> zipList;
factory DataZip.fromJson(Map<String, dynamic> json) =>
_$DataZipFromJson(json);
Map<String, dynamic> toJson() => _$DataZipToJson(this);
}
//Shell
@JsonSerializable()
class DataShell extends DataParam {
DataShell();
late String path;
factory DataShell.fromJson(Map<String, dynamic> json) =>
_$DataShellFromJson(json);
Map<String, dynamic> toJson() => _$DataShellToJson(this);
}
//Git
@JsonSerializable()
class DataGit extends DataParam {
DataGit();
late List<String> commands;
factory DataGit.fromJson(Map<String, dynamic> json) =>
_$DataGitFromJson(json);
Map<String, dynamic> toJson() => _$DataGitToJson(this);
}
//GitCount
@JsonSerializable()
class DataGitCount extends DataParam {
DataGitCount();
@JsonKey(name: 'result-value')
late String result_value;
factory DataGitCount.fromJson(Map<String, dynamic> json) =>
_$DataGitCountFromJson(json);
Map<String, dynamic> toJson() => _$DataGitCountToJson(this);
}
//GitRev
@JsonSerializable()
class DataGitRev extends DataParam {
DataGitRev();
late String? branch; //null will be show local HEAD
@JsonKey(name: 'result-value')
late String result_value;
factory DataGitRev.fromJson(Map<String, dynamic> json) =>
_$DataGitRevFromJson(json);
Map<String, dynamic> toJson() => _$DataGitRevToJson(this);
}
//GitRev
@JsonSerializable()
class DataJsonReader extends DataParam {
DataJsonReader();
late String path;
late List<DataPair> pair;
factory DataJsonReader.fromJson(Map<String, dynamic> json) =>
_$DataJsonReaderFromJson(json);
Map<String, dynamic> toJson() => _$DataJsonReaderToJson(this);
}
@JsonSerializable()
class DataPair {
late String from;
late String to;
DataPair();
factory DataPair.fromJson(Map<String, dynamic> json) =>
_$DataPairFromJson(json);
Map<String, dynamic> toJson() => _$DataPairToJson(this);
}