@@ -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 ) {