search

package
v0.13.0-rc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2023 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BasePath = "/:" + apiutil.APIVersionKey + "/search"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Module

type Module struct {
	// contains filtered or unexported fields
}

func New

func New(processor *processing.Processor) *Module

func (*Module) Route

func (m *Module) Route(attachHandler func(method string, path string, f ...gin.HandlerFunc) gin.IRoutes)

func (*Module) SearchGETHandler

func (m *Module) SearchGETHandler(c *gin.Context)

SearchGETHandler swagger:operation GET /api/{api_version}/search searchGet

Search for statuses, accounts, or hashtags, on this instance or elsewhere.

If statuses are in the result, they will be returned in descending chronological order (newest first), with sequential IDs (bigger = newer).

---
tags:
- search

produces:
- application/json

parameters:
-
	name: api_version
	type: string
	in: path
	description: >-
		Version of the API to use. Must be either `v1` or `v2`.
		If v1 is used, Hashtag results will be a slice of strings.
		If v2 is used, Hashtag results will be a slice of apimodel tags.
	required: true
-
	name: max_id
	type: string
	description: >-
		Return only items *OLDER* than the given max ID.
		The item with the specified ID will not be included in the response.
		Currently only used if 'type' is set to a specific type.
	in: query
	required: false
-
	name: min_id
	type: string
	description: >-
		Return only items *immediately newer* than the given min ID.
		The item with the specified ID will not be included in the response.
		Currently only used if 'type' is set to a specific type.
	in: query
	required: false
-
	name: limit
	type: integer
	description: Number of each type of item to return.
	default: 20
	maximum: 40
	minimum: 1
	in: query
	required: false
-
	name: offset
	type: integer
	description: >-
		Page number of results to return (starts at 0).
		This parameter is currently not used, page by selecting
		a specific query type and using maxID and minID instead.
	default: 0
	maximum: 10
	minimum: 0
	in: query
	required: false
-
	name: q
	type: string
	description: |-
		Query string to search for. This can be in the following forms:
		- `@[username]` -- search for an account with the given username on any domain. Can return multiple results.
		- @[username]@[domain]` -- search for a remote account with exact username and domain. Will only ever return 1 result at most.
		- `https://example.org/some/arbitrary/url` -- search for an account OR a status with the given URL. Will only ever return 1 result at most.
		- `#[hashtag_name]` -- search for a hashtag with the given hashtag name, or starting with the given hashtag name. Case insensitive. Can return multiple results.
		- any arbitrary string -- search for accounts or statuses containing the given string. Can return multiple results.
	in: query
	required: true
-
	name: type
	type: string
	description: |-
		Type of item to return. One of:
		- `` -- empty string; return any/all results.
		- `accounts` -- return only account(s).
		- `statuses` -- return only status(es).
		- `hashtags` -- return only hashtag(s).
		If `type` is specified, paging can be performed using max_id and min_id parameters.
		If `type` is not specified, see the `offset` parameter for paging.
	in: query
-
	name: resolve
	type: boolean
	description: >-
		If searching query is for `@[username]@[domain]`, or a URL, allow the GoToSocial
		instance to resolve the search by making calls to remote instances (webfinger, ActivityPub, etc).
	default: false
	in: query
-
	name: following
	type: boolean
	description: >-
		If search type includes accounts, and search query is an arbitrary string, show only accounts
		that the requesting account follows. If this is set to `true`, then the GoToSocial instance will
		enhance the search by also searching within account notes, not just in usernames and display names.
	default: false
	in: query
-
	name: exclude_unreviewed
	type: boolean
	description: >-
		If searching for hashtags, exclude those not yet approved by instance admin.
		Currently this parameter is unused.
	default: false
	in: query

security:
- OAuth2 Bearer:
	- read:search

responses:
	'200':
		name: search results
		description: Results of the search.
		schema:
			"$ref": "#/definitions/searchResult"
	'400':
		description: bad request
	'401':
		description: unauthorized
	'404':
		description: not found
	'406':
		description: not acceptable
	'500':
		description: internal server error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL