oto/lib/oto/data/command_data.dart

1222 lines
29 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: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 DataScheduler? scheduler;
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 DataScheduler {
late String alias;
late String? cron;
late int? interval;
late bool? enableLog;
DataScheduler();
factory DataScheduler.fromJson(Map<String, dynamic> json) =>
_$DataSchedulerFromJson(json);
Map<String, dynamic> toJson() => _$DataSchedulerToJson(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;
late bool? showPrint = true;
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;
//Version Setting
late String? target; //없을시 xcodeproj 자동 검색하여 최상단 target을 가져옴
late String? version; //존재시 autoBuildNumber = false
late String? buildNumber; //존재시 autoBuildNumber = false
late bool? autoBuildNumber = false;
late String? teamID; //Apple store team ID
late String? apiKeyPath; //autoVersionNumber 사용시 필수
//set
late String? setVersion;
late String? setBuildNumber;
late String? setAppID;
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);
}
//TestflightUpload
@JsonSerializable()
class DataTestflightUpload extends DataParam {
DataTestflightUpload();
late String apiKeyPath;
late String ipaPath;
factory DataTestflightUpload.fromJson(Map<String, dynamic> json) =>
_$DataTestflightUploadFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataTestflightUploadToJson(this);
}
//TestflightReviewCheck
@JsonSerializable()
class DataTestflightStatusCheck extends DataParam {
DataTestflightStatusCheck();
late String appID;
late String apiKeyPath;
late String version;
late String buildNumber;
factory DataTestflightStatusCheck.fromJson(Map<String, dynamic> json) =>
_$DataTestflightStatusCheckFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataTestflightStatusCheckToJson(this);
}
//TestflightUpload
@JsonSerializable()
class DataTestflightDistribute extends DataParam {
DataTestflightDistribute();
late String apiKeyPath;
late String appID;
late String? message;
late String? testers;
late String? platform;
late String? buildNumber;
factory DataTestflightDistribute.fromJson(Map<String, dynamic> json) =>
_$DataTestflightDistributeFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataTestflightDistributeToJson(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);
}
//DataXcodeprojAddFile
@JsonSerializable()
class DataXcodeprojAddFile extends DataParam {
DataXcodeprojAddFile();
late String addFilePath;
late String target;
late String xcodeprojPath;
factory DataXcodeprojAddFile.fromJson(Map<String, dynamic> json) =>
_$DataXcodeprojAddFileFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataXcodeprojAddFileToJson(this);
}
//FTP
@JsonSerializable()
class DataFTP extends DataParam {
DataFTP();
late bool sftp;
late int port;
late String host;
late String user;
late String password;
late Map<String, String> map;
factory DataFTP.fromJson(Map<String, dynamic> json) =>
_$DataFTPFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataFTPToJson(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);
}
//Files
@JsonSerializable()
class DataFiles extends DataParam {
DataFiles();
late String path;
late bool? recursive = false;
late List<String>? ignoreRegExs = [];
late String setFiles;
factory DataFiles.fromJson(Map<String, dynamic> json) =>
_$DataFilesFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataFilesToJson(this);
}
//File Info
@JsonSerializable()
class DataFileInfo extends DataParam {
DataFileInfo();
late String path;
late String setInfo;
factory DataFileInfo.fromJson(Map<String, dynamic> json) =>
_$DataFileInfoFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataFileInfoToJson(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; //oto 내부 생성된 object의 경우
late Map<String, dynamic>? message; //yaml로 선언된 값
late String? messageJson; //json값으로 선언된 값
late Map<String, String>? idMap;
factory DataSlackSender.fromJson(Map<String, dynamic> json) =>
_$DataSlackSenderFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataSlackSenderToJson(this);
}
//TestflightUpload
@JsonSerializable()
class DataSlackFile extends DataParam {
DataSlackFile();
late String token;
late String channel;
late String filePath;
late String? title;
late String? initialComment;
late String? fileName;
late String? mimeType;
factory DataSlackFile.fromJson(Map<String, dynamic> json) =>
_$DataSlackFileFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataSlackFileToJson(this);
}
//Slack Build
@JsonSerializable()
class DataSlackBuild extends DataSlackSender {
DataSlackBuild();
late String appName;
late SlackBuildType type;
late String color;
late String version;
late String downloadURL;
late String? channel;
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 DataFile {
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;
late String? setMessage;
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);
}
//GitCommit
@JsonSerializable()
class DataGitCommit extends DataParam {
DataGitCommit();
late bool? addNewFile;
late String message;
factory DataGitCommit.fromJson(Map<String, dynamic> json) =>
_$DataGitCommitFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitCommitToJson(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);
}
//GitStashPush
@JsonSerializable()
class DataGitStashPush extends DataParam {
DataGitStashPush();
late bool? includeUntracked = true;
late String? message;
late String? setSuccess;
factory DataGitStashPush.fromJson(Map<String, dynamic> json) =>
_$DataGitStashPushFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitStashPushToJson(this);
}
//GitStashApply
@JsonSerializable()
class DataGitStashApply extends DataParam {
DataGitStashApply();
late String? message;
late bool? delete = true;
factory DataGitStashApply.fromJson(Map<String, dynamic> json) =>
_$DataGitStashApplyFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataGitStashApplyToJson(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);
}
//JsonReaderFile
@JsonSerializable()
class DataJsonWriterFile extends DataParam {
DataJsonWriterFile();
late String path;
late List<DataJsonPair> pair;
factory DataJsonWriterFile.fromJson(Map<String, dynamic> json) =>
_$DataJsonWriterFileFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataJsonWriterFileToJson(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);
}
@JsonSerializable()
class DataJsonPair {
late String from;
late String value;
DataJsonPair();
factory DataJsonPair.fromJson(Map<String, dynamic> json) =>
_$DataJsonPairFromJson(json);
Map<String, dynamic> toJson() => _$DataJsonPairToJson(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 List<DataStringReplacePair> pair;
factory DataStringReplace.fromJson(Map<String, dynamic> json) =>
_$DataStringReplaceFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataStringReplaceToJson(this);
}
//String Replace with Pattern
@JsonSerializable()
class DataStringReplacePattern extends DataParam {
DataStringReplacePattern();
int? startAt = 0;
late String startPattern; //시작 패턴
late String endPattern; //종료 패턴
late String text; //원본 텍스트
late String value; //교체될 값
late String setValue; //결과 저장소
factory DataStringReplacePattern.fromJson(Map<String, dynamic> json) =>
_$DataStringReplacePatternFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataStringReplacePatternToJson(this);
}
//String Find Index
@JsonSerializable()
class DataStringIndex extends DataParam {
DataStringIndex();
int? startAt = 0;
late String text;
late String value;
late String setValue;
factory DataStringIndex.fromJson(Map<String, dynamic> json) =>
_$DataStringIndexFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataStringIndexToJson(this);
}
//String Find Index
@JsonSerializable()
class DataURLInfo extends DataParam {
DataURLInfo();
late String url;
late String? setScheme; // https
late String? setHost; // example.com
late String? setPort; // 8080
late String? setPath; // /path/to/resource
late String? setQuery; // query=123
late String? setFragment; // #section
factory DataURLInfo.fromJson(Map<String, dynamic> json) =>
_$DataURLInfoFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataURLInfoToJson(this);
}
//Web String Replace Item
@JsonSerializable()
class DataStringReplacePair extends DataParam {
DataStringReplacePair();
late String? from;
late String? fromRegExp;
late String to;
factory DataStringReplacePair.fromJson(Map<String, dynamic> json) =>
_$DataStringReplacePairFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataStringReplacePairToJson(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);
}
//Smb Authorize
@JsonSerializable()
class DataSMBAuthorize extends DataParam {
DataSMBAuthorize();
late String domain;
late String id;
late String password;
factory DataSMBAuthorize.fromJson(Map<String, dynamic> json) =>
_$DataSMBAuthorizeFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataSMBAuthorizeToJson(this);
}
//Smb Authorize
@JsonSerializable()
class DataDelay extends DataParam {
DataDelay();
late int? millisecond;
late int? second;
late int? minute;
late int? hour;
factory DataDelay.fromJson(Map<String, dynamic> json) =>
_$DataDelayFromJson(json);
@override
Map<String, dynamic> toJson() => _$DataDelayToJson(this);
}