From 0b17420bee7e8c172966543edfdd7d8f86c250ab Mon Sep 17 00:00:00 2001 From: Tit Petric Date: Thu, 5 Jul 2018 13:03:23 +0000 Subject: [PATCH] renamed modules to module api --- crm/module.go | 27 +++++++++ crm/module.handlers.go | 28 +++++++++ crm/module.interfaces.go | 38 ++++++++++++ crm/{modules.request.go => module.request.go} | 60 +++++++++---------- crm/{modules.structs.go => module.structs.go} | 14 ++--- crm/modules.go | 27 --------- crm/modules.handlers.go | 28 --------- crm/modules.interfaces.go | 38 ------------ crm/routes.go | 14 ++--- 9 files changed, 137 insertions(+), 137 deletions(-) create mode 100644 crm/module.go create mode 100644 crm/module.handlers.go create mode 100644 crm/module.interfaces.go rename crm/{modules.request.go => module.request.go} (53%) rename crm/{modules.structs.go => module.structs.go} (54%) delete mode 100644 crm/modules.go delete mode 100644 crm/modules.handlers.go delete mode 100644 crm/modules.interfaces.go diff --git a/crm/module.go b/crm/module.go new file mode 100644 index 000000000..902f12456 --- /dev/null +++ b/crm/module.go @@ -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") +} diff --git a/crm/module.handlers.go b/crm/module.handlers.go new file mode 100644 index 000000000..3d7132381 --- /dev/null +++ b/crm/module.handlers.go @@ -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) }) +} diff --git a/crm/module.interfaces.go b/crm/module.interfaces.go new file mode 100644 index 000000000..de390721a --- /dev/null +++ b/crm/module.interfaces.go @@ -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{} diff --git a/crm/modules.request.go b/crm/module.request.go similarity index 53% rename from crm/modules.request.go rename to crm/module.request.go index 7505f5540..9710aa53d 100644 --- a/crm/modules.request.go +++ b/crm/module.request.go @@ -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() diff --git a/crm/modules.structs.go b/crm/module.structs.go similarity index 54% rename from crm/modules.structs.go rename to crm/module.structs.go index 465c09bcb..ff764302c 100644 --- a/crm/modules.structs.go +++ b/crm/module.structs.go @@ -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 diff --git a/crm/modules.go b/crm/modules.go deleted file mode 100644 index c83fab8c4..000000000 --- a/crm/modules.go +++ /dev/null @@ -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") -} diff --git a/crm/modules.handlers.go b/crm/modules.handlers.go deleted file mode 100644 index 837d42fa0..000000000 --- a/crm/modules.handlers.go +++ /dev/null @@ -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) }) -} diff --git a/crm/modules.interfaces.go b/crm/modules.interfaces.go deleted file mode 100644 index 8c573d5ad..000000000 --- a/crm/modules.interfaces.go +++ /dev/null @@ -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{} diff --git a/crm/routes.go b/crm/routes.go index 4542061c8..32ca19b64 100644 --- a/crm/routes.go +++ b/crm/routes.go @@ -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)