1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-02 12:05:19 +02:00

Security resolver and health checker (#2281)

* Setup health check

* Security health checker cron

* Use resolver throughout codebase

* Use resolver for trade builder

* Add security health checks to schedule

* Handle no provider

* Lint fixes
This commit is contained in:
Zach Gollwitzer 2025-05-22 12:43:24 -04:00 committed by GitHub
parent 857436d894
commit e4ee06c9f6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 599 additions and 78 deletions

View file

@ -10,9 +10,14 @@ module Security::Provided
end
def search_provider(symbol, country_code: nil, exchange_operating_mic: nil)
return [] if symbol.blank? || symbol.length < 2
return [] if provider.nil? || symbol.blank?
response = provider.search_securities(symbol, country_code: country_code, exchange_operating_mic: exchange_operating_mic)
params = {
country_code: country_code,
exchange_operating_mic: exchange_operating_mic
}.compact_blank
response = provider.search_securities(symbol, **params)
if response.success?
response.data.map do |provider_security|
@ -38,7 +43,11 @@ module Security::Provided
# Make sure we have a data provider before fetching
return nil unless provider.present?
response = provider.fetch_security_price(self, date: date)
response = provider.fetch_security_price(
symbol: ticker,
exchange_operating_mic: exchange_operating_mic,
date: date
)
return nil unless response.success? # Provider error