Files
shields/services/chrome-web-store/chrome-web-store-users.service.js
dependabot[bot] a68e47cb72 chore(deps): bump webextension-store-meta from 1.0.5 to 1.1.0; run [chromewebstore] (#9972)
* chore(deps): bump webextension-store-meta from 1.0.5 to 1.1.0

Bumps [webextension-store-meta](https://github.com/awesome-webextension/webextension-store-meta) from 1.0.5 to 1.1.0.
- [Changelog](https://github.com/awesome-webextension/webextension-store-meta/blob/main/CHANGELOG.md)
- [Commits](https://github.com/awesome-webextension/webextension-store-meta/commits)

---
updated-dependencies:
- dependency-name: webextension-store-meta
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* deprecate price badge

`price` and `priceCurrency` fields have been removed

* fix formatting on users badge

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chris48s <git@chris-shaw.dev>
2024-02-18 20:08:50 +00:00

46 lines
1.3 KiB
JavaScript

import { renderDownloadsBadge } from '../downloads.js'
import { redirector, NotFound, pathParams } from '../index.js'
import BaseChromeWebStoreService from './chrome-web-store-base.js'
class ChromeWebStoreUsers extends BaseChromeWebStoreService {
static category = 'downloads'
static route = { base: 'chrome-web-store/users', pattern: ':storeId' }
static openApi = {
'/chrome-web-store/users/{storeId}': {
get: {
summary: 'Chrome Web Store Users',
parameters: pathParams({
name: 'storeId',
example: 'ogffaloegjglncjfehdfplabnoondfjo',
}),
},
},
}
static defaultBadgeData = { label: 'users' }
async handle({ storeId }) {
const chromeWebStore = await this.fetch({ storeId })
const downloads = chromeWebStore.users()
if (downloads == null) {
throw new NotFound({ prettyMessage: 'not found' })
}
return renderDownloadsBadge({
downloads: String(downloads.replace(',', '')),
})
}
}
const ChromeWebStoreDownloads = redirector({
category: 'downloads',
route: {
base: 'chrome-web-store/d',
pattern: ':storeId',
},
transformPath: ({ storeId }) => `/chrome-web-store/users/${storeId}`,
dateAdded: new Date('2019-02-27'),
})
export { ChromeWebStoreDownloads, ChromeWebStoreUsers }