Add search endpoint
This commit is contained in:
parent
c9db49c367
commit
a9c51dba33
23
search.go
Normal file
23
search.go
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
package lemmy
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"go.arsenm.dev/go-lemmy/types"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (c *Client) Search(ctx context.Context, d types.Search) (*types.SearchResponse, error) {
|
||||||
|
ar := &types.SearchResponse{}
|
||||||
|
res, err := c.getReq(ctx, http.MethodGet, "/search", d, &ar)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = resError(res, ar.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return ar, nil
|
||||||
|
}
|
@ -1,5 +1,17 @@
|
|||||||
package types
|
package types
|
||||||
|
|
||||||
|
type Search struct {
|
||||||
|
CommunityID Optional[int] `json:"community_id" url:"community_id"`
|
||||||
|
CommunityName Optional[string] `json:"community_name" url:"community_name"`
|
||||||
|
CreatorID Optional[int] `json:"creator_id" url:"creator_id"`
|
||||||
|
Limit Optional[int] `json:"limit" url:"limit"`
|
||||||
|
ListingType Optional[ListingType] `json:"listing_type" url:"listing_type"`
|
||||||
|
Page Optional[int] `json:"page" url:"page"`
|
||||||
|
Query string `json:"q" url:"q"`
|
||||||
|
Sort Optional[SortType] `json:"sort" url:"sort"`
|
||||||
|
Type Optional[SearchType] `json:"type_" url:"type_"`
|
||||||
|
}
|
||||||
|
|
||||||
type SearchResponse struct {
|
type SearchResponse struct {
|
||||||
Type string `json:"type,omitempty" url:"type,omitempty"`
|
Type string `json:"type,omitempty" url:"type,omitempty"`
|
||||||
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"`
|
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"`
|
||||||
|
Loading…
Reference in New Issue
Block a user