mirror of
https://github.com/minetest/contentdb.git
synced 2025-03-14 14:22:30 +01:00
@ -60,9 +60,29 @@ Example:
|
||||
Supported query parameters:
|
||||
|
||||
* `type` - Package types (`mod`, `game`, `txp`).
|
||||
* `q` - Query string
|
||||
* `q` - Query string.
|
||||
* `author` - Filter by author.
|
||||
* `tag` - Filter by tags.
|
||||
* `random` - When present, enable random ordering and ignore `sort`.
|
||||
* `limit` - Return at most `limit` packages.
|
||||
* `hide` - Hide content based on [Content Flags](/help/content_flags/).
|
||||
* `sort` - Sort by (`name`, `views`, `date`, `score`).
|
||||
* `order` - Sort ascending (`Asc`) or descending (`desc`).
|
||||
* `sort` - Sort by (`name`, `title`, `score`, `downloads`, `created_at`).
|
||||
* `order` - Sort ascending (`asc`) or descending (`desc`).
|
||||
* `protocol_version` - Only show packages supported by this Minetest protocol version.
|
||||
* `engine_version` - Only show packages supported by this Minetest engine version, eg: `5.3.0`.
|
||||
|
||||
|
||||
## Topic Queries
|
||||
|
||||
Example:
|
||||
|
||||
/api/topics/?q=mobs
|
||||
|
||||
Supported query parameters:
|
||||
|
||||
* `q` - Query string.
|
||||
* `sort` - Sort by (`name`, `views`, `date`).
|
||||
* `order` - Sort ascending (`asc`) or descending (`desc`).
|
||||
* `show_added` - Show topics that have an existing package.
|
||||
* `show_discarded` - Show topics marked as discarded.
|
||||
* `limit` - Return at most `limit` topics.
|
||||
|
@ -79,7 +79,13 @@ class QueryBuilder:
|
||||
to_order = None
|
||||
if self.order_by is None or self.order_by == "score":
|
||||
to_order = Package.score
|
||||
elif self.order_by == "created_at":
|
||||
elif self.order_by == "name":
|
||||
to_order = Package.name
|
||||
elif self.order_by == "title":
|
||||
to_order = Package.title
|
||||
elif self.order_by == "downloads":
|
||||
to_order = Package.downloads
|
||||
elif self.order_by == "created_at" or self.order_by == "date":
|
||||
to_order = Package.created_at
|
||||
else:
|
||||
abort(400)
|
||||
@ -134,7 +140,7 @@ class QueryBuilder:
|
||||
query = query.order_by(db.asc(ForumTopic.wip), db.asc(ForumTopic.name), db.asc(ForumTopic.title))
|
||||
elif self.order_by == "views":
|
||||
query = query.order_by(db.desc(ForumTopic.views))
|
||||
elif self.order_by == "date":
|
||||
elif self.order_by == "created_at" or self.order_by == "date":
|
||||
query = query.order_by(db.asc(ForumTopic.created_at))
|
||||
|
||||
if self.search:
|
||||
|
Reference in New Issue
Block a user