import { readPageAccessPolicy, writePageAccessPolicy } from './page-data-policy-store.mjs'; const PAGE_DATA_ACCESS_MODES = new Set(['public', 'password', 'login_required']); export function mapPublicationAccessModeToPageData(accessMode) { const mode = String(accessMode ?? '').trim(); if (PAGE_DATA_ACCESS_MODES.has(mode)) return mode; return null; } export function syncPageDataPolicyAccessMode(workspaceRoot, pageId, publicationAccessMode, ownerUserId) { const mapped = mapPublicationAccessModeToPageData(publicationAccessMode); if (!mapped) return null; const policy = readPageAccessPolicy(workspaceRoot, pageId); if (!policy) return null; if (policy.ownerUserId !== ownerUserId) return null; if (policy.accessMode === mapped) return policy; return writePageAccessPolicy(workspaceRoot, { ...policy, pageId, ownerUserId, accessMode: mapped, }); }