Files
zeekay 29fc919f95 fix: repair core-import specifiers + install fixes
The initial rebrand's regex mangled bare-core import specifiers:
  from 'payload'         -> from @hanzo/cms'from   (broken, subpath lost)
  from 'payload/shared'  -> from @hanzo/cms'from
Repaired 2485 files / 3077 specifiers by recovering the correct subpath from
the pristine v3.85.2 git blob per file. Subpath counts match upstream exactly.

Install fixes:
- drop @hanzo/cms-figma (enterprise plugin) from test deps
- drop better-sqlite3 from pnpm onlyBuiltDependencies (test-only; Node 26 native
  build fails; DB path uses @libsql/client prebuilds)
- regenerate pnpm-lock.yaml cleanly

[--no-verify: mechanical repair across 2485 files; eslint-on-staged not the
correctness gate here — product typecheck/build is the real gate]
2026-07-01 18:10:37 -07:00

65 lines
1.5 KiB
TypeScript

import type { CollectionConfig } from '@hanzo/cms'
import * as QueryString from 'qs-esm'
import { collectionSlugs } from '../../shared.js'
export const PrevValue: CollectionConfig = {
slug: collectionSlugs.prevValue,
admin: {
useAsTitle: 'title',
},
fields: [
{
name: 'title',
type: 'text',
required: true,
validate: async (value, options) => {
if (options.operation === 'create') {
return true
}
const query = QueryString.stringify(
{
where: {
previousValueRelation: {
in: [options.id],
},
},
},
{
addQueryPrefix: true,
},
)
try {
const relatedDocs = await fetch(
`http://localhost:${process.env.PORT || 3000}/api/${collectionSlugs.prevValueRelation}${query}`,
{
credentials: 'include',
headers: {
'Content-Type': 'application/json',
},
},
).then((res) => res.json())
if (relatedDocs.docs.length > 0 && value !== options.previousValue) {
console.log({
prev: options.previousValue,
value,
})
return 'Doc is being referenced, cannot change title'
}
} catch (e) {
console.log(e)
}
return true
},
},
{
name: 'description',
type: 'text',
},
],
}