From e1f92e42a2cd60393a971e3c1e95db70a06d3f8f Mon Sep 17 00:00:00 2001 From: Abhishek Shroff Date: Tue, 27 May 2025 22:50:07 +0530 Subject: [PATCH] [server] Rename user.display_name to name --- server/internal/api/v1/auth/routes.go | 6 +++--- server/internal/api/v1/my/details.go | 14 +++++++------- server/internal/api/v1/my/routes.go | 6 +++--- server/internal/api/v1/responses/responses.go | 6 +++--- server/internal/api/v1/users/invite.go | 6 +++--- server/internal/api/v1/users/users.go | 6 +++--- server/internal/command/admin/user/cmd.go | 2 +- server/internal/command/admin/user/invite.go | 8 ++++---- server/internal/command/admin/user/mod.go | 8 ++++---- .../internal/core/db/migrations/data/002_users.sql | 2 +- server/internal/core/user/auth.go | 4 ++-- server/internal/core/user/create.go | 12 ++++++------ server/internal/core/user/select.go | 8 ++++---- server/internal/core/user/update.go | 6 +++--- server/internal/core/user/user.go | 8 ++++---- server/internal/mail/mail.go | 2 +- server/internal/mail/password_reset.go | 4 ++-- server/internal/mail/welcome.go | 4 ++-- 18 files changed, 56 insertions(+), 56 deletions(-) diff --git a/server/internal/api/v1/auth/routes.go b/server/internal/api/v1/auth/routes.go index eb4c3dc3..e9194dae 100644 --- a/server/internal/api/v1/auth/routes.go +++ b/server/internal/api/v1/auth/routes.go @@ -57,9 +57,9 @@ func handlePasswordAuth(c *gin.Context) { AccessToken: token, User: responses.LoggedInUser{ User: responses.User{ - ID: user.ID, - Email: user.Email, - DisplayName: user.DisplayName, + ID: user.ID, + Email: user.Email, + Name: user.Name, }, Home: user.Home, Permissions: user.Permissions, diff --git a/server/internal/api/v1/my/details.go b/server/internal/api/v1/my/details.go index 7596d1b1..edaa9d39 100644 --- a/server/internal/api/v1/my/details.go +++ b/server/internal/api/v1/my/details.go @@ -9,7 +9,7 @@ import ( ) type detailsParams struct { - DisplayName string `json:"display_name" form:"display_name"` + Name string `json:"name" form:"name"` } func handleDetailsUpdateRoute(c *gin.Context) { @@ -23,11 +23,11 @@ func handleDetailsUpdateRoute(c *gin.Context) { err = db.Get(c.Request.Context()).RunInTx(func(d db.Handler) error { userManager := user.ManagerFromDB(d) - if params.DisplayName != "" { - if err := userManager.UpdateUserDisplayName(u, params.DisplayName); err != nil { + if params.Name != "" { + if err := userManager.UpdateUserName(u, params.Name); err != nil { return err } - u.DisplayName = params.DisplayName + u.Name = params.Name } return nil }) @@ -36,8 +36,8 @@ func handleDetailsUpdateRoute(c *gin.Context) { panic(err) } c.JSON(200, responses.User{ - ID: u.ID, - Email: u.Email, - DisplayName: u.DisplayName, + ID: u.ID, + Email: u.Email, + Name: u.Name, }) } diff --git a/server/internal/api/v1/my/routes.go b/server/internal/api/v1/my/routes.go index f1c94a92..3c1f0a61 100644 --- a/server/internal/api/v1/my/routes.go +++ b/server/internal/api/v1/my/routes.go @@ -34,9 +34,9 @@ func handleHomeRoute(c *gin.Context) { c.JSON(200, homeResponse{ User: responses.LoggedInUser{ User: responses.User{ - ID: user.ID, - Email: user.Email, - DisplayName: user.DisplayName, + ID: user.ID, + Email: user.Email, + Name: user.Name, }, Home: user.Home, Permissions: user.Permissions, diff --git a/server/internal/api/v1/responses/responses.go b/server/internal/api/v1/responses/responses.go index 28fcd02e..2dba3c28 100644 --- a/server/internal/api/v1/responses/responses.go +++ b/server/internal/api/v1/responses/responses.go @@ -38,9 +38,9 @@ type ResourceFull struct { } type User struct { - ID int32 `json:"id"` - Email string `json:"email"` - DisplayName string `json:"display_name"` + ID int32 `json:"id"` + Email string `json:"email"` + Name string `json:"name"` } type LoggedInUser struct { diff --git a/server/internal/api/v1/users/invite.go b/server/internal/api/v1/users/invite.go index 7ec937b8..2f0c36d6 100644 --- a/server/internal/api/v1/users/invite.go +++ b/server/internal/api/v1/users/invite.go @@ -12,7 +12,7 @@ import ( type inviteParams struct { Email string `json:"email" form:"email" binding:"required"` - DisplayName string `json:"display_name" form:"display_name"` + Name string `json:"name" form:"name"` NoCreateHome bool `json:"no_create_home" form:"no_create_home"` NoSendEmail bool `json:"no_send_email" form:"no_send_email"` } @@ -34,7 +34,7 @@ func handleInviteRequest(c *gin.Context) { if params.NoCreateHome { homePath = "" } - if user, err := userManager.CreateUser(params.Email, params.DisplayName, homePath); err != nil { + if user, err := userManager.CreateUser(params.Email, params.Name, homePath); err != nil { panic(err) } else { if !params.NoSendEmail { @@ -42,6 +42,6 @@ func handleInviteRequest(c *gin.Context) { mail.SendWelcomeEmail(user) }() } - c.JSON(200, responses.User{ID: user.ID, Email: user.Email, DisplayName: user.DisplayName}) + c.JSON(200, responses.User{ID: user.ID, Email: user.Email, Name: user.Name}) } } diff --git a/server/internal/api/v1/users/users.go b/server/internal/api/v1/users/users.go index 2ee05139..46a69781 100644 --- a/server/internal/api/v1/users/users.go +++ b/server/internal/api/v1/users/users.go @@ -33,9 +33,9 @@ func handleUsersListRoute(c *gin.Context) { result := make([]responses.User, len(users)) for i, u := range users { result[i] = responses.User{ - ID: u.ID, - Email: u.Email, - DisplayName: u.DisplayName, + ID: u.ID, + Email: u.Email, + Name: u.Name, } } diff --git a/server/internal/command/admin/user/cmd.go b/server/internal/command/admin/user/cmd.go index 8f3ba93f..7e6f6cae 100644 --- a/server/internal/command/admin/user/cmd.go +++ b/server/internal/command/admin/user/cmd.go @@ -34,7 +34,7 @@ func setupListCommand() *cobra.Command { logrus.Fatal(err) } for _, user := range users { - logrus.Infof("%24s : %s", user.Email, user.DisplayName) + logrus.Infof("%24s : %s", user.Email, user.Name) } }, } diff --git a/server/internal/command/admin/user/invite.go b/server/internal/command/admin/user/invite.go index fe264cfb..0dec1a56 100644 --- a/server/internal/command/admin/user/invite.go +++ b/server/internal/command/admin/user/invite.go @@ -21,12 +21,12 @@ func setupInviteCommand() *cobra.Command { Run: func(cmd *cobra.Command, args []string) { email := args[0] - displayName := "" + name := "" if n, err := cmd.Flags().GetString("name"); err != nil { fmt.Println("invalid value for flag 'name': " + err.Error()) os.Exit(1) } else if n != "" { - displayName = n + name = n } noCreateHome, _ := cmd.Flags().GetBool("no-create-home") @@ -39,7 +39,7 @@ func setupInviteCommand() *cobra.Command { var u user.User err := db.Get(context.Background()).RunInTx(func(db db.Handler) error { userManager := user.ManagerFromDB(db) - if user, err := userManager.CreateUser(email, displayName, homePath); err != nil { + if user, err := userManager.CreateUser(email, name, homePath); err != nil { return err } else { u = user @@ -58,7 +58,7 @@ func setupInviteCommand() *cobra.Command { } }, } - cmd.Flags().StringP("name", "n", "", "Full Name") + cmd.Flags().StringP("name", "n", "", "Name") cmd.Flags().StringP("base-dir", "b", "/home", "Base directory for home") cmd.Flags().BoolP("no-create-home", "M", false, "Do not make home directory") cmd.Flags().Bool("no-email", false, "Do not send email") diff --git a/server/internal/command/admin/user/mod.go b/server/internal/command/admin/user/mod.go index 09031373..4131b513 100644 --- a/server/internal/command/admin/user/mod.go +++ b/server/internal/command/admin/user/mod.go @@ -25,7 +25,7 @@ func setupModCommand() *cobra.Command { os.Exit(1) } - displayName, _ := cmd.Flags().GetString("name") + name, _ := cmd.Flags().GetString("name") f := fs.OpenOmniscient(db.Get(context.Background())) var homeID pgtype.UUID @@ -44,8 +44,8 @@ func setupModCommand() *cobra.Command { err = db.Get(context.Background()).RunInTx(func(db db.Handler) error { m := user.ManagerFromDB(db) - if displayName != "" { - if err := m.UpdateUserDisplayName(u, displayName); err != nil { + if name != "" { + if err := m.UpdateUserName(u, name); err != nil { return err } } @@ -62,7 +62,7 @@ func setupModCommand() *cobra.Command { } }, } - cmd.Flags().StringP("name", "n", "", "Display Name") + cmd.Flags().StringP("name", "n", "", "Name") cmd.Flags().StringP("home", "d", "", "Home Directory") return cmd } diff --git a/server/internal/core/db/migrations/data/002_users.sql b/server/internal/core/db/migrations/data/002_users.sql index 3c487a72..20e38610 100644 --- a/server/internal/core/db/migrations/data/002_users.sql +++ b/server/internal/core/db/migrations/data/002_users.sql @@ -4,7 +4,7 @@ CREATE TABLE users( modified TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, deleted TIMESTAMP, email TEXT NOT NULL UNIQUE, - display_name TEXT NOT NULL, + name TEXT NOT NULL, password_hash TEXT NOT NULL, home uuid REFERENCES resources(id), permissions INTEGER NOT NULL DEFAULT 0, diff --git a/server/internal/core/user/auth.go b/server/internal/core/user/auth.go index d82b99be..ac2b366c 100644 --- a/server/internal/core/user/auth.go +++ b/server/internal/core/user/auth.go @@ -49,11 +49,11 @@ func (m manager) CreateAccessToken(user User) (string, error) { } func (m manager) ReadAccessToken(accessToken string) (user User, err error) { - const q = `SELECT t.expires, u.id, u.email, u.display_name, u.permissions, u.home FROM access_tokens t JOIN users u ON t.user_id = u.id WHERE t.id = $1; ` + const q = `SELECT t.expires, u.id, u.email, u.name, u.permissions, u.home FROM access_tokens t JOIN users u ON t.user_id = u.id WHERE t.id = $1; ` row := m.db.QueryRow(q, accessToken) var expires pgtype.Timestamp - err = row.Scan(&expires, &user.ID, &user.Email, &user.DisplayName, &user.Permissions, &user.Home) + err = row.Scan(&expires, &user.ID, &user.Email, &user.Name, &user.Permissions, &user.Home) if err != nil { if errors.Is(err, pgx.ErrNoRows) { err = ErrCredentialsInvalid diff --git a/server/internal/core/user/create.go b/server/internal/core/user/create.go index 9cd4325d..09837c54 100644 --- a/server/internal/core/user/create.go +++ b/server/internal/core/user/create.go @@ -15,7 +15,7 @@ import ( var errInvalidEmailAddress = errors.NewError(http.StatusBadRequest, "invalid_email_address", "Invalid email address") var errEmailExists = errors.NewError(http.StatusBadRequest, "user_already_exists", "User already exists") -func (m manager) CreateUser(email, displayName string, homePath string) (User, error) { +func (m manager) CreateUser(email, ame string, homePath string) (User, error) { var user User err := m.db.RunInTx(func(db db.Handler) error { m := m.withDb(db) @@ -32,7 +32,7 @@ func (m manager) CreateUser(email, displayName string, homePath string) (User, e homeID = pgtype.UUID{Bytes: home.ID(), Valid: true} } - user, err = m.insertUser(email, displayName, homeID) + user, err = m.insertUser(email, ame, homeID) if err != nil { return err } @@ -47,12 +47,12 @@ func (m manager) CreateUser(email, displayName string, homePath string) (User, e return user, err } -func (m manager) insertUser(email, displayName string, home pgtype.UUID) (User, error) { - const q = ` INSERT INTO users(email, display_name, password_hash, home) +func (m manager) insertUser(email, name string, home pgtype.UUID) (User, error) { + const q = ` INSERT INTO users(email, name, password_hash, home) VALUES ($1, $2, $3, $4) -RETURNING id, email, display_name, home, permissions` +RETURNING id, email, name, home, permissions` - if rows, err := m.db.Query(q, strings.ToLower(email), displayName, "", home); err != nil { + if rows, err := m.db.Query(q, strings.ToLower(email), name, "", home); err != nil { return User{}, err } else if user, err := pgx.CollectExactlyOneRow(rows, scanUser); err != nil { if strings.Contains(err.Error(), "valid_email") { diff --git a/server/internal/core/user/select.go b/server/internal/core/user/select.go index 358e7a65..6596cd7f 100644 --- a/server/internal/core/user/select.go +++ b/server/internal/core/user/select.go @@ -19,7 +19,7 @@ func (m manager) ListUsers(since *time.Time) ([]User, error) { if since != nil { s.Time = *since } - const q = "SELECT id, email, display_name, home, permissions FROM users WHERE modified > $1::TIMESTAMP" + const q = "SELECT id, email, name, home, permissions FROM users WHERE modified > $1::TIMESTAMP" if rows, err := m.db.Query(q, s); err != nil { return nil, err } else { @@ -28,7 +28,7 @@ func (m manager) ListUsers(since *time.Time) ([]User, error) { } func (m manager) UserByEmail(email string) (User, error) { - const q = "SELECT id, email, display_name, home, permissions FROM users WHERE email = $1" + const q = "SELECT id, email, name, home, permissions FROM users WHERE email = $1" if rows, err := m.db.Query(q, strings.ToLower(email)); err != nil { return User{}, err } else if u, err := pgx.CollectExactlyOneRow(rows, scanUser); err != nil { @@ -42,12 +42,12 @@ func (m manager) UserByEmail(email string) (User, error) { } func (m manager) userPasswordHashByEmail(email string) (user User, passwordHash string, err error) { - const q = "SELECT id, email, display_name, home, permissions, password_hash FROM users WHERE email = $1" + const q = "SELECT id, email, name, home, permissions, password_hash FROM users WHERE email = $1" row := m.db.QueryRow(q, strings.ToLower(email)) err = row.Scan( &user.ID, &user.Email, - &user.DisplayName, + &user.Name, &user.Home, &user.Permissions, &passwordHash) diff --git a/server/internal/core/user/update.go b/server/internal/core/user/update.go index 388c0726..5b207e7f 100644 --- a/server/internal/core/user/update.go +++ b/server/internal/core/user/update.go @@ -13,9 +13,9 @@ func (m manager) UpdateUserHome(user User, home pgtype.UUID) error { return nil } -func (m manager) UpdateUserDisplayName(user User, displayName string) error { - const q = "UPDATE users SET display_name = $2::TEXT, modified = NOW() WHERE id = $1::INT" - if _, err := m.db.Exec(q, user.ID, displayName); err != nil { +func (m manager) UpdateUserName(user User, name string) error { + const q = "UPDATE users SET name = $2::TEXT, modified = NOW() WHERE id = $1::INT" + if _, err := m.db.Exec(q, user.ID, name); err != nil { return err } return nil diff --git a/server/internal/core/user/user.go b/server/internal/core/user/user.go index a4bc2bf9..e79b5954 100644 --- a/server/internal/core/user/user.go +++ b/server/internal/core/user/user.go @@ -13,7 +13,7 @@ import ( type User struct { ID int32 Email string - DisplayName string + Name string Home pgtype.UUID Permissions Permission } @@ -23,7 +23,7 @@ func scanUser(row pgx.CollectableRow) (User, error) { err := row.Scan( &u.ID, &u.Email, - &u.DisplayName, + &u.Name, &u.Home, &u.Permissions, ) @@ -36,7 +36,7 @@ func (u User) OpenFileSystem(ctx context.Context) fs.FileSystem { type Manager interface { // create.go - CreateUser(email, displayName string, homePath string) (User, error) + CreateUser(email, name string, homePath string) (User, error) // select.go ListUsers(since *time.Time) ([]User, error) @@ -45,7 +45,7 @@ type Manager interface { // update.go UpdateUserHome(user User, home pgtype.UUID) error - UpdateUserDisplayName(user User, displayName string) error + UpdateUserName(user User, name string) error UpdateUserPassword(user User, password string) error // auth.go diff --git a/server/internal/mail/mail.go b/server/internal/mail/mail.go index ab9ebb03..c686acec 100644 --- a/server/internal/mail/mail.go +++ b/server/internal/mail/mail.go @@ -27,7 +27,7 @@ func send(e Email, rcpt user.User, params any) error { d := dialer() msg := gomail.NewMessage() msg.SetAddressHeader("From", Cfg.From.Email, Cfg.From.Name) - msg.SetAddressHeader("To", rcpt.Email, rcpt.DisplayName) + msg.SetAddressHeader("To", rcpt.Email, rcpt.Name) msg.SetHeader("Subject", e.Subject) msg.SetBodyWriter("text/plain", func(w io.Writer) error { return e.Plain.Execute(w, params) diff --git a/server/internal/mail/password_reset.go b/server/internal/mail/password_reset.go index a2bfc4eb..adf23bb5 100644 --- a/server/internal/mail/password_reset.go +++ b/server/internal/mail/password_reset.go @@ -10,12 +10,12 @@ type ResetPasswordParams struct { func SendPasswordResetEmail(u user.User, token string) error { email := emails["password_reset"] params := map[string]string{ - "name": u.DisplayName, + "name": u.Name, "email": u.Email, "instance": Cfg.Instance, "token": token, } - if u.DisplayName == "" { + if u.Name == "" { params["name"] = "there" } return send(email, u, params) diff --git a/server/internal/mail/welcome.go b/server/internal/mail/welcome.go index a39407c1..9afd9899 100644 --- a/server/internal/mail/welcome.go +++ b/server/internal/mail/welcome.go @@ -5,10 +5,10 @@ import "github.com/shroff/phylum/server/internal/core/user" func SendWelcomeEmail(u user.User) error { email := emails["welcome"] params := map[string]string{ - "name": u.DisplayName, + "name": u.Name, "instance": Cfg.Instance, } - if u.DisplayName == "" { + if u.Name == "" { params["name"] = "there" } return send(email, u, params)