aboutsummaryrefslogtreecommitdiffstats
path: root/modules/structs/user.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2019-05-11 18:21:34 +0800
committerGitHub <noreply@github.com>2019-05-11 18:21:34 +0800
commit34eee25bd42d19287e3e33afd169cc979ab61f37 (patch)
tree8def3b2f224745e3fbc0adaec2f01d7f752c443d /modules/structs/user.go
parent1658cd04e9918109867f2745ddf760d260681878 (diff)
downloadgitea-34eee25bd42d19287e3e33afd169cc979ab61f37.tar.gz
gitea-34eee25bd42d19287e3e33afd169cc979ab61f37.zip
Move sdk structs to modules/structs (#6905)
* move sdk structs to moduels/structs * fix tests * fix fmt * fix swagger * fix vendor
Diffstat (limited to 'modules/structs/user.go')
-rw-r--r--modules/structs/user.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/modules/structs/user.go b/modules/structs/user.go
new file mode 100644
index 0000000000..251c803129
--- /dev/null
+++ b/modules/structs/user.go
@@ -0,0 +1,38 @@
+// Copyright 2014 The Gogs 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 structs
+
+import (
+ "encoding/json"
+)
+
+// User represents a user
+// swagger:model
+type User struct {
+ // the user's id
+ ID int64 `json:"id"`
+ // the user's username
+ UserName string `json:"login"`
+ // the user's full name
+ FullName string `json:"full_name"`
+ // swagger:strfmt email
+ Email string `json:"email"`
+ // URL to the user's avatar
+ AvatarURL string `json:"avatar_url"`
+ // User locale
+ Language string `json:"language"`
+ // Is the user an administrator
+ IsAdmin bool `json:"is_admin"`
+}
+
+// MarshalJSON implements the json.Marshaler interface for User, adding field(s) for backward compatibility
+func (u User) MarshalJSON() ([]byte, error) {
+ // Re-declaring User to avoid recursion
+ type shadow User
+ return json.Marshal(struct {
+ shadow
+ CompatUserName string `json:"username"`
+ }{shadow(u), u.UserName})
+}