From be91a663099ffe4f68599087c45cab9821103bee Mon Sep 17 00:00:00 2001 From: Ash Date: Mon, 3 Feb 2025 15:33:02 +0000 Subject: [PATCH] feat(sanity): load release document `error` field --- .../sanity/src/core/releases/store/createReleaseStore.ts | 6 ++++++ packages/sanity/src/core/releases/store/types.ts | 3 +++ 2 files changed, 9 insertions(+) diff --git a/packages/sanity/src/core/releases/store/createReleaseStore.ts b/packages/sanity/src/core/releases/store/createReleaseStore.ts index 0e21e8403f9a..ebbd1fd27772 100644 --- a/packages/sanity/src/core/releases/store/createReleaseStore.ts +++ b/packages/sanity/src/core/releases/store/createReleaseStore.ts @@ -49,6 +49,12 @@ const QUERY_PROJECTION = `{ "title": "", "releaseType": "${DEFAULT_RELEASE_TYPE}", }), + // Content Lake initially encoded non-error states as {error: {message: ""}}. This projection + // ensures the error field only appears if the document has a non-empty error message. + ...select( + length(error.message) > 0 => { error }, + {} + ), }` // Newest releases first diff --git a/packages/sanity/src/core/releases/store/types.ts b/packages/sanity/src/core/releases/store/types.ts index af8f3c7b55da..b44b9ca0d0fa 100644 --- a/packages/sanity/src/core/releases/store/types.ts +++ b/packages/sanity/src/core/releases/store/types.ts @@ -38,6 +38,9 @@ export interface ReleaseDocument extends SanityDocument { _updatedAt: string _rev: string state: ReleaseState + error?: { + message: string + } finalDocumentStates?: ReleaseFinalDocumentState[] /** * If defined, it takes precedence over the intendedPublishAt, the state should be 'scheduled'