UNPKG

contentful-utility-suite

Version:
43 lines (42 loc) 1.41 kB
import contentful from "contentful-management"; const { createClient } = contentful; export async function wipeEnvironment({ space, environmentID }) { const client = createClient({ accessToken: space.managementToken, }); const _space = await client.getSpace(space.spaceID); const env = await _space.getEnvironment(environmentID); const [entries, assets] = await Promise.all([env.getEntries(), env.getAssets()]); for (const entry of entries.items) { try { if (entry.isPublished()) await entry.unpublish(); await entry.delete(); } catch (err) { throw new Error(`Error deleting entry ${entry.sys.id}: ${err.message}`); } } for (const asset of assets.items) { try { if (asset.isPublished()) await asset.unpublish(); await asset.delete(); } catch (err) { throw new Error(`Error deleting asset ${asset.sys.id}: ${err.message}`); } } const contentTypes = await env.getContentTypes(); for (const ct of contentTypes.items) { try { if (ct.sys.publishedVersion) { await ct.unpublish(); } await ct.delete(); } catch (err) { console.error(`Error deleting content type ${ct.sys.id}: ${err.message}`); } } }