Add admin card reader monitor
This commit is contained in:
@@ -771,6 +771,18 @@ const updateMemberStatus = async (membershipId, status) => {
|
||||
|
||||
const serializeAdminMember = (member) => ({ ...member, accessStatus: memberAccessStatus(member) })
|
||||
|
||||
const serializeAccessLog = (log, allMembers = members()) => {
|
||||
const member = log.membershipId ? allMembers.find((item) => item.membershipId === log.membershipId) : null
|
||||
return {
|
||||
...log,
|
||||
member: member ? {
|
||||
membershipId: member.membershipId,
|
||||
fullName: member.fullName,
|
||||
status: memberAccessStatus(member),
|
||||
} : null,
|
||||
}
|
||||
}
|
||||
|
||||
const serializeAdmin = (pubkey = '') => {
|
||||
const allMembers = members()
|
||||
return {
|
||||
@@ -783,7 +795,7 @@ const serializeAdmin = (pubkey = '') => {
|
||||
membershipMonthlyUsd,
|
||||
membershipPeriodOptions,
|
||||
cards: state.cards.map(({ cardSecretHash, uidHash, ...card }) => card),
|
||||
accessLogs: state.accessLogs.slice(0, 200),
|
||||
accessLogs: state.accessLogs.slice(0, 200).map((log) => serializeAccessLog(log, allMembers)),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1315,6 +1327,7 @@ const handleApi = async (req, res) => {
|
||||
doorId,
|
||||
decision: allow && unlock.ok ? 'allow' : 'deny',
|
||||
reason,
|
||||
unlock,
|
||||
})
|
||||
return json(res, allow && unlock.ok ? 200 : 403, {
|
||||
success: allow && unlock.ok,
|
||||
@@ -1561,6 +1574,7 @@ const handleApi = async (req, res) => {
|
||||
doorId,
|
||||
decision: allow ? 'allow' : 'deny',
|
||||
reason: unlock.attempted && !unlock.ok ? `${reason}_${unlock.reason}` : reason,
|
||||
unlock,
|
||||
})
|
||||
if (card) await saveCards()
|
||||
return json(res, 200, {
|
||||
|
||||
Reference in New Issue
Block a user