+31
Rakefile
+31
Rakefile
···
5
5
require 'sinatra/activerecord/rake'
6
6
7
7
require_relative 'app/config'
8
+
require_relative 'app/utils'
8
9
9
10
def get_feed
10
11
if ENV['KEY'].to_s == ''
···
48
49
puts
49
50
puts "---"
50
51
puts
52
+
end
53
+
end
54
+
55
+
desc "Remove a single post from a feed"
56
+
task :delete_feed_item do
57
+
feed = get_feed
58
+
59
+
if ENV['URL'].to_s == ''
60
+
puts "Please specify post url as URL=https://bsky.app/..."
61
+
exit 1
62
+
end
63
+
64
+
url = ENV['URL']
65
+
parts = url.gsub(/^https:\/\//, '').split('/')
66
+
author = parts[2]
67
+
rkey = parts[4]
68
+
69
+
if author.start_with?('did:')
70
+
did = author
71
+
handle = Utils.handle_from_did(did)
72
+
else
73
+
handle = author
74
+
did = Utils.did_from_handle(handle)
75
+
end
76
+
77
+
if item = FeedPost.joins(:post).find_by(feed_id: feed.feed_id, post: { repo: did, rkey: rkey })
78
+
item.destroy
79
+
puts "Deleted post by @#{handle} from #{feed.display_name} feed"
80
+
else
81
+
puts "Post not found in the feed"
51
82
end
52
83
end
53
84