Files
klz-cables.com/.pnpm-store/v10/files/39/1776892cc1fb875f3954bc3e86e41b4b4f88dd94978c79745228d2f0de6dbb6a531a8a52408cace394e16371a5bfe436d181f95872a8cdcf1475e9b23cc0b8
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
8.5 KiB
Plaintext

{"version":3,"sources":["../../../../../src/versions/migrations/localizeStatus/mongo/down.ts"],"sourcesContent":["import type { Payload } from '../../../../types/index.js'\n\nimport { hasLocalizeStatusEnabled } from '../../../../utilities/getVersionsConfig.js'\n\nexport type LocalizeStatusArgs = {\n collectionSlug?: string\n globalSlug?: string\n payload: Payload\n req?: any\n}\n\nexport async function down(args: LocalizeStatusArgs): Promise<void> {\n const { collectionSlug, globalSlug, payload } = args\n\n if (!collectionSlug && !globalSlug) {\n throw new Error('Either collectionSlug or globalSlug must be provided')\n }\n\n if (collectionSlug && globalSlug) {\n throw new Error('Cannot provide both collectionSlug and globalSlug')\n }\n\n const entitySlug = collectionSlug || globalSlug\n // MongoDB collection names are case-insensitive and stored as lowercase\n const versionsCollection = `_${entitySlug}_versions`.toLowerCase()\n\n if (!payload.config.localization) {\n throw new Error('Localization is not enabled in payload config')\n }\n\n const entityConfig = collectionSlug\n ? payload.config.collections.find((c) => c.slug === collectionSlug)\n : payload.config.globals.find((g) => g.slug === globalSlug!)\n\n if (!entityConfig) {\n throw new Error(\n `${collectionSlug ? 'Collection' : 'Global'} not found: ${collectionSlug || globalSlug}`,\n )\n }\n\n if (hasLocalizeStatusEnabled(entityConfig)) {\n throw new Error(\n `${entitySlug} has localizeStatus enabled, cannot run down migration. ` +\n `Please disable localizeStatus in your config before rolling back this migration.`,\n )\n }\n\n const defaultLocale = payload.config.localization.defaultLocale\n\n payload.logger.info({\n msg: `Rolling back _status localization migration for ${collectionSlug ? 'collection' : 'global'}: ${entitySlug}`,\n })\n\n // Get MongoDB connection\n const connection = (payload.db as any).connection\n\n payload.logger.info({ msg: 'Fetching all version documents...' })\n\n // Get all versions\n const allVersions = await connection.collection(versionsCollection).find({}).toArray()\n\n payload.logger.info({ msg: `Found ${allVersions.length} version documents` })\n\n // Update each version document: convert version._status from object to string\n let updateCount = 0\n for (const doc of allVersions) {\n const currentStatus = doc.version?._status\n\n if (!currentStatus || typeof currentStatus === 'string') {\n // Already rolled back or never migrated\n continue\n }\n\n // Convert from { en: 'published', es: 'draft' } to 'published' (using default locale)\n const statusValue =\n typeof currentStatus === 'object' ? currentStatus[defaultLocale] || 'draft' : 'draft'\n\n await connection.collection(versionsCollection).updateOne(\n { _id: doc._id },\n {\n $set: {\n 'version._status': statusValue,\n },\n },\n )\n\n updateCount++\n }\n\n payload.logger.info({ msg: `Updated ${updateCount} version documents` })\n\n // Rollback main collection/global document status\n if (collectionSlug) {\n const mainCollection = collectionSlug\n const mainDoc = await connection.collection(mainCollection).findOne({})\n\n if (mainDoc && '_status' in mainDoc && typeof mainDoc._status === 'object') {\n payload.logger.info({ msg: `Rolling back main collection documents for: ${mainCollection}` })\n\n const allDocs = await connection.collection(mainCollection).find({}).toArray()\n\n for (const doc of allDocs) {\n if (typeof doc._status === 'object' && !Array.isArray(doc._status)) {\n // Convert from { en: 'published', es: 'draft' } to 'published' (using default locale)\n const statusValue = doc._status[defaultLocale] || 'draft'\n\n await connection.collection(mainCollection).updateOne(\n { _id: doc._id },\n {\n $set: {\n _status: statusValue,\n },\n },\n )\n }\n }\n\n payload.logger.info({ msg: `Rolled back ${allDocs.length} collection documents` })\n }\n } else if (globalSlug) {\n const globalDoc = await connection.collection('globals').findOne({ globalType: globalSlug })\n\n if (globalDoc && '_status' in globalDoc && typeof globalDoc.status === 'object') {\n payload.logger.info({ msg: `Rolling back main global document for: ${globalSlug}` })\n\n // Convert from { en: 'published', es: 'draft' } to 'published' (using default locale)\n const statusValue =\n typeof globalDoc._status === 'object' && !Array.isArray(globalDoc._status)\n ? globalDoc._status[defaultLocale] || 'draft'\n : 'draft'\n\n await connection.collection('globals').updateOne(\n { _id: globalDoc._id, globalType: globalSlug },\n {\n $set: {\n _status: statusValue,\n },\n },\n )\n\n payload.logger.info({ msg: 'Rolled back global document' })\n }\n }\n\n payload.logger.info({ msg: 'Rollback completed successfully' })\n}\n"],"names":["hasLocalizeStatusEnabled","down","args","collectionSlug","globalSlug","payload","Error","entitySlug","versionsCollection","toLowerCase","config","localization","entityConfig","collections","find","c","slug","globals","g","defaultLocale","logger","info","msg","connection","db","allVersions","collection","toArray","length","updateCount","doc","currentStatus","version","_status","statusValue","updateOne","_id","$set","mainCollection","mainDoc","findOne","allDocs","Array","isArray","globalDoc","globalType","status"],"mappings":"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"}