예제 #1
0
    public static void Register(ProjectCommandLineApplication app)
    {
        app.Command("print", cmd =>
        {
            cmd.Description = Resources.PrintCommand_Description;

            var idArgument    = cmd.Argument("[id]", Resources.PrintCommand_IdArgument_Description);
            var showAllOption = cmd.Option("--show-all", Resources.PrintCommand_ShowAllOption_Description, CommandOptionType.NoValue);

            cmd.HelpOption("-h|--help");

            cmd.OnExecute(() =>
            {
                if (idArgument.Value is null)
                {
                    cmd.ShowHelp();
                    return(0);
                }
                return(Execute(
                           cmd.Reporter,
                           cmd.ProjectOption.Value(),
                           idArgument.Value,
                           showAllOption.HasValue()));
            });
        });
    }
예제 #2
0
    public ProjectCommandLineApplication Command(string name, Action <ProjectCommandLineApplication> configuration)
    {
        var command = new ProjectCommandLineApplication(Reporter)
        {
            Name = name, Parent = this
        };

        Commands.Add(command);
        configuration(command);
        return(command);
    }
예제 #3
0
    public static void Register(ProjectCommandLineApplication app)
    {
        app.Command("clear", cmd =>
        {
            cmd.Description = Resources.ClearCommand_Description;

            var forceOption = cmd.Option(
                "--force",
                Resources.ClearCommand_ForceOption_Description,
                CommandOptionType.NoValue);

            cmd.HelpOption("-h|--help");

            cmd.OnExecute(() =>
            {
                return(Execute(cmd.Reporter, cmd.ProjectOption.Value(), forceOption.HasValue()));
            });
        });
    }
예제 #4
0
    public static void Register(ProjectCommandLineApplication app)
    {
        app.Command("list", cmd =>
        {
            cmd.Description = Resources.ListCommand_Description;

            var showTokensOption = cmd.Option(
                "--show-tokens",
                Resources.ListCommand_ShowTokenOption_Description,
                CommandOptionType.NoValue);

            cmd.HelpOption("-h|--help");

            cmd.OnExecute(() =>
            {
                return(Execute(cmd.Reporter, cmd.ProjectOption.Value(), showTokensOption.HasValue()));
            });
        });
    }
예제 #5
0
    public static void Register(ProjectCommandLineApplication app)
    {
        app.Command("remove", cmd =>
        {
            cmd.Description = Resources.RemoveCommand_Description;

            var idArgument = cmd.Argument("[id]", Resources.RemoveCommand_IdArgument_Description);
            cmd.HelpOption("-h|--help");

            cmd.OnExecute(() =>
            {
                if (idArgument.Value is null)
                {
                    cmd.ShowHelp();
                    return(0);
                }
                return(Execute(cmd.Reporter, cmd.ProjectOption.Value(), idArgument.Value));
            });
        });
    }
예제 #6
0
    public static void Register(ProjectCommandLineApplication app)
    {
        app.Command("key", cmd =>
        {
            cmd.Description = Resources.KeyCommand_Description;

            var schemeOption = cmd.Option(
                "--scheme",
                Resources.KeyCommand_SchemeOption_Description,
                CommandOptionType.SingleValue);

            var issuerOption = cmd.Option(
                "--issuer",
                Resources.KeyCommand_IssuerOption_Description,
                CommandOptionType.SingleValue
                );

            var resetOption = cmd.Option(
                "--reset",
                Resources.KeyCommand_ResetOption_Description,
                CommandOptionType.NoValue);

            var forceOption = cmd.Option(
                "--force",
                Resources.KeyCommand_ForceOption_Description,
                CommandOptionType.NoValue);

            cmd.HelpOption("-h|--help");

            cmd.OnExecute(() =>
            {
                return(Execute(cmd.Reporter,
                               cmd.ProjectOption.Value(),
                               schemeOption.Value() ?? DevJwtsDefaults.Scheme,
                               issuerOption.Value() ?? DevJwtsDefaults.Issuer,
                               resetOption.HasValue(), forceOption.HasValue()));
            });
        });
    }
예제 #7
0
    public static void Register(ProjectCommandLineApplication app)
    {
        app.Command("create", cmd =>
        {
            cmd.Description = Resources.CreateCommand_Description;

            var schemeNameOption = cmd.Option(
                "--scheme",
                Resources.CreateCommand_SchemeOption_Description,
                CommandOptionType.SingleValue
                );

            var nameOption = cmd.Option(
                "--name",
                Resources.CreateCommand_NameOption_Description,
                CommandOptionType.SingleValue);

            var audienceOption = cmd.Option(
                "--audience",
                Resources.CreateCommand_AudienceOption_Description,
                CommandOptionType.MultipleValue);

            var issuerOption = cmd.Option(
                "--issuer",
                Resources.CreateCommand_IssuerOption_Description,
                CommandOptionType.SingleValue);

            var scopesOption = cmd.Option(
                "--scope",
                Resources.CreateCommand_ScopeOption_Description,
                CommandOptionType.MultipleValue);

            var rolesOption = cmd.Option(
                "--role",
                Resources.CreateCommand_RoleOption_Description,
                CommandOptionType.MultipleValue);

            var claimsOption = cmd.Option(
                "--claim",
                Resources.CreateCommand_ClaimOption_Description,
                CommandOptionType.MultipleValue);

            var notBeforeOption = cmd.Option(
                "--not-before",
                Resources.CreateCommand_NotBeforeOption_Description,
                CommandOptionType.SingleValue);

            var expiresOnOption = cmd.Option(
                "--expires-on",
                Resources.CreateCommand_ExpiresOnOption_Description,
                CommandOptionType.SingleValue);

            var validForOption = cmd.Option(
                "--valid-for",
                Resources.CreateCommand_ValidForOption_Description,
                CommandOptionType.SingleValue);

            cmd.HelpOption("-h|--help");

            cmd.OnExecute(() =>
            {
                var(options, isValid) = ValidateArguments(
                    cmd.Reporter, cmd.ProjectOption, schemeNameOption, nameOption, audienceOption, issuerOption, notBeforeOption, expiresOnOption, validForOption, rolesOption, scopesOption, claimsOption);

                if (!isValid)
                {
                    return(1);
                }

                return(Execute(cmd.Reporter, cmd.ProjectOption.Value(), options));
            });
        });
    }