const axios = require('axios'); const config = require('../config'); async function getMDMToken() { console.log('🔑 Requesting Workspace ONE token...'); try { const response = await axios.post( config.mdm.tokenUrl, new URLSearchParams({ grant_type: 'client_credentials', client_id: config.mdm.clientId, client_secret: config.mdm.clientSecret, }), { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } ); console.log('✅ MDM Token acquired'); return response.data.access_token; } catch (err) { console.error('❌ MDM Token failed:', err.message); throw err; } } async function getMDMDevices(storeNumber) { const storePadded = String(storeNumber).padStart(6, '0'); console.log(`🔍 Fetching MDM devices for store ${storePadded}`); try { const token = await getMDMToken(); const response = await axios.get(`${config.mdm.baseUrl}/api/mdm/devices/search`, { params: { user: storePadded }, headers: { Authorization: `Bearer ${token}`, 'aw-tenant-code': config.mdm.tenantCode, Accept: 'application/json' } }); const devices = response.data.Devices || []; console.log(`✅ Fetched ${devices.length} MDM devices [getMDMDevices]`); return devices; } catch (err) { console.error(`❌ MDM devices fetch failed:`, err.message); return []; } } module.exports = { getMDMDevices };