diff --git a/packages/server/src/api/routes/tests/row.spec.js b/packages/server/src/api/routes/tests/row.spec.js index 5cbb3d04b4..4b835a1fb5 100644 --- a/packages/server/src/api/routes/tests/row.spec.js +++ b/packages/server/src/api/routes/tests/row.spec.js @@ -212,6 +212,7 @@ describe("/rows", () => { attachmentNull: attachment, attachmentUndefined: attachment, attachmentEmpty: attachment, + attachmentEmptyArrayStr: attachment }, }) @@ -239,6 +240,7 @@ describe("/rows", () => { attachmentNull: null, attachmentUndefined: undefined, attachmentEmpty: "", + attachmentEmptyArrayStr: "[]", } const id = (await config.createRow(row))._id @@ -268,6 +270,7 @@ describe("/rows", () => { expect(saved.attachmentNull).toEqual([]) expect(saved.attachmentUndefined).toBe(undefined) expect(saved.attachmentEmpty).toEqual([]) + expect(saved.attachmentEmptyArrayStr).toEqual([]) }) }) diff --git a/packages/server/src/utilities/rowProcessor/map.ts b/packages/server/src/utilities/rowProcessor/map.ts index cbf1c3ae36..669223b302 100644 --- a/packages/server/src/utilities/rowProcessor/map.ts +++ b/packages/server/src/utilities/rowProcessor/map.ts @@ -67,12 +67,14 @@ export const TYPE_TRANSFORM_MAP: any = { }, }, [FieldTypes.ATTACHMENT]: { - "": [], [null]: [], [undefined]: undefined, parse: attachments => { if (typeof attachments === "string") { - let result = attachments + if (attachments === "") { + return [] + } + let result try { result = JSON.parse(attachments) } catch (e) { @@ -80,6 +82,7 @@ export const TYPE_TRANSFORM_MAP: any = { } return result } + return attachments }, }, [FieldTypes.BOOLEAN]: {