Compare commits

...

2 Commits

Author SHA1 Message Date
61030d84a1 Remove duplicate MarkCommentReplyAsRead 2022-12-10 12:07:30 -08:00
a9c51dba33 Add search endpoint 2022-12-10 12:07:19 -08:00
4 changed files with 36 additions and 16 deletions

View File

@ -127,7 +127,7 @@ func (c *Client) ListCommentReports(ctx context.Context, d types.ListCommentRepo
return ar, nil return ar, nil
} }
func (c *Client) MarkCommentReplyRead(ctx context.Context, d types.MarkCommentReplyAsRead) (*types.CommentResponse, error) { func (c *Client) MarkCommentReplyAsRead(ctx context.Context, d types.MarkCommentReplyAsRead) (*types.CommentResponse, error) {
ar := &types.CommentResponse{} ar := &types.CommentResponse{}
res, err := c.req(ctx, http.MethodPost, "/comment/mark_as_read", d, &ar) res, err := c.req(ctx, http.MethodPost, "/comment/mark_as_read", d, &ar)
if err != nil { if err != nil {

View File

@ -204,21 +204,6 @@ func (c *Client) MarkAllAsRead(ctx context.Context, d types.MarkAllAsRead) (*typ
return ar, nil return ar, nil
} }
func (c *Client) MarkCommentReplyAsRead(ctx context.Context, d types.MarkCommentReplyAsRead) (*types.CommentResponse, error) {
ar := &types.CommentResponse{}
res, err := c.req(ctx, http.MethodPost, "/user/mark_as_read", d, &ar)
if err != nil {
return nil, err
}
err = resError(res, ar.LemmyResponse)
if err != nil {
return nil, err
}
return ar, nil
}
func (c *Client) MarkPersonMentionAsRead(ctx context.Context, d types.MarkPersonMentionAsRead) (*types.PersonMentionResponse, error) { func (c *Client) MarkPersonMentionAsRead(ctx context.Context, d types.MarkPersonMentionAsRead) (*types.PersonMentionResponse, error) {
ar := &types.PersonMentionResponse{} ar := &types.PersonMentionResponse{}
res, err := c.req(ctx, http.MethodPost, "/user/mention/mark_as_read", d, &ar) res, err := c.req(ctx, http.MethodPost, "/user/mention/mark_as_read", d, &ar)

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 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"`