@@ -13,6 +13,7 @@ import {
13
13
import { DatabaseError } from 'pg'
14
14
import { TenantConnection } from '../../database/connection'
15
15
import { DbQueryPerformance } from '../../monitoring/metrics'
16
+ import { isUuid } from '../limits'
16
17
17
18
/**
18
19
* Database
@@ -114,7 +115,8 @@ export class StorageKnexDB implements Database {
114
115
const bucketData = {
115
116
id : data . id ,
116
117
name : data . name ,
117
- owner : data . owner ,
118
+ owner : isUuid ( data . owner || '' ) ? data . owner : undefined ,
119
+ owner_id : data . owner ,
118
120
public : data . public ,
119
121
allowed_mime_types : data . allowed_mime_types ,
120
122
file_size_limit : data . file_size_limit ,
@@ -226,7 +228,8 @@ export class StorageKnexDB implements Database {
226
228
async upsertObject ( data : Pick < Obj , 'name' | 'owner' | 'bucket_id' | 'metadata' | 'version' > ) {
227
229
const objectData = {
228
230
name : data . name ,
229
- owner : data . owner ,
231
+ owner : isUuid ( data . owner || '' ) ? data . owner : undefined ,
232
+ owner_id : data . owner ,
230
233
bucket_id : data . bucket_id ,
231
234
metadata : data . metadata ,
232
235
version : data . version ,
@@ -239,7 +242,8 @@ export class StorageKnexDB implements Database {
239
242
. merge ( {
240
243
metadata : data . metadata ,
241
244
version : data . version ,
242
- owner : data . owner ,
245
+ owner : isUuid ( data . owner || '' ) ? data . owner : undefined ,
246
+ owner_id : data . owner ,
243
247
} )
244
248
. returning ( '*' )
245
249
} )
@@ -253,15 +257,20 @@ export class StorageKnexDB implements Database {
253
257
data : Pick < Obj , 'owner' | 'metadata' | 'version' | 'name' >
254
258
) {
255
259
const [ object ] = await this . runQuery ( 'UpdateObject' , ( knex ) => {
256
- return knex . from < Obj > ( 'objects' ) . where ( 'bucket_id' , bucketId ) . where ( 'name' , name ) . update (
257
- {
258
- name : data . name ,
259
- owner : data . owner ,
260
- metadata : data . metadata ,
261
- version : data . version ,
262
- } ,
263
- '*'
264
- )
260
+ return knex
261
+ . from < Obj > ( 'objects' )
262
+ . where ( 'bucket_id' , bucketId )
263
+ . where ( 'name' , name )
264
+ . update (
265
+ {
266
+ name : data . name ,
267
+ owner : isUuid ( data . owner || '' ) ? data . owner : undefined ,
268
+ owner_id : data . owner ,
269
+ metadata : data . metadata ,
270
+ version : data . version ,
271
+ } ,
272
+ '*'
273
+ )
265
274
} )
266
275
267
276
if ( ! object ) {
@@ -274,7 +283,8 @@ export class StorageKnexDB implements Database {
274
283
async createObject ( data : Pick < Obj , 'name' | 'owner' | 'bucket_id' | 'metadata' | 'version' > ) {
275
284
const object = {
276
285
name : data . name ,
277
- owner : data . owner ,
286
+ owner : isUuid ( data . owner || '' ) ? data . owner : undefined ,
287
+ owner_id : data . owner ,
278
288
bucket_id : data . bucket_id ,
279
289
metadata : data . metadata ,
280
290
version : data . version ,
@@ -335,7 +345,8 @@ export class StorageKnexDB implements Database {
335
345
. from < Obj > ( 'objects' )
336
346
. update ( {
337
347
last_accessed_at : new Date ( ) . toISOString ( ) ,
338
- owner,
348
+ owner : isUuid ( owner || '' ) ? owner : undefined ,
349
+ owner_id : owner ,
339
350
} )
340
351
. returning ( '*' )
341
352
. where ( { bucket_id : bucketId , name : objectName } )
0 commit comments