From 4cddf44802ecb91c01ee5cbc3b15ba3d0843009a Mon Sep 17 00:00:00 2001 From: evermake Date: Sun, 31 Mar 2024 16:20:03 +0300 Subject: [PATCH] refactor: remove notifications settings and sport ID --- backend/src/bot/plugins/domain.ts | 1 - backend/src/domain/schemas/index.ts | 3 +- backend/src/domain/schemas/notifications.ts | 28 ------------------- backend/src/domain/schemas/user.ts | 2 -- .../migration.sql | 2 -- backend/src/services/database/schema.prisma | 5 ---- 6 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 backend/src/domain/schemas/notifications.ts rename backend/src/services/database/migrations/{20240310140842_add_user_model => 20240331114519_init}/migration.sql (80%) diff --git a/backend/src/bot/plugins/domain.ts b/backend/src/bot/plugins/domain.ts index 44e8c61..d88de58 100644 --- a/backend/src/bot/plugins/domain.ts +++ b/backend/src/bot/plugins/domain.ts @@ -20,7 +20,6 @@ export const install: InstallFn = (bot, { domain }) username: ctx.from.username, firstName: ctx.from.first_name, lastName: ctx.from.last_name, - notificationPreferences: { classes: [] }, }) } return next() diff --git a/backend/src/domain/schemas/index.ts b/backend/src/domain/schemas/index.ts index fea95e9..7794152 100644 --- a/backend/src/domain/schemas/index.ts +++ b/backend/src/domain/schemas/index.ts @@ -1 +1,2 @@ -export * from './notifications' +export * from './common' +export * from './user' diff --git a/backend/src/domain/schemas/notifications.ts b/backend/src/domain/schemas/notifications.ts deleted file mode 100644 index 5a64491..0000000 --- a/backend/src/domain/schemas/notifications.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { z } from 'zod' - -export const ClassesNotificationPreferenceSpecificTime = z.object({ - type: z.literal('specific-time'), - daysBefore: z.number().int(), - time: z.object({ - hours: z.number().int(), - minutes: z.number().int(), - }), -}) -export type ClassesNotificationPreferenceSpecificTime = z.infer - -export const ClassesNotificationPreferenceRelative = z.object({ - type: z.literal('relative'), - minutesBefore: z.number().int(), -}) -export type ClassesNotificationPreferenceRelative = z.infer - -export const ClassesNotificationPreference = z.union([ - ClassesNotificationPreferenceSpecificTime, - ClassesNotificationPreferenceRelative, -]) -export type ClassesNotificationPreference = z.infer - -export const NotificationPreferences = z.object({ - classes: z.array(ClassesNotificationPreference), -}) -export type NotificationPreferences = z.infer diff --git a/backend/src/domain/schemas/user.ts b/backend/src/domain/schemas/user.ts index d940838..60aa8ce 100644 --- a/backend/src/domain/schemas/user.ts +++ b/backend/src/domain/schemas/user.ts @@ -1,6 +1,5 @@ import { z } from 'zod' import { Language } from './common' -import { NotificationPreferences } from './notifications' export const User = z.object({ telegramId: z.coerce.number().int(), @@ -9,6 +8,5 @@ export const User = z.object({ firstName: z.string(), lastName: z.string().nullable(), language: Language.nullable(), - notificationPreferences: NotificationPreferences, }) export type User = z.infer diff --git a/backend/src/services/database/migrations/20240310140842_add_user_model/migration.sql b/backend/src/services/database/migrations/20240331114519_init/migration.sql similarity index 80% rename from backend/src/services/database/migrations/20240310140842_add_user_model/migration.sql rename to backend/src/services/database/migrations/20240331114519_init/migration.sql index 2c180f4..04cb6f4 100644 --- a/backend/src/services/database/migrations/20240310140842_add_user_model/migration.sql +++ b/backend/src/services/database/migrations/20240331114519_init/migration.sql @@ -6,8 +6,6 @@ CREATE TABLE "User" ( "firstName" TEXT NOT NULL, "lastName" TEXT, "language" TEXT, - "sportId" INTEGER, - "notificationPreferences" JSONB NOT NULL, CONSTRAINT "User_pkey" PRIMARY KEY ("telegramId") ); diff --git a/backend/src/services/database/schema.prisma b/backend/src/services/database/schema.prisma index 4d7a315..7768b5d 100644 --- a/backend/src/services/database/schema.prisma +++ b/backend/src/services/database/schema.prisma @@ -18,9 +18,4 @@ model User { // Interface language user prefers as ISO 639-1 language code // or null if user did not specify it. language String? - - // User's ID in the InnoSport API. - sportId Int? - - notificationPreferences Json }