github.com/TrueBlocks/trueblocks-core/src/apps/chifra@v0.0.0-20241022031540-b362680128f7/pkg/utils/is_permitted.go (about) 1 package utils 2 3 import "os" 4 5 func IsPermitted() bool { 6 isVersion := false 7 isStatus := false 8 isConfig := false 9 hasPaths := false 10 hasEdit := false 11 cnt := len(os.Args) 12 for _, arg := range os.Args { 13 if arg == "help" { 14 return false 15 } else if arg == "status" { 16 isStatus = true 17 } else if arg == "config" { 18 isConfig = true 19 } else if arg == "--paths" { 20 hasPaths = true 21 } else if arg == "--version" || arg == "version" { 22 isVersion = true 23 } else if arg == "edit" { 24 hasEdit = true 25 } else if arg != "--verbose" { 26 isStatus = false 27 isConfig = false 28 } else { 29 cnt-- // allow --verbose 30 } 31 } 32 33 if isVersion { 34 return true 35 } 36 37 if isStatus && cnt == 2 { 38 return true 39 } 40 41 return isConfig && (hasPaths || hasEdit) && cnt < 4 42 }