Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit743d308

Browse files
authored
feat: support multiple terminal fonts (#17257)
Fixes:#15024
1 parent30f41cd commit743d308

File tree

29 files changed

+813
-228
lines changed

29 files changed

+813
-228
lines changed

‎coderd/apidoc/docs.go

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

‎coderd/apidoc/swagger.json

Lines changed: 16 additions & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/dbauthz/dbauthz.go

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2721,17 +2721,6 @@ func (q *querier) GetUserActivityInsights(ctx context.Context, arg database.GetU
27212721
returnq.db.GetUserActivityInsights(ctx,arg)
27222722
}
27232723

2724-
func (q*querier)GetUserAppearanceSettings(ctx context.Context,userID uuid.UUID) (string,error) {
2725-
u,err:=q.db.GetUserByID(ctx,userID)
2726-
iferr!=nil {
2727-
return"",err
2728-
}
2729-
iferr:=q.authorizeContext(ctx,policy.ActionReadPersonal,u);err!=nil {
2730-
return"",err
2731-
}
2732-
returnq.db.GetUserAppearanceSettings(ctx,userID)
2733-
}
2734-
27352724
func (q*querier)GetUserByEmailOrUsername(ctx context.Context,arg database.GetUserByEmailOrUsernameParams) (database.User,error) {
27362725
returnfetch(q.log,q.auth,q.db.GetUserByEmailOrUsername)(ctx,arg)
27372726
}
@@ -2804,6 +2793,28 @@ func (q *querier) GetUserStatusCounts(ctx context.Context, arg database.GetUserS
28042793
returnq.db.GetUserStatusCounts(ctx,arg)
28052794
}
28062795

2796+
func (q*querier)GetUserTerminalFont(ctx context.Context,userID uuid.UUID) (string,error) {
2797+
u,err:=q.db.GetUserByID(ctx,userID)
2798+
iferr!=nil {
2799+
return"",err
2800+
}
2801+
iferr:=q.authorizeContext(ctx,policy.ActionReadPersonal,u);err!=nil {
2802+
return"",err
2803+
}
2804+
returnq.db.GetUserTerminalFont(ctx,userID)
2805+
}
2806+
2807+
func (q*querier)GetUserThemePreference(ctx context.Context,userID uuid.UUID) (string,error) {
2808+
u,err:=q.db.GetUserByID(ctx,userID)
2809+
iferr!=nil {
2810+
return"",err
2811+
}
2812+
iferr:=q.authorizeContext(ctx,policy.ActionReadPersonal,u);err!=nil {
2813+
return"",err
2814+
}
2815+
returnq.db.GetUserThemePreference(ctx,userID)
2816+
}
2817+
28072818
func (q*querier)GetUserWorkspaceBuildParameters(ctx context.Context,params database.GetUserWorkspaceBuildParametersParams) ([]database.GetUserWorkspaceBuildParametersRow,error) {
28082819
u,err:=q.db.GetUserByID(ctx,params.OwnerID)
28092820
iferr!=nil {
@@ -4321,17 +4332,6 @@ func (q *querier) UpdateTemplateWorkspacesLastUsedAt(ctx context.Context, arg da
43214332
returnfetchAndExec(q.log,q.auth,policy.ActionUpdate,fetch,q.db.UpdateTemplateWorkspacesLastUsedAt)(ctx,arg)
43224333
}
43234334

4324-
func (q*querier)UpdateUserAppearanceSettings(ctx context.Context,arg database.UpdateUserAppearanceSettingsParams) (database.UserConfig,error) {
4325-
u,err:=q.db.GetUserByID(ctx,arg.UserID)
4326-
iferr!=nil {
4327-
return database.UserConfig{},err
4328-
}
4329-
iferr:=q.authorizeContext(ctx,policy.ActionUpdatePersonal,u);err!=nil {
4330-
return database.UserConfig{},err
4331-
}
4332-
returnq.db.UpdateUserAppearanceSettings(ctx,arg)
4333-
}
4334-
43354335
func (q*querier)UpdateUserDeletedByID(ctx context.Context,id uuid.UUID)error {
43364336
returndeleteQ(q.log,q.auth,q.db.GetUserByID,q.db.UpdateUserDeletedByID)(ctx,id)
43374337
}
@@ -4469,6 +4469,28 @@ func (q *querier) UpdateUserStatus(ctx context.Context, arg database.UpdateUserS
44694469
returnupdateWithReturn(q.log,q.auth,fetch,q.db.UpdateUserStatus)(ctx,arg)
44704470
}
44714471

4472+
func (q*querier)UpdateUserTerminalFont(ctx context.Context,arg database.UpdateUserTerminalFontParams) (database.UserConfig,error) {
4473+
u,err:=q.db.GetUserByID(ctx,arg.UserID)
4474+
iferr!=nil {
4475+
return database.UserConfig{},err
4476+
}
4477+
iferr:=q.authorizeContext(ctx,policy.ActionUpdatePersonal,u);err!=nil {
4478+
return database.UserConfig{},err
4479+
}
4480+
returnq.db.UpdateUserTerminalFont(ctx,arg)
4481+
}
4482+
4483+
func (q*querier)UpdateUserThemePreference(ctx context.Context,arg database.UpdateUserThemePreferenceParams) (database.UserConfig,error) {
4484+
u,err:=q.db.GetUserByID(ctx,arg.UserID)
4485+
iferr!=nil {
4486+
return database.UserConfig{},err
4487+
}
4488+
iferr:=q.authorizeContext(ctx,policy.ActionUpdatePersonal,u);err!=nil {
4489+
return database.UserConfig{},err
4490+
}
4491+
returnq.db.UpdateUserThemePreference(ctx,arg)
4492+
}
4493+
44724494
func (q*querier)UpdateVolumeResourceMonitor(ctx context.Context,arg database.UpdateVolumeResourceMonitorParams)error {
44734495
iferr:=q.authorizeContext(ctx,policy.ActionUpdate,rbac.ResourceWorkspaceAgentResourceMonitor);err!=nil {
44744496
returnerr

‎coderd/database/dbauthz/dbauthz_test.go

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1628,27 +1628,48 @@ func (s *MethodTestSuite) TestUser() {
16281628
[]database.GetUserWorkspaceBuildParametersRow{},
16291629
)
16301630
}))
1631-
s.Run("GetUserAppearanceSettings",s.Subtest(func(db database.Store,check*expects) {
1631+
s.Run("GetUserThemePreference",s.Subtest(func(db database.Store,check*expects) {
16321632
ctx:=context.Background()
16331633
u:=dbgen.User(s.T(),db, database.User{})
1634-
db.UpdateUserAppearanceSettings(ctx, database.UpdateUserAppearanceSettingsParams{
1634+
db.UpdateUserThemePreference(ctx, database.UpdateUserThemePreferenceParams{
16351635
UserID:u.ID,
16361636
ThemePreference:"light",
16371637
})
16381638
check.Args(u.ID).Asserts(u,policy.ActionReadPersonal).Returns("light")
16391639
}))
1640-
s.Run("UpdateUserAppearanceSettings",s.Subtest(func(db database.Store,check*expects) {
1640+
s.Run("UpdateUserThemePreference",s.Subtest(func(db database.Store,check*expects) {
16411641
u:=dbgen.User(s.T(),db, database.User{})
16421642
uc:= database.UserConfig{
16431643
UserID:u.ID,
16441644
Key:"theme_preference",
16451645
Value:"dark",
16461646
}
1647-
check.Args(database.UpdateUserAppearanceSettingsParams{
1647+
check.Args(database.UpdateUserThemePreferenceParams{
16481648
UserID:u.ID,
16491649
ThemePreference:uc.Value,
16501650
}).Asserts(u,policy.ActionUpdatePersonal).Returns(uc)
16511651
}))
1652+
s.Run("GetUserTerminalFont",s.Subtest(func(db database.Store,check*expects) {
1653+
ctx:=context.Background()
1654+
u:=dbgen.User(s.T(),db, database.User{})
1655+
db.UpdateUserTerminalFont(ctx, database.UpdateUserTerminalFontParams{
1656+
UserID:u.ID,
1657+
TerminalFont:"ibm-plex-mono",
1658+
})
1659+
check.Args(u.ID).Asserts(u,policy.ActionReadPersonal).Returns("ibm-plex-mono")
1660+
}))
1661+
s.Run("UpdateUserTerminalFont",s.Subtest(func(db database.Store,check*expects) {
1662+
u:=dbgen.User(s.T(),db, database.User{})
1663+
uc:= database.UserConfig{
1664+
UserID:u.ID,
1665+
Key:"terminal_font",
1666+
Value:"ibm-plex-mono",
1667+
}
1668+
check.Args(database.UpdateUserTerminalFontParams{
1669+
UserID:u.ID,
1670+
TerminalFont:uc.Value,
1671+
}).Asserts(u,policy.ActionUpdatePersonal).Returns(uc)
1672+
}))
16521673
s.Run("UpdateUserStatus",s.Subtest(func(db database.Store,check*expects) {
16531674
u:=dbgen.User(s.T(),db, database.User{})
16541675
check.Args(database.UpdateUserStatusParams{

‎coderd/database/dbmem/dbmem.go

Lines changed: 82 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6448,20 +6448,6 @@ func (q *FakeQuerier) GetUserActivityInsights(_ context.Context, arg database.Ge
64486448
returnrows,nil
64496449
}
64506450

6451-
func (q*FakeQuerier)GetUserAppearanceSettings(_ context.Context,userID uuid.UUID) (string,error) {
6452-
q.mutex.RLock()
6453-
deferq.mutex.RUnlock()
6454-
6455-
for_,uc:=rangeq.userConfigs {
6456-
ifuc.UserID!=userID||uc.Key!="theme_preference" {
6457-
continue
6458-
}
6459-
returnuc.Value,nil
6460-
}
6461-
6462-
return"",sql.ErrNoRows
6463-
}
6464-
64656451
func (q*FakeQuerier)GetUserByEmailOrUsername(_ context.Context,arg database.GetUserByEmailOrUsernameParams) (database.User,error) {
64666452
iferr:=validateDatabaseType(arg);err!=nil {
64676453
return database.User{},err
@@ -6674,6 +6660,34 @@ func (q *FakeQuerier) GetUserStatusCounts(_ context.Context, arg database.GetUse
66746660
returnresult,nil
66756661
}
66766662

6663+
func (q*FakeQuerier)GetUserTerminalFont(ctx context.Context,userID uuid.UUID) (string,error) {
6664+
q.mutex.RLock()
6665+
deferq.mutex.RUnlock()
6666+
6667+
for_,uc:=rangeq.userConfigs {
6668+
ifuc.UserID!=userID||uc.Key!="terminal_font" {
6669+
continue
6670+
}
6671+
returnuc.Value,nil
6672+
}
6673+
6674+
return"",sql.ErrNoRows
6675+
}
6676+
6677+
func (q*FakeQuerier)GetUserThemePreference(_ context.Context,userID uuid.UUID) (string,error) {
6678+
q.mutex.RLock()
6679+
deferq.mutex.RUnlock()
6680+
6681+
for_,uc:=rangeq.userConfigs {
6682+
ifuc.UserID!=userID||uc.Key!="theme_preference" {
6683+
continue
6684+
}
6685+
returnuc.Value,nil
6686+
}
6687+
6688+
return"",sql.ErrNoRows
6689+
}
6690+
66776691
func (q*FakeQuerier)GetUserWorkspaceBuildParameters(_ context.Context,params database.GetUserWorkspaceBuildParametersParams) ([]database.GetUserWorkspaceBuildParametersRow,error) {
66786692
q.mutex.RLock()
66796693
deferq.mutex.RUnlock()
@@ -11015,33 +11029,6 @@ func (q *FakeQuerier) UpdateTemplateWorkspacesLastUsedAt(_ context.Context, arg
1101511029
returnnil
1101611030
}
1101711031

11018-
func (q*FakeQuerier)UpdateUserAppearanceSettings(_ context.Context,arg database.UpdateUserAppearanceSettingsParams) (database.UserConfig,error) {
11019-
err:=validateDatabaseType(arg)
11020-
iferr!=nil {
11021-
return database.UserConfig{},err
11022-
}
11023-
11024-
q.mutex.Lock()
11025-
deferq.mutex.Unlock()
11026-
11027-
fori,uc:=rangeq.userConfigs {
11028-
ifuc.UserID!=arg.UserID||uc.Key!="theme_preference" {
11029-
continue
11030-
}
11031-
uc.Value=arg.ThemePreference
11032-
q.userConfigs[i]=uc
11033-
returnuc,nil
11034-
}
11035-
11036-
uc:= database.UserConfig{
11037-
UserID:arg.UserID,
11038-
Key:"theme_preference",
11039-
Value:arg.ThemePreference,
11040-
}
11041-
q.userConfigs=append(q.userConfigs,uc)
11042-
returnuc,nil
11043-
}
11044-
1104511032
func (q*FakeQuerier)UpdateUserDeletedByID(_ context.Context,id uuid.UUID)error {
1104611033
q.mutex.Lock()
1104711034
deferq.mutex.Unlock()
@@ -11367,6 +11354,60 @@ func (q *FakeQuerier) UpdateUserStatus(_ context.Context, arg database.UpdateUse
1136711354
return database.User{},sql.ErrNoRows
1136811355
}
1136911356

11357+
func (q*FakeQuerier)UpdateUserTerminalFont(ctx context.Context,arg database.UpdateUserTerminalFontParams) (database.UserConfig,error) {
11358+
err:=validateDatabaseType(arg)
11359+
iferr!=nil {
11360+
return database.UserConfig{},err
11361+
}
11362+
11363+
q.mutex.Lock()
11364+
deferq.mutex.Unlock()
11365+
11366+
fori,uc:=rangeq.userConfigs {
11367+
ifuc.UserID!=arg.UserID||uc.Key!="terminal_font" {
11368+
continue
11369+
}
11370+
uc.Value=arg.TerminalFont
11371+
q.userConfigs[i]=uc
11372+
returnuc,nil
11373+
}
11374+
11375+
uc:= database.UserConfig{
11376+
UserID:arg.UserID,
11377+
Key:"terminal_font",
11378+
Value:arg.TerminalFont,
11379+
}
11380+
q.userConfigs=append(q.userConfigs,uc)
11381+
returnuc,nil
11382+
}
11383+
11384+
func (q*FakeQuerier)UpdateUserThemePreference(_ context.Context,arg database.UpdateUserThemePreferenceParams) (database.UserConfig,error) {
11385+
err:=validateDatabaseType(arg)
11386+
iferr!=nil {
11387+
return database.UserConfig{},err
11388+
}
11389+
11390+
q.mutex.Lock()
11391+
deferq.mutex.Unlock()
11392+
11393+
fori,uc:=rangeq.userConfigs {
11394+
ifuc.UserID!=arg.UserID||uc.Key!="theme_preference" {
11395+
continue
11396+
}
11397+
uc.Value=arg.ThemePreference
11398+
q.userConfigs[i]=uc
11399+
returnuc,nil
11400+
}
11401+
11402+
uc:= database.UserConfig{
11403+
UserID:arg.UserID,
11404+
Key:"theme_preference",
11405+
Value:arg.ThemePreference,
11406+
}
11407+
q.userConfigs=append(q.userConfigs,uc)
11408+
returnuc,nil
11409+
}
11410+
1137011411
func (q*FakeQuerier)UpdateVolumeResourceMonitor(_ context.Context,arg database.UpdateVolumeResourceMonitorParams)error {
1137111412
err:=validateDatabaseType(arg)
1137211413
iferr!=nil {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp