feat: add SMTP email support and fix profile/permissions bugs
This commit is contained in:
@@ -358,12 +358,34 @@ func (h *RoleHandler) GetMemberRoles(w http.ResponseWriter, r *http.Request) {
|
||||
json.NewEncoder(w).Encode(roles)
|
||||
}
|
||||
|
||||
// SeedDefaultRole inserts the @everyone role for a newly created server.
|
||||
// SeedDefaultRole inserts the @everyone, Admin, and Moderator roles for a newly created server.
|
||||
// Call this after creating a server (e.g. from the server creation handler).
|
||||
func SeedDefaultRole(ctx context.Context, db *sql.DB, serverID string) error {
|
||||
// @everyone
|
||||
_, err := db.ExecContext(ctx, `
|
||||
INSERT INTO roles (server_id, name, permissions, position, is_default)
|
||||
VALUES ($1, '@everyone', $2, 0, TRUE)
|
||||
INSERT INTO roles (server_id, name, permissions, position, is_default, color)
|
||||
VALUES ($1, '@everyone', $2, 0, TRUE, NULL)
|
||||
`, serverID, permissions.DefaultEveryonePermissions)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Admin
|
||||
adminPerms := permissions.ADMINISTRATOR
|
||||
_, err = db.ExecContext(ctx, `
|
||||
INSERT INTO roles (server_id, name, permissions, position, is_default, color)
|
||||
VALUES ($1, 'Admin', $2, 99, FALSE, '#e06c75')
|
||||
`, serverID, adminPerms)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Moderator
|
||||
modPerms := permissions.VIEW_CHANNEL | permissions.SEND_MESSAGES | permissions.MANAGE_MESSAGES | permissions.KICK_MEMBERS | permissions.BAN_MEMBERS | permissions.MUTE_MEMBERS | permissions.CONNECT_VOICE | permissions.SPEAK_VOICE
|
||||
_, err = db.ExecContext(ctx, `
|
||||
INSERT INTO roles (server_id, name, permissions, position, is_default, color)
|
||||
VALUES ($1, 'Moderator', $2, 50, FALSE, '#61afef')
|
||||
`, serverID, modPerms)
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user