oto/lib/oto/data/command_data.dart
2024-11-26 09:02:14 +09:00

910 lines
22 KiB
Dart

// ignore_for_file: non_constant_identifier_names, avoid_init_to_null
import 'dart:ffi';
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:oto_cli/oto/commands/build/build_flutter.dart';
import 'package:oto_cli/oto/commands/build/build_msbuild.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;
late List<int>? passExitCodes;
late String? setResult;
late String? setExitCode;
factory DataParam.fromJson(Map<String, dynamic> json) =>
_$DataParamFromJson(json);
Map<String, dynamic> toJson() => _$DataParamToJson(this);
}
/// ***************************** Command List ****************************///
//SimpleCommand
@JsonSerializable()
class DataSimpleCommand extends DataParam {
DataSimpleCommand();
late String message;
factory DataSimpleCommand.fromJson(Map<String, dynamic> json) =>
_$DataSimpleCommandFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataSimpleCommandToJson(this);
}
//Print
@JsonSerializable()
class DataPrint extends DataParam {
DataPrint();
late String message;
factory DataPrint.fromJson(Map<String, dynamic> json) =>
_$DataPrintFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataPrintToJson(this);
}
//SetValue
@JsonSerializable()
class DataSetValue extends DataParam {
DataSetValue();
@JsonKey(name: 'values-int')
late Map<String, dynamic>? values_int;
@JsonKey(name: 'values-float')
late Map<String, dynamic>? values_float;
@JsonKey(name: 'values-string')
late Map<String, dynamic>? values_string;
@JsonKey(name: 'values-bool')
late Map<String, dynamic>? values_bool;
factory DataSetValue.fromJson(Map<String, dynamic> json) =>
_$DataSetValueFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataSetValueToJson(this);
}
//AppDataCreator
@JsonSerializable()
class DataAppDataCreator extends DataParam {
DataAppDataCreator();
late SCMType scm;
late String relativeAssetPath;
late String setVersion;
late String setHash;
late String? setCount;
late String? setDate;
late String name;
factory DataAppDataCreator.fromJson(Map<String, dynamic> json) =>
_$DataAppDataCreatorFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataAppDataCreatorToJson(this);
}
//BuildMSBuild
@JsonSerializable()
class DataBuildMSBuild extends DataParam {
DataBuildMSBuild();
late String projectFile;
late MSBuildType type;
late MSBuildConfig config;
factory DataBuildMSBuild.fromJson(Map<String, dynamic> json) =>
_$DataBuildMSBuildFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataBuildMSBuildToJson(this);
}
//BuildDart
@JsonSerializable()
class DataBuildDart extends DataParam {
DataBuildDart();
late bool? executeBuildRunner;
factory DataBuildDart.fromJson(Map<String, dynamic> json) =>
_$DataBuildDartFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataBuildDartToJson(this);
}
//BuildFlutter
@JsonSerializable()
class DataBuildFlutter extends DataBuildDart {
DataBuildFlutter();
late String? macPassword;
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);
@override
Map<String, dynamic> toJson() => _$DataBuildDotNetToJson(this);
}
//BuildiOS
@JsonSerializable()
class DataBuildiOS extends DataParam {
DataBuildiOS();
late String scheme;
late BuildPlatform? os;
late String? macPassword;
late String? xcodeProjectFilePath;
late String? xcworkspaceFilePath;
late String? derivedDataPath;
late bool? cleanPod;
late String? configuration;
late Map<String, String>? settings;
factory DataBuildiOS.fromJson(Map<String, dynamic> json) =>
_$DataBuildiOSFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataBuildiOSToJson(this);
}
//CodeSign
@JsonSerializable()
class DataCodeSign extends DataParam {
DataCodeSign();
late String appPath;
late String certificationName;
late String? entitlementPath;
factory DataCodeSign.fromJson(Map<String, dynamic> json) =>
_$DataCodeSignFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataCodeSignToJson(this);
}
//CodeSignVerify
@JsonSerializable()
class DataCodeSignVerify extends DataParam {
DataCodeSignVerify();
late String appPath;
factory DataCodeSignVerify.fromJson(Map<String, dynamic> json) =>
_$DataCodeSignVerifyFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataCodeSignVerifyToJson(this);
}
//ProductBuild
@JsonSerializable()
class DataProductBuild extends DataParam {
DataProductBuild();
late String appPath;
late String identifier;
late String? scripts;
late String installCertificationName;
late String unsignedResultPath;
late String signedResultPath;
factory DataProductBuild.fromJson(Map<String, dynamic> json) =>
_$DataProductBuildFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataProductBuildToJson(this);
}
//Notarize
@JsonSerializable()
class DataNotarize extends DataParam {
DataNotarize();
late String macPassword;
late String bundleName;
late String teamId;
late String appleAccount;
late String applePassword;
late String resultPath;
factory DataNotarize.fromJson(Map<String, dynamic> json) =>
_$DataNotarizeFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataNotarizeToJson(this);
}
//ArchiveiOS
@JsonSerializable()
class DataArchiveiOS extends DataParam {
DataArchiveiOS();
late String xcworkspaceFilePath;
late String scheme;
late String archivePath;
late String? destination;
factory DataArchiveiOS.fromJson(Map<String, dynamic> json) =>
_$DataArchiveiOSFromJson(json);
@override
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);
@override
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);
@override
Map<String, dynamic> toJson() => _$DataPublishiOSToJson(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);
@override
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 bool? isOverwrite = true;
late Map<String, String> copyMap;
factory DataCopy.fromJson(Map<String, dynamic> json) =>
_$DataCopyFromJson(json);
@override
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);
@override
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);
@override
Map<String, dynamic> toJson() => _$DataRenameToJson(this);
}
//File Diff Check
@JsonSerializable()
class DataFileDiffCheck extends DataParam {
DataFileDiffCheck();
late List<String> paths;
late String setDiff;
factory DataFileDiffCheck.fromJson(Map<String, dynamic> json) =>
_$DataFileDiffCheckFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataFileDiffCheckToJson(this);
}
//File Read
@JsonSerializable()
class DataFileRead extends DataParam {
DataFileRead();
late String path;
late String setContent;
factory DataFileRead.fromJson(Map<String, dynamic> json) =>
_$DataFileReadFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataFileReadToJson(this);
}
//File Write
@JsonSerializable()
class DataFileWrite extends DataParam {
DataFileWrite();
late String path;
late String content;
factory DataFileWrite.fromJson(Map<String, dynamic> json) =>
_$DataFileWriteFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataFileWriteToJson(this);
}
//Directory Create
@JsonSerializable()
class DataDirectoryCreate extends DataParam {
DataDirectoryCreate();
late String path;
factory DataDirectoryCreate.fromJson(Map<String, dynamic> json) =>
_$DataDirectoryCreateFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataDirectoryCreateToJson(this);
}
//Slack
@JsonSerializable()
class DataSlackSender extends DataParam {
DataSlackSender();
late String token;
late dynamic property;
late Map<String, dynamic>? message;
factory DataSlackSender.fromJson(Map<String, dynamic> json) =>
_$DataSlackSenderFromJson(json);
@override
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;
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);
}
//Zip
@JsonSerializable()
class DataZip extends DataParam {
DataZip();
late String zipFile;
late List<String> zipList;
factory DataZip.fromJson(Map<String, dynamic> json) =>
_$DataZipFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataZipToJson(this);
}
//Shell
@JsonSerializable()
class DataShell extends DataParam {
DataShell();
late List<String> commands;
factory DataShell.fromJson(Map<String, dynamic> json) =>
_$DataShellFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataShellToJson(this);
}
@JsonSerializable()
class DataShellFile extends DataParam {
DataShellFile();
late String path;
factory DataShellFile.fromJson(Map<String, dynamic> json) =>
_$DataShellFileFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataShellFileToJson(this);
}
//Git
@JsonSerializable()
class DataGit extends DataParam {
DataGit();
late List<String> commands;
factory DataGit.fromJson(Map<String, dynamic> json) =>
_$DataGitFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitToJson(this);
}
//GitPush
@JsonSerializable()
class DataGitPush extends DataParam {
DataGitPush();
late String? branch;
factory DataGitPush.fromJson(Map<String, dynamic> json) =>
_$DataGitPushFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitPushToJson(this);
}
//GitCheckout
@JsonSerializable()
class DataGitCheckout extends DataParam {
DataGitCheckout();
late String branch;
late bool? executePull;
factory DataGitCheckout.fromJson(Map<String, dynamic> json) =>
_$DataGitCheckoutFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitCheckoutToJson(this);
}
//GitCount
@JsonSerializable()
class DataGitCount extends DataParam {
DataGitCount();
late String setValue;
factory DataGitCount.fromJson(Map<String, dynamic> json) =>
_$DataGitCountFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitCountToJson(this);
}
//GitRev
@JsonSerializable()
class DataGitRev extends DataParam {
DataGitRev();
//null will be show local HEAD. Get last revision must be set branch
late String? branch;
late String setValue;
factory DataGitRev.fromJson(Map<String, dynamic> json) =>
_$DataGitRevFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitRevToJson(this);
}
//GitReset
@JsonSerializable()
class DataGitReset extends DataParam {
DataGitReset();
late bool? force = true;
factory DataGitReset.fromJson(Map<String, dynamic> json) =>
_$DataGitResetFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitResetToJson(this);
}
//GitHub
@JsonSerializable()
class DataGitHub extends DataParam {
DataGitHub();
late List<String> commands;
factory DataGitHub.fromJson(Map<String, dynamic> json) =>
_$DataGitHubFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitHubToJson(this);
}
//GitHub Pull Request Create
//https://cli.github.com/manual/gh_codespace_create
@JsonSerializable()
class DataGitHubPullRequestCreate extends DataParam {
DataGitHubPullRequestCreate();
late String title;
late String body;
late String branch;
late String setURL;
late String setNumber;
factory DataGitHubPullRequestCreate.fromJson(Map<String, dynamic> json) =>
_$DataGitHubPullRequestCreateFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitHubPullRequestCreateToJson(this);
}
//GitHub Pull Request List
//https://cli.github.com/manual/gh_pr_list
@JsonSerializable()
class DataGitHubPullRequestList extends DataParam {
DataGitHubPullRequestList();
late List<String> keys;
late String targetKey;
late String targetValue;
late String setValue;
factory DataGitHubPullRequestList.fromJson(Map<String, dynamic> json) =>
_$DataGitHubPullRequestListFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitHubPullRequestListToJson(this);
}
//GitHub Pull Request Close
//https://cli.github.com/manual/gh_pr_close
@JsonSerializable()
class DataGitHubPullRequestClose extends DataParam {
DataGitHubPullRequestClose();
late String number;
factory DataGitHubPullRequestClose.fromJson(Map<String, dynamic> json) =>
_$DataGitHubPullRequestCloseFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitHubPullRequestCloseToJson(this);
}
//Protobuf
@JsonSerializable()
class DataProtobuf extends DataParam {
DataProtobuf();
late List<String> commands;
factory DataProtobuf.fromJson(Map<String, dynamic> json) =>
_$DataProtobufFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataProtobufToJson(this);
}
//JsonReader
@JsonSerializable()
class DataJsonReader extends DataParam {
DataJsonReader();
late dynamic json;
late List<DataPair> pair;
factory DataJsonReader.fromJson(Map<String, dynamic> json) =>
_$DataJsonReaderFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataJsonReaderToJson(this);
}
//JsonReaderFile
@JsonSerializable()
class DataJsonReaderFile extends DataParam {
DataJsonReaderFile();
late String path;
late List<DataPair> pair;
factory DataJsonReaderFile.fromJson(Map<String, dynamic> json) =>
_$DataJsonReaderFileFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataJsonReaderFileToJson(this);
}
@JsonSerializable()
class DataExecuteApp {
late String executable;
late String desktopServicePath;
DataExecuteApp();
factory DataExecuteApp.fromJson(Map<String, dynamic> json) =>
_$DataExecuteAppFromJson(json);
Map<String, dynamic> toJson() => _$DataExecuteAppToJson(this);
}
@JsonSerializable()
class DataPair {
late String from;
late String setValue;
DataPair();
factory DataPair.fromJson(Map<String, dynamic> json) =>
_$DataPairFromJson(json);
Map<String, dynamic> toJson() => _$DataPairToJson(this);
}
//AwsCli
@JsonSerializable()
class DataAwsCli extends DataParam {
DataAwsCli();
@JsonKey(name: "sub-command")
late String subCommand;
late List<String> args;
factory DataAwsCli.fromJson(Map<String, dynamic> json) =>
_$DataAwsCliFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataAwsCliToJson(this);
}
//Docker
@JsonSerializable()
class DataDocker extends DataParam {
DataDocker();
late String command;
late List<String> args;
factory DataDocker.fromJson(Map<String, dynamic> json) =>
_$DataDockerFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataDockerToJson(this);
}
//Gradle
@JsonSerializable()
class DataGradle extends DataParam {
DataGradle();
late List<String> args;
factory DataGradle.fromJson(Map<String, dynamic> json) =>
_$DataGradleFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGradleToJson(this);
}
//String Sub
@JsonSerializable()
class DataStringSub extends DataParam {
DataStringSub();
late int? startIndex;
late int? lastIndex;
late String text;
late String setValue;
factory DataStringSub.fromJson(Map<String, dynamic> json) =>
_$DataStringSubFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataStringSubToJson(this);
}
//String Replace
@JsonSerializable()
class DataStringReplace extends DataParam {
DataStringReplace();
late String text;
late String setValue;
late String from;
late String to;
factory DataStringReplace.fromJson(Map<String, dynamic> json) =>
_$DataStringReplaceFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataStringReplaceToJson(this);
}
//Web Base
@JsonSerializable()
class DataWebBase extends DataParam {
DataWebBase();
late String url;
late String? method;
late Map<String, String>? headers = <String, String>{};
late Map<String, String>? fields = <String, String>{};
late List<dynamic>? successCodes;
late String? setResponse;
factory DataWebBase.fromJson(Map<String, dynamic> json) =>
_$DataWebBaseFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataWebBaseToJson(this);
}
//Web File
@JsonSerializable()
class DataWebFile extends DataWebBase {
DataWebFile();
late String? filePart;
late String? fileMimeType;
late List<String>? files = [];
factory DataWebFile.fromJson(Map<String, dynamic> json) =>
_$DataWebFileFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataWebFileToJson(this);
}
//Process Using Port
@JsonSerializable()
class DataProcessPortUse extends DataParam {
DataProcessPortUse();
late String port;
late String setPid;
factory DataProcessPortUse.fromJson(Map<String, dynamic> json) =>
_$DataProcessPortUseFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataProcessPortUseToJson(this);
}
//Process Run
@JsonSerializable()
class DataProcessRun extends DataParam {
DataProcessRun();
late String executable;
late String? param;
factory DataProcessRun.fromJson(Map<String, dynamic> json) =>
_$DataProcessRunFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataProcessRunToJson(this);
}
//Process Kill
@JsonSerializable()
class DataProcessKill extends DataParam {
DataProcessKill();
late String pid;
factory DataProcessKill.fromJson(Map<String, dynamic> json) =>
_$DataProcessKillFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataProcessKillToJson(this);
}