Skip to content

Commit 4eef59a

Browse files
committed
more wiring
1 parent 7238b95 commit 4eef59a

File tree

4 files changed

+19
-5
lines changed

4 files changed

+19
-5
lines changed

coderd/coderd.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -950,8 +950,8 @@ func New(options *Options) *API {
950950
r.Get("/watch", api.watchWorkspace)
951951
r.Put("/extend", api.putExtendWorkspace)
952952
r.Put("/dormant", api.putWorkspaceDormant)
953-
r.Put("/pin", api.putFavoriteWorkspace)
954-
r.Delete("/pin", api.deleteFavoriteWorkspace)
953+
r.Put("/favorite", api.putFavoriteWorkspace)
954+
r.Delete("/favorite", api.deleteFavoriteWorkspace)
955955
r.Put("/autoupdates", api.putWorkspaceAutoupdates)
956956
r.Get("/resolve-autostart", api.resolveAutostart)
957957
})

coderd/database/dbmem/dbmem.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@ func (q *FakeQuerier) convertToWorkspaceRowsNoLock(ctx context.Context, workspac
359359
DeletingAt: w.DeletingAt,
360360
Count: count,
361361
AutomaticUpdates: w.AutomaticUpdates,
362+
FavoriteOf: w.FavoriteOf,
362363
}
363364

364365
for _, t := range q.templates {

coderd/database/modelmethods.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,7 @@ func ConvertWorkspaceRows(rows []GetWorkspacesRow) []Workspace {
373373
DormantAt: r.DormantAt,
374374
DeletingAt: r.DeletingAt,
375375
AutomaticUpdates: r.AutomaticUpdates,
376+
FavoriteOf: r.FavoriteOf,
376377
}
377378
}
378379

coderd/workspaces.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ var (
5555
func (api *API) workspace(rw http.ResponseWriter, r *http.Request) {
5656
ctx := r.Context()
5757
workspace := httpmw.WorkspaceParam(r)
58+
apiKey := httpmw.APIKey(r)
5859

5960
var (
6061
deletedStr = r.URL.Query().Get("include_deleted")
@@ -102,6 +103,7 @@ func (api *API) workspace(rw http.ResponseWriter, r *http.Request) {
102103
return
103104
}
104105
httpapi.Write(ctx, rw, http.StatusOK, convertWorkspace(
106+
apiKey.UserID,
105107
workspace,
106108
data.builds[0],
107109
data.templates[0],
@@ -184,7 +186,7 @@ func (api *API) workspaces(rw http.ResponseWriter, r *http.Request) {
184186
return
185187
}
186188

187-
wss, err := convertWorkspaces(workspaces, data)
189+
wss, err := convertWorkspaces(apiKey.UserID, workspaces, data)
188190
if err != nil {
189191
httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
190192
Message: "Internal error converting workspaces.",
@@ -213,6 +215,7 @@ func (api *API) workspaceByOwnerAndName(rw http.ResponseWriter, r *http.Request)
213215
ctx := r.Context()
214216
owner := httpmw.UserParam(r)
215217
workspaceName := chi.URLParam(r, "workspacename")
218+
apiKey := httpmw.APIKey(r)
216219

217220
includeDeleted := false
218221
if s := r.URL.Query().Get("include_deleted"); s != "" {
@@ -274,6 +277,7 @@ func (api *API) workspaceByOwnerAndName(rw http.ResponseWriter, r *http.Request)
274277
return
275278
}
276279
httpapi.Write(ctx, rw, http.StatusOK, convertWorkspace(
280+
apiKey.UserID,
277281
workspace,
278282
data.builds[0],
279283
data.templates[0],
@@ -583,6 +587,7 @@ func (api *API) postWorkspacesByOrganization(rw http.ResponseWriter, r *http.Req
583587
}
584588

585589
httpapi.Write(ctx, rw, http.StatusCreated, convertWorkspace(
590+
apiKey.UserID,
586591
workspace,
587592
apiBuild,
588593
template,
@@ -854,6 +859,7 @@ func (api *API) putWorkspaceDormant(rw http.ResponseWriter, r *http.Request) {
854859
var (
855860
ctx = r.Context()
856861
workspace = httpmw.WorkspaceParam(r)
862+
apiKey = httpmw.APIKey(r)
857863
oldWorkspace = workspace
858864
auditor = api.Auditor.Load()
859865
aReq, commitAudit = audit.InitRequest[database.Workspace](rw, &audit.RequestParams{
@@ -922,6 +928,7 @@ func (api *API) putWorkspaceDormant(rw http.ResponseWriter, r *http.Request) {
922928

923929
aReq.New = workspace
924930
httpapi.Write(ctx, rw, http.StatusOK, convertWorkspace(
931+
apiKey.UserID,
925932
workspace,
926933
data.builds[0],
927934
data.templates[0],
@@ -1262,6 +1269,7 @@ func (api *API) resolveAutostart(rw http.ResponseWriter, r *http.Request) {
12621269
func (api *API) watchWorkspace(rw http.ResponseWriter, r *http.Request) {
12631270
ctx := r.Context()
12641271
workspace := httpmw.WorkspaceParam(r)
1272+
apiKey := httpmw.APIKey(r)
12651273

12661274
sendEvent, senderClosed, err := httpapi.ServerSentEventSender(rw, r)
12671275
if err != nil {
@@ -1324,6 +1332,7 @@ func (api *API) watchWorkspace(rw http.ResponseWriter, r *http.Request) {
13241332
_ = sendEvent(ctx, codersdk.ServerSentEvent{
13251333
Type: codersdk.ServerSentEventTypeData,
13261334
Data: convertWorkspace(
1335+
apiKey.UserID,
13271336
workspace,
13281337
data.builds[0],
13291338
data.templates[0],
@@ -1442,7 +1451,7 @@ func (api *API) workspaceData(ctx context.Context, workspaces []database.Workspa
14421451
}, nil
14431452
}
14441453

1445-
func convertWorkspaces(workspaces []database.Workspace, data workspaceData) ([]codersdk.Workspace, error) {
1454+
func convertWorkspaces(requestorID uuid.UUID, workspaces []database.Workspace, data workspaceData) ([]codersdk.Workspace, error) {
14461455
buildByWorkspaceID := map[uuid.UUID]codersdk.WorkspaceBuild{}
14471456
for _, workspaceBuild := range data.builds {
14481457
buildByWorkspaceID[workspaceBuild.WorkspaceID] = workspaceBuild
@@ -1477,6 +1486,7 @@ func convertWorkspaces(workspaces []database.Workspace, data workspaceData) ([]c
14771486
}
14781487

14791488
apiWorkspaces = append(apiWorkspaces, convertWorkspace(
1489+
requestorID,
14801490
workspace,
14811491
build,
14821492
template,
@@ -1488,6 +1498,7 @@ func convertWorkspaces(workspaces []database.Workspace, data workspaceData) ([]c
14881498
}
14891499

14901500
func convertWorkspace(
1501+
requestorID uuid.UUID,
14911502
workspace database.Workspace,
14921503
workspaceBuild codersdk.WorkspaceBuild,
14931504
template database.Template,
@@ -1519,6 +1530,7 @@ func convertWorkspace(
15191530
}
15201531

15211532
ttlMillis := convertWorkspaceTTLMillis(workspace.Ttl)
1533+
requestorFavorite := workspace.FavoriteOf.UUID == requestorID
15221534

15231535
return codersdk.Workspace{
15241536
ID: workspace.ID,
@@ -1548,7 +1560,7 @@ func convertWorkspace(
15481560
},
15491561
AutomaticUpdates: codersdk.AutomaticUpdates(workspace.AutomaticUpdates),
15501562
AllowRenames: allowRenames,
1551-
// Pinned: pinned, // TODO
1563+
Favorite: requestorFavorite,
15521564
}
15531565
}
15541566

0 commit comments

Comments
 (0)