From 69ca54b055d83b003d93532c985c561000a6f312 Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Fri, 1 Apr 2022 21:43:33 +0300 Subject: [PATCH] Refactor sentry --- src/analytics/users_counter.ts | 8 ++------ src/bots/factory/bots/approved/annotations.ts | 8 +------- src/bots/factory/bots/approved/index.ts | 10 ++-------- src/bots/factory/bots/approved/utils.ts | 10 +--------- src/bots/manager/index.ts | 8 +------- src/sentry.ts | 10 ++++++++++ 6 files changed, 17 insertions(+), 37 deletions(-) create mode 100644 src/sentry.ts diff --git a/src/analytics/users_counter.ts b/src/analytics/users_counter.ts index 90b8297..1b31530 100644 --- a/src/analytics/users_counter.ts +++ b/src/analytics/users_counter.ts @@ -1,14 +1,10 @@ -import * as Sentry from '@sentry/node'; import { createClient, RedisClientType } from 'redis'; import moment from 'moment'; -import BotsManager from '@/bots/manager'; import env from '@/config'; +import BotsManager from '@/bots/manager'; - -Sentry.init({ - dsn: env.SENTRY_DSN, -}); +import Sentry from '@/sentry'; enum RedisKeys { diff --git a/src/bots/factory/bots/approved/annotations.ts b/src/bots/factory/bots/approved/annotations.ts index f06da12..f1993cf 100644 --- a/src/bots/factory/bots/approved/annotations.ts +++ b/src/bots/factory/bots/approved/annotations.ts @@ -1,15 +1,9 @@ -import * as Sentry from '@sentry/node'; import { Context } from "telegraf"; import { AuthorAnnnotation, BookAnnotation } from "./services/book_library"; -import env from '@/config'; import { isNormalText } from "./utils"; import { getTextPaginationData } from './keyboard'; - - -Sentry.init({ - dsn: env.SENTRY_DSN, -}); +import Sentry from '@/sentry'; export function getAnnotationHandler( diff --git a/src/bots/factory/bots/approved/index.ts b/src/bots/factory/bots/approved/index.ts index f34abe7..a8832f3 100644 --- a/src/bots/factory/bots/approved/index.ts +++ b/src/bots/factory/bots/approved/index.ts @@ -1,5 +1,3 @@ -import * as Sentry from '@sentry/node'; - import { Context, Telegraf, Markup } from 'telegraf'; import moment from 'moment'; @@ -15,17 +13,13 @@ import * as BookLibrary from "./services/book_library"; import UsersCounter from '@/analytics/users_counter'; import { createOrUpdateUserSettings, getUserOrDefaultLangCodes } from './services/user_settings'; import { formatBook, formatBookShort, formatAuthor, formatSequence, formatTranslator, formatDetailBook } from './format'; -import { getCallbackArgs, getPaginatedMessage, getPrefixWithQueryCreator, getSearchArgs, isNormalText, registerLanguageSettingsCallback, registerPaginationCommand, registerRandomItemCallback } from './utils'; +import { getCallbackArgs, getPaginatedMessage, getPrefixWithQueryCreator, getSearchArgs, registerLanguageSettingsCallback, registerPaginationCommand, registerRandomItemCallback } from './utils'; import { getRandomKeyboard, getTextPaginationData, getUpdateLogKeyboard, getUserAllowedLangsKeyboard } from './keyboard'; import { sendFile } from './hooks/downloading'; import { setCommands } from './hooks/setCommands'; import { isNotModifiedMessage, isReplyMessageNotFound } from './errors_utils'; import { getAnnotationHandler } from './annotations'; - - -Sentry.init({ - dsn: env.SENTRY_DSN, -}); +import Sentry from '@/sentry'; export async function createApprovedBot(token: string, state: BotState): Promise { diff --git a/src/bots/factory/bots/approved/utils.ts b/src/bots/factory/bots/approved/utils.ts index 3d930b1..107bc3f 100644 --- a/src/bots/factory/bots/approved/utils.ts +++ b/src/bots/factory/bots/approved/utils.ts @@ -1,20 +1,12 @@ import { Context, Markup, Telegraf } from 'telegraf'; import { InlineKeyboardMarkup } from 'typegram'; import { URLSearchParams } from 'url'; -import * as Sentry from '@sentry/node'; - -import env from '@/config'; - import { isNotModifiedMessage } from './errors_utils'; import { getPaginationKeyboard, getUserAllowedLangsKeyboard } from './keyboard'; import * as BookLibrary from "./services/book_library"; import { createOrUpdateUserSettings, getUserOrDefaultLangCodes } from './services/user_settings'; - - -Sentry.init({ - dsn: env.SENTRY_DSN, -}); +import Sentry from '@/sentry'; interface PreparedMessage { diff --git a/src/bots/manager/index.ts b/src/bots/manager/index.ts index 7ace87c..4901527 100644 --- a/src/bots/manager/index.ts +++ b/src/bots/manager/index.ts @@ -1,5 +1,3 @@ -import * as Sentry from '@sentry/node'; - import express, { Response, Request, NextFunction } from 'express'; import { Server } from 'http'; @@ -12,11 +10,7 @@ import getBot from '../factory/index'; import UsersCounter from '@/analytics/users_counter'; import { makeSyncRequest } from "./utils"; import { BotState } from "./types"; - - -Sentry.init({ - dsn: env.SENTRY_DSN, -}); +import Sentry from '@/sentry'; export default class BotsManager { diff --git a/src/sentry.ts b/src/sentry.ts new file mode 100644 index 0000000..fedf937 --- /dev/null +++ b/src/sentry.ts @@ -0,0 +1,10 @@ +import * as Sentry from '@sentry/node'; + +import env from '@/config'; + + +Sentry.init({ + dsn: env.SENTRY_DSN, +}); + +export default Sentry;