···290290 e.GET("/xrpc/place.stream.live.getRecommendations", s.HandlePlaceStreamLiveGetRecommendations)
291291 e.GET("/xrpc/place.stream.live.getSegments", s.HandlePlaceStreamLiveGetSegments)
292292 e.GET("/xrpc/place.stream.live.searchActorsTypeahead", s.HandlePlaceStreamLiveSearchActorsTypeahead)
293293+ e.POST("/xrpc/place.stream.live.startLivestream", s.HandlePlaceStreamLiveStartLivestream)
294294+ e.POST("/xrpc/place.stream.live.stopLivestream", s.HandlePlaceStreamLiveStopLivestream)
293295 e.POST("/xrpc/place.stream.moderation.createBlock", s.HandlePlaceStreamModerationCreateBlock)
294296 e.POST("/xrpc/place.stream.moderation.createGate", s.HandlePlaceStreamModerationCreateGate)
295297 e.POST("/xrpc/place.stream.moderation.deleteBlock", s.HandlePlaceStreamModerationDeleteBlock)
···518520 var handleErr error
519521 // func (s *Server) handlePlaceStreamLiveSearchActorsTypeahead(ctx context.Context,limit int,q string) (*placestream.LiveSearchActorsTypeahead_Output, error)
520522 out, handleErr = s.handlePlaceStreamLiveSearchActorsTypeahead(ctx, limit, q)
523523+ if handleErr != nil {
524524+ return handleErr
525525+ }
526526+ return c.JSON(200, out)
527527+}
528528+529529+func (s *Server) HandlePlaceStreamLiveStartLivestream(c echo.Context) error {
530530+ ctx, span := otel.Tracer("server").Start(c.Request().Context(), "HandlePlaceStreamLiveStartLivestream")
531531+ defer span.End()
532532+533533+ var body placestream.LiveStartLivestream_Input
534534+ if err := c.Bind(&body); err != nil {
535535+ return err
536536+ }
537537+ var out *placestream.LiveStartLivestream_Output
538538+ var handleErr error
539539+ // func (s *Server) handlePlaceStreamLiveStartLivestream(ctx context.Context,body *placestream.LiveStartLivestream_Input) (*placestream.LiveStartLivestream_Output, error)
540540+ out, handleErr = s.handlePlaceStreamLiveStartLivestream(ctx, &body)
541541+ if handleErr != nil {
542542+ return handleErr
543543+ }
544544+ return c.JSON(200, out)
545545+}
546546+547547+func (s *Server) HandlePlaceStreamLiveStopLivestream(c echo.Context) error {
548548+ ctx, span := otel.Tracer("server").Start(c.Request().Context(), "HandlePlaceStreamLiveStopLivestream")
549549+ defer span.End()
550550+551551+ var body placestream.LiveStopLivestream_Input
552552+ if err := c.Bind(&body); err != nil {
553553+ return err
554554+ }
555555+ var out *placestream.LiveStopLivestream_Output
556556+ var handleErr error
557557+ // func (s *Server) handlePlaceStreamLiveStopLivestream(ctx context.Context,body *placestream.LiveStopLivestream_Input) (*placestream.LiveStopLivestream_Output, error)
558558+ out, handleErr = s.handlePlaceStreamLiveStopLivestream(ctx, &body)
521559 if handleErr != nil {
522560 return handleErr
523561 }
+38
pkg/streamplace/livestartLivestream.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+// Lexicon schema: place.stream.live.startLivestream
44+55+package streamplace
66+77+import (
88+ "context"
99+1010+ lexutil "github.com/bluesky-social/indigo/lex/util"
1111+)
1212+1313+// LiveStartLivestream_Input is the input argument to a place.stream.live.startLivestream call.
1414+type LiveStartLivestream_Input struct {
1515+ // createBlueskyPost: Whether to create a Bluesky post announcing the livestream.
1616+ CreateBlueskyPost *bool `json:"createBlueskyPost,omitempty" cborgen:"createBlueskyPost,omitempty"`
1717+ Livestream *Livestream `json:"livestream" cborgen:"livestream"`
1818+ // streamer: The DID of the streamer.
1919+ Streamer string `json:"streamer" cborgen:"streamer"`
2020+}
2121+2222+// LiveStartLivestream_Output is the output of a place.stream.live.startLivestream call.
2323+type LiveStartLivestream_Output struct {
2424+ // cid: The CID of the livestream record.
2525+ Cid string `json:"cid" cborgen:"cid"`
2626+ // uri: The URI of the livestream record.
2727+ Uri string `json:"uri" cborgen:"uri"`
2828+}
2929+3030+// LiveStartLivestream calls the XRPC method "place.stream.live.startLivestream".
3131+func LiveStartLivestream(ctx context.Context, c lexutil.LexClient, input *LiveStartLivestream_Input) (*LiveStartLivestream_Output, error) {
3232+ var out LiveStartLivestream_Output
3333+ if err := c.LexDo(ctx, lexutil.Procedure, "application/json", "place.stream.live.startLivestream", nil, input, &out); err != nil {
3434+ return nil, err
3535+ }
3636+3737+ return &out, nil
3838+}
+33
pkg/streamplace/livestopLivestream.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+// Lexicon schema: place.stream.live.stopLivestream
44+55+package streamplace
66+77+import (
88+ "context"
99+1010+ lexutil "github.com/bluesky-social/indigo/lex/util"
1111+)
1212+1313+// LiveStopLivestream_Input is the input argument to a place.stream.live.stopLivestream call.
1414+type LiveStopLivestream_Input struct {
1515+}
1616+1717+// LiveStopLivestream_Output is the output of a place.stream.live.stopLivestream call.
1818+type LiveStopLivestream_Output struct {
1919+ // cid: The new CID of the stopped livestream record.
2020+ Cid string `json:"cid" cborgen:"cid"`
2121+ // uri: The URI of the stopped livestream record.
2222+ Uri string `json:"uri" cborgen:"uri"`
2323+}
2424+2525+// LiveStopLivestream calls the XRPC method "place.stream.live.stopLivestream".
2626+func LiveStopLivestream(ctx context.Context, c lexutil.LexClient, input *LiveStopLivestream_Input) (*LiveStopLivestream_Output, error) {
2727+ var out LiveStopLivestream_Output
2828+ if err := c.LexDo(ctx, lexutil.Procedure, "application/json", "place.stream.live.stopLivestream", nil, input, &out); err != nil {
2929+ return nil, err
3030+ }
3131+3232+ return &out, nil
3333+}