@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 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgedev/firebase",
3
- "version": "2.1.54",
3
+ "version": "2.1.56",
4
4
  "description": "Vue 3 / Nuxt 3 Plugin or Nuxt 3 plugin for firebase authentication and firestore.",
5
5
  "main": "index.ts",
6
6
  "scripts": {
@@ -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
- await deleteR2File(event.data.metadata?.r2FilePath)
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
  }