Support for kebab case and dot notation in permission generation tool (#3222)

* support for fullstop and hypen in permissions.yaml

* updated the readme.
This commit is contained in:
Abdul Basit
2024-08-15 10:07:42 -07:00
committed by GitHub
parent daa45cfac4
commit e8a297f13b
2 changed files with 6 additions and 2 deletions
+4 -1
View File
@@ -2,7 +2,10 @@
## Defining the Permissions
Permissions are defined in lower snake case as `permission_name:access_level`.
Permissions can be defined in:
- lower snake case as `permission_name:access_level`
- kebab case as `permission-name:read`
- dot notation as `permission.name:read`
The Permissions are initially defined as a [yaml file](analyzers/twilio/permissions.yaml).
@@ -4,6 +4,7 @@ import (
"fmt"
"log"
"os"
"regexp"
"strings"
"text/template"
@@ -95,7 +96,7 @@ func ToCamelCase(s string) string {
parts := strings.Split(s, ":")
caser := cases.Title(language.English)
for i := range parts {
subParts := strings.Split(parts[i], "_")
subParts := regexp.MustCompile(`[\_\.\-]+`).Split(parts[i], -1)
for j := range subParts {
subParts[j] = caser.String(subParts[j])
}