yt-gen-app/lib/templ/backend-path.go

83 lines
1.8 KiB
Go

package templ
import (
"fmt"
"log"
"strings"
"git.ymnuktech.ru/ymnuk/yt-gen-app/structs"
)
func BackendFsPath(value string) string {
pathArr := strings.Split(RemoveFirstChar(value), "/")
var newPathArr []string
if len(pathArr) > 0 {
for _, str := range pathArr {
if []rune(str)[0] != ':' {
newPathArr = append(newPathArr, str)
} else {
break
}
}
}
return strings.Join(newPathArr, "/")
}
func ParseRestPath(value string) string {
pathArr := strings.Split(RemoveFirstChar(value), "/")
var newPathArr []string
if len(pathArr) > 0 {
for _, str := range pathArr {
runes := []rune(str)
if runes[0] == ':' {
if len(runes) <= 1 {
log.Fatalf("Error value in path \"%s\"", value)
}
runes = runes[1:]
newPathArr = append(newPathArr, fmt.Sprintf("{%s}", string(runes)))
} else {
newPathArr = append(newPathArr, str)
}
}
}
return strings.Join(newPathArr, "/")
}
func ParseRestPathForName(value string) string {
pathArr := strings.Split(RemoveFirstChar(value), "/")
var newPathArr []string
if len(pathArr) > 0 {
for _, str := range pathArr {
runes := []rune(str)
if runes[0] != ':' {
if len(runes) <= 1 {
log.Fatalf("Error value in path \"%s\"", value)
}
newPathArr = append(newPathArr, string(runes))
}
}
}
return strings.Join(newPathArr, "/")
}
func ParseRestPathParams(value string) (res []structs.Field) {
pathArr := strings.Split(RemoveFirstChar(value), "/")
//var newPathArr []string
if len(pathArr) > 0 {
for _, str := range pathArr {
runes := []rune(str)
if runes[0] == ':' {
if len(runes) <= 1 {
log.Fatalf("Error value in path \"%s\"", value)
}
runes = runes[1:]
res = append(res, structs.Field{
Name: string(runes),
Type: "string",
})
}
}
}
return
}