mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
feat: support multiple terminal fonts (#17257)
Fixes: https://github.com/coder/coder/issues/15024
This commit is contained in:
@ -6448,20 +6448,6 @@ func (q *FakeQuerier) GetUserActivityInsights(_ context.Context, arg database.Ge
|
||||
return rows, nil
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) GetUserAppearanceSettings(_ context.Context, userID uuid.UUID) (string, error) {
|
||||
q.mutex.RLock()
|
||||
defer q.mutex.RUnlock()
|
||||
|
||||
for _, uc := range q.userConfigs {
|
||||
if uc.UserID != userID || uc.Key != "theme_preference" {
|
||||
continue
|
||||
}
|
||||
return uc.Value, nil
|
||||
}
|
||||
|
||||
return "", sql.ErrNoRows
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) GetUserByEmailOrUsername(_ context.Context, arg database.GetUserByEmailOrUsernameParams) (database.User, error) {
|
||||
if err := validateDatabaseType(arg); err != nil {
|
||||
return database.User{}, err
|
||||
@ -6674,6 +6660,34 @@ func (q *FakeQuerier) GetUserStatusCounts(_ context.Context, arg database.GetUse
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) GetUserTerminalFont(ctx context.Context, userID uuid.UUID) (string, error) {
|
||||
q.mutex.RLock()
|
||||
defer q.mutex.RUnlock()
|
||||
|
||||
for _, uc := range q.userConfigs {
|
||||
if uc.UserID != userID || uc.Key != "terminal_font" {
|
||||
continue
|
||||
}
|
||||
return uc.Value, nil
|
||||
}
|
||||
|
||||
return "", sql.ErrNoRows
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) GetUserThemePreference(_ context.Context, userID uuid.UUID) (string, error) {
|
||||
q.mutex.RLock()
|
||||
defer q.mutex.RUnlock()
|
||||
|
||||
for _, uc := range q.userConfigs {
|
||||
if uc.UserID != userID || uc.Key != "theme_preference" {
|
||||
continue
|
||||
}
|
||||
return uc.Value, nil
|
||||
}
|
||||
|
||||
return "", sql.ErrNoRows
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) GetUserWorkspaceBuildParameters(_ context.Context, params database.GetUserWorkspaceBuildParametersParams) ([]database.GetUserWorkspaceBuildParametersRow, error) {
|
||||
q.mutex.RLock()
|
||||
defer q.mutex.RUnlock()
|
||||
@ -11015,33 +11029,6 @@ func (q *FakeQuerier) UpdateTemplateWorkspacesLastUsedAt(_ context.Context, arg
|
||||
return nil
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) UpdateUserAppearanceSettings(_ context.Context, arg database.UpdateUserAppearanceSettingsParams) (database.UserConfig, error) {
|
||||
err := validateDatabaseType(arg)
|
||||
if err != nil {
|
||||
return database.UserConfig{}, err
|
||||
}
|
||||
|
||||
q.mutex.Lock()
|
||||
defer q.mutex.Unlock()
|
||||
|
||||
for i, uc := range q.userConfigs {
|
||||
if uc.UserID != arg.UserID || uc.Key != "theme_preference" {
|
||||
continue
|
||||
}
|
||||
uc.Value = arg.ThemePreference
|
||||
q.userConfigs[i] = uc
|
||||
return uc, nil
|
||||
}
|
||||
|
||||
uc := database.UserConfig{
|
||||
UserID: arg.UserID,
|
||||
Key: "theme_preference",
|
||||
Value: arg.ThemePreference,
|
||||
}
|
||||
q.userConfigs = append(q.userConfigs, uc)
|
||||
return uc, nil
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) UpdateUserDeletedByID(_ context.Context, id uuid.UUID) error {
|
||||
q.mutex.Lock()
|
||||
defer q.mutex.Unlock()
|
||||
@ -11367,6 +11354,60 @@ func (q *FakeQuerier) UpdateUserStatus(_ context.Context, arg database.UpdateUse
|
||||
return database.User{}, sql.ErrNoRows
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) UpdateUserTerminalFont(ctx context.Context, arg database.UpdateUserTerminalFontParams) (database.UserConfig, error) {
|
||||
err := validateDatabaseType(arg)
|
||||
if err != nil {
|
||||
return database.UserConfig{}, err
|
||||
}
|
||||
|
||||
q.mutex.Lock()
|
||||
defer q.mutex.Unlock()
|
||||
|
||||
for i, uc := range q.userConfigs {
|
||||
if uc.UserID != arg.UserID || uc.Key != "terminal_font" {
|
||||
continue
|
||||
}
|
||||
uc.Value = arg.TerminalFont
|
||||
q.userConfigs[i] = uc
|
||||
return uc, nil
|
||||
}
|
||||
|
||||
uc := database.UserConfig{
|
||||
UserID: arg.UserID,
|
||||
Key: "terminal_font",
|
||||
Value: arg.TerminalFont,
|
||||
}
|
||||
q.userConfigs = append(q.userConfigs, uc)
|
||||
return uc, nil
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) UpdateUserThemePreference(_ context.Context, arg database.UpdateUserThemePreferenceParams) (database.UserConfig, error) {
|
||||
err := validateDatabaseType(arg)
|
||||
if err != nil {
|
||||
return database.UserConfig{}, err
|
||||
}
|
||||
|
||||
q.mutex.Lock()
|
||||
defer q.mutex.Unlock()
|
||||
|
||||
for i, uc := range q.userConfigs {
|
||||
if uc.UserID != arg.UserID || uc.Key != "theme_preference" {
|
||||
continue
|
||||
}
|
||||
uc.Value = arg.ThemePreference
|
||||
q.userConfigs[i] = uc
|
||||
return uc, nil
|
||||
}
|
||||
|
||||
uc := database.UserConfig{
|
||||
UserID: arg.UserID,
|
||||
Key: "theme_preference",
|
||||
Value: arg.ThemePreference,
|
||||
}
|
||||
q.userConfigs = append(q.userConfigs, uc)
|
||||
return uc, nil
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) UpdateVolumeResourceMonitor(_ context.Context, arg database.UpdateVolumeResourceMonitorParams) error {
|
||||
err := validateDatabaseType(arg)
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user