Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
20024c1
Add design spec for UniFi Access client slice
RyanMorash May 23, 2026
d0037f4
Add implementation plan for UniFi Access client slice
RyanMorash May 23, 2026
edaf314
Add facility_code field to UnifiConfig
RyanMorash May 23, 2026
bfa93bc
Tighten Task 1 tests: assert facility_code in multi-issues + boundary…
RyanMorash May 23, 2026
38cbf32
Add UniFi client package with Wiegand-26 nfc_id helpers
RyanMorash May 23, 2026
b666854
Add _split_name and _redact helpers to UniFi client
RyanMorash May 23, 2026
808ffaa
Add UnifiClient class with TLS fingerprint pinning
RyanMorash May 23, 2026
1d2ea41
Add UniFi response envelope unwrapping and retry helper
RyanMorash May 23, 2026
627b4db
Implement UnifiClient.fetch_users with pagination
RyanMorash May 23, 2026
1c25416
Drop useless nfc_id field from foreign-FC log; clean _make_client sig…
RyanMorash May 23, 2026
2b836ca
Add apply() precondition check and dry-run logging
RyanMorash May 23, 2026
1be5275
Add lazy NFC token-map fetch keyed by parsed card_id
RyanMorash May 23, 2026
73ef3a8
Add NFC card batch import via 2-column CSV upload
RyanMorash May 23, 2026
51a9bb9
Implement apply() to_deactivate bucket
RyanMorash May 23, 2026
4dcdd97
Implement apply() to_update_credential bucket
RyanMorash May 23, 2026
7a4685a
Implement apply() to_update_policy bucket
RyanMorash May 23, 2026
c195d4d
Implement apply() to_add bucket with reactivate path
RyanMorash May 23, 2026
850ee46
Add apply-order and inter-call delay integration tests
RyanMorash May 23, 2026
59f96d8
Populate NFC token map in dry-run; add redaction + dry-run tests
RyanMorash May 23, 2026
4c54e36
Fix host URL parsing in UniFi client; strip nfc_id from debug log; ad…
RyanMorash May 23, 2026
2d310a9
Fix spec contradiction: §8 step 2 said header row, §9 said none
RyanMorash May 23, 2026
4460526
Align TLS verification and base_url to the same hostname+port
RyanMorash May 23, 2026
1be1396
Skip UniFi users with non-positive employee_number
RyanMorash May 23, 2026
dac4054
Redact card data from import response validation error
RyanMorash May 23, 2026
8468ccf
Pin TLS 1.2 minimum for fingerprint verification socket
RyanMorash May 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions config.example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ host = "https://unifi.example.org:12445"
# openssl s_client -connect host:port < /dev/null 2>/dev/null \
# | openssl x509 -fingerprint -sha256 -noout
tls_fingerprint = "AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89"
# Wiegand 26-bit facility code (0-255), constant per site.
# Get this from your access-control vendor or by reading any existing
# enrolled card via the UniFi Access UI > Credentials > NFC Cards
# (the value is encoded in nfc_id as the upper byte of the hex).
facility_code = 42

[safety]
# These match the defaults baked into SafetyThresholds; tune per deployment.
Expand Down
Loading