Просмотр исходного кода

[history-v1] fix missing linked file metadata when adding file (#32524)

* [overleaf-editor-core] rename stats field for file metadata

* [history-v1] fix missing linked file metadata when adding file

* [history-v1] address review feedback

* [saas-e2e] remove extra login call

GitOrigin-RevId: 178254993f9a9803b160ad8bb661f480144a3cf2
Jakob Ackermann 4 месяцев назад
Родитель
Сommit
7a4ee32af3
2 измененных файлов с 10 добавлено и 7 удалено
  1. 2 2
      libraries/overleaf-editor-core/lib/file.js
  2. 8 5
      services/history-v1/api/schema.js

+ 2 - 2
libraries/overleaf-editor-core/lib/file.js

@@ -129,9 +129,9 @@ class File {
   toStats() {
     const stats = this.data.toStats()
     if (!_.isEmpty(this.metadata)) {
-      stats.nMeta = 1
+      stats.nMetadata = 1
       // Note: Buffer does not exist in frontend. Use string length instead.
-      stats.metaSize = JSON.stringify(this.metadata).length
+      stats.metadataSize = JSON.stringify(this.metadata).length
     }
     return stats
   }

+ 8 - 5
services/history-v1/api/schema.js

@@ -5,11 +5,14 @@ const Blob = require('overleaf-editor-core').Blob
 
 const hexHashPattern = new RegExp(Blob.HEX_HASH_RX_STRING)
 
-const fileSchema = z.object({
-  hash: z.string().optional(),
-  byteLength: z.number().int().nullable().optional(),
-  stringLength: z.number().int().nullable().optional(),
-})
+const fileSchema = z
+  .object({
+    hash: z.string().optional(),
+    byteLength: z.number().int().nullable().optional(),
+    stringLength: z.number().int().nullable().optional(),
+    metadata: z.object({}).passthrough().optional(),
+  })
+  .passthrough()
 
 const snapshotSchema = z.object({
   files: z.record(z.string(), fileSchema),