Skip to content

Commit e79e903

Browse files
committed
Finish feed creation route cleanup
1 parent b11665e commit e79e903

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

app/web/api/v1/create_feed.rb

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module Api
99
module V1
1010
##
1111
# Creates stable feed records from authenticated API requests.
12-
module CreateFeed # rubocop:disable Metrics/ModuleLength
12+
module CreateFeed
1313
FEED_ATTRIBUTE_KEYS =
1414
%i[id name url feed_token public_url json_public_url created_at updated_at].freeze
1515
FEED_METADATA_KEYS =
@@ -41,24 +41,33 @@ def call(request)
4141

4242
private
4343

44+
# @param request [Rack::Request]
45+
# @return [Hash]
4446
def require_account(request)
4547
account = Auth.authenticate(request)
4648
raise Html2rss::Web::UnauthorizedError, 'Authentication required' unless account
4749

4850
account
4951
end
5052

53+
# @param request [Rack::Request]
54+
# @param account [Hash]
55+
# @return [Html2rss::Web::Api::V1::FeedMetadata::CreateParams]
5156
def build_create_params(request, account)
5257
url = validated_url(request_params(request)['url'], account)
5358
FeedMetadata::CreateParams.new(url:, name: FeedMetadata.site_title_for(url))
5459
end
5560

61+
# @param request [Rack::Request]
62+
# @return [Hash]
5663
def request_params(request)
5764
return request.params unless json_request?(request)
5865

5966
request.GET.merge(parsed_json_body(request))
6067
end
6168

69+
# @param request [Rack::Request]
70+
# @return [Hash]
6271
def parsed_json_body(request)
6372
raw_body = request.body.read
6473
request.body.rewind
@@ -72,6 +81,8 @@ def parsed_json_body(request)
7281
raise Html2rss::Web::BadRequestError, 'Invalid JSON payload'
7382
end
7483

84+
# @param request [Rack::Request]
85+
# @return [Boolean]
7586
def json_request?(request)
7687
request.env['CONTENT_TYPE'].to_s.include?('application/json')
7788
end

app/web/routes/api_v1/feed_routes.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ def call(router)
2020
router.post do
2121
JSON.generate(Api::V1::CreateFeed.call(router))
2222
end
23-
24-
raise NotFoundError
2523
end
2624
end
2725
end

0 commit comments

Comments
 (0)