@@ -1270,10 +1270,7 @@ func (q *querier) DeleteApplicationConnectAPIKeysByUserID(ctx context.Context, u
1270
1270
}
1271
1271
1272
1272
func (q * querier ) DeleteChat (ctx context.Context , id uuid.UUID ) error {
1273
- if err := q .authorizeContext (ctx , policy .ActionDelete , rbac .ResourceChat .WithID (id )); err != nil {
1274
- return err
1275
- }
1276
- return q .db .DeleteChat (ctx , id )
1273
+ return deleteQ (q .log , q .auth , q .db .GetChatByID , q .db .DeleteChat )(ctx , id )
1277
1274
}
1278
1275
1279
1276
func (q * querier ) DeleteCoordinator (ctx context.Context , id uuid.UUID ) error {
@@ -1694,24 +1691,19 @@ func (q *querier) GetAuthorizationUserRoles(ctx context.Context, userID uuid.UUI
1694
1691
}
1695
1692
1696
1693
func (q * querier ) GetChatByID (ctx context.Context , id uuid.UUID ) (database.Chat , error ) {
1697
- if err := q .authorizeContext (ctx , policy .ActionRead , rbac .ResourceChat .WithID (id )); err != nil {
1698
- return database.Chat {}, err
1699
- }
1700
- return q .db .GetChatByID (ctx , id )
1694
+ return fetch (q .log , q .auth , q .db .GetChatByID )(ctx , id )
1701
1695
}
1702
1696
1703
1697
func (q * querier ) GetChatMessagesByChatID (ctx context.Context , chatID uuid.UUID ) ([]database.ChatMessage , error ) {
1704
- if err := q .authorizeContext (ctx , policy .ActionRead , rbac .ResourceChat .WithID (chatID )); err != nil {
1698
+ c , err := q .GetChatByID (ctx , chatID )
1699
+ if err != nil {
1705
1700
return nil , err
1706
1701
}
1707
- return q .db .GetChatMessagesByChatID (ctx , chatID )
1702
+ return q .db .GetChatMessagesByChatID (ctx , c . ID )
1708
1703
}
1709
1704
1710
1705
func (q * querier ) GetChatsByOwnerID (ctx context.Context , ownerID uuid.UUID ) ([]database.Chat , error ) {
1711
- if err := q .authorizeContext (ctx , policy .ActionRead , rbac .ResourceChat ); err != nil {
1712
- return nil , err
1713
- }
1714
- return q .db .GetChatsByOwnerID (ctx , ownerID )
1706
+ return fetchWithPostFilter (q .auth , policy .ActionRead , q .db .GetChatsByOwnerID )(ctx , ownerID )
1715
1707
}
1716
1708
1717
1709
func (q * querier ) GetCoordinatorResumeTokenSigningKey (ctx context.Context ) (string , error ) {
@@ -3348,7 +3340,14 @@ func (q *querier) InsertChat(ctx context.Context, arg database.InsertChatParams)
3348
3340
}
3349
3341
3350
3342
func (q * querier ) InsertChatMessages (ctx context.Context , arg database.InsertChatMessagesParams ) ([]database.ChatMessage , error ) {
3351
- return insert (q .log , q .auth , rbac .ResourceChat .WithID (arg .ChatID ), q .db .InsertChatMessages )(ctx , arg )
3343
+ c , err := q .db .GetChatByID (ctx , arg .ChatID )
3344
+ if err != nil {
3345
+ return nil , err
3346
+ }
3347
+ if err := q .authorizeContext (ctx , policy .ActionUpdate , c ); err != nil {
3348
+ return nil , err
3349
+ }
3350
+ return q .db .InsertChatMessages (ctx , arg )
3352
3351
}
3353
3352
3354
3353
func (q * querier ) InsertCryptoKey (ctx context.Context , arg database.InsertCryptoKeyParams ) (database.CryptoKey , error ) {
@@ -4000,10 +3999,10 @@ func (q *querier) UpdateAPIKeyByID(ctx context.Context, arg database.UpdateAPIKe
4000
3999
}
4001
4000
4002
4001
func (q * querier ) UpdateChatByID (ctx context.Context , arg database.UpdateChatByIDParams ) error {
4003
- if err := q . authorizeContext (ctx , policy . ActionUpdate , rbac . ResourceChat . WithID ( arg . ID )); err != nil {
4004
- return err
4002
+ fetch := func (ctx context. Context , arg database. UpdateChatByIDParams ) (database. Chat , error ) {
4003
+ return q . db . GetChatByID ( ctx , arg . ID )
4005
4004
}
4006
- return q . db .UpdateChatByID (ctx , arg )
4005
+ return update ( q . log , q . auth , fetch , q . db .UpdateChatByID ) (ctx , arg )
4007
4006
}
4008
4007
4009
4008
func (q * querier ) UpdateCryptoKeyDeletesAt (ctx context.Context , arg database.UpdateCryptoKeyDeletesAtParams ) (database.CryptoKey , error ) {
0 commit comments