Skip to content

Commit fd6c9e4

Browse files
committed
GetUserTerminalFont
1 parent d9e9627 commit fd6c9e4

File tree

7 files changed

+253
-77
lines changed

7 files changed

+253
-77
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,28 +1061,6 @@ func (q *querier) customRoleCheck(ctx context.Context, role database.CustomRole)
10611061
return nil
10621062
}
10631063

1064-
func (q *querier) GetUserThemePreference(ctx context.Context, userID uuid.UUID) (string, error) {
1065-
u, err := q.db.GetUserByID(ctx, userID)
1066-
if err != nil {
1067-
return "", err
1068-
}
1069-
if err := q.authorizeContext(ctx, policy.ActionReadPersonal, u); err != nil {
1070-
return "", err
1071-
}
1072-
return q.db.GetUserThemePreference(ctx, userID)
1073-
}
1074-
1075-
func (q *querier) UpdateUserThemePreference(ctx context.Context, arg database.UpdateUserThemePreferenceParams) (database.UserConfig, error) {
1076-
u, err := q.db.GetUserByID(ctx, arg.UserID)
1077-
if err != nil {
1078-
return database.UserConfig{}, err
1079-
}
1080-
if err := q.authorizeContext(ctx, policy.ActionUpdatePersonal, u); err != nil {
1081-
return database.UserConfig{}, err
1082-
}
1083-
return q.db.UpdateUserThemePreference(ctx, arg)
1084-
}
1085-
10861064
func (q *querier) AcquireLock(ctx context.Context, id int64) error {
10871065
return q.db.AcquireLock(ctx, id)
10881066
}
@@ -2805,6 +2783,28 @@ func (q *querier) GetUserStatusCounts(ctx context.Context, arg database.GetUserS
28052783
return q.db.GetUserStatusCounts(ctx, arg)
28062784
}
28072785

2786+
func (q *querier) GetUserTerminalFont(ctx context.Context, userID uuid.UUID) (string, error) {
2787+
u, err := q.db.GetUserByID(ctx, userID)
2788+
if err != nil {
2789+
return "", err
2790+
}
2791+
if err := q.authorizeContext(ctx, policy.ActionReadPersonal, u); err != nil {
2792+
return "", err
2793+
}
2794+
return q.db.GetUserTerminalFont(ctx, userID)
2795+
}
2796+
2797+
func (q *querier) GetUserThemePreference(ctx context.Context, userID uuid.UUID) (string, error) {
2798+
u, err := q.db.GetUserByID(ctx, userID)
2799+
if err != nil {
2800+
return "", err
2801+
}
2802+
if err := q.authorizeContext(ctx, policy.ActionReadPersonal, u); err != nil {
2803+
return "", err
2804+
}
2805+
return q.db.GetUserThemePreference(ctx, userID)
2806+
}
2807+
28082808
func (q *querier) GetUserWorkspaceBuildParameters(ctx context.Context, params database.GetUserWorkspaceBuildParametersParams) ([]database.GetUserWorkspaceBuildParametersRow, error) {
28092809
u, err := q.db.GetUserByID(ctx, params.OwnerID)
28102810
if err != nil {
@@ -4459,6 +4459,28 @@ func (q *querier) UpdateUserStatus(ctx context.Context, arg database.UpdateUserS
44594459
return updateWithReturn(q.log, q.auth, fetch, q.db.UpdateUserStatus)(ctx, arg)
44604460
}
44614461

4462+
func (q *querier) UpdateUserTerminalFont(ctx context.Context, arg database.UpdateUserTerminalFontParams) (database.UserConfig, error) {
4463+
u, err := q.db.GetUserByID(ctx, arg.UserID)
4464+
if err != nil {
4465+
return database.UserConfig{}, err
4466+
}
4467+
if err := q.authorizeContext(ctx, policy.ActionUpdatePersonal, u); err != nil {
4468+
return database.UserConfig{}, err
4469+
}
4470+
return q.db.UpdateUserTerminalFont(ctx, arg)
4471+
}
4472+
4473+
func (q *querier) UpdateUserThemePreference(ctx context.Context, arg database.UpdateUserThemePreferenceParams) (database.UserConfig, error) {
4474+
u, err := q.db.GetUserByID(ctx, arg.UserID)
4475+
if err != nil {
4476+
return database.UserConfig{}, err
4477+
}
4478+
if err := q.authorizeContext(ctx, policy.ActionUpdatePersonal, u); err != nil {
4479+
return database.UserConfig{}, err
4480+
}
4481+
return q.db.UpdateUserThemePreference(ctx, arg)
4482+
}
4483+
44624484
func (q *querier) UpdateVolumeResourceMonitor(ctx context.Context, arg database.UpdateVolumeResourceMonitorParams) error {
44634485
if err := q.authorizeContext(ctx, policy.ActionUpdate, rbac.ResourceWorkspaceAgentResourceMonitor); err != nil {
44644486
return err

coderd/database/dbmem/dbmem.go

Lines changed: 82 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1379,47 +1379,6 @@ func (q *FakeQuerier) getProvisionerJobsByIDsWithQueuePositionLockedGlobalQueue(
13791379
return jobs, nil
13801380
}
13811381

1382-
func (q *FakeQuerier) GetUserThemePreference(_ context.Context, userID uuid.UUID) (string, error) {
1383-
q.mutex.RLock()
1384-
defer q.mutex.RUnlock()
1385-
1386-
for _, uc := range q.userConfigs {
1387-
if uc.UserID != userID || uc.Key != "theme_preference" {
1388-
continue
1389-
}
1390-
return uc.Value, nil
1391-
}
1392-
1393-
return "", sql.ErrNoRows
1394-
}
1395-
1396-
func (q *FakeQuerier) UpdateUserThemePreference(_ context.Context, arg database.UpdateUserThemePreferenceParams) (database.UserConfig, error) {
1397-
err := validateDatabaseType(arg)
1398-
if err != nil {
1399-
return database.UserConfig{}, err
1400-
}
1401-
1402-
q.mutex.Lock()
1403-
defer q.mutex.Unlock()
1404-
1405-
for i, uc := range q.userConfigs {
1406-
if uc.UserID != arg.UserID || uc.Key != "theme_preference" {
1407-
continue
1408-
}
1409-
uc.Value = arg.ThemePreference
1410-
q.userConfigs[i] = uc
1411-
return uc, nil
1412-
}
1413-
1414-
uc := database.UserConfig{
1415-
UserID: arg.UserID,
1416-
Key: "theme_preference",
1417-
Value: arg.ThemePreference,
1418-
}
1419-
q.userConfigs = append(q.userConfigs, uc)
1420-
return uc, nil
1421-
}
1422-
14231382
func (*FakeQuerier) AcquireLock(_ context.Context, _ int64) error {
14241383
return xerrors.New("AcquireLock must only be called within a transaction")
14251384
}
@@ -6687,6 +6646,34 @@ func (q *FakeQuerier) GetUserStatusCounts(_ context.Context, arg database.GetUse
66876646
return result, nil
66886647
}
66896648

6649+
func (q *FakeQuerier) GetUserTerminalFont(ctx context.Context, userID uuid.UUID) (string, error) {
6650+
q.mutex.RLock()
6651+
defer q.mutex.RUnlock()
6652+
6653+
for _, uc := range q.userConfigs {
6654+
if uc.UserID != userID || uc.Key != "terminal_font" {
6655+
continue
6656+
}
6657+
return uc.Value, nil
6658+
}
6659+
6660+
return "", sql.ErrNoRows
6661+
}
6662+
6663+
func (q *FakeQuerier) GetUserThemePreference(_ context.Context, userID uuid.UUID) (string, error) {
6664+
q.mutex.RLock()
6665+
defer q.mutex.RUnlock()
6666+
6667+
for _, uc := range q.userConfigs {
6668+
if uc.UserID != userID || uc.Key != "theme_preference" {
6669+
continue
6670+
}
6671+
return uc.Value, nil
6672+
}
6673+
6674+
return "", sql.ErrNoRows
6675+
}
6676+
66906677
func (q *FakeQuerier) GetUserWorkspaceBuildParameters(_ context.Context, params database.GetUserWorkspaceBuildParametersParams) ([]database.GetUserWorkspaceBuildParametersRow, error) {
66916678
q.mutex.RLock()
66926679
defer q.mutex.RUnlock()
@@ -11348,6 +11335,60 @@ func (q *FakeQuerier) UpdateUserStatus(_ context.Context, arg database.UpdateUse
1134811335
return database.User{}, sql.ErrNoRows
1134911336
}
1135011337

11338+
func (q *FakeQuerier) UpdateUserTerminalFont(ctx context.Context, arg database.UpdateUserTerminalFontParams) (database.UserConfig, error) {
11339+
err := validateDatabaseType(arg)
11340+
if err != nil {
11341+
return database.UserConfig{}, err
11342+
}
11343+
11344+
q.mutex.Lock()
11345+
defer q.mutex.Unlock()
11346+
11347+
for i, uc := range q.userConfigs {
11348+
if uc.UserID != arg.UserID || uc.Key != "terminal_font" {
11349+
continue
11350+
}
11351+
uc.Value = arg.TerminalFont
11352+
q.userConfigs[i] = uc
11353+
return uc, nil
11354+
}
11355+
11356+
uc := database.UserConfig{
11357+
UserID: arg.UserID,
11358+
Key: "terminal_font",
11359+
Value: arg.TerminalFont,
11360+
}
11361+
q.userConfigs = append(q.userConfigs, uc)
11362+
return uc, nil
11363+
}
11364+
11365+
func (q *FakeQuerier) UpdateUserThemePreference(_ context.Context, arg database.UpdateUserThemePreferenceParams) (database.UserConfig, error) {
11366+
err := validateDatabaseType(arg)
11367+
if err != nil {
11368+
return database.UserConfig{}, err
11369+
}
11370+
11371+
q.mutex.Lock()
11372+
defer q.mutex.Unlock()
11373+
11374+
for i, uc := range q.userConfigs {
11375+
if uc.UserID != arg.UserID || uc.Key != "theme_preference" {
11376+
continue
11377+
}
11378+
uc.Value = arg.ThemePreference
11379+
q.userConfigs[i] = uc
11380+
return uc, nil
11381+
}
11382+
11383+
uc := database.UserConfig{
11384+
UserID: arg.UserID,
11385+
Key: "theme_preference",
11386+
Value: arg.ThemePreference,
11387+
}
11388+
q.userConfigs = append(q.userConfigs, uc)
11389+
return uc, nil
11390+
}
11391+
1135111392
func (q *FakeQuerier) UpdateVolumeResourceMonitor(_ context.Context, arg database.UpdateVolumeResourceMonitorParams) error {
1135211393
err := validateDatabaseType(arg)
1135311394
if err != nil {

coderd/database/dbmetrics/querymetrics.go

Lines changed: 28 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dbmock/dbmock.go

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/querier.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)