const plist = require('plist'); function generateManifest({ baseUrl, build, app }) { const manifest = { items: [{ assets: [ { kind: 'software-package', url: `${baseUrl}/api/download/${build.id}`, }, ], metadata: { 'bundle-identifier': app.bundle_id, 'bundle-version': build.version, kind: 'software', title: app.name, }, }], }; // Add icon asset if available if (build.icon_filename) { manifest.items[0].assets.push({ kind: 'display-image', url: `${baseUrl}/icons/${build.icon_filename}`, }); manifest.items[0].assets.push({ kind: 'full-size-image', url: `${baseUrl}/icons/${build.icon_filename}`, }); } return plist.build(manifest); } module.exports = { generateManifest };