Merge pull request #1070 from Retrospring/more-services-cleanup

More services cleanup
This commit is contained in:
Georg Gadinger 2023-02-12 19:40:31 +01:00 committed by GitHub
commit 0ab4f38fd9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 22 additions and 83 deletions

View File

@ -8,7 +8,7 @@ class WellKnown::NodeInfoController < ApplicationController
links: [
rel: "http://nodeinfo.diaspora.software/ns/schema/2.1",
href: node_info_url
]
],
}
end
@ -21,12 +21,12 @@ class WellKnown::NodeInfoController < ApplicationController
protocols: %i[],
services: {
inbound: inbound_services,
outbound: outbound_services
outbound: outbound_services,
},
usage: usage_stats,
# We don't implement this so we can always return true for now
openRegistrations: true,
metadata: {}
metadata: {},
}
end
@ -36,23 +36,19 @@ class WellKnown::NodeInfoController < ApplicationController
{
name: "Retrospring",
version: Retrospring::Version.to_s,
repository: "https://github.com/Retrospring/retrospring"
repository: "https://github.com/Retrospring/retrospring",
}
end
def usage_stats
{
users: {
total: User.count
}
total: User.count,
},
}
end
def inbound_services = []
def outbound_services
{
"twitter" => APP_CONFIG.dig("sharing", "twitter", "enabled")
}.select { |_service, available| available }.keys
end
def outbound_services = []
end

View File

@ -1,4 +0,0 @@
# frozen_string_literal: true
class Notification::ServiceTokenExpired < Notification
end

View File

@ -1,4 +0,0 @@
# frozen_string_literal: true
class Notification::TwitterTokenExpired < Notification::ServiceTokenExpired
end

View File

@ -1,5 +0,0 @@
# frozen_string_literal: true
# stub model for notifying about expired service connections
class User::ExpiredServiceConnection < User
end

View File

@ -1,4 +0,0 @@
# frozen_string_literal: true
class User::ExpiredTwitterServiceConnection < User::ExpiredServiceConnection
end

View File

@ -1,8 +0,0 @@
.d-flex.notification
.flex-shrink-0.notification__icon
%i.fa.fa-2x.fa-fw.fa-twitter
.flex-grow-1
%h6.notification__user
= t(".heading")
.notification__text
= t(".text_html", settings_sharing: link_to(t(".settings_services"), services_path))

View File

@ -27,10 +27,11 @@ en:
header: "Share your answers"
body_html: |
<p>Want your followers on another platform to see your %{app_name} answers?
You can configure automatic sharing to your favourite platforms easily.</p>
You can easily share them to your favourite platforms.</p>
<p class="text-muted">Not sure if it's a favourite, but at the moment only
<b>Twitter</b> is supported.</p>
<p class="text-muted">We support <strong>Tumblr</strong>, <strong>Twitter</strong>,
and many other services including <strong>Mastodon</strong> and
<strong>Misskey</strong>.</p>
customize:
header: "Customise your experience"
body_html: |
@ -359,10 +360,6 @@ en:
heading: "Push notifications are failing to send to one of your devices."
text_html: "Please check the %{settings_push} if you still want to be notified."
settings_push: "push notification settings"
expiredtwitterserviceconnection:
heading: "Twitter connection expired"
text_html: "If you would like to continue automatically sharing your answers to Twitter, head to %{settings_sharing} and re-connect your account."
settings_services: "Sharing Settings"
settings:
account:
email_confirm: "Currently awaiting confirmation for %{resource}"

View File

@ -0,0 +1,7 @@
# frozen_string_literal: true
class RemoveExpiredServiceConnectionNotifications < ActiveRecord::Migration[6.1]
def up = Notification.where(type: "Notification::ServiceTokenExpired").delete_all
def down = raise ActiveRecord::IrreversibleMigration
end

View File

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2023_02_05_162800) do
ActiveRecord::Schema.define(version: 2023_02_12_181044) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"

View File

@ -13,9 +13,9 @@ describe WellKnown::NodeInfoController do
"links" => [
{
"rel" => "http://nodeinfo.diaspora.software/ns/schema/2.1",
"href" => "http://test.host/nodeinfo/2.1"
"href" => "http://test.host/nodeinfo/2.1",
}
]
],
})
end
end
@ -44,47 +44,11 @@ describe WellKnown::NodeInfoController do
expect(parsed["software"]).to eq({
"name" => "Retrospring",
"version" => "2023.0102.1",
"repository" => "https://github.com/Retrospring/retrospring"
"repository" => "https://github.com/Retrospring/retrospring",
})
end
end
context "Twitter integration enabled" do
before do
stub_const("APP_CONFIG", {
"sharing" => {
"twitter" => {
"enabled" => true
}
}
})
end
it "includes Twitter in outbound services" do
subject
parsed = JSON.parse(response.body)
expect(parsed.dig("services", "outbound")).to include("twitter")
end
end
context "Twitter integration disabled" do
before do
stub_const("APP_CONFIG", {
"sharing" => {
"twitter" => {
"enabled" => false
}
}
})
end
it "includes Twitter in outbound services" do
subject
parsed = JSON.parse(response.body)
expect(parsed.dig("services", "outbound")).to_not include("twitter")
end
end
context "site has users" do
let(:num_users) { rand(10..50) }