yanjustino/ellis

View on GitHub
command/command_eject_secrets.go

Summary

Maintainability
A
0 mins
Test Coverage
package command

import (
    "ellis.com/data"
    "regexp"
    "strings"
)

type EjectSecretsArgs struct {
    Args []string
}

/* eject -k {{jwt path}} */
func (args EjectSecretsArgs) CanExecute() bool {
    param := args.Args[1:]

    input := strings.Join(param, " ")
    ok, err := regexp.MatchString("(eject\\s-k)(\\s[\\w+/.|\\w+\\.]*)", input)
    if err != nil {
        println(err.Error())
        return false
    }

    return ok && len(param) == 3
}

func (args EjectSecretsArgs) Execute() bool {
    param := args.Args[1:]
    data.FetchSecretKeysHolder(param[2], true)
    args.AfterExecute()
    return true
}

func (args EjectSecretsArgs) AfterExecute() {
    println("The keys were ejected!")
}