@edgedev/firebase 2.1.54 → 2.1.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/edgeFirebase.ts +2 -1
- package/package.json +1 -1
- package/src/edgeFirebase.js +17 -3
package/edgeFirebase.ts
CHANGED
|
@@ -2142,6 +2142,7 @@ export const EdgeFirebase = class {
|
|
|
2142
2142
|
isPublic: isPublic,
|
|
2143
2143
|
toR2: toR2,
|
|
2144
2144
|
uploadCompleted: false,
|
|
2145
|
+
uploadTime: new Date().getTime(),
|
|
2145
2146
|
};
|
|
2146
2147
|
|
|
2147
2148
|
const result: any = await this.runFunction("edgeFirebase-addUpdateFileDoc", fileDoc);
|
|
@@ -2162,7 +2163,7 @@ export const EdgeFirebase = class {
|
|
|
2162
2163
|
contentType: file.type,
|
|
2163
2164
|
fileName: file.name,
|
|
2164
2165
|
name: file.name,
|
|
2165
|
-
fileSize: file.size,
|
|
2166
|
+
fileSize: file.size.toString(),
|
|
2166
2167
|
directory: filePath,
|
|
2167
2168
|
fileDocId: fileDocId,
|
|
2168
2169
|
filePath: tempFilePath,
|
package/package.json
CHANGED
package/src/edgeFirebase.js
CHANGED
|
@@ -75,8 +75,14 @@ const deleteR2File = async (filePath) => {
|
|
|
75
75
|
exports.fileDeleted = onObjectDeleted({ region: process.env.FIREBASE_STORAGE_BUCKET_REGION }, async (event) => {
|
|
76
76
|
const docId = event.data.metadata?.fileDocId
|
|
77
77
|
const toR2 = event.data.metadata?.toR2
|
|
78
|
+
const r2ProcessCompleted = event.data.metadata?.r2ProcessCompleted
|
|
78
79
|
if (toR2) {
|
|
79
|
-
|
|
80
|
+
if (r2ProcessCompleted === 'true') {
|
|
81
|
+
await deleteR2File(event.data.metadata?.r2FilePath)
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return
|
|
85
|
+
}
|
|
80
86
|
}
|
|
81
87
|
if (docId) {
|
|
82
88
|
const orgId = event.data.metadata?.orgId
|
|
@@ -127,14 +133,13 @@ exports.toR2 = onObjectFinalized(
|
|
|
127
133
|
Body: file,
|
|
128
134
|
ContentType: contentType,
|
|
129
135
|
}
|
|
136
|
+
const fileRef = bucket.file(filePath)
|
|
130
137
|
try {
|
|
131
138
|
await r2.upload(params).promise()
|
|
132
139
|
const fileDocId = event.data.metadata?.fileDocId
|
|
133
140
|
const orgId = event.data.metadata?.orgId
|
|
134
141
|
const docRef = db.collection(`organizations/${orgId}/files`).doc(fileDocId)
|
|
135
142
|
await docRef.set({ r2FilePath, r2URL, uploadCompletedToR2: true }, { merge: true })
|
|
136
|
-
const fileRef = bucket.file(filePath)
|
|
137
|
-
|
|
138
143
|
const blankBuffer = Buffer.from('')
|
|
139
144
|
await fileRef.save(blankBuffer, {
|
|
140
145
|
contentType: 'application/octet-stream',
|
|
@@ -147,6 +152,7 @@ exports.toR2 = onObjectFinalized(
|
|
|
147
152
|
r2FilePath,
|
|
148
153
|
r2URL,
|
|
149
154
|
uploadCompletedToR2: 'true', // Add custom metadata after file save
|
|
155
|
+
r2ProcessCompleted: 'true',
|
|
150
156
|
},
|
|
151
157
|
}
|
|
152
158
|
|
|
@@ -154,6 +160,14 @@ exports.toR2 = onObjectFinalized(
|
|
|
154
160
|
console.log(`File uploaded to Cloudflare R2: ${fileName}`)
|
|
155
161
|
}
|
|
156
162
|
catch (error) {
|
|
163
|
+
const updatedMetadata = {
|
|
164
|
+
metadata: {
|
|
165
|
+
...event.data.metadata,
|
|
166
|
+
uploadCompletedToR2: 'false',
|
|
167
|
+
r2ProcessCompleted: 'true',
|
|
168
|
+
},
|
|
169
|
+
}
|
|
170
|
+
await fileRef.setMetadata(updatedMetadata)
|
|
157
171
|
console.error('Error uploading file to Cloudflare R2:', error)
|
|
158
172
|
}
|
|
159
173
|
}
|