From 06480af4723d34ac744c5f4f52fd974c3d016e59 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 17 Sep 2020 23:33:23 +0200 Subject: Convert User expose ID each time (#12855) * git blame tells me a lot of gitea things happen here around 2018, add header * move user code int its own file * expose user id * adopt things from APIFormat * fix test * CI.restart() --- modules/convert/convert.go | 25 +------------------------ modules/convert/user.go | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 24 deletions(-) create mode 100644 modules/convert/user.go (limited to 'modules/convert') diff --git a/modules/convert/convert.go b/modules/convert/convert.go index 94ecdd1150..03a84115a5 100644 --- a/modules/convert/convert.go +++ b/modules/convert/convert.go @@ -1,4 +1,5 @@ // Copyright 2015 The Gogs Authors. All rights reserved. +// Copyright 2018 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. @@ -11,7 +12,6 @@ import ( "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" - "code.gitea.io/gitea/modules/markup" "code.gitea.io/gitea/modules/structs" api "code.gitea.io/gitea/modules/structs" "code.gitea.io/gitea/modules/util" @@ -331,29 +331,6 @@ func ToTeam(team *models.Team) *api.Team { } } -// ToUser convert models.User to api.User -// signed shall only be set if requester is logged in. authed shall only be set if user is site admin or user himself -func ToUser(user *models.User, signed, authed bool) *api.User { - result := &api.User{ - UserName: user.Name, - AvatarURL: user.AvatarLink(), - FullName: markup.Sanitize(user.FullName), - Created: user.CreatedUnix.AsTime(), - } - // hide primary email if API caller is anonymous or user keep email private - if signed && (!user.KeepEmailPrivate || authed) { - result.Email = user.Email - } - // only site admin will get these information and possibly user himself - if authed { - result.ID = user.ID - result.IsAdmin = user.IsAdmin - result.LastLogin = user.LastLoginUnix.AsTime() - result.Language = user.Language - } - return result -} - // ToAnnotatedTag convert git.Tag to api.AnnotatedTag func ToAnnotatedTag(repo *models.Repository, t *git.Tag, c *git.Commit) *api.AnnotatedTag { return &api.AnnotatedTag{ diff --git a/modules/convert/user.go b/modules/convert/user.go new file mode 100644 index 0000000000..c75a8aac52 --- /dev/null +++ b/modules/convert/user.go @@ -0,0 +1,35 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package convert + +import ( + "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/markup" + api "code.gitea.io/gitea/modules/structs" +) + +// ToUser convert models.User to api.User +// signed shall only be set if requester is logged in. authed shall only be set if user is site admin or user himself +func ToUser(user *models.User, signed, authed bool) *api.User { + result := &api.User{ + ID: user.ID, + UserName: user.Name, + FullName: markup.Sanitize(user.FullName), + Email: user.GetEmail(), + AvatarURL: user.AvatarLink(), + Created: user.CreatedUnix.AsTime(), + } + // hide primary email if API caller is anonymous or user keep email private + if signed && (!user.KeepEmailPrivate || authed) { + result.Email = user.Email + } + // only site admin will get these information and possibly user himself + if authed { + result.IsAdmin = user.IsAdmin + result.LastLogin = user.LastLoginUnix.AsTime() + result.Language = user.Language + } + return result +} -- cgit v1.2.3