* fix github service tests
* migrate some services from examples to openApi
* document latest variant with separate examples
making seperate routes for the /{version} and /latest variants
allows us to only show the docs for
- include_prereleases
- sort and
- filter
in the situation where they are relevant
* allow user to set dockerhub credentials
* add withJwtAuth function to AuthHelper
* use withJwtAuth in DockerHub badges
* add unit tests for JWT auth
* use auth when calling docker cloud
* refactor and assert fetch helpers call withJwtAuth
* store token for a max duration (defaults to 1 hour)
* tangent: update test example
* migrate some services from examples to openApi
* fixup which --> variant param rename
* improve descriptions
* migrate gem version
* improve descriptions for ruby gems
* standardise on packageName for all conda badges
* add base for thunderstore services
* badge service and corresponding tester for thunderstore download count
* badge service and corresponding tester for thunderstore latest package version
* fix HTML
* use stable package-metrics endpoint
* remove erroneous statement from docs
* remove `namedLogo` from default badge data on both services
* follow route naming conventions
* use `[x].json` for test assertions
* use existing version pattern
* document service `handle` return-type more narrowly
* use consistent test formatting
* add base for thunderstore services
* badge service and corresponding tester for thunderstore download count
* badge service and corresponding tester for thunderstore latest package version
* fix HTML
* use stable package-metrics endpoint
* remove erroneous statement from docs
* remove `namedLogo` from default badge data on both services
* follow route naming conventions
* use `[x].json` for test assertions
* use existing version pattern
* document service `handle` return-type more narrowly
* use consistent test formatting
* plural-ise base thunderstore docs
* don't require unused attributes
* declare BaseThunderstoreService abstract, add docstring
* add thunderstoreGreen static variable
* add thunderstore likes service
---------
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
* update crates service test
* migrate some services from examples to openApi
* migrate crates from examples to openApi, improve titles
* explain what hd,hw,hm,hy actually mean
* improve descriptions
* feat: add Raycast extension installs Badge
* fix: capitalize the first letter
* fix: change to use the offical public API
* fix: change category to downloads
* add gitea service based on gitlab
* update gitea to use mocks
* add gitea release test
* move tests to use public repo on codeberg and fixes
* add pagination, update tests to live, set gitea_url as required
* add auth test (wip)
* fix base auth test
* fix required optionalUrl, remove default, assume semver from firstpage
* update example to use stable repository
* feat: add npm downloads (by author) badge
* Update services/npm-stat/npm-stat-downloads.service.js
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
* test: add test cases for NpmStatDownloads helper getTotalDownloads
* refactor: using dayjs to get from && until date string
* feat: remove support of dt
---------
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
* Use official version endpoint for pub-service
* run prettier
* Update schema
* make services a required property
---------
Co-authored-by: chris48s <git@chris-shaw.dev>
* Discourse: Update schema to use plural keys
(e.g. topic_count -> topics_countN)
* Revert "Discourse: Update schema to use plural keys"
This reverts commit 4073a17aaa.
* `discourse.service.js`: Add `Joi.alternatives` plural schema
* `discourse.service.js`: Update func to be plural-agnostic
Previously, for e.g. 'topic', the call to the `DiscourseMetricIntegrationFactory` function supplied both 'topics' and 'topic_count'. And, we now need to check for 'topics_count' as well. To cover all three string variations, why not supply only 'topic' to the function, then selectively add the 's' on a case-by-case basis.
((Note: I've preserved the old metricName variable as to minimize the diff here and make my changes clearer.))
* `discourse.tester.js`: Add second `data` case
* Address Prettier linting warnings
* log to sentry if upstream service responds with 429
* allow services to decide which error(s) to log, default to 429
* don't log 429s from endpoint or dynamic badges
* supress 429s from uptime robot badges
* supress 429s from weblate if not calling default server
* cache opencollective badges for longer
* cache discord badges for longer
* cache github workflow badges for longer
* deprecate ansible galaxy collection name
* deprecate ansible galaxy quality score
* deprecate ansible role name and legacy downloads, add new downloads