mirror of
https://codeberg.org/shroff/phylum.git
synced 2026-01-05 19:21:23 -06:00
[server] Rename user.display_name to name
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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") {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user