SYMBOL INDEX (74 symbols across 27 files) FILE: apps/server/prisma-sqlite/migrations/20240301104100_init/migration.sql type "accounts" (line 2) | CREATE TABLE "accounts" ( type "feeds" (line 12) | CREATE TABLE "feeds" ( type "articles" (line 25) | CREATE TABLE "articles" ( FILE: apps/server/prisma/migrations/20240227153512_init/migration.sql type `accounts` (line 2) | CREATE TABLE `accounts` ( type `feeds` (line 14) | CREATE TABLE `feeds` ( type `articles` (line 29) | CREATE TABLE `articles` ( FILE: apps/server/src/app.controller.ts class AppController (line 8) | class AppController { method constructor (line 9) | constructor( method getHello (line 15) | getHello(): string { method forRobot (line 20) | forRobot(): string { method getFavicon (line 25) | getFavicon(@Response() res: Res) { method dashRender (line 35) | dashRender() { FILE: apps/server/src/app.module.ts method useFactory (line 24) | useFactory(config: ConfigService) { class AppModule (line 39) | class AppModule {} FILE: apps/server/src/app.service.ts class AppService (line 5) | class AppService { method constructor (line 6) | constructor(private readonly configService: ConfigService) {} method getHello (line 7) | getHello(): string { FILE: apps/server/src/configuration.ts type ConfigurationType (line 40) | type ConfigurationType = ReturnType; FILE: apps/server/src/feeds/feeds.controller.ts class FeedsController (line 16) | class FeedsController { method constructor (line 19) | constructor(private readonly feedsService: FeedsService) {} method getFeedList (line 22) | async getFeedList() { method getFeeds (line 27) | async getFeeds( method getFeed (line 53) | async getFeed( FILE: apps/server/src/feeds/feeds.module.ts class FeedsModule (line 12) | class FeedsModule {} FILE: apps/server/src/feeds/feeds.service.ts class FeedsService (line 23) | class FeedsService { method constructor (line 27) | constructor( method handleUpdateFeedsCron (line 73) | async handleUpdateFeedsCron() { method cleanHtml (line 103) | async cleanHtml(source: string) { method getHtmlByUrl (line 125) | async getHtmlByUrl(url: string) { method tryGetContent (line 137) | async tryGetContent(id: string) { method renderFeed (line 152) | async renderFeed({ method handleGenerateFeed (line 228) | async handleGenerateFeed({ method getFeedList (line 318) | async getFeedList() { method updateFeed (line 333) | async updateFeed(id: string) { FILE: apps/server/src/main.ts function bootstrap (line 18) | async function bootstrap() { FILE: apps/server/src/prisma/prisma.module.ts class PrismaModule (line 8) | class PrismaModule {} FILE: apps/server/src/prisma/prisma.service.ts class PrismaService (line 5) | class PrismaService extends PrismaClient implements OnModuleInit { method onModuleInit (line 6) | async onModuleInit() { FILE: apps/server/src/trpc/trpc.module.ts class TrpcModule (line 12) | class TrpcModule {} FILE: apps/server/src/trpc/trpc.router.ts class TrpcRouter (line 12) | class TrpcRouter { method constructor (line 13) | constructor( method applyMiddleware (line 427) | async applyMiddleware(app: INestApplication) { type AppRouter (line 453) | type AppRouter = TrpcRouter[`appRouter`]; FILE: apps/server/src/trpc/trpc.service.ts class TrpcService (line 21) | class TrpcService { method constructor (line 38) | constructor( method getTodayDate (line 105) | private getTodayDate() { method getBlockedAccountIds (line 109) | getBlockedAccountIds() { method getAvailableAccount (line 116) | private async getAvailableAccount() { method getMpArticles (line 135) | async getMpArticles(mpId: string, page = 1, retryCount = 3) { method refreshMpArticlesAndUpdateFeed (line 174) | async refreshMpArticlesAndUpdateFeed(mpId: string, page = 1) { method getHistoryMpArticles (line 231) | async getHistoryMpArticles(mpId: string) { method refreshAllMpArticlesAndUpdateFeed (line 301) | async refreshAllMpArticlesAndUpdateFeed() { method getMpInfo (line 321) | async getMpInfo(url: string) { method createLoginUrl (line 347) | async createLoginUrl() { method getLoginResult (line 356) | async getLoginResult(id: string) { FILE: apps/web/src/App.tsx function App (line 9) | function App() { FILE: apps/web/src/components/StatusDropdown.tsx function StatusDropdown (line 11) | function StatusDropdown({ FILE: apps/web/src/components/ThemeSwitcher.tsx function ThemeSwitcher (line 40) | function ThemeSwitcher(props) { FILE: apps/web/src/layouts/base.tsx function BaseLayout (line 6) | function BaseLayout() { FILE: apps/web/src/pages/accounts/index.tsx method onSuccess (line 42) | onSuccess(data) { method onSuccess (line 56) | async onSuccess(data) { FILE: apps/web/src/provider/theme.tsx function ThemeProvider (line 5) | function ThemeProvider({ children }: { children: React.ReactNode }) { FILE: apps/web/src/provider/trpc.tsx method retry (line 30) | retry(failureCount, error) { method onError (line 39) | onError(error) { method onError (line 57) | onError(error) { method headers (line 85) | async headers() { FILE: apps/web/src/types.ts type IconSvgProps (line 3) | type IconSvgProps = SVGProps & { FILE: apps/web/src/utils/trpc.ts function isTRPCClientError (line 6) | function isTRPCClientError( FILE: apps/web/src/vite-env.d.ts type ImportMetaEnv (line 3) | interface ImportMetaEnv { type Window (line 8) | interface Window { FILE: apps/web/vite.config.ts method generateBundle (line 29) | generateBundle(options, bundle) { FILE: wewe-rss-dingtalk/main.py function get_subjects_json (line 10) | def get_subjects_json(): function dingbot_markdown (line 46) | def dingbot_markdown(access_token, secret, rss_list): function send_dingtalk_msg (line 72) | def send_dingtalk_msg(access_token, secret):