@@ -715,6 +715,13 @@ func (q *querier) DeleteAllTailnetClientSubscriptions(ctx context.Context, arg d
715
715
return q .db .DeleteAllTailnetClientSubscriptions (ctx , arg )
716
716
}
717
717
718
+ func (q * querier ) DeleteAllTailnetTunnels (ctx context.Context , arg database.DeleteAllTailnetTunnelsParams ) error {
719
+ if err := q .authorizeContext (ctx , rbac .ActionDelete , rbac .ResourceTailnetCoordinator ); err != nil {
720
+ return err
721
+ }
722
+ return q .db .DeleteAllTailnetTunnels (ctx , arg )
723
+ }
724
+
718
725
func (q * querier ) DeleteApplicationConnectAPIKeysByUserID (ctx context.Context , userID uuid.UUID ) error {
719
726
// TODO: This is not 100% correct because it omits apikey IDs.
720
727
err := q .authorizeContext (ctx , rbac .ActionDelete ,
@@ -811,6 +818,20 @@ func (q *querier) DeleteTailnetClientSubscription(ctx context.Context, arg datab
811
818
return q .db .DeleteTailnetClientSubscription (ctx , arg )
812
819
}
813
820
821
+ func (q * querier ) DeleteTailnetPeer (ctx context.Context , arg database.DeleteTailnetPeerParams ) (database.DeleteTailnetPeerRow , error ) {
822
+ if err := q .authorizeContext (ctx , rbac .ActionDelete , rbac .ResourceTailnetCoordinator ); err != nil {
823
+ return database.DeleteTailnetPeerRow {}, err
824
+ }
825
+ return q .db .DeleteTailnetPeer (ctx , arg )
826
+ }
827
+
828
+ func (q * querier ) DeleteTailnetTunnel (ctx context.Context , arg database.DeleteTailnetTunnelParams ) (database.DeleteTailnetTunnelRow , error ) {
829
+ if err := q .authorizeContext (ctx , rbac .ActionDelete , rbac .ResourceTailnetCoordinator ); err != nil {
830
+ return database.DeleteTailnetTunnelRow {}, err
831
+ }
832
+ return q .db .DeleteTailnetTunnel (ctx , arg )
833
+ }
834
+
814
835
func (q * querier ) GetAPIKeyByID (ctx context.Context , id string ) (database.APIKey , error ) {
815
836
return fetch (q .log , q .auth , q .db .GetAPIKeyByID )(ctx , id )
816
837
}
@@ -1246,6 +1267,27 @@ func (q *querier) GetTailnetClientsForAgent(ctx context.Context, agentID uuid.UU
1246
1267
return q .db .GetTailnetClientsForAgent (ctx , agentID )
1247
1268
}
1248
1269
1270
+ func (q * querier ) GetTailnetPeers (ctx context.Context , id uuid.UUID ) ([]database.TailnetPeer , error ) {
1271
+ if err := q .authorizeContext (ctx , rbac .ActionRead , rbac .ResourceTailnetCoordinator ); err != nil {
1272
+ return nil , err
1273
+ }
1274
+ return q .db .GetTailnetPeers (ctx , id )
1275
+ }
1276
+
1277
+ func (q * querier ) GetTailnetTunnelPeerBindings (ctx context.Context , srcID uuid.UUID ) ([]database.GetTailnetTunnelPeerBindingsRow , error ) {
1278
+ if err := q .authorizeContext (ctx , rbac .ActionRead , rbac .ResourceTailnetCoordinator ); err != nil {
1279
+ return nil , err
1280
+ }
1281
+ return q .db .GetTailnetTunnelPeerBindings (ctx , srcID )
1282
+ }
1283
+
1284
+ func (q * querier ) GetTailnetTunnelPeerIDs (ctx context.Context , srcID uuid.UUID ) ([]database.GetTailnetTunnelPeerIDsRow , error ) {
1285
+ if err := q .authorizeContext (ctx , rbac .ActionRead , rbac .ResourceTailnetCoordinator ); err != nil {
1286
+ return nil , err
1287
+ }
1288
+ return q .db .GetTailnetTunnelPeerIDs (ctx , srcID )
1289
+ }
1290
+
1249
1291
func (q * querier ) GetTemplateAppInsights (ctx context.Context , arg database.GetTemplateAppInsightsParams ) ([]database.GetTemplateAppInsightsRow , error ) {
1250
1292
for _ , templateID := range arg .TemplateIDs {
1251
1293
template , err := q .db .GetTemplateByID (ctx , templateID )
@@ -2972,6 +3014,20 @@ func (q *querier) UpsertTailnetCoordinator(ctx context.Context, id uuid.UUID) (d
2972
3014
return q .db .UpsertTailnetCoordinator (ctx , id )
2973
3015
}
2974
3016
3017
+ func (q * querier ) UpsertTailnetPeer (ctx context.Context , arg database.UpsertTailnetPeerParams ) (database.TailnetPeer , error ) {
3018
+ if err := q .authorizeContext (ctx , rbac .ActionCreate , rbac .ResourceTailnetCoordinator ); err != nil {
3019
+ return database.TailnetPeer {}, err
3020
+ }
3021
+ return q .db .UpsertTailnetPeer (ctx , arg )
3022
+ }
3023
+
3024
+ func (q * querier ) UpsertTailnetTunnel (ctx context.Context , arg database.UpsertTailnetTunnelParams ) (database.TailnetTunnel , error ) {
3025
+ if err := q .authorizeContext (ctx , rbac .ActionCreate , rbac .ResourceTailnetCoordinator ); err != nil {
3026
+ return database.TailnetTunnel {}, err
3027
+ }
3028
+ return q .db .UpsertTailnetTunnel (ctx , arg )
3029
+ }
3030
+
2975
3031
func (q * querier ) GetAuthorizedTemplates (ctx context.Context , arg database.GetTemplatesWithFilterParams , _ rbac.PreparedAuthorized ) ([]database.Template , error ) {
2976
3032
// TODO Delete this function, all GetTemplates should be authorized. For now just call getTemplates on the authz querier.
2977
3033
return q .GetTemplatesWithFilter (ctx , arg )
0 commit comments