async function create_section({ index, symbol_id, palette_id, entries, page_id }) {
	// create new section object
	const new_section = Section({
		index,
		page: page_id,
		palette: palette_id,
		symbol: symbol_id,
		entries // will update w/ DBIDs
	})

	// DB: insert new section
	const new_section_db_id = await dataChanged({
		table: 'sections',
		action: 'insert',
		data: _.pick(new_section, ['index', 'symbol', 'palette', 'page'])
	})
	new_section.id = new_section_db_id

	// DB: insert entries entries
	const content_db_ids = await helpers.handle_content_changes(
		entries.map((data) => ({
			action: 'insert',
			id: data.id,
			data: {
				..._.omit(data, ['symbol']),
				section: new_section_db_id
			}
		})),
		[]
	)
	new_section.entries = new_section.entries.map((row) => ({
		...row,
		id: content_db_ids[row.id],
		parent: content_db_ids[row.parent]
	}))

	return new_section
}
Inserts a new section into the database and returns its ID.

@param {Object} params
@param {number} params.index - The index of the new section.
@param {string} params.symbol_id - The ID of the symbol associated with the section.
@param {string} params.palette_id - The ID of the palette the section belongs to.
@param {Array} params.entries - The entries of the section.
@param {string} params.page_id - The ID of the page the section belongs to.
@returns {Promise<object>} The newly inserted section.