add capitalization for named paths
This commit is contained in:
parent
c35897cb01
commit
1e46a4549a
@ -5,6 +5,11 @@ error_reporting(E_ALL^E_NOTICE);
|
||||
|
||||
include("docs/vendor/autoload.php");
|
||||
|
||||
function capitalize($name) {
|
||||
$names = explode("/", $name);
|
||||
return implode("", array_map("ucfirst", $names));
|
||||
}
|
||||
|
||||
function array_change_key_case_recursive($arr) {
|
||||
return array_map(function ($item) {
|
||||
if (is_array($item)) {
|
||||
|
||||
@ -7,7 +7,7 @@ import (
|
||||
var _ = errors.Wrap
|
||||
|
||||
{foreach $calls as $call}
|
||||
func (*{name}) {call.name|ucfirst}(r *{name|lcfirst}{call.name|ucfirst}Request) (interface{}, error) {
|
||||
func (*{name}) {call.name|capitalize}(r *{name|lcfirst}{call.name|capitalize}Request) (interface{}, error) {
|
||||
return nil, errors.New("Not implemented: {name}.{call.name}")
|
||||
}
|
||||
|
||||
|
||||
@ -7,8 +7,8 @@ import (
|
||||
)
|
||||
|
||||
{foreach $calls as $call}
|
||||
func ({self}h *{name}Handlers) {call.name|ucfirst}(w http.ResponseWriter, r *http.Request) {
|
||||
params := {name|lcfirst}{call.name|ucfirst}Request{}.new()
|
||||
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return {self}h.{name}.{call.name|ucfirst}(params) })
|
||||
func ({self}h *{name}Handlers) {call.name|capitalize}(w http.ResponseWriter, r *http.Request) {
|
||||
params := {name|lcfirst}{call.name|capitalize}Request{}.new()
|
||||
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return {self}h.{name}.{call.name|capitalize}(params) })
|
||||
}
|
||||
{/foreach}
|
||||
|
||||
@ -18,14 +18,14 @@ func ({name}Handlers) new() *{name}Handlers {
|
||||
// Internal API interface
|
||||
type {name}API interface {
|
||||
{foreach $calls as $call}
|
||||
{call.name|ucfirst}(*{name|lcfirst}{call.name|ucfirst}Request) (interface{}, error)
|
||||
{call.name|capitalize}(*{name|lcfirst}{call.name|capitalize}Request) (interface{}, error)
|
||||
{/foreach}
|
||||
}
|
||||
|
||||
// HTTP API interface
|
||||
type {name}HandlersAPI interface {
|
||||
{foreach $calls as $call}
|
||||
{call.name|ucfirst}(http.ResponseWriter, *http.Request)
|
||||
{call.name|capitalize}(http.ResponseWriter, *http.Request)
|
||||
{/foreach}
|
||||
}
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ var _ = chi.URLParam
|
||||
|
||||
{foreach $calls as $call}
|
||||
// {name} {call.name} request parameters
|
||||
type {name|lcfirst}{call.name|ucfirst}Request struct {
|
||||
type {name|lcfirst}{call.name|capitalize}Request struct {
|
||||
{foreach $call.parameters as $params}
|
||||
{foreach $params as $method => $param}
|
||||
{param.name} {param.type}{newline}
|
||||
@ -17,11 +17,11 @@ type {name|lcfirst}{call.name|ucfirst}Request struct {
|
||||
{/foreach}
|
||||
}
|
||||
|
||||
func ({name|lcfirst}{call.name|ucfirst}Request) new() *{name|lcfirst}{call.name|ucfirst}Request {
|
||||
return &{name|lcfirst}{call.name|ucfirst}Request{}
|
||||
func ({name|lcfirst}{call.name|capitalize}Request) new() *{name|lcfirst}{call.name|capitalize}Request {
|
||||
return &{name|lcfirst}{call.name|capitalize}Request{}
|
||||
}
|
||||
|
||||
func ({self} *{name|lcfirst}{call.name|ucfirst}Request) Fill(r *http.Request) error {
|
||||
func ({self} *{name|lcfirst}{call.name|capitalize}Request) Fill(r *http.Request) error {
|
||||
get := map[string]string{}
|
||||
post := map[string]string{}
|
||||
urlQuery := r.URL.Query()
|
||||
@ -44,5 +44,5 @@ func ({self} *{name|lcfirst}{call.name|ucfirst}Request) Fill(r *http.Request) er
|
||||
return nil
|
||||
}
|
||||
|
||||
var _ RequestFiller = {name|lcfirst}{call.name|ucfirst}Request{}.new()
|
||||
var _ RequestFiller = {name|lcfirst}{call.name|capitalize}Request{}.new()
|
||||
{/foreach}
|
||||
|
||||
@ -6,12 +6,12 @@ import (
|
||||
|
||||
func MountRoutes(r chi.Router) {
|
||||
{foreach $apis as $api}
|
||||
{api.interface|strtolower} := {api.interface|ucfirst}Handlers{}.new()
|
||||
{api.interface|strtolower} := {api.interface|capitalize}Handlers{}.new()
|
||||
{/foreach}
|
||||
{foreach $apis as $api}
|
||||
r.Route("{api.path}", func(r chi.Router) {
|
||||
{foreach $api.apis as $call}
|
||||
r.{eval echo ucfirst(strtolower($call.method))}("{call.path}", {api.interface|strtolower}.{call.name|ucfirst})
|
||||
r.{eval echo capitalize(strtolower($call.method))}("{call.path}", {api.interface|strtolower}.{call.name|capitalize})
|
||||
{/foreach}
|
||||
})
|
||||
{/foreach}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user