UNPKG

rsshub

Version:
63 lines (61 loc) 2.21 kB
import "./dist-Bog6z_OM.mjs"; import { t as config } from "./config-MQ-7ebJ_.mjs"; import { t as ViewType } from "./types-gOySfSXJ.mjs"; import "./logger-C4avouvV.mjs"; import "./ofetch-DKl_Ma9g.mjs"; import "./parse-date-r5WDWHno.mjs"; import "./is-worker-DESPicPc.mjs"; import "./cache-SV6W5EPy.mjs"; import "./helpers-Bo4JQYdN.mjs"; import "./got-CO-ndVl2.mjs"; import { t as config_not_found_default } from "./config-not-found-zoFMPvbz.mjs"; import { t as utils_default } from "./utils-C8halYMv.mjs"; //#region lib/routes/mastodon/account-id.ts const route = { path: "/account_id/:site/:account_id/statuses/:only_media?", categories: ["social-media"], view: ViewType.SocialMedia, example: "/mastodon/account_id/mas.to/109300507275095341/statuses/false", parameters: { site: "instance address, only domain, no `http://` or `https://` protocol header", account_id: "account ID, you can get it from `https://INSTANCE/api/v1/accounts/lookup?acct=USERNAME` api", only_media: { description: "whether only display media content, default to false, any value to true", options: [{ value: "true", label: "true" }, { value: "false", label: "false" }], default: "false" } }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, name: "User timeline (by account ID)", maintainers: ["notofoe", "pseudoyu"], handler }; async function handler(ctx) { const site = ctx.req.param("site"); const account_id = ctx.req.param("account_id"); const only_media = ctx.req.param("only_media") === "true" ? "true" : "false"; if (!config.feature.allow_user_supply_unsafe_domain && !utils_default.allowSiteList.includes(site)) throw new config_not_found_default(`This RSS is disabled unless 'ALLOW_USER_SUPPLY_UNSAFE_DOMAIN' is set to 'true'.`); const { account_data, data } = await utils_default.getAccountStatuses(site, account_id, only_media); return { title: `${account_data.display_name} (@${account_data.acct})`, link: account_data.url, description: account_data.note, item: utils_default.parseStatuses(data), allowEmpty: true }; } //#endregion export { route };