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

Commit424e933

Browse files
committed
Add name filter to backend
1 parentf8e09e6 commit424e933

File tree

6 files changed

+45
-17
lines changed

6 files changed

+45
-17
lines changed

‎coderd/database/queries.sql.go

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

‎coderd/database/queries/workspaces.sql

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ WHERE
2828
owner_id= @owner_id
2929
ELSE true
3030
END
31+
-- Filter by name
32+
AND CASE
33+
WHEN @name :: string!='' THEN
34+
name=LOWER(@name)
35+
ELSE true
36+
END
3137
;
3238

3339
-- name: GetWorkspacesByOrganizationIDs :many

‎coderd/workspaces.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ func (api *API) workspaces(rw http.ResponseWriter, r *http.Request) {
137137
// Empty strings mean no filter
138138
orgFilter:=r.URL.Query().Get("organization_id")
139139
ownerFilter:=r.URL.Query().Get("owner")
140+
nameFilter:=r.URL.Query().Get("name")
140141

141142
filter:= database.GetWorkspacesWithFilterParams{Deleted:false}
142143
iforgFilter!="" {
@@ -170,6 +171,9 @@ func (api *API) workspaces(rw http.ResponseWriter, r *http.Request) {
170171
}
171172
filter.OwnerID=userID
172173
}
174+
ifnameFilter!="" {
175+
filter.Name=nameFilter
176+
}
173177

174178
workspaces,err:=api.Database.GetWorkspacesWithFilter(r.Context(),filter)
175179
iferr!=nil {

‎codersdk/workspaces.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"encoding/json"
66
"fmt"
77
"net/http"
8+
"strconv"
89
"time"
910

1011
"github.com/google/uuid"
@@ -200,7 +201,9 @@ func (c *Client) PutExtendWorkspace(ctx context.Context, id uuid.UUID, req PutEx
200201
typeWorkspaceFilterstruct {
201202
OrganizationID uuid.UUID
202203
// Owner can be a user_id (uuid), "me", or a username
203-
Ownerstring
204+
Ownerstring
205+
Namestring
206+
Deletedbool
204207
}
205208

206209
// asRequestOption returns a function that can be used in (*Client).Request.
@@ -214,6 +217,12 @@ func (f WorkspaceFilter) asRequestOption() requestOption {
214217
iff.Owner!="" {
215218
q.Set("owner",f.Owner)
216219
}
220+
iff.Name!="" {
221+
q.Set("name",f.Name)
222+
}
223+
iff.Deleted {
224+
q.Set("deleted",strconv.FormatBool(f.Deleted))
225+
}
217226
r.URL.RawQuery=q.Encode()
218227
}
219228
}

‎site/src/api/typesGenerated.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ export interface CreateUserRequest {
8888
readonlyorganization_id:string
8989
}
9090

91-
// From codersdk/workspaces.go:34:6
91+
// From codersdk/workspaces.go:35:6
9292
exportinterfaceCreateWorkspaceBuildRequest{
9393
readonlytemplate_version_id?:string
9494
readonlytransition:WorkspaceTransition
@@ -221,7 +221,7 @@ export interface ProvisionerJobLog {
221221
readonlyoutput:string
222222
}
223223

224-
// From codersdk/workspaces.go:182:6
224+
// From codersdk/workspaces.go:183:6
225225
exportinterfacePutExtendWorkspaceRequest{
226226
readonlydeadline:string
227227
}
@@ -298,12 +298,12 @@ export interface UpdateUserProfileRequest {
298298
readonlyusername:string
299299
}
300300

301-
// From codersdk/workspaces.go:141:6
301+
// From codersdk/workspaces.go:142:6
302302
exportinterfaceUpdateWorkspaceAutostartRequest{
303303
readonlyschedule?:string
304304
}
305305

306-
// From codersdk/workspaces.go:161:6
306+
// From codersdk/workspaces.go:162:6
307307
exportinterfaceUpdateWorkspaceTTLRequest{
308308
readonlyttl_ms?:number
309309
}
@@ -358,7 +358,7 @@ export interface UsersRequest extends Pagination {
358358
readonlystatus?:string
359359
}
360360

361-
// From codersdk/workspaces.go:18:6
361+
// From codersdk/workspaces.go:19:6
362362
exportinterfaceWorkspace{
363363
readonlyid:string
364364
readonlycreated_at:string
@@ -436,15 +436,17 @@ export interface WorkspaceBuild {
436436
readonlydeadline:string
437437
}
438438

439-
// From codersdk/workspaces.go:64:6
439+
// From codersdk/workspaces.go:65:6
440440
exportinterfaceWorkspaceBuildsRequestextendsPagination{
441441
readonlyWorkspaceID:string
442442
}
443443

444-
// From codersdk/workspaces.go:200:6
444+
// From codersdk/workspaces.go:201:6
445445
exportinterfaceWorkspaceFilter{
446446
readonlyOrganizationID:string
447447
readonlyOwner:string
448+
readonlyName:string
449+
readonlyDeleted:boolean
448450
}
449451

450452
// From codersdk/workspaceresources.go:21:6

‎site/src/pages/WorkspacesPage/WorkspacesPage.tsx

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ import { useMachine } from "@xstate/react"
99
import{FormikErrors,useFormik}from"formik"
1010
import{FC,useState}from"react"
1111
import{LinkasRouterLink}from"react-router-dom"
12+
import{CloseDropdown,OpenDropdown}from"../../components/DropdownArrows/DropdownArrows"
1213
import{Margins}from"../../components/Margins/Margins"
1314
import{Stack}from"../../components/Stack/Stack"
1415
import{getFormHelpers,onChangeTrimmed}from"../../util/formUtils"
1516
import{workspacesMachine}from"../../xServices/workspaces/workspacesXService"
1617
import{WorkspacesPageView}from"./WorkspacesPageView"
17-
import{CloseDropdown,OpenDropdown}from"../../components/DropdownArrows/DropdownArrows"
1818

1919
interfaceFilterFormValues{
2020
query:string
@@ -24,7 +24,7 @@ const Language = {
2424
filterName:"Filters",
2525
createWorkspaceButton:"Create workspace",
2626
yourWorkspacesButton:"Your workspaces",
27-
allWorkspacesButton:"All workspaces"
27+
allWorkspacesButton:"All workspaces",
2828
}
2929

3030
exporttypeFilterFormErrors=FormikErrors<FilterFormValues>
@@ -78,12 +78,7 @@ const WorkspacesPage: FC = () => {
7878
{Language.filterName}{anchorEl ?<CloseDropdown/> :<OpenDropdown/>}
7979
</Button>
8080

81-
<Menuid="filter-menu"
82-
anchorEl={anchorEl}
83-
keepMounted
84-
open={Boolean(anchorEl)}
85-
onClose={handleClose}
86-
>
81+
<Menuid="filter-menu"anchorEl={anchorEl}keepMountedopen={Boolean(anchorEl)}onClose={handleClose}>
8782
<MenuItemonClick={setYourWorkspaces}>{Language.yourWorkspacesButton}</MenuItem>
8883
<MenuItemonClick={setAllWorkspaces}>{Language.allWorkspacesButton}</MenuItem>
8984
</Menu>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp