const { DataApi } = require("@unity-services/cloud-save-1.4"); module.exports = async ({ params, context }) => { const { projectId } = context; const deltas = params.deltas || {}; const keys = Object.keys(deltas); if (!keys.length) return { newTotals: {} }; const cloudSave = new DataApi(context); const COLL = "level-stats"; const KEY = "level-completion"; const read = await cloudSave.getPrivateCustomItems(projectId, COLL, [KEY]); const blob = read.data.results[0] ?? { value: {}, metadata: {} }; const stats = blob.value; const newTotals = {}; for (const k of keys) { const prev = stats[k]?.NumCompletions || 0; const updated = prev + Number(deltas[k] || 0); stats[k] = { NumCompletions: updated }; newTotals[k] = updated; } await cloudSave.setPrivateCustomItemBatch(projectId, COLL, { data: [{ key: KEY, value: stats, writeLock: blob.metadata?.etag }] }); return { NewTotals: newTotals }; };