TUS error: RLS policy

Error: tus: unexpected response while creating upload, originated from request (method: POST, url: ... , response code: 403, response text: new row violates row-level security policy, request id: n/a)
async function uploadFile(file: File) {
        let uuid: string = uuidv4();
        console.log(`${user?.id}/${uuid}.${file.name.split(".").pop()}`)
        return new Promise<void>((resolve, reject) => {
            var upload = new tus.Upload(file, {
                endpoint: process.env.NEXT_PUBLIC_UPLOAD_ENDPOINT,
                retryDelays: [0, 3000, 5000, 10000, 20000],
                headers: {
                    authorization: `Bearer ${process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY}`,
                    // 'x-upsert': 'true', // optionally set upsert to true to overwrite existing files
                },
                uploadDataDuringCreation: true,
                removeFingerprintOnSuccess: false, 
                metadata: {
                    bucketName: "videos",
                    objectName: `${user?.id}/${uuid}.${file.name.split(".").pop()}`,
                    contentType: "video/mp4",
                    cacheControl: 3600,
                },
                chunkSize: 6 * 1024 * 1024, // NOTE: it must be set to 6MB (for now) do not change it
.......
        })
    }


This is my RLS: ((bucket_id = 'videos'::text) AND ((auth.uid())::text = (storage.foldername(name))[1]))
Was this page helpful?