Access Control List

<% // Get door columns by filtering keys not in known columns const knownCols = ['Name', 'CardNumber', 'PIN', 'StartDate', 'EndDate']; const doors = acl.length > 0 ? Object.keys(acl[0]).filter(col => !knownCols.includes(col)) : []; doors.forEach(function(door) { %> <% }); %> <% acl.forEach(function(row) { %> <% doors.forEach(function(door) { %> <% }); %> <% }); %>
Name CardNumber PIN StartDate EndDate<%= door %>
<%= row.Name %> <%= row.CardNumber %> <%= row.PIN %> <%= row.StartDate ? new Date(row.StartDate).toISOString().slice(0,10) : '' %> <%= row.EndDate ? new Date(row.EndDate).toISOString().slice(0,10) : '' %> <% if (row[door]) { %> ✅ <% } else { %> ❌ <% } %>