basic bluesky monitoring infra
This commit is contained in:
@@ -3,8 +3,38 @@
|
||||
T.bind(self, T.all(Rake::DSL, Object))
|
||||
|
||||
namespace :bluesky do
|
||||
desc "Start the Firehose monitor for Bluesky"
|
||||
desc "Start the Bluesky monitor"
|
||||
task monitor: :environment do
|
||||
Tasks::Bluesky::FirehoseMonitor.new.run
|
||||
Tasks::Bluesky::Monitor.new.run
|
||||
end
|
||||
|
||||
def resolve_did(handle)
|
||||
DIDKit::Resolver.new.resolve_handle(handle).did
|
||||
end
|
||||
|
||||
desc "Add a DID to the Bluesky monitor"
|
||||
task add: :environment do
|
||||
if (handle = ENV["handle"])
|
||||
did = resolve_did(handle)
|
||||
puts "resolved did: #{did}"
|
||||
else
|
||||
did = ENV["did"]
|
||||
end
|
||||
raise "did is required" if did.blank?
|
||||
|
||||
Bluesky::MonitoredDid.create!(did: did)
|
||||
end
|
||||
|
||||
desc "Remove a DID from the Bluesky monitor"
|
||||
task remove: :environment do
|
||||
if (handle = ENV["handle"])
|
||||
did = resolve_did(handle)
|
||||
puts "resolved did: #{did}"
|
||||
else
|
||||
did = ENV["did"]
|
||||
end
|
||||
raise "did is required" if did.blank?
|
||||
|
||||
Bluesky::MonitoredDid.find_by(did: did)&.destroy!
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user