@@ -54,19 +54,33 @@ func Search(ctx *context.APIContext) {
5454
5555 listOptions := utils .GetListOptions (ctx )
5656
57- users , maxResults , err := user_model .SearchUsers (ctx , & user_model.SearchUserOptions {
58- Actor : ctx .Doer ,
59- Keyword : ctx .FormTrim ("q" ),
60- UID : ctx .FormInt64 ("uid" ),
61- Type : user_model .UserTypeIndividual ,
62- ListOptions : listOptions ,
63- })
64- if err != nil {
65- ctx .JSON (http .StatusInternalServerError , map [string ]any {
66- "ok" : false ,
67- "error" : err .Error (),
57+ uid := ctx .FormInt64 ("uid" )
58+ var users []* user_model.User
59+ var maxResults int64
60+ var err error
61+
62+ switch uid {
63+ case user_model .GhostUserID :
64+ maxResults = 1
65+ users = []* user_model.User {user_model .NewGhostUser ()}
66+ case user_model .ActionsUserID :
67+ maxResults = 1
68+ users = []* user_model.User {user_model .NewActionsUser ()}
69+ default :
70+ users , maxResults , err = user_model .SearchUsers (ctx , & user_model.SearchUserOptions {
71+ Actor : ctx .Doer ,
72+ Keyword : ctx .FormTrim ("q" ),
73+ UID : uid ,
74+ Type : user_model .UserTypeIndividual ,
75+ ListOptions : listOptions ,
6876 })
69- return
77+ if err != nil {
78+ ctx .JSON (http .StatusInternalServerError , map [string ]any {
79+ "ok" : false ,
80+ "error" : err .Error (),
81+ })
82+ return
83+ }
7084 }
7185
7286 ctx .SetLinkHeader (int (maxResults ), listOptions .PageSize )
0 commit comments