2380 lines
52 KiB
Go
2380 lines
52 KiB
Go
// Code generated by ogen, DO NOT EDIT.
|
||
|
||
package api
|
||
|
||
import (
|
||
"net/http"
|
||
"net/url"
|
||
"strings"
|
||
|
||
"github.com/ogen-go/ogen/uri"
|
||
)
|
||
|
||
func (s *Server) cutPrefix(path string) (string, bool) {
|
||
prefix := s.cfg.Prefix
|
||
if prefix == "" {
|
||
return path, true
|
||
}
|
||
if !strings.HasPrefix(path, prefix) {
|
||
// Prefix doesn't match.
|
||
return "", false
|
||
}
|
||
// Cut prefix from the path.
|
||
return strings.TrimPrefix(path, prefix), true
|
||
}
|
||
|
||
// ServeHTTP serves http request as defined by OpenAPI v3 specification,
|
||
// calling handler that matches the path or returning not found error.
|
||
func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||
elem := r.URL.Path
|
||
elemIsEscaped := false
|
||
if rawPath := r.URL.RawPath; rawPath != "" {
|
||
if normalized, ok := uri.NormalizeEscapedPath(rawPath); ok {
|
||
elem = normalized
|
||
elemIsEscaped = strings.ContainsRune(elem, '%')
|
||
}
|
||
}
|
||
|
||
elem, ok := s.cutPrefix(elem)
|
||
if !ok || len(elem) == 0 {
|
||
s.notFound(w, r)
|
||
return
|
||
}
|
||
args := [1]string{}
|
||
|
||
// Static code generated router with unwrapped path search.
|
||
switch {
|
||
default:
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case '/': // Prefix: "/"
|
||
|
||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'a': // Prefix: "api/v"
|
||
|
||
if l := len("api/v"); len(elem) >= l && elem[0:l] == "api/v" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case '2': // Prefix: "2/"
|
||
|
||
if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'b': // Prefix: "buffer/"
|
||
|
||
if l := len("buffer/"); len(elem) >= l && elem[0:l] == "buffer/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'g': // Prefix: "goods/task"
|
||
|
||
if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleAPIV2BufferGoodsTaskGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 't': // Prefix: "tasks"
|
||
|
||
if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleAPIV2BufferTasksGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
case 'h': // Prefix: "history/"
|
||
|
||
if l := len("history/"); len(elem) >= l && elem[0:l] == "history/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'g': // Prefix: "goods/task"
|
||
|
||
if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleAPIV2HistoryGoodsTaskGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 't': // Prefix: "tasks"
|
||
|
||
if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleAPIV2HistoryTasksGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
case 'l': // Prefix: "list/goods/"
|
||
|
||
if l := len("list/goods/"); len(elem) >= l && elem[0:l] == "list/goods/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'f': // Prefix: "filter"
|
||
|
||
if l := len("filter"); len(elem) >= l && elem[0:l] == "filter" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleAPIV2ListGoodsFilterGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 's': // Prefix: "size/nm"
|
||
|
||
if l := len("size/nm"); len(elem) >= l && elem[0:l] == "size/nm" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleAPIV2ListGoodsSizeNmGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
case 'q': // Prefix: "quarantine/goods"
|
||
|
||
if l := len("quarantine/goods"); len(elem) >= l && elem[0:l] == "quarantine/goods" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleAPIV2QuarantineGoodsGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'u': // Prefix: "upload/task"
|
||
|
||
if l := len("upload/task"); len(elem) >= l && elem[0:l] == "upload/task" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleAPIV2UploadTaskPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
switch elem[0] {
|
||
case '/': // Prefix: "/"
|
||
|
||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'c': // Prefix: "club-discount"
|
||
|
||
if l := len("club-discount"); len(elem) >= l && elem[0:l] == "club-discount" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleAPIV2UploadTaskClubDiscountPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 's': // Prefix: "size"
|
||
|
||
if l := len("size"); len(elem) >= l && elem[0:l] == "size" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleAPIV2UploadTaskSizePostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
case '3': // Prefix: "3/"
|
||
|
||
if l := len("3/"); len(elem) >= l && elem[0:l] == "3/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'o': // Prefix: "offices"
|
||
|
||
if l := len("offices"); len(elem) >= l && elem[0:l] == "offices" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleAPIV3OfficesGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 's': // Prefix: "stocks/"
|
||
|
||
if l := len("stocks/"); len(elem) >= l && elem[0:l] == "stocks/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
// Param: "warehouseId"
|
||
// Leaf parameter, slashes are prohibited
|
||
idx := strings.IndexByte(elem, '/')
|
||
if idx >= 0 {
|
||
break
|
||
}
|
||
args[0] = elem
|
||
elem = ""
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "DELETE":
|
||
s.handleAPIV3StocksWarehouseIdDeleteRequest([1]string{
|
||
args[0],
|
||
}, elemIsEscaped, w, r)
|
||
case "POST":
|
||
s.handleAPIV3StocksWarehouseIdPostRequest([1]string{
|
||
args[0],
|
||
}, elemIsEscaped, w, r)
|
||
case "PUT":
|
||
s.handleAPIV3StocksWarehouseIdPutRequest([1]string{
|
||
args[0],
|
||
}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "DELETE,POST,PUT")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'w': // Prefix: "warehouses"
|
||
|
||
if l := len("warehouses"); len(elem) >= l && elem[0:l] == "warehouses" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleAPIV3WarehousesGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
case "POST":
|
||
s.handleAPIV3WarehousesPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET,POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
switch elem[0] {
|
||
case '/': // Prefix: "/"
|
||
|
||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
// Param: "warehouseId"
|
||
// Leaf parameter, slashes are prohibited
|
||
idx := strings.IndexByte(elem, '/')
|
||
if idx >= 0 {
|
||
break
|
||
}
|
||
args[0] = elem
|
||
elem = ""
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "DELETE":
|
||
s.handleAPIV3WarehousesWarehouseIdDeleteRequest([1]string{
|
||
args[0],
|
||
}, elemIsEscaped, w, r)
|
||
case "PUT":
|
||
s.handleAPIV3WarehousesWarehouseIdPutRequest([1]string{
|
||
args[0],
|
||
}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "DELETE,PUT")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
case 'c': // Prefix: "content/v"
|
||
|
||
if l := len("content/v"); len(elem) >= l && elem[0:l] == "content/v" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case '2': // Prefix: "2/"
|
||
|
||
if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'b': // Prefix: "barcodes"
|
||
|
||
if l := len("barcodes"); len(elem) >= l && elem[0:l] == "barcodes" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV2BarcodesPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'c': // Prefix: "cards/"
|
||
|
||
if l := len("cards/"); len(elem) >= l && elem[0:l] == "cards/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'd': // Prefix: "delete/trash"
|
||
|
||
if l := len("delete/trash"); len(elem) >= l && elem[0:l] == "delete/trash" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV2CardsDeleteTrashPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'e': // Prefix: "error/list"
|
||
|
||
if l := len("error/list"); len(elem) >= l && elem[0:l] == "error/list" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2CardsErrorListGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'l': // Prefix: "limits"
|
||
|
||
if l := len("limits"); len(elem) >= l && elem[0:l] == "limits" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2CardsLimitsGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'r': // Prefix: "recover"
|
||
|
||
if l := len("recover"); len(elem) >= l && elem[0:l] == "recover" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV2CardsRecoverPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'u': // Prefix: "up"
|
||
|
||
if l := len("up"); len(elem) >= l && elem[0:l] == "up" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'd': // Prefix: "date"
|
||
|
||
if l := len("date"); len(elem) >= l && elem[0:l] == "date" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV2CardsUpdatePostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'l': // Prefix: "load"
|
||
|
||
if l := len("load"); len(elem) >= l && elem[0:l] == "load" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV2CardsUploadPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
switch elem[0] {
|
||
case '/': // Prefix: "/add"
|
||
|
||
if l := len("/add"); len(elem) >= l && elem[0:l] == "/add" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV2CardsUploadAddPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
case 'd': // Prefix: "directory/"
|
||
|
||
if l := len("directory/"); len(elem) >= l && elem[0:l] == "directory/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'c': // Prefix: "co"
|
||
|
||
if l := len("co"); len(elem) >= l && elem[0:l] == "co" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'l': // Prefix: "lors"
|
||
|
||
if l := len("lors"); len(elem) >= l && elem[0:l] == "lors" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2DirectoryColorsGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'u': // Prefix: "untries"
|
||
|
||
if l := len("untries"); len(elem) >= l && elem[0:l] == "untries" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2DirectoryCountriesGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
case 'k': // Prefix: "kinds"
|
||
|
||
if l := len("kinds"); len(elem) >= l && elem[0:l] == "kinds" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2DirectoryKindsGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 's': // Prefix: "seasons"
|
||
|
||
if l := len("seasons"); len(elem) >= l && elem[0:l] == "seasons" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2DirectorySeasonsGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 't': // Prefix: "tnved"
|
||
|
||
if l := len("tnved"); len(elem) >= l && elem[0:l] == "tnved" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2DirectoryTnvedGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'v': // Prefix: "vat"
|
||
|
||
if l := len("vat"); len(elem) >= l && elem[0:l] == "vat" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2DirectoryVatGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
case 'g': // Prefix: "get/cards/"
|
||
|
||
if l := len("get/cards/"); len(elem) >= l && elem[0:l] == "get/cards/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'l': // Prefix: "list"
|
||
|
||
if l := len("list"); len(elem) >= l && elem[0:l] == "list" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV2GetCardsListPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 't': // Prefix: "trash"
|
||
|
||
if l := len("trash"); len(elem) >= l && elem[0:l] == "trash" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV2GetCardsTrashPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
case 'o': // Prefix: "object/"
|
||
|
||
if l := len("object/"); len(elem) >= l && elem[0:l] == "object/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'a': // Prefix: "all"
|
||
|
||
if l := len("all"); len(elem) >= l && elem[0:l] == "all" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2ObjectAllGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'c': // Prefix: "charcs/"
|
||
|
||
if l := len("charcs/"); len(elem) >= l && elem[0:l] == "charcs/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
// Param: "subjectId"
|
||
// Leaf parameter, slashes are prohibited
|
||
idx := strings.IndexByte(elem, '/')
|
||
if idx >= 0 {
|
||
break
|
||
}
|
||
args[0] = elem
|
||
elem = ""
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2ObjectCharcsSubjectIdGetRequest([1]string{
|
||
args[0],
|
||
}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 'p': // Prefix: "parent/all"
|
||
|
||
if l := len("parent/all"); len(elem) >= l && elem[0:l] == "parent/all" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2ObjectParentAllGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
case 't': // Prefix: "tag"
|
||
|
||
if l := len("tag"); len(elem) >= l && elem[0:l] == "tag" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case '/': // Prefix: "/nomenclature/link"
|
||
|
||
if l := len("/nomenclature/link"); len(elem) >= l && elem[0:l] == "/nomenclature/link" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV2TagNomenclatureLinkPostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 's': // Prefix: "s"
|
||
|
||
if l := len("s"); len(elem) >= l && elem[0:l] == "s" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "GET":
|
||
s.handleContentV2TagsGetRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "GET")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
case '3': // Prefix: "3/media/"
|
||
|
||
if l := len("3/media/"); len(elem) >= l && elem[0:l] == "3/media/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'f': // Prefix: "file"
|
||
|
||
if l := len("file"); len(elem) >= l && elem[0:l] == "file" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV3MediaFilePostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
case 's': // Prefix: "save"
|
||
|
||
if l := len("save"); len(elem) >= l && elem[0:l] == "save" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch r.Method {
|
||
case "POST":
|
||
s.handleContentV3MediaSavePostRequest([0]string{}, elemIsEscaped, w, r)
|
||
default:
|
||
s.notAllowed(w, r, "POST")
|
||
}
|
||
|
||
return
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
}
|
||
s.notFound(w, r)
|
||
}
|
||
|
||
// Route is route object.
|
||
type Route struct {
|
||
name string
|
||
summary string
|
||
operationID string
|
||
pathPattern string
|
||
count int
|
||
args [1]string
|
||
}
|
||
|
||
// Name returns ogen operation name.
|
||
//
|
||
// It is guaranteed to be unique and not empty.
|
||
func (r Route) Name() string {
|
||
return r.name
|
||
}
|
||
|
||
// Summary returns OpenAPI summary.
|
||
func (r Route) Summary() string {
|
||
return r.summary
|
||
}
|
||
|
||
// OperationID returns OpenAPI operationId.
|
||
func (r Route) OperationID() string {
|
||
return r.operationID
|
||
}
|
||
|
||
// PathPattern returns OpenAPI path.
|
||
func (r Route) PathPattern() string {
|
||
return r.pathPattern
|
||
}
|
||
|
||
// Args returns parsed arguments.
|
||
func (r Route) Args() []string {
|
||
return r.args[:r.count]
|
||
}
|
||
|
||
// FindRoute finds Route for given method and path.
|
||
//
|
||
// Note: this method does not unescape path or handle reserved characters in path properly. Use FindPath instead.
|
||
func (s *Server) FindRoute(method, path string) (Route, bool) {
|
||
return s.FindPath(method, &url.URL{Path: path})
|
||
}
|
||
|
||
// FindPath finds Route for given method and URL.
|
||
func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
|
||
var (
|
||
elem = u.Path
|
||
args = r.args
|
||
)
|
||
if rawPath := u.RawPath; rawPath != "" {
|
||
if normalized, ok := uri.NormalizeEscapedPath(rawPath); ok {
|
||
elem = normalized
|
||
}
|
||
defer func() {
|
||
for i, arg := range r.args[:r.count] {
|
||
if unescaped, err := url.PathUnescape(arg); err == nil {
|
||
r.args[i] = unescaped
|
||
}
|
||
}
|
||
}()
|
||
}
|
||
|
||
elem, ok := s.cutPrefix(elem)
|
||
if !ok {
|
||
return r, false
|
||
}
|
||
|
||
// Static code generated router with unwrapped path search.
|
||
switch {
|
||
default:
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case '/': // Prefix: "/"
|
||
|
||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'a': // Prefix: "api/v"
|
||
|
||
if l := len("api/v"); len(elem) >= l && elem[0:l] == "api/v" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case '2': // Prefix: "2/"
|
||
|
||
if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'b': // Prefix: "buffer/"
|
||
|
||
if l := len("buffer/"); len(elem) >= l && elem[0:l] == "buffer/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'g': // Prefix: "goods/task"
|
||
|
||
if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = APIV2BufferGoodsTaskGetOperation
|
||
r.summary = "Детализация необработанной загрузки"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v2/buffer/goods/task"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 't': // Prefix: "tasks"
|
||
|
||
if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = APIV2BufferTasksGetOperation
|
||
r.summary = "Состояние необработанной загрузки"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v2/buffer/tasks"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
case 'h': // Prefix: "history/"
|
||
|
||
if l := len("history/"); len(elem) >= l && elem[0:l] == "history/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'g': // Prefix: "goods/task"
|
||
|
||
if l := len("goods/task"); len(elem) >= l && elem[0:l] == "goods/task" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = APIV2HistoryGoodsTaskGetOperation
|
||
r.summary = "Детализация обработанной загрузки"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v2/history/goods/task"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 't': // Prefix: "tasks"
|
||
|
||
if l := len("tasks"); len(elem) >= l && elem[0:l] == "tasks" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = APIV2HistoryTasksGetOperation
|
||
r.summary = "Состояние обработанной загрузки"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v2/history/tasks"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
case 'l': // Prefix: "list/goods/"
|
||
|
||
if l := len("list/goods/"); len(elem) >= l && elem[0:l] == "list/goods/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'f': // Prefix: "filter"
|
||
|
||
if l := len("filter"); len(elem) >= l && elem[0:l] == "filter" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = APIV2ListGoodsFilterGetOperation
|
||
r.summary = "Получить товары с ценами"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v2/list/goods/filter"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 's': // Prefix: "size/nm"
|
||
|
||
if l := len("size/nm"); len(elem) >= l && elem[0:l] == "size/nm" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = APIV2ListGoodsSizeNmGetOperation
|
||
r.summary = "Получить размеры товара с ценами"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v2/list/goods/size/nm"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
case 'q': // Prefix: "quarantine/goods"
|
||
|
||
if l := len("quarantine/goods"); len(elem) >= l && elem[0:l] == "quarantine/goods" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = APIV2QuarantineGoodsGetOperation
|
||
r.summary = "Получить товары в карантине"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v2/quarantine/goods"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'u': // Prefix: "upload/task"
|
||
|
||
if l := len("upload/task"); len(elem) >= l && elem[0:l] == "upload/task" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
switch method {
|
||
case "POST":
|
||
r.name = APIV2UploadTaskPostOperation
|
||
r.summary = "Установить цены и скидки"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v2/upload/task"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
switch elem[0] {
|
||
case '/': // Prefix: "/"
|
||
|
||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'c': // Prefix: "club-discount"
|
||
|
||
if l := len("club-discount"); len(elem) >= l && elem[0:l] == "club-discount" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = APIV2UploadTaskClubDiscountPostOperation
|
||
r.summary = "Установить скидки WB Клуба"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v2/upload/task/club-discount"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 's': // Prefix: "size"
|
||
|
||
if l := len("size"); len(elem) >= l && elem[0:l] == "size" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = APIV2UploadTaskSizePostOperation
|
||
r.summary = "Установить цены для размеров"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v2/upload/task/size"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
case '3': // Prefix: "3/"
|
||
|
||
if l := len("3/"); len(elem) >= l && elem[0:l] == "3/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'o': // Prefix: "offices"
|
||
|
||
if l := len("offices"); len(elem) >= l && elem[0:l] == "offices" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = APIV3OfficesGetOperation
|
||
r.summary = "Получить список складов WB"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v3/offices"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 's': // Prefix: "stocks/"
|
||
|
||
if l := len("stocks/"); len(elem) >= l && elem[0:l] == "stocks/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
// Param: "warehouseId"
|
||
// Leaf parameter, slashes are prohibited
|
||
idx := strings.IndexByte(elem, '/')
|
||
if idx >= 0 {
|
||
break
|
||
}
|
||
args[0] = elem
|
||
elem = ""
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "DELETE":
|
||
r.name = APIV3StocksWarehouseIdDeleteOperation
|
||
r.summary = "Удалить остатки товаров"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v3/stocks/{warehouseId}"
|
||
r.args = args
|
||
r.count = 1
|
||
return r, true
|
||
case "POST":
|
||
r.name = APIV3StocksWarehouseIdPostOperation
|
||
r.summary = "Получить остатки товаров"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v3/stocks/{warehouseId}"
|
||
r.args = args
|
||
r.count = 1
|
||
return r, true
|
||
case "PUT":
|
||
r.name = APIV3StocksWarehouseIdPutOperation
|
||
r.summary = "Обновить остатки товаров"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v3/stocks/{warehouseId}"
|
||
r.args = args
|
||
r.count = 1
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'w': // Prefix: "warehouses"
|
||
|
||
if l := len("warehouses"); len(elem) >= l && elem[0:l] == "warehouses" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
switch method {
|
||
case "GET":
|
||
r.name = APIV3WarehousesGetOperation
|
||
r.summary = "Получить список складов продавца"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v3/warehouses"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
case "POST":
|
||
r.name = APIV3WarehousesPostOperation
|
||
r.summary = "Создать склад продавца"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v3/warehouses"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
switch elem[0] {
|
||
case '/': // Prefix: "/"
|
||
|
||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
// Param: "warehouseId"
|
||
// Leaf parameter, slashes are prohibited
|
||
idx := strings.IndexByte(elem, '/')
|
||
if idx >= 0 {
|
||
break
|
||
}
|
||
args[0] = elem
|
||
elem = ""
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "DELETE":
|
||
r.name = APIV3WarehousesWarehouseIdDeleteOperation
|
||
r.summary = "Удалить склад продавца"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v3/warehouses/{warehouseId}"
|
||
r.args = args
|
||
r.count = 1
|
||
return r, true
|
||
case "PUT":
|
||
r.name = APIV3WarehousesWarehouseIdPutOperation
|
||
r.summary = "Обновить склад продавца"
|
||
r.operationID = ""
|
||
r.pathPattern = "/api/v3/warehouses/{warehouseId}"
|
||
r.args = args
|
||
r.count = 1
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
case 'c': // Prefix: "content/v"
|
||
|
||
if l := len("content/v"); len(elem) >= l && elem[0:l] == "content/v" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case '2': // Prefix: "2/"
|
||
|
||
if l := len("2/"); len(elem) >= l && elem[0:l] == "2/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'b': // Prefix: "barcodes"
|
||
|
||
if l := len("barcodes"); len(elem) >= l && elem[0:l] == "barcodes" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV2BarcodesPostOperation
|
||
r.summary = "Генерация баркодов"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/barcodes"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'c': // Prefix: "cards/"
|
||
|
||
if l := len("cards/"); len(elem) >= l && elem[0:l] == "cards/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'd': // Prefix: "delete/trash"
|
||
|
||
if l := len("delete/trash"); len(elem) >= l && elem[0:l] == "delete/trash" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV2CardsDeleteTrashPostOperation
|
||
r.summary = "Перенос карточек товаров в корзину"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/cards/delete/trash"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'e': // Prefix: "error/list"
|
||
|
||
if l := len("error/list"); len(elem) >= l && elem[0:l] == "error/list" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2CardsErrorListGetOperation
|
||
r.summary = "Список несозданных карточек товаров с ошибками"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/cards/error/list"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'l': // Prefix: "limits"
|
||
|
||
if l := len("limits"); len(elem) >= l && elem[0:l] == "limits" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2CardsLimitsGetOperation
|
||
r.summary = "Лимиты карточек товаров"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/cards/limits"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'r': // Prefix: "recover"
|
||
|
||
if l := len("recover"); len(elem) >= l && elem[0:l] == "recover" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV2CardsRecoverPostOperation
|
||
r.summary = "Восстановление карточек товаров из корзины"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/cards/recover"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'u': // Prefix: "up"
|
||
|
||
if l := len("up"); len(elem) >= l && elem[0:l] == "up" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'd': // Prefix: "date"
|
||
|
||
if l := len("date"); len(elem) >= l && elem[0:l] == "date" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV2CardsUpdatePostOperation
|
||
r.summary = "Редактирование карточек товаров"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/cards/update"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'l': // Prefix: "load"
|
||
|
||
if l := len("load"); len(elem) >= l && elem[0:l] == "load" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV2CardsUploadPostOperation
|
||
r.summary = "Создание карточек товаров"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/cards/upload"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
switch elem[0] {
|
||
case '/': // Prefix: "/add"
|
||
|
||
if l := len("/add"); len(elem) >= l && elem[0:l] == "/add" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV2CardsUploadAddPostOperation
|
||
r.summary = "Создание карточек товаров с присоединением"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/cards/upload/add"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
case 'd': // Prefix: "directory/"
|
||
|
||
if l := len("directory/"); len(elem) >= l && elem[0:l] == "directory/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'c': // Prefix: "co"
|
||
|
||
if l := len("co"); len(elem) >= l && elem[0:l] == "co" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'l': // Prefix: "lors"
|
||
|
||
if l := len("lors"); len(elem) >= l && elem[0:l] == "lors" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2DirectoryColorsGetOperation
|
||
r.summary = "Цвет"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/directory/colors"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'u': // Prefix: "untries"
|
||
|
||
if l := len("untries"); len(elem) >= l && elem[0:l] == "untries" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2DirectoryCountriesGetOperation
|
||
r.summary = "Страна производства"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/directory/countries"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
case 'k': // Prefix: "kinds"
|
||
|
||
if l := len("kinds"); len(elem) >= l && elem[0:l] == "kinds" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2DirectoryKindsGetOperation
|
||
r.summary = "Пол"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/directory/kinds"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 's': // Prefix: "seasons"
|
||
|
||
if l := len("seasons"); len(elem) >= l && elem[0:l] == "seasons" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2DirectorySeasonsGetOperation
|
||
r.summary = "Сезон"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/directory/seasons"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 't': // Prefix: "tnved"
|
||
|
||
if l := len("tnved"); len(elem) >= l && elem[0:l] == "tnved" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2DirectoryTnvedGetOperation
|
||
r.summary = "ТНВЭД-код"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/directory/tnved"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'v': // Prefix: "vat"
|
||
|
||
if l := len("vat"); len(elem) >= l && elem[0:l] == "vat" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2DirectoryVatGetOperation
|
||
r.summary = "Ставка НДС"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/directory/vat"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
case 'g': // Prefix: "get/cards/"
|
||
|
||
if l := len("get/cards/"); len(elem) >= l && elem[0:l] == "get/cards/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'l': // Prefix: "list"
|
||
|
||
if l := len("list"); len(elem) >= l && elem[0:l] == "list" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV2GetCardsListPostOperation
|
||
r.summary = "Список карточек товаров"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/get/cards/list"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 't': // Prefix: "trash"
|
||
|
||
if l := len("trash"); len(elem) >= l && elem[0:l] == "trash" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV2GetCardsTrashPostOperation
|
||
r.summary = "Список карточек товаров в корзине"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/get/cards/trash"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
case 'o': // Prefix: "object/"
|
||
|
||
if l := len("object/"); len(elem) >= l && elem[0:l] == "object/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'a': // Prefix: "all"
|
||
|
||
if l := len("all"); len(elem) >= l && elem[0:l] == "all" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2ObjectAllGetOperation
|
||
r.summary = "Список предметов"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/object/all"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'c': // Prefix: "charcs/"
|
||
|
||
if l := len("charcs/"); len(elem) >= l && elem[0:l] == "charcs/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
// Param: "subjectId"
|
||
// Leaf parameter, slashes are prohibited
|
||
idx := strings.IndexByte(elem, '/')
|
||
if idx >= 0 {
|
||
break
|
||
}
|
||
args[0] = elem
|
||
elem = ""
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2ObjectCharcsSubjectIdGetOperation
|
||
r.summary = "Характеристики предмета"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/object/charcs/{subjectId}"
|
||
r.args = args
|
||
r.count = 1
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 'p': // Prefix: "parent/all"
|
||
|
||
if l := len("parent/all"); len(elem) >= l && elem[0:l] == "parent/all" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2ObjectParentAllGetOperation
|
||
r.summary = "Родительские категории товаров"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/object/parent/all"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
case 't': // Prefix: "tag"
|
||
|
||
if l := len("tag"); len(elem) >= l && elem[0:l] == "tag" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case '/': // Prefix: "/nomenclature/link"
|
||
|
||
if l := len("/nomenclature/link"); len(elem) >= l && elem[0:l] == "/nomenclature/link" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV2TagNomenclatureLinkPostOperation
|
||
r.summary = "Управление ярлыками в карточке товара"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/tag/nomenclature/link"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 's': // Prefix: "s"
|
||
|
||
if l := len("s"); len(elem) >= l && elem[0:l] == "s" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "GET":
|
||
r.name = ContentV2TagsGetOperation
|
||
r.summary = "Список ярлыков"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v2/tags"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
case '3': // Prefix: "3/media/"
|
||
|
||
if l := len("3/media/"); len(elem) >= l && elem[0:l] == "3/media/" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
break
|
||
}
|
||
switch elem[0] {
|
||
case 'f': // Prefix: "file"
|
||
|
||
if l := len("file"); len(elem) >= l && elem[0:l] == "file" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV3MediaFilePostOperation
|
||
r.summary = "Загрузить медиафайл"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v3/media/file"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
case 's': // Prefix: "save"
|
||
|
||
if l := len("save"); len(elem) >= l && elem[0:l] == "save" {
|
||
elem = elem[l:]
|
||
} else {
|
||
break
|
||
}
|
||
|
||
if len(elem) == 0 {
|
||
// Leaf node.
|
||
switch method {
|
||
case "POST":
|
||
r.name = ContentV3MediaSavePostOperation
|
||
r.summary = "Загрузить медиафайлы по ссылкам"
|
||
r.operationID = ""
|
||
r.pathPattern = "/content/v3/media/save"
|
||
r.args = args
|
||
r.count = 0
|
||
return r, true
|
||
default:
|
||
return
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
}
|
||
return r, false
|
||
}
|