mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-04-24 03:00:15 -04:00
feat: restructure for better reuse
This commit is contained in:
@@ -1,19 +1,19 @@
|
||||
package restapi
|
||||
|
||||
import (
|
||||
"github.com/danielmiessler/fabric/db"
|
||||
"github.com/danielmiessler/fabric/db/fs"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// ContextsHandler defines the handler for contexts-related operations
|
||||
type ContextsHandler struct {
|
||||
*StorageHandler[db.Context]
|
||||
contexts *db.ContextsEntity
|
||||
*StorageHandler[fs.Context]
|
||||
contexts *fs.ContextsEntity
|
||||
}
|
||||
|
||||
// NewContextsHandler creates a new ContextsHandler
|
||||
func NewContextsHandler(r *gin.Engine, contexts *db.ContextsEntity) (ret *ContextsHandler) {
|
||||
func NewContextsHandler(r *gin.Engine, contexts *fs.ContextsEntity) (ret *ContextsHandler) {
|
||||
ret = &ContextsHandler{
|
||||
StorageHandler: NewStorageHandler[db.Context](r, "contexts", contexts), contexts: contexts}
|
||||
StorageHandler: NewStorageHandler[fs.Context](r, "contexts", contexts), contexts: contexts}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1,27 +1,29 @@
|
||||
package restapi
|
||||
|
||||
import (
|
||||
"github.com/danielmiessler/fabric/db"
|
||||
"github.com/danielmiessler/fabric/db/fs"
|
||||
"github.com/gin-gonic/gin"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// PatternsHandler defines the handler for patterns-related operations
|
||||
type PatternsHandler struct {
|
||||
*StorageHandler[db.Pattern]
|
||||
patterns *db.PatternsEntity
|
||||
*StorageHandler[fs.Pattern]
|
||||
patterns *fs.PatternsEntity
|
||||
}
|
||||
|
||||
// NewPatternsHandler creates a new PatternsHandler
|
||||
func NewPatternsHandler(r *gin.Engine, patterns *db.PatternsEntity) (ret *PatternsHandler) {
|
||||
func NewPatternsHandler(r *gin.Engine, patterns *fs.PatternsEntity) (ret *PatternsHandler) {
|
||||
ret = &PatternsHandler{
|
||||
StorageHandler: NewStorageHandler[db.Pattern](r, "patterns", patterns), patterns: patterns}
|
||||
r.GET("/patterns/:name", ret.GetPattern)
|
||||
StorageHandler: NewStorageHandler[fs.Pattern](r, "patterns", patterns), patterns: patterns}
|
||||
|
||||
// TODO: Add custom, replacement routes here
|
||||
//r.GET("/patterns/:name", ret.Get)
|
||||
return
|
||||
}
|
||||
|
||||
// GetPattern handles the GET /patterns/:name route
|
||||
func (h *PatternsHandler) GetPattern(c *gin.Context) {
|
||||
// Get handles the GET /patterns/:name route
|
||||
func (h *PatternsHandler) Get(c *gin.Context) {
|
||||
name := c.Param("name")
|
||||
variables := make(map[string]string) // Assuming variables are passed somehow
|
||||
pattern, err := h.patterns.GetApplyVariables(name, variables)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package restapi
|
||||
|
||||
import (
|
||||
"github.com/danielmiessler/fabric/db"
|
||||
"github.com/danielmiessler/fabric/db/fs"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func Serve(fabricDb *db.Db, address string) (err error) {
|
||||
func Serve(fabricDb *fs.Db, address string) (err error) {
|
||||
r := gin.Default()
|
||||
|
||||
// Middleware
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
package restapi
|
||||
|
||||
import (
|
||||
"github.com/danielmiessler/fabric/db"
|
||||
"github.com/danielmiessler/fabric/db/fs"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// SessionsHandler defines the handler for sessions-related operations
|
||||
type SessionsHandler struct {
|
||||
*StorageHandler[db.Session]
|
||||
sessions *db.SessionsEntity
|
||||
*StorageHandler[fs.Session]
|
||||
sessions *fs.SessionsEntity
|
||||
}
|
||||
|
||||
// NewSessionsHandler creates a new SessionsHandler
|
||||
func NewSessionsHandler(r *gin.Engine, sessions *db.SessionsEntity) (ret *SessionsHandler) {
|
||||
func NewSessionsHandler(r *gin.Engine, sessions *fs.SessionsEntity) (ret *SessionsHandler) {
|
||||
ret = &SessionsHandler{
|
||||
StorageHandler: NewStorageHandler[db.Session](r, "sessions", sessions), sessions: sessions}
|
||||
StorageHandler: NewStorageHandler[fs.Session](r, "sessions", sessions), sessions: sessions}
|
||||
return ret
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user