fix(infra): workspace migration without blockVersions (#4936)
This commit is contained in:
@@ -598,12 +598,13 @@ export async function forceUpgradePages(
|
|||||||
options: Omit<UpgradeOptions, 'createWorkspace'>
|
options: Omit<UpgradeOptions, 'createWorkspace'>
|
||||||
): Promise<boolean> {
|
): Promise<boolean> {
|
||||||
const rootDoc = await options.getCurrentRootDoc();
|
const rootDoc = await options.getCurrentRootDoc();
|
||||||
|
guidCompatibilityFix(rootDoc);
|
||||||
|
|
||||||
const spaces = rootDoc.getMap('spaces') as YMap<any>;
|
const spaces = rootDoc.getMap('spaces') as YMap<any>;
|
||||||
const meta = rootDoc.getMap('meta') as YMap<unknown>;
|
const meta = rootDoc.getMap('meta') as YMap<unknown>;
|
||||||
const versions = meta.get('blockVersions') as YMap<number>;
|
const versions = meta.get('blockVersions') as YMap<number>;
|
||||||
const schema = options.getSchema();
|
const schema = options.getSchema();
|
||||||
const oldVersions = versions.toJSON();
|
const oldVersions = versions?.toJSON() ?? {};
|
||||||
guidCompatibilityFix(rootDoc);
|
|
||||||
spaces.forEach((space: Doc) => {
|
spaces.forEach((space: Doc) => {
|
||||||
try {
|
try {
|
||||||
schema.upgradePage(0, oldVersions, space);
|
schema.upgradePage(0, oldVersions, space);
|
||||||
|
|||||||
@@ -140,12 +140,10 @@ const fetchMetadata: FetchMetadata = async (get, { signal }) => {
|
|||||||
performanceJotaiLogger.info('%s adapter', Adapter.flavour);
|
performanceJotaiLogger.info('%s adapter', Adapter.flavour);
|
||||||
|
|
||||||
const { CRUD, flavour: currentFlavour } = Adapter;
|
const { CRUD, flavour: currentFlavour } = Adapter;
|
||||||
if (
|
const appAccessFn = Adapter.Events['app:access'];
|
||||||
Adapter.Events['app:access'] &&
|
const canAccess = appAccessFn && !(await appAccessFn());
|
||||||
!(await Adapter.Events['app:access']())
|
performanceJotaiLogger.info('%s app:access', Adapter.flavour);
|
||||||
) {
|
if (canAccess) {
|
||||||
performanceJotaiLogger.info('%s app:access', Adapter.flavour);
|
|
||||||
|
|
||||||
// skip the adapter if the user doesn't have access to it
|
// skip the adapter if the user doesn't have access to it
|
||||||
const removed = metadata.filter(
|
const removed = metadata.filter(
|
||||||
meta => meta.flavour === currentFlavour
|
meta => meta.flavour === currentFlavour
|
||||||
|
|||||||
Reference in New Issue
Block a user