@curvenote/cli
Version:
CLI Client library for Curvenote
22 lines (21 loc) • 929 B
JavaScript
import { Block, Version } from '../../../models.js';
import { versionIdToURL } from '../../../utils/index.js';
export async function getChildren(session, versionId) {
const url = `${session.config.editorApiUrl}${versionIdToURL(versionId)}/children`;
session.log.debug(`Fetching version children: ${url}`);
const { ok, json } = await session.get(url);
if (!ok)
throw new Error('Could not get children');
session.log.debug(`Version children include ${json.blocks.items.length} block(s) and ${json.versions.items.length} version(s)`);
const blocks = json.blocks.items.map((item) => {
const block = new Block(session, item.id);
block.data = item;
return block;
});
const versions = json.versions.items.map((item) => {
const version = new Version(session, item.id);
version.data = item;
return version;
});
return { blocks, versions };
}