83 lines
1.8 KiB
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
|
|
}
|