mirror of
https://github.com/aykhans/bsky-feedgen.git
synced 2025-06-01 11:03:23 +00:00
Add 'GeneratorHandler' to api
This commit is contained in:
parent
7b89230cae
commit
bc29dabd8a
@ -1,3 +1,3 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
const version = "0.2.105"
|
const version = "0.2.2"
|
||||||
|
@ -23,6 +23,7 @@ func Run(
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
feedHandler := handler.NewFeedHandler(feeds, apiConfig.FeedgenPublisherDID)
|
feedHandler := handler.NewFeedHandler(feeds, apiConfig.FeedgenPublisherDID)
|
||||||
|
generatorHandler := handler.NewGeneratorHandler()
|
||||||
|
|
||||||
authMiddleware := middleware.NewAuth(apiConfig.ServiceDID)
|
authMiddleware := middleware.NewAuth(apiConfig.ServiceDID)
|
||||||
|
|
||||||
@ -34,9 +35,9 @@ func Run(
|
|||||||
"GET /xrpc/app.bsky.feed.getFeedSkeleton",
|
"GET /xrpc/app.bsky.feed.getFeedSkeleton",
|
||||||
authMiddleware.JWTAuthMiddleware(http.HandlerFunc(feedHandler.GetFeedSkeleton)),
|
authMiddleware.JWTAuthMiddleware(http.HandlerFunc(feedHandler.GetFeedSkeleton)),
|
||||||
)
|
)
|
||||||
mux.HandleFunc("GET /{feed}/users", feedHandler.GetAllUsers)
|
mux.HandleFunc("GET /{feed}/users", generatorHandler.GetAllUsers)
|
||||||
mux.HandleFunc("GET /{feed}/users/valid/", feedHandler.GetValidUsers)
|
mux.HandleFunc("GET /{feed}/users/valid/", generatorHandler.GetValidUsers)
|
||||||
mux.HandleFunc("GET /{feed}/users/invalid/", feedHandler.GetInvalidUsers)
|
mux.HandleFunc("GET /{feed}/users/invalid/", generatorHandler.GetInvalidUsers)
|
||||||
|
|
||||||
httpServer := &http.Server{
|
httpServer := &http.Server{
|
||||||
Addr: fmt.Sprintf(":%d", apiConfig.APIPort),
|
Addr: fmt.Sprintf(":%d", apiConfig.APIPort),
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
"github.com/aykhans/bsky-feedgen/pkg/api/middleware"
|
"github.com/aykhans/bsky-feedgen/pkg/api/middleware"
|
||||||
"github.com/aykhans/bsky-feedgen/pkg/api/response"
|
"github.com/aykhans/bsky-feedgen/pkg/api/response"
|
||||||
"github.com/aykhans/bsky-feedgen/pkg/feed"
|
"github.com/aykhans/bsky-feedgen/pkg/feed"
|
||||||
generatorAz "github.com/aykhans/bsky-feedgen/pkg/generator/az"
|
|
||||||
"github.com/aykhans/bsky-feedgen/pkg/types"
|
"github.com/aykhans/bsky-feedgen/pkg/types"
|
||||||
"github.com/aykhans/bsky-feedgen/pkg/utils"
|
"github.com/aykhans/bsky-feedgen/pkg/utils"
|
||||||
"github.com/bluesky-social/indigo/api/bsky"
|
"github.com/bluesky-social/indigo/api/bsky"
|
||||||
@ -100,46 +99,3 @@ func (handler *FeedHandler) GetFeedSkeleton(w http.ResponseWriter, r *http.Reque
|
|||||||
Cursor: newCursor,
|
Cursor: newCursor,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (handler *FeedHandler) GetValidUsers(w http.ResponseWriter, r *http.Request) {
|
|
||||||
feed := r.PathValue("feed")
|
|
||||||
|
|
||||||
validUsers := make([]string, 0)
|
|
||||||
switch feed {
|
|
||||||
case "AzPulse":
|
|
||||||
validUsers = generatorAz.Users.GetValidUsers()
|
|
||||||
}
|
|
||||||
|
|
||||||
response.JSON(w, 200, response.M{
|
|
||||||
"feed": feed,
|
|
||||||
"users": validUsers,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (handler *FeedHandler) GetInvalidUsers(w http.ResponseWriter, r *http.Request) {
|
|
||||||
feed := r.PathValue("feed")
|
|
||||||
|
|
||||||
invalidUsers := make([]string, 0)
|
|
||||||
switch feed {
|
|
||||||
case "AzPulse":
|
|
||||||
invalidUsers = generatorAz.Users.GetInvalidUsers()
|
|
||||||
}
|
|
||||||
|
|
||||||
response.JSON(w, 200, response.M{
|
|
||||||
"feed": feed,
|
|
||||||
"users": invalidUsers,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (handler *FeedHandler) GetAllUsers(w http.ResponseWriter, r *http.Request) {
|
|
||||||
feed := r.PathValue("feed")
|
|
||||||
|
|
||||||
responseData := response.M{"feed": feed}
|
|
||||||
switch feed {
|
|
||||||
case "AzPulse":
|
|
||||||
responseData["valid_users"] = generatorAz.Users.GetValidUsers()
|
|
||||||
responseData["invalid_users"] = generatorAz.Users.GetInvalidUsers()
|
|
||||||
}
|
|
||||||
|
|
||||||
response.JSON(w, 200, responseData)
|
|
||||||
}
|
|
||||||
|
57
pkg/api/handler/generator.go
Normal file
57
pkg/api/handler/generator.go
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
package handler
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/aykhans/bsky-feedgen/pkg/api/response"
|
||||||
|
generatorAz "github.com/aykhans/bsky-feedgen/pkg/generator/az"
|
||||||
|
)
|
||||||
|
|
||||||
|
type GeneratorHandler struct{}
|
||||||
|
|
||||||
|
func NewGeneratorHandler() *GeneratorHandler {
|
||||||
|
return &GeneratorHandler{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (handler *GeneratorHandler) GetValidUsers(w http.ResponseWriter, r *http.Request) {
|
||||||
|
feed := r.PathValue("feed")
|
||||||
|
|
||||||
|
validUsers := make([]string, 0)
|
||||||
|
switch feed {
|
||||||
|
case "AzPulse":
|
||||||
|
validUsers = generatorAz.Users.GetValidUsers()
|
||||||
|
}
|
||||||
|
|
||||||
|
response.JSON(w, 200, response.M{
|
||||||
|
"feed": feed,
|
||||||
|
"users": validUsers,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func (handler *GeneratorHandler) GetInvalidUsers(w http.ResponseWriter, r *http.Request) {
|
||||||
|
feed := r.PathValue("feed")
|
||||||
|
|
||||||
|
invalidUsers := make([]string, 0)
|
||||||
|
switch feed {
|
||||||
|
case "AzPulse":
|
||||||
|
invalidUsers = generatorAz.Users.GetInvalidUsers()
|
||||||
|
}
|
||||||
|
|
||||||
|
response.JSON(w, 200, response.M{
|
||||||
|
"feed": feed,
|
||||||
|
"users": invalidUsers,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func (handler *GeneratorHandler) GetAllUsers(w http.ResponseWriter, r *http.Request) {
|
||||||
|
feed := r.PathValue("feed")
|
||||||
|
|
||||||
|
responseData := response.M{"feed": feed}
|
||||||
|
switch feed {
|
||||||
|
case "AzPulse":
|
||||||
|
responseData["valid_users"] = generatorAz.Users.GetValidUsers()
|
||||||
|
responseData["invalid_users"] = generatorAz.Users.GetInvalidUsers()
|
||||||
|
}
|
||||||
|
|
||||||
|
response.JSON(w, 200, responseData)
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user