@curvenote/cli
Version:
CLI Client library for Curvenote
18 lines (17 loc) • 935 B
JavaScript
import { versionIdToString } from '@curvenote/blocks';
import { Block, Version } from '../../../models.js';
export async function getBlockAndLatestVersion(session, blockId, query) {
session.log.debug(`getBlockAndLatestVersion(${JSON.stringify(blockId)})`);
const block = await new Block(session, blockId).get();
const { latest_version } = block.data;
if (!latest_version) {
const nameMessage = block.data.name ? `with name "${block.data.name}" ` : '';
session.log.debug(`Block ${nameMessage}has no versions, do you need to save the draft?`);
return { block };
}
session.log.debug(`Requesting latest version ${latest_version}`);
const versionId = { ...block.id, version: latest_version };
session.log.debug(`Fetching latest version of block: ${versionIdToString(versionId)}`);
const version = await new Version(session, versionId).get(query);
return { block, version };
}