You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
982 B

  1. // Copyright 2017 The Gitea Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package utils
  5. import (
  6. "strings"
  7. )
  8. // RemoveUsernameParameterSuffix returns the username parameter without the (fullname) suffix - leaving just the username
  9. func RemoveUsernameParameterSuffix(name string) string {
  10. if index := strings.Index(name, " ("); index >= 0 {
  11. name = name[:index]
  12. }
  13. return name
  14. }
  15. // IsValidSlackChannel validates a channel name conforms to what slack expects.
  16. // It makes sure a channel name cannot be empty and invalid ( only an # )
  17. func IsValidSlackChannel(channelName string) bool {
  18. switch len(strings.TrimSpace(channelName)) {
  19. case 0:
  20. return false
  21. case 1:
  22. // Keep default behaviour where a channel name is still
  23. // valid without an #
  24. // But if it contains only an #, it should be regarded as
  25. // invalid
  26. if channelName[0] == '#' {
  27. return false
  28. }
  29. }
  30. return true
  31. }