A library for handling DID identifiers used in Bluesky AT Protocol

added a method to fetch PLC audit log for DID

+13
+8
lib/didkit/did.rb
··· 37 37 Resolver.new.get_validated_handle(self) 38 38 end 39 39 40 + def get_audit_log 41 + if @type == :plc 42 + PLCImporter.new.fetch_audit_log(self) 43 + else 44 + raise DIDError.new("Audit log not supported for did:#{@type}") 45 + end 46 + end 47 + 40 48 def web_domain 41 49 did.gsub(/^did\:web\:/, '') if type == :web 42 50 end
+5
lib/didkit/plc_importer.rb
··· 46 46 data.lines.map(&:strip).reject(&:empty?).map { |x| JSON.parse(x) } 47 47 end 48 48 49 + def fetch_audit_log(did) 50 + response = URI.open("https://#{plc_service}/#{did}/log/audit").read 51 + JSON.parse(response).map { |j| PLCOperation.new(j) } 52 + end 53 + 49 54 def fetch_page 50 55 request_time = Time.now 51 56