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

Commit7e86229

Browse files
committed
Database implementation
Signed-off-by: Danny Kopping <danny@coder.com>
1 parent09f82b4 commit7e86229

26 files changed

+1035
-15
lines changed

‎coderd/apidoc/docs.go

Lines changed: 130 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: 116 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/coderd.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,6 +1247,17 @@ func New(options *Options) *API {
12471247
r.Get("/settings",api.notificationsSettings)
12481248
r.Put("/settings",api.putNotificationsSettings)
12491249
})
1250+
r.Route("/frobulators",func(r chi.Router) {
1251+
r.Use(apiKeyMiddleware)
1252+
r.Get("/",api.listAllFrobulators)
1253+
r.Route("/{user}",func(r chi.Router) {
1254+
r.Use(
1255+
httpmw.ExtractUserParam(options.Database),
1256+
)
1257+
r.Get("/",api.listUserFrobulators)
1258+
r.Post("/",api.createFrobulator)
1259+
})
1260+
})
12501261
})
12511262

12521263
ifoptions.SwaggerEndpoint {

‎coderd/database/dbauthz/dbauthz.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1204,6 +1204,13 @@ func (q *querier) GetActiveWorkspaceBuildsByTemplateID(ctx context.Context, temp
12041204
returnq.db.GetActiveWorkspaceBuildsByTemplateID(ctx,templateID)
12051205
}
12061206

1207+
func (q*querier)GetAllFrobulators(ctx context.Context) ([]database.Frobulator,error) {
1208+
iferr:=q.authorizeContext(ctx,policy.ActionRead,rbac.ResourceFrobulator);err!=nil {
1209+
returnnil,err
1210+
}
1211+
returnq.db.GetAllFrobulators(ctx)
1212+
}
1213+
12071214
func (q*querier)GetAllTailnetAgents(ctx context.Context) ([]database.TailnetAgent,error) {
12081215
iferr:=q.authorizeContext(ctx,policy.ActionRead,rbac.ResourceTailnetCoordinator);err!=nil {
12091216
return []database.TailnetAgent{},err
@@ -2052,6 +2059,13 @@ func (q *querier) GetUserCount(ctx context.Context) (int64, error) {
20522059
returnq.db.GetUserCount(ctx)
20532060
}
20542061

2062+
func (q*querier)GetUserFrobulators(ctx context.Context,userID uuid.UUID) ([]database.Frobulator,error) {
2063+
iferr:=q.authorizeContext(ctx,policy.ActionRead,rbac.ResourceFrobulator.WithOwner(userID.String()));err!=nil {
2064+
returnnil,err
2065+
}
2066+
returnq.db.GetUserFrobulators(ctx,userID)
2067+
}
2068+
20552069
func (q*querier)GetUserLatencyInsights(ctx context.Context,arg database.GetUserLatencyInsightsParams) ([]database.GetUserLatencyInsightsRow,error) {
20562070
// Used by insights endpoints. Need to check both for auditors and for regular users with template acl perms.
20572071
iferr:=q.authorizeContext(ctx,policy.ActionViewInsights,rbac.ResourceTemplate);err!=nil {
@@ -2537,6 +2551,14 @@ func (q *querier) InsertFile(ctx context.Context, arg database.InsertFileParams)
25372551
returninsert(q.log,q.auth,rbac.ResourceFile.WithOwner(arg.CreatedBy.String()),q.db.InsertFile)(ctx,arg)
25382552
}
25392553

2554+
func (q*querier)InsertFrobulator(ctx context.Context,arg database.InsertFrobulatorParams)error {
2555+
iferr:=q.authorizeContext(ctx,policy.ActionCreate,rbac.ResourceFrobulator.WithOwner(arg.UserID.String()));err!=nil {
2556+
returnerr
2557+
}
2558+
2559+
returnq.db.InsertFrobulator(ctx,arg)
2560+
}
2561+
25402562
func (q*querier)InsertGitSSHKey(ctx context.Context,arg database.InsertGitSSHKeyParams) (database.GitSSHKey,error) {
25412563
returninsertWithAction(q.log,q.auth,rbac.ResourceUser.WithOwner(arg.UserID.String()).WithID(arg.UserID),policy.ActionUpdatePersonal,q.db.InsertGitSSHKey)(ctx,arg)
25422564
}

‎coderd/database/dbauthz/dbauthz_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2583,6 +2583,19 @@ func (s *MethodTestSuite) TestSystemFunctions() {
25832583
Limit:10,
25842584
}).Asserts(rbac.ResourceSystem,policy.ActionRead)
25852585
}))
2586+
s.Run("GetAllFrobulators",s.Subtest(func(db database.Store,check*expects) {
2587+
check.Args().Asserts(rbac.ResourceFrobulator,policy.ActionRead)
2588+
}))
2589+
s.Run("GetUserFrobulators",s.Subtest(func(db database.Store,check*expects) {
2590+
user:=dbgen.User(s.T(),db, database.User{})
2591+
check.Args(user.ID).Asserts(rbac.ResourceFrobulator.WithOwner(user.ID.String()),policy.ActionRead)
2592+
}))
2593+
s.Run("InsertFrobulator",s.Subtest(func(db database.Store,check*expects) {
2594+
user:=dbgen.User(s.T(),db, database.User{})
2595+
check.Args(database.InsertFrobulatorParams{
2596+
UserID:user.ID,
2597+
}).Asserts(rbac.ResourceFrobulator.WithOwner(user.ID.String()),policy.ActionCreate)
2598+
}))
25862599
}
25872600

25882601
func (s*MethodTestSuite)TestOAuth2ProviderApps() {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp