Skip to content

Commit 4f851dc

Browse files
committed
fix: improve error message for insufficient privilege
1 parent 29a13ff commit 4f851dc

File tree

3 files changed

+27
-30
lines changed

3 files changed

+27
-30
lines changed

src/storage/database/knex.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -798,10 +798,7 @@ export class DBError extends StorageBackendError implements RenderableError {
798798
static fromDBError(pgError: DatabaseError, query?: string) {
799799
switch (pgError.code) {
800800
case '42501':
801-
return ERRORS.AccessDenied(
802-
'new row violates row-level security policy',
803-
pgError
804-
).withMetadata({
801+
return ERRORS.AccessDenied('Database error: insufficient privilege', pgError).withMetadata({
805802
query,
806803
code: pgError.code,
807804
})

src/test/object.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ describe('testing POST object via multipart upload', () => {
314314
JSON.stringify({
315315
statusCode: '403',
316316
error: 'Unauthorized',
317-
message: 'new row violates row-level security policy',
317+
message: 'Database error: insufficient privilege',
318318
})
319319
)
320320
})
@@ -800,7 +800,7 @@ describe('testing POST object via binary upload', () => {
800800
JSON.stringify({
801801
statusCode: '403',
802802
error: 'Unauthorized',
803-
message: 'new row violates row-level security policy',
803+
message: 'Database error: insufficient privilege',
804804
})
805805
)
806806
})
@@ -1672,7 +1672,7 @@ describe('testing generating signed URL for upload', () => {
16721672
JSON.stringify({
16731673
statusCode: '403',
16741674
error: 'Unauthorized',
1675-
message: 'new row violates row-level security policy',
1675+
message: 'Database error: insufficient privilege',
16761676
})
16771677
)
16781678
// Ensure that row does not exist in database.

src/test/rls_tests.yaml

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,15 @@ tests:
5454
asserts:
5555
- operation: upload
5656
status: 400
57-
error: 'new row violates row-level security policy'
57+
error: 'Database error: insufficient privilege'
5858

5959
- operation: upload.upsert
6060
status: 400
61-
message: 'new row violates row-level security policy'
61+
message: 'Database error: insufficient privilege'
6262

6363
- operation: bucket.create
6464
status: 400
65-
error: 'new row violates row-level security policy'
65+
error: 'Database error: insufficient privilege'
6666

6767
- operation: bucket.delete
6868
status: 400
@@ -113,15 +113,15 @@ tests:
113113
asserts:
114114
- operation: upload
115115
status: 400
116-
error: 'new row violates row-level security policy'
116+
error: 'Database error: insufficient privilege'
117117

118118
- operation: upload.upsert
119119
status: 400
120-
message: 'new row violates row-level security policy'
120+
message: 'Database error: insufficient privilege'
121121

122122
- operation: bucket.create
123123
status: 400
124-
error: 'new row violates row-level security policy'
124+
error: 'Database error: insufficient privilege'
125125

126126
- operation: bucket.delete
127127
status: 400
@@ -199,11 +199,11 @@ tests:
199199

200200
- operation: upload
201201
status: 400
202-
error: 'new row violates row-level security policy'
202+
error: 'Database error: insufficient privilege'
203203

204204
- operation: upload.upsert
205205
status: 400
206-
message: 'new row violates row-level security policy'
206+
message: 'Database error: insufficient privilege'
207207

208208
- operation: upload
209209
policies:
@@ -240,19 +240,19 @@ tests:
240240
asserts:
241241
- operation: bucket.create
242242
status: 400
243-
error: 'new row violates row-level security policy'
243+
error: 'Database error: insufficient privilege'
244244

245245
- operation: bucket.delete
246246
status: 400
247247
error: 'Bucket not found'
248248

249249
- operation: upload
250250
status: 400
251-
error: 'new row violates row-level security policy'
251+
error: 'Database error: insufficient privilege'
252252

253253
- operation: upload.upsert
254254
status: 400
255-
message: 'new row violates row-level security policy'
255+
message: 'Database error: insufficient privilege'
256256

257257
- operation: upload
258258
policies:
@@ -281,7 +281,7 @@ tests:
281281
asserts:
282282
- operation: bucket.create
283283
status: 400
284-
error: 'new row violates row-level security policy'
284+
error: 'Database error: insufficient privilege'
285285

286286
- operation: bucket.delete
287287
status: 400
@@ -322,15 +322,15 @@ tests:
322322

323323
- operation: bucket.create
324324
status: 400
325-
error: 'new row violates row-level security policy'
325+
error: 'Database error: insufficient privilege'
326326

327327
- operation: upload
328328
status: 400
329-
error: 'new row violates row-level security policy'
329+
error: 'Database error: insufficient privilege'
330330

331331
- operation: upload.upsert
332332
status: 400
333-
message: 'new row violates row-level security policy'
333+
message: 'Database error: insufficient privilege'
334334

335335
- operation: upload
336336
policies:
@@ -363,15 +363,15 @@ tests:
363363

364364
- operation: bucket.create
365365
status: 400
366-
error: 'new row violates row-level security policy'
366+
error: 'Database error: insufficient privilege'
367367

368368
- operation: upload
369369
status: 400
370-
error: 'new row violates row-level security policy'
370+
error: 'Database error: insufficient privilege'
371371

372372
- operation: upload.upsert
373373
status: 400
374-
message: 'new row violates row-level security policy'
374+
message: 'Database error: insufficient privilege'
375375

376376
- operation: upload
377377
bucketName: 'bucket_delete_test_{{runId}}'
@@ -406,15 +406,15 @@ tests:
406406

407407
- operation: bucket.create
408408
status: 400
409-
error: 'new row violates row-level security policy'
409+
error: 'Database error: insufficient privilege'
410410

411411
- operation: upload
412412
status: 400
413-
error: 'new row violates row-level security policy'
413+
error: 'Database error: insufficient privilege'
414414

415415
- operation: upload.upsert
416416
status: 400
417-
message: 'new row violates row-level security policy'
417+
message: 'Database error: insufficient privilege'
418418

419419
- operation: upload
420420
bucketName: 'bucket_to_move_{{runId}}'
@@ -446,7 +446,7 @@ tests:
446446

447447
- operation: bucket.create
448448
status: 400
449-
error: 'new row violates row-level security policy'
449+
error: 'Database error: insufficient privilege'
450450

451451
- operation: upload
452452
bucketName: 'bucket_{{runId}}'
@@ -457,7 +457,7 @@ tests:
457457
useExistingBucketName: 'bucket_{{runId}}'
458458
objectName: 'object_{{runId}}.txt'
459459
status: 400
460-
message: 'new row violates row-level security policy'
460+
message: 'Database error: insufficient privilege'
461461

462462
- operation: upload
463463
bucketName: 'bucket_to_copy_{{runId}}'

0 commit comments

Comments
 (0)