Add search endpoint

This commit is contained in:
Elara 2022-12-10 12:07:19 -08:00
parent 312415db3f
commit 2d99520d52
2 changed files with 35 additions and 0 deletions

23
search.go Normal file
View 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
}

View File

@ -1,5 +1,17 @@
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 string `json:"type,omitempty" url:"type,omitempty"`
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"`