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

Commit493ffa7

Browse files
committed
fix me filter
1 parent9717985 commit493ffa7

File tree

3 files changed

+68
-46
lines changed

3 files changed

+68
-46
lines changed

‎coderd/searchquery/search.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func AuditLogs(ctx context.Context, db database.Store, query string) (database.G
6767
returnfilter,parser.Errors
6868
}
6969

70-
funcConnectionLogs(ctx context.Context,db database.Store,querystring) (database.GetConnectionLogsOffsetParams, []codersdk.ValidationError) {
70+
funcConnectionLogs(ctx context.Context,db database.Store,querystring,apiKey database.APIKey) (database.GetConnectionLogsOffsetParams, []codersdk.ValidationError) {
7171
// Always lowercase for all searches.
7272
query=strings.ToLower(query)
7373
values,errors:=searchTerms(query,func(termstring,values url.Values)error {
@@ -92,6 +92,17 @@ func ConnectionLogs(ctx context.Context, db database.Store, query string) (datab
9292
ConnectionID:parser.UUID(values,uuid.Nil,"connection_id"),
9393
Status:string(httpapi.ParseCustom(parser,values,"","status",httpapi.ParseEnum[database.ConnectionStatus])),
9494
}
95+
96+
iffilter.Username=="me" {
97+
filter.UserID=apiKey.UserID
98+
filter.Username=""
99+
}
100+
101+
iffilter.WorkspaceOwner=="me" {
102+
filter.WorkspaceOwnerID=apiKey.UserID
103+
filter.WorkspaceOwner=""
104+
}
105+
95106
parser.ErrorExcessParams(values)
96107
returnfilter,parser.Errors
97108
}

‎coderd/searchquery/search_test.go

Lines changed: 55 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -405,47 +405,68 @@ func TestSearchAudit(t *testing.T) {
405405

406406
funcTestSearchConnectionLogs(t*testing.T) {
407407
t.Parallel()
408+
t.Run("All",func(t*testing.T) {
409+
t.Parallel()
408410

409-
orgID:=uuid.New()
410-
workspaceOwnerID:=uuid.New()
411-
workspaceID:=uuid.New()
412-
connectionID:=uuid.New()
411+
orgID:=uuid.New()
412+
workspaceOwnerID:=uuid.New()
413+
workspaceID:=uuid.New()
414+
connectionID:=uuid.New()
413415

414-
db,_:=dbtestutil.NewDB(t)
415-
dbgen.Organization(t,db, database.Organization{
416-
ID:orgID,
417-
Name:"testorg",
418-
})
419-
dbgen.User(t,db, database.User{
420-
ID:workspaceOwnerID,
421-
Username:"testowner",
422-
Email:"owner@example.com",
416+
db,_:=dbtestutil.NewDB(t)
417+
dbgen.Organization(t,db, database.Organization{
418+
ID:orgID,
419+
Name:"testorg",
420+
})
421+
dbgen.User(t,db, database.User{
422+
ID:workspaceOwnerID,
423+
Username:"testowner",
424+
Email:"owner@example.com",
425+
})
426+
427+
query:=fmt.Sprintf(`organization:testorg workspace_owner:testowner `+
428+
`workspace_owner_email:owner@example.com type:port_forwarding username:testuser `+
429+
`user_email:test@example.com started_after:"2023-01-01T00:00:00Z" `+
430+
`started_before:"2023-01-16T12:00:00+12:00" workspace_id:%s connection_id:%s status:connected`,
431+
workspaceID.String(),connectionID.String())
432+
433+
values,errs:=searchquery.ConnectionLogs(context.Background(),db,query, database.APIKey{})
434+
require.Len(t,errs,0)
435+
436+
expected:= database.GetConnectionLogsOffsetParams{
437+
OrganizationID:orgID,
438+
WorkspaceOwner:"testowner",
439+
WorkspaceOwnerEmail:"owner@example.com",
440+
Type:string(database.ConnectionTypePortForwarding),
441+
Username:"testuser",
442+
UserEmail:"test@example.com",
443+
StartedAfter:time.Date(2023,1,1,0,0,0,0,time.UTC),
444+
StartedBefore:time.Date(2023,1,16,0,0,0,0,time.UTC),
445+
WorkspaceID:workspaceID,
446+
ConnectionID:connectionID,
447+
Status:string(database.ConnectionStatusConnected),
448+
}
449+
450+
require.Equal(t,expected,values)
423451
})
424452

425-
query:=fmt.Sprintf(`organization:testorg workspace_owner:testowner `+
426-
`workspace_owner_email:owner@example.com type:port_forwarding username:testuser `+
427-
`user_email:test@example.com started_after:"2023-01-01T00:00:00Z" `+
428-
`started_before:"2023-01-16T12:00:00+12:00" workspace_id:%s connection_id:%s status:connected`,
429-
workspaceID.String(),connectionID.String())
453+
t.Run("Me",func(t*testing.T) {
454+
t.Parallel()
455+
456+
userID:=uuid.New()
457+
db,_:=dbtestutil.NewDB(t)
430458

431-
values,errs:=searchquery.ConnectionLogs(context.Background(),db,query)
432-
require.Len(t,errs,0)
459+
query:=`username:me workspace_owner:me`
460+
values,errs:=searchquery.ConnectionLogs(context.Background(),db,query, database.APIKey{UserID:userID})
461+
require.Len(t,errs,0)
433462

434-
expected:= database.GetConnectionLogsOffsetParams{
435-
OrganizationID:orgID,
436-
WorkspaceOwner:"testowner",
437-
WorkspaceOwnerEmail:"owner@example.com",
438-
Type:string(database.ConnectionTypePortForwarding),
439-
Username:"testuser",
440-
UserEmail:"test@example.com",
441-
StartedAfter:time.Date(2023,1,1,0,0,0,0,time.UTC),
442-
StartedBefore:time.Date(2023,1,16,0,0,0,0,time.UTC),
443-
WorkspaceID:workspaceID,
444-
ConnectionID:connectionID,
445-
Status:string(database.ConnectionStatusConnected),
446-
}
463+
expected:= database.GetConnectionLogsOffsetParams{
464+
UserID:userID,
465+
WorkspaceOwnerID:userID,
466+
}
447467

448-
require.Equal(t,expected,values)
468+
require.Equal(t,expected,values)
469+
})
449470
}
450471

451472
funcTestSearchUsers(t*testing.T) {

‎enterprise/coderd/connectionlog.go

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func (api *API) connectionLogs(rw http.ResponseWriter, r *http.Request) {
3737
}
3838

3939
queryStr:=r.URL.Query().Get("q")
40-
filter,errs:=searchquery.ConnectionLogs(ctx,api.Database,queryStr)
40+
filter,errs:=searchquery.ConnectionLogs(ctx,api.Database,queryStr,apiKey)
4141
iflen(errs)>0 {
4242
httpapi.Write(ctx,rw,http.StatusBadRequest, codersdk.Response{
4343
Message:"Invalid connection search query.",
@@ -50,16 +50,6 @@ func (api *API) connectionLogs(rw http.ResponseWriter, r *http.Request) {
5050
// #nosec G115 - Safe conversion as pagination limit is expected to be within int32 range
5151
filter.LimitOpt=int32(page.Limit)
5252

53-
iffilter.Username=="me" {
54-
filter.UserID=apiKey.UserID
55-
filter.Username=""
56-
}
57-
58-
iffilter.WorkspaceOwner=="me" {
59-
filter.WorkspaceOwnerID=apiKey.UserID
60-
filter.WorkspaceOwner=""
61-
}
62-
6353
dblogs,err:=api.Database.GetConnectionLogsOffset(ctx,filter)
6454
ifdbauthz.IsNotAuthorizedError(err) {
6555
httpapi.Forbidden(rw)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp