renamed modules to module api

This commit is contained in:
Tit Petric
2018-07-05 13:03:23 +00:00
parent f9e7274f68
commit 0b17420bee
9 changed files with 137 additions and 137 deletions
+27
View File
@@ -0,0 +1,27 @@
package crm
import (
"github.com/pkg/errors"
)
var _ = errors.Wrap
func (*Module) List(r *moduleListRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Module.list")
}
func (*Module) Edit(r *moduleEditRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Module.edit")
}
func (*Module) ContentList(r *moduleContentListRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Module.content/list")
}
func (*Module) ContentEdit(r *moduleContentEditRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Module.content/edit")
}
func (*Module) ContentDelete(r *moduleContentDeleteRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Module.content/delete")
}
+28
View File
@@ -0,0 +1,28 @@
package crm
import (
"net/http"
"github.com/titpetric/factory/resputil"
)
func (mh *ModuleHandlers) List(w http.ResponseWriter, r *http.Request) {
params := moduleListRequest{}.new()
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return mh.Module.List(params) })
}
func (mh *ModuleHandlers) Edit(w http.ResponseWriter, r *http.Request) {
params := moduleEditRequest{}.new()
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return mh.Module.Edit(params) })
}
func (mh *ModuleHandlers) ContentList(w http.ResponseWriter, r *http.Request) {
params := moduleContentListRequest{}.new()
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return mh.Module.ContentList(params) })
}
func (mh *ModuleHandlers) ContentEdit(w http.ResponseWriter, r *http.Request) {
params := moduleContentEditRequest{}.new()
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return mh.Module.ContentEdit(params) })
}
func (mh *ModuleHandlers) ContentDelete(w http.ResponseWriter, r *http.Request) {
params := moduleContentDeleteRequest{}.new()
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return mh.Module.ContentDelete(params) })
}
+38
View File
@@ -0,0 +1,38 @@
package crm
import (
"net/http"
)
// HTTP handlers are a superset of internal APIs
type ModuleHandlers struct {
*Module
}
func (ModuleHandlers) new() *ModuleHandlers {
return &ModuleHandlers{
Module{}.new(),
}
}
// Internal API interface
type ModuleAPI interface {
List(*moduleListRequest) (interface{}, error)
Edit(*moduleEditRequest) (interface{}, error)
ContentList(*moduleContentListRequest) (interface{}, error)
ContentEdit(*moduleContentEditRequest) (interface{}, error)
ContentDelete(*moduleContentDeleteRequest) (interface{}, error)
}
// HTTP API interface
type ModuleHandlersAPI interface {
List(http.ResponseWriter, *http.Request)
Edit(http.ResponseWriter, *http.Request)
ContentList(http.ResponseWriter, *http.Request)
ContentEdit(http.ResponseWriter, *http.Request)
ContentDelete(http.ResponseWriter, *http.Request)
}
// Compile time check to see if we implement the interfaces
var _ ModuleHandlersAPI = &ModuleHandlers{}
var _ ModuleAPI = &Module{}
@@ -7,16 +7,16 @@ import (
var _ = chi.URLParam
// Modules list request parameters
type modulesListRequest struct {
// Module list request parameters
type moduleListRequest struct {
id string
}
func (modulesListRequest) new() *modulesListRequest {
return &modulesListRequest{}
func (moduleListRequest) new() *moduleListRequest {
return &moduleListRequest{}
}
func (m *modulesListRequest) Fill(r *http.Request) error {
func (m *moduleListRequest) Fill(r *http.Request) error {
get := map[string]string{}
post := map[string]string{}
urlQuery := r.URL.Query()
@@ -32,19 +32,19 @@ func (m *modulesListRequest) Fill(r *http.Request) error {
return nil
}
var _ RequestFiller = modulesListRequest{}.new()
var _ RequestFiller = moduleListRequest{}.new()
// Modules edit request parameters
type modulesEditRequest struct {
// Module edit request parameters
type moduleEditRequest struct {
id uint64
name string
}
func (modulesEditRequest) new() *modulesEditRequest {
return &modulesEditRequest{}
func (moduleEditRequest) new() *moduleEditRequest {
return &moduleEditRequest{}
}
func (m *modulesEditRequest) Fill(r *http.Request) error {
func (m *moduleEditRequest) Fill(r *http.Request) error {
get := map[string]string{}
post := map[string]string{}
urlQuery := r.URL.Query()
@@ -62,17 +62,17 @@ func (m *modulesEditRequest) Fill(r *http.Request) error {
return nil
}
var _ RequestFiller = modulesEditRequest{}.new()
var _ RequestFiller = moduleEditRequest{}.new()
// Modules content/list request parameters
type modulesContentListRequest struct {
// Module content/list request parameters
type moduleContentListRequest struct {
}
func (modulesContentListRequest) new() *modulesContentListRequest {
return &modulesContentListRequest{}
func (moduleContentListRequest) new() *moduleContentListRequest {
return &moduleContentListRequest{}
}
func (m *modulesContentListRequest) Fill(r *http.Request) error {
func (m *moduleContentListRequest) Fill(r *http.Request) error {
get := map[string]string{}
post := map[string]string{}
urlQuery := r.URL.Query()
@@ -86,19 +86,19 @@ func (m *modulesContentListRequest) Fill(r *http.Request) error {
return nil
}
var _ RequestFiller = modulesContentListRequest{}.new()
var _ RequestFiller = moduleContentListRequest{}.new()
// Modules content/edit request parameters
type modulesContentEditRequest struct {
// Module content/edit request parameters
type moduleContentEditRequest struct {
id uint64
payload string
}
func (modulesContentEditRequest) new() *modulesContentEditRequest {
return &modulesContentEditRequest{}
func (moduleContentEditRequest) new() *moduleContentEditRequest {
return &moduleContentEditRequest{}
}
func (m *modulesContentEditRequest) Fill(r *http.Request) error {
func (m *moduleContentEditRequest) Fill(r *http.Request) error {
get := map[string]string{}
post := map[string]string{}
urlQuery := r.URL.Query()
@@ -116,18 +116,18 @@ func (m *modulesContentEditRequest) Fill(r *http.Request) error {
return nil
}
var _ RequestFiller = modulesContentEditRequest{}.new()
var _ RequestFiller = moduleContentEditRequest{}.new()
// Modules content/delete request parameters
type modulesContentDeleteRequest struct {
// Module content/delete request parameters
type moduleContentDeleteRequest struct {
id uint64
}
func (modulesContentDeleteRequest) new() *modulesContentDeleteRequest {
return &modulesContentDeleteRequest{}
func (moduleContentDeleteRequest) new() *moduleContentDeleteRequest {
return &moduleContentDeleteRequest{}
}
func (m *modulesContentDeleteRequest) Fill(r *http.Request) error {
func (m *moduleContentDeleteRequest) Fill(r *http.Request) error {
get := map[string]string{}
post := map[string]string{}
urlQuery := r.URL.Query()
@@ -143,4 +143,4 @@ func (m *modulesContentDeleteRequest) Fill(r *http.Request) error {
return nil
}
var _ RequestFiller = modulesContentDeleteRequest{}.new()
var _ RequestFiller = moduleContentDeleteRequest{}.new()
@@ -1,33 +1,33 @@
package crm
// Modules
type Modules struct {
type Module struct {
id uint64
name string
changed []string
}
func (Modules) new() *Modules {
return &Modules{}
func (Module) new() *Module {
return &Module{}
}
func (m *Modules) Getid() uint64 {
func (m *Module) Getid() uint64 {
return m.id
}
func (m *Modules) Setid(value uint64) *Modules {
func (m *Module) Setid(value uint64) *Module {
if m.id != value {
m.changed = append(m.changed, "id")
m.id = value
}
return m
}
func (m *Modules) Getname() string {
func (m *Module) Getname() string {
return m.name
}
func (m *Modules) Setname(value string) *Modules {
func (m *Module) Setname(value string) *Module {
if m.name != value {
m.changed = append(m.changed, "name")
m.name = value
-27
View File
@@ -1,27 +0,0 @@
package crm
import (
"github.com/pkg/errors"
)
var _ = errors.Wrap
func (*Modules) List(r *modulesListRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Modules.list")
}
func (*Modules) Edit(r *modulesEditRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Modules.edit")
}
func (*Modules) ContentList(r *modulesContentListRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Modules.content/list")
}
func (*Modules) ContentEdit(r *modulesContentEditRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Modules.content/edit")
}
func (*Modules) ContentDelete(r *modulesContentDeleteRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Modules.content/delete")
}
-28
View File
@@ -1,28 +0,0 @@
package crm
import (
"net/http"
"github.com/titpetric/factory/resputil"
)
func (mh *ModulesHandlers) List(w http.ResponseWriter, r *http.Request) {
params := modulesListRequest{}.new()
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return mh.Modules.List(params) })
}
func (mh *ModulesHandlers) Edit(w http.ResponseWriter, r *http.Request) {
params := modulesEditRequest{}.new()
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return mh.Modules.Edit(params) })
}
func (mh *ModulesHandlers) ContentList(w http.ResponseWriter, r *http.Request) {
params := modulesContentListRequest{}.new()
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return mh.Modules.ContentList(params) })
}
func (mh *ModulesHandlers) ContentEdit(w http.ResponseWriter, r *http.Request) {
params := modulesContentEditRequest{}.new()
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return mh.Modules.ContentEdit(params) })
}
func (mh *ModulesHandlers) ContentDelete(w http.ResponseWriter, r *http.Request) {
params := modulesContentDeleteRequest{}.new()
resputil.JSON(w, params.Fill(r), func() (interface{}, error) { return mh.Modules.ContentDelete(params) })
}
-38
View File
@@ -1,38 +0,0 @@
package crm
import (
"net/http"
)
// HTTP handlers are a superset of internal APIs
type ModulesHandlers struct {
*Modules
}
func (ModulesHandlers) new() *ModulesHandlers {
return &ModulesHandlers{
Modules{}.new(),
}
}
// Internal API interface
type ModulesAPI interface {
List(*modulesListRequest) (interface{}, error)
Edit(*modulesEditRequest) (interface{}, error)
ContentList(*modulesContentListRequest) (interface{}, error)
ContentEdit(*modulesContentEditRequest) (interface{}, error)
ContentDelete(*modulesContentDeleteRequest) (interface{}, error)
}
// HTTP API interface
type ModulesHandlersAPI interface {
List(http.ResponseWriter, *http.Request)
Edit(http.ResponseWriter, *http.Request)
ContentList(http.ResponseWriter, *http.Request)
ContentEdit(http.ResponseWriter, *http.Request)
ContentDelete(http.ResponseWriter, *http.Request)
}
// Compile time check to see if we implement the interfaces
var _ ModulesHandlersAPI = &ModulesHandlers{}
var _ ModulesAPI = &Modules{}
+7 -7
View File
@@ -5,14 +5,14 @@ import (
)
func MountRoutes(r chi.Router) {
modules := ModulesHandlers{}.new()
module := ModuleHandlers{}.new()
types := TypesHandlers{}.new()
r.Route("/modules", func(r chi.Router) {
r.Get("/list", modules.List)
r.Post("/edit", modules.Edit)
r.Get("/content/list", modules.ContentList)
r.Post("/content/edit", modules.ContentEdit)
r.Delete("/content/delete", modules.ContentDelete)
r.Route("/module", func(r chi.Router) {
r.Get("/list", module.List)
r.Post("/edit", module.Edit)
r.Get("/content/list", module.ContentList)
r.Post("/content/edit", module.ContentEdit)
r.Delete("/content/delete", module.ContentDelete)
})
r.Route("/types", func(r chi.Router) {
r.Get("/list", types.List)