This is finally moving in an email thread with their general manager Joe Szladek, who showed interest in manually verifying an emailed list of PSFC checkins @ greene.
In the meantime, I've developed a feature for the member-api that would give PSFC its own api key that allows them to check only whether a given barcode is of a current member (true if current, false if anything else). I offer this primarily as a proof of concept for what they could implement on their membership server, so that we could automatically verify PSFC checkins at Greene. But it also takes a step toward more reciprocity, in that it at least enables them to allow current Greene members to shop at PSFC, not that I'm expecting that to happen...
But let's imagine there is a reciprocity agreement...
A current Greene member walks into PSFC and scans their barcode (8xwdso0h3iw93pkgipcqyd2l). PSFC's system would use their key for our is-current API endpoint (https://api-test.greenehillfood.coop/members/8xwdso0h3iw93pkgipcqyd2l/is-current?api_key=[redacted]), which would return a simple "true" and so their system would then let the member in to shop. If an expired Greene member (barcode ehz53xskppbsv01mw4n90i9t) did the same, our API would return "false" and they'd be denied entry. This could work today if PSFC set their systems to check our API.
If PSFC wanted to try accessing a member's full record (
https://api-test.greenehillfood.coop/members/8xwdso0h3iw93pkgipcqyd2l?api_key=[redacted]), they'd get rejected with{"detail":"Not authorized for this endpoint"}.
Or let's imagine PSFC copies this code to their own system...
That is, a PSFC member walks into Greene and scans their barcode. Greene's system would use our key for PSFC's equivalent is-current API, which would return "true" if they're current or "false" if not and allow/deny them entry tro Greene. I could very quickly add this check to our systems to not let former members take advantage of their lapsed membership and our current agreement with PSFC.
Andrew Nelson (711b105b) at 16 Nov 14:40
removed references to deprecated 'monitor' page
... and 22 more commits
This is a big chunk of work to overhaul the check-in computer's interface. It shouldn't require changing python, so this is entirely a Vue project.
[Previews to come]
A few engineering subtasks, aside from actually building the thing:
Merging this PR should also resolve the following issues:
Andrew Nelson (a154f9e8) at 10 Nov 14:03
removed references to deprecated 'monitor' page