package client import ( "encoding/json" "fmt" "git.db.org.ai/dborg/internal/models" "net/url" ) func (c *Client) SearchShortlinks(params *models.ShortlinksSearchParams) (*models.ShortlinksSearchResponse, error) { path := "/shortlinks" queryParams := url.Values{} if params.Keywords != "" { queryParams.Add("keywords", params.Keywords) } if params.Ext != "" { queryParams.Add("ext", params.Ext) } if params.Order != "" { queryParams.Add("order", params.Order) } if params.Direction != "" { queryParams.Add("direction", params.Direction) } if params.Regexp { queryParams.Add("regexp", "true") } if params.Limit > 0 { queryParams.Add("limit", fmt.Sprintf("%d", params.Limit)) } if params.Start > 0 { queryParams.Add("start", fmt.Sprintf("%d", params.Start)) } data, err := c.Get(path, queryParams) if err != nil { return nil, err } var response models.ShortlinksSearchResponse if err := json.Unmarshal(data, &response); err != nil { return nil, fmt.Errorf("failed to parse shortlinks search response: %w", err) } return &response, nil }