// Copyright 2023 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package repo import "code.gitea.io/gitea/models/db" // SearchOrderByMap represents all possible search order var SearchOrderByMap = map[string]map[string]db.SearchOrderBy{ "asc": { "alpha": "owner_name ASC, name ASC", "created": db.SearchOrderByOldest, "updated": db.SearchOrderByLeastUpdated, "size": "size ASC", "git_size": "git_size ASC", "lfs_size": "lfs_size ASC", "id": db.SearchOrderByID, "stars": db.SearchOrderByStars, "forks": db.SearchOrderByForks, }, "desc": { "alpha": "owner_name DESC, name DESC", "created": db.SearchOrderByNewest, "updated": db.SearchOrderByRecentUpdated, "size": "size DESC", "git_size": "git_size DESC", "lfs_size": "lfs_size DESC", "id": db.SearchOrderByIDReverse, "stars": db.SearchOrderByStarsReverse, "forks": db.SearchOrderByForksReverse, }, } // SearchOrderByFlatMap is similar to SearchOrderByMap but use human language keywords // to decide between asc and desc var SearchOrderByFlatMap = map[string]db.SearchOrderBy{ "newest": SearchOrderByMap["desc"]["created"], "oldest": SearchOrderByMap["asc"]["created"], "leastupdate": SearchOrderByMap["asc"]["updated"], "reversealphabetically": SearchOrderByMap["desc"]["alpha"], "alphabetically": SearchOrderByMap["asc"]["alpha"], "reversesize": SearchOrderByMap["desc"]["size"], "size": SearchOrderByMap["asc"]["size"], "reversegitsize": SearchOrderByMap["desc"]["git_size"], "gitsize": SearchOrderByMap["asc"]["git_size"], "reverselfssize": SearchOrderByMap["desc"]["lfs_size"], "lfssize": SearchOrderByMap["asc"]["lfs_size"], "moststars": SearchOrderByMap["desc"]["stars"], "feweststars": SearchOrderByMap["asc"]["stars"], "mostforks": SearchOrderByMap["desc"]["forks"], "fewestforks": SearchOrderByMap["asc"]["forks"], }