config_helpers.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package config
  2. // FindAction will return a action if there is a match on Title
  3. func (cfg *Config) findAction(actionTitle string) *Action {
  4. for _, action := range cfg.Actions {
  5. if action.Title == actionTitle {
  6. return action
  7. }
  8. }
  9. return nil
  10. }
  11. // FindArg will return an arg if there is a match on Name
  12. func (action *Action) FindArg(name string) *ActionArgument {
  13. if name == "stdout" || name == "exitCode" {
  14. return &ActionArgument{
  15. Name: name,
  16. Type: "very_dangerous_raw_string",
  17. }
  18. }
  19. return action.findArg(name)
  20. }
  21. func (action *Action) findArg(name string) *ActionArgument {
  22. for _, arg := range action.Arguments {
  23. if arg.Name == name {
  24. return &arg
  25. }
  26. }
  27. return nil
  28. }
  29. func (cfg *Config) FindAcl(aclTitle string) *AccessControlList {
  30. for _, acl := range cfg.AccessControlLists {
  31. if acl.Name == aclTitle {
  32. return acl
  33. }
  34. }
  35. return nil
  36. }
  37. func (cfg *Config) FindUserByUsername(searchUsername string) *LocalUser {
  38. for _, user := range cfg.AuthLocalUsers.Users {
  39. if user.Username == searchUsername {
  40. return user
  41. }
  42. }
  43. return nil
  44. }
  45. func (cfg *Config) SetDir(dir string) {
  46. cfg.sourceFiles = append(cfg.sourceFiles, dir)
  47. }
  48. func (cfg *Config) GetDir() string {
  49. if len(cfg.sourceFiles) == 0 {
  50. return ""
  51. }
  52. return cfg.sourceFiles[len(cfg.sourceFiles)-1]
  53. }