+1
-1
api/server/actorgetprofile.go
+1
-1
api/server/actorgetprofile.go
···
9
9
"github.com/labstack/echo/v4"
10
10
"github.com/vylet-app/go/database/client"
11
11
vyletdatabase "github.com/vylet-app/go/database/proto"
12
+
"github.com/vylet-app/go/generated/handlers"
12
13
"github.com/vylet-app/go/generated/vylet"
13
-
"github.com/vylet-app/go/handlers"
14
14
)
15
15
16
16
type ActorGetProfileInput struct {
+1
-1
api/server/actorgetprofiles.go
+1
-1
api/server/actorgetprofiles.go
···
8
8
9
9
"github.com/labstack/echo/v4"
10
10
vyletdatabase "github.com/vylet-app/go/database/proto"
11
+
"github.com/vylet-app/go/generated/handlers"
11
12
"github.com/vylet-app/go/generated/vylet"
12
-
"github.com/vylet-app/go/handlers"
13
13
)
14
14
15
15
func (s *Server) getProfiles(ctx context.Context, dids []string) (map[string]*vylet.ActorDefs_ProfileView, error) {
+1
-1
api/server/feedgetlikes.go
+1
-1
api/server/feedgetlikes.go
···
7
7
8
8
"github.com/labstack/echo/v4"
9
9
vyletdatabase "github.com/vylet-app/go/database/proto"
10
+
"github.com/vylet-app/go/generated/handlers"
10
11
"github.com/vylet-app/go/generated/vylet"
11
-
"github.com/vylet-app/go/handlers"
12
12
"github.com/vylet-app/go/internal/helpers"
13
13
)
14
14
+1
-1
api/server/feedgetposts.go
+1
-1
api/server/feedgetposts.go
···
12
12
"github.com/labstack/echo/v4"
13
13
"github.com/vylet-app/go/database/client"
14
14
vyletdatabase "github.com/vylet-app/go/database/proto"
15
+
"github.com/vylet-app/go/generated/handlers"
15
16
"github.com/vylet-app/go/generated/vylet"
16
-
"github.com/vylet-app/go/handlers"
17
17
"github.com/vylet-app/go/internal/helpers"
18
18
"golang.org/x/sync/errgroup"
19
19
)
+1
-1
api/server/server.go
+1
-1
api/server/server.go
+1
-3
go.mod
+1
-3
go.mod
···
7
7
github.com/bluesky-social/go-util v0.0.0-20251012040650-2ebbf57f5934
8
8
github.com/bluesky-social/indigo v0.0.0-20251206005924-d49b45419635
9
9
github.com/gocql/gocql v1.7.0
10
-
github.com/golang-jwt/jwt/v4 v4.5.2
11
10
github.com/golang-jwt/jwt/v5 v5.2.2
12
11
github.com/golang-migrate/migrate/v4 v4.19.1
13
12
github.com/gorilla/websocket v1.5.1
14
-
github.com/haileyok/cocoon v0.6.0
15
13
github.com/ipfs/go-cid v0.4.1
16
14
github.com/joho/godotenv v1.5.1
17
15
github.com/labstack/echo-contrib v0.17.4
···
23
21
github.com/urfave/cli/v2 v2.27.7
24
22
github.com/whyrusleeping/cbor-gen v0.2.1-0.20241030202151-b7a6831be65e
25
23
golang.org/x/sync v0.18.0
24
+
golang.org/x/time v0.12.0
26
25
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028
27
26
google.golang.org/grpc v1.74.2
28
27
google.golang.org/protobuf v1.36.9
···
112
111
golang.org/x/net v0.47.0 // indirect
113
112
golang.org/x/sys v0.38.0 // indirect
114
113
golang.org/x/text v0.31.0 // indirect
115
-
golang.org/x/time v0.12.0 // indirect
116
114
golang.org/x/tools v0.38.0 // indirect
117
115
google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c // indirect
118
116
gopkg.in/inf.v0 v0.9.1 // indirect
-4
go.sum
-4
go.sum
···
69
69
github.com/gocql/gocql v1.7.0/go.mod h1:vnlvXyFZeLBF0Wy+RS8hrOdbn0UWsWtdg07XJnFxZ+4=
70
70
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
71
71
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
72
-
github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI=
73
-
github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
74
72
github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8=
75
73
github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
76
74
github.com/golang-migrate/migrate/v4 v4.19.1 h1:OCyb44lFuQfYXYLx1SCxPZQGU7mcaZ7gH9yH4jSFbBA=
···
91
89
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
92
90
github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY=
93
91
github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY=
94
-
github.com/haileyok/cocoon v0.6.0 h1:alWSJxH8KjJlbCPmwRz4GMTyxSO96x3sAkXfXqyZpns=
95
-
github.com/haileyok/cocoon v0.6.0/go.mod h1:idOPL+SxJsTpUH0fpna3QRpZsuJKpG926QZLPKkMQ3E=
96
92
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8=
97
93
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4=
98
94
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
handlers/actorgetprofile.go
generated/handlers/actorgetprofile.go
handlers/actorgetprofile.go
generated/handlers/actorgetprofile.go
handlers/actorgetprofiles.go
generated/handlers/actorgetprofiles.go
handlers/actorgetprofiles.go
generated/handlers/actorgetprofiles.go
+2
-2
handlers/feedgetactorposts.go
generated/handlers/feedgetactorposts.go
+2
-2
handlers/feedgetactorposts.go
generated/handlers/feedgetactorposts.go
···
10
10
)
11
11
12
12
type FeedGetActorPostsInput struct {
13
-
Actor string `query:"actor"`
13
+
Actor string `query:"actor"`
14
14
Cursor *string `query:"cursor"`
15
-
Limit *int64 `query:"limit"`
15
+
Limit *int64 `query:"limit"`
16
16
}
17
17
18
18
func (h *Handlers) HandleFeedGetActorPosts(e echo.Context) error {
handlers/feedgetposts.go
generated/handlers/feedgetposts.go
handlers/feedgetposts.go
generated/handlers/feedgetposts.go
handlers/feedgetsubjectlikes.go
generated/handlers/feedgetsubjectlikes.go
handlers/feedgetsubjectlikes.go
generated/handlers/feedgetsubjectlikes.go
+2
-3
handlers/handlers.go
generated/handlers/handlers.go
+2
-3
handlers/handlers.go
generated/handlers/handlers.go
···
18
18
ActorGetProfileRequiresAuth() bool
19
19
HandleActorGetProfiles(e echo.Context, input *ActorGetProfilesInput) (*vylet.ActorGetProfiles_Output, *echo.HTTPError)
20
20
ActorGetProfilesRequiresAuth() bool
21
-
HandleFeedGetActorPosts(e echo.Context, input *FeedGetActorPostsInput) (*vylet.FeedGetActorPosts_Output, *echo.HTTPError)
22
-
FeedGetActorPostsRequiresAuth() bool
23
21
HandleFeedGetPosts(e echo.Context, input *FeedGetPostsInput) (*vylet.FeedGetPosts_Output, *echo.HTTPError)
24
22
FeedGetPostsRequiresAuth() bool
25
23
HandleFeedGetSubjectLikes(e echo.Context, input *FeedGetSubjectLikesInput) (*vylet.FeedGetSubjectLikes_Output, *echo.HTTPError)
26
24
FeedGetSubjectLikesRequiresAuth() bool
25
+
HandleFeedGetActorPosts(e echo.Context, input *FeedGetActorPostsInput) (*vylet.FeedGetActorPosts_Output, *echo.HTTPError)
26
+
FeedGetActorPostsRequiresAuth() bool
27
27
}
28
28
29
29
type Handlers struct {
···
37
37
38
38
e.GET("/xrpc/app.vylet.actor.getProfile", h.HandleActorGetProfile, CreateAuthRequiredMiddleware(s.ActorGetProfileRequiresAuth()))
39
39
e.GET("/xrpc/app.vylet.actor.getProfiles", h.HandleActorGetProfiles, CreateAuthRequiredMiddleware(s.ActorGetProfilesRequiresAuth()))
40
-
e.GET("/xrpc/app.vylet.feed.getActorPosts", h.HandleFeedGetActorPosts, CreateAuthRequiredMiddleware(s.FeedGetActorPostsRequiresAuth()))
41
40
e.GET("/xrpc/app.vylet.feed.getPosts", h.HandleFeedGetPosts, CreateAuthRequiredMiddleware(s.FeedGetPostsRequiresAuth()))
42
41
e.GET("/xrpc/app.vylet.feed.getSubjectLikes", h.HandleFeedGetSubjectLikes, CreateAuthRequiredMiddleware(s.FeedGetSubjectLikesRequiresAuth()))
43
42
}
+3
justfile
+3
justfile
···
8
8
lexgen:
9
9
go run ./cmd/lexgen/ --build-file cmd/lexgen/vylet.json {{lexdir}}
10
10
11
+
handlergen:
12
+
go run ./cmd/handlergen --ignored-lexicons "com.atproto.*" --lexicons-path "../lexicons" --out-path "./generated/handlers" --lexgen-package-url "github.com/vylet-app/go/generated/vylet" --lexgen-package-name "vylet" --package-name "handlers"
13
+
11
14
cborgen:
12
15
go run ./gen
13
16