From 20070d76bcfb9588f43b48805aafd23370794b61 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Thu, 12 Jun 2025 20:02:16 +0200 Subject: [PATCH] Feature/rename User to user in database schema (#4899) * Rename User to user in database schema * Update changelog --- CHANGELOG.md | 1 + apps/api/src/app/access/access.controller.ts | 2 +- apps/api/src/app/account/account.controller.ts | 8 ++++---- apps/api/src/app/admin/admin.service.ts | 2 +- apps/api/src/app/auth/api-key.strategy.ts | 2 +- apps/api/src/app/auth/jwt.strategy.ts | 2 +- apps/api/src/app/auth/web-auth.service.ts | 2 +- apps/api/src/app/import/import.service.ts | 4 ++-- apps/api/src/app/order/order.controller.ts | 4 ++-- apps/api/src/app/user/user.service.ts | 6 +++--- .../impersonation/impersonation.service.ts | 2 +- .../symbol-profile/symbol-profile.service.ts | 6 +++--- prisma/schema.prisma | 18 +++++++++--------- 13 files changed, 30 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9907e0522..737affe4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Migrated the `HtmlTemplateMiddleware` to use `@Injectable()` +- Renamed `User` to `user` in the database schema - Improved the language localization for French (`fr`) - Improved the language localization for Polish (`pl`) diff --git a/apps/api/src/app/access/access.controller.ts b/apps/api/src/app/access/access.controller.ts index 8444a88d1..9913a5c1b 100644 --- a/apps/api/src/app/access/access.controller.ts +++ b/apps/api/src/app/access/access.controller.ts @@ -89,7 +89,7 @@ export class AccessController { ? { connect: { id: data.granteeUserId } } : undefined, permissions: data.permissions, - User: { connect: { id: this.request.user.id } } + user: { connect: { id: this.request.user.id } } }); } catch { throw new HttpException( diff --git a/apps/api/src/app/account/account.controller.ts b/apps/api/src/app/account/account.controller.ts index 1d8f9ab27..8780a830e 100644 --- a/apps/api/src/app/account/account.controller.ts +++ b/apps/api/src/app/account/account.controller.ts @@ -153,7 +153,7 @@ export class AccountController { { ...data, Platform: { connect: { id: platformId } }, - User: { connect: { id: this.request.user.id } } + user: { connect: { id: this.request.user.id } } }, this.request.user.id ); @@ -163,7 +163,7 @@ export class AccountController { return this.accountService.createAccount( { ...data, - User: { connect: { id: this.request.user.id } } + user: { connect: { id: this.request.user.id } } }, this.request.user.id ); @@ -251,7 +251,7 @@ export class AccountController { data: { ...data, Platform: { connect: { id: platformId } }, - User: { connect: { id: this.request.user.id } } + user: { connect: { id: this.request.user.id } } }, where: { id_userId: { @@ -273,7 +273,7 @@ export class AccountController { Platform: originalAccount.platformId ? { disconnect: true } : undefined, - User: { connect: { id: this.request.user.id } } + user: { connect: { id: this.request.user.id } } }, where: { id_userId: { diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index 9a5b8a849..deb48b7bb 100644 --- a/apps/api/src/app/admin/admin.service.ts +++ b/apps/api/src/app/admin/admin.service.ts @@ -674,7 +674,7 @@ export class AdminService { select: { activities: { where: { - User: { + user: { subscriptions: { some: { expiresAt: { diff --git a/apps/api/src/app/auth/api-key.strategy.ts b/apps/api/src/app/auth/api-key.strategy.ts index e99d6aed7..f9937aaa7 100644 --- a/apps/api/src/app/auth/api-key.strategy.ts +++ b/apps/api/src/app/auth/api-key.strategy.ts @@ -36,7 +36,7 @@ export class ApiKeyStrategy extends PassportStrategy( } await this.prismaService.analytics.upsert({ - create: { User: { connect: { id: user.id } } }, + create: { user: { connect: { id: user.id } } }, update: { activityCount: { increment: 1 }, lastRequestAt: new Date() diff --git a/apps/api/src/app/auth/jwt.strategy.ts b/apps/api/src/app/auth/jwt.strategy.ts index 3d466082a..7faf428da 100644 --- a/apps/api/src/app/auth/jwt.strategy.ts +++ b/apps/api/src/app/auth/jwt.strategy.ts @@ -46,7 +46,7 @@ export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') { countriesAndTimezones.getCountryForTimezone(timezone)?.id; await this.prismaService.analytics.upsert({ - create: { country, User: { connect: { id: user.id } } }, + create: { country, user: { connect: { id: user.id } } }, update: { country, activityCount: { increment: 1 }, diff --git a/apps/api/src/app/auth/web-auth.service.ts b/apps/api/src/app/auth/web-auth.service.ts index 5678ef7fe..c2223e716 100644 --- a/apps/api/src/app/auth/web-auth.service.ts +++ b/apps/api/src/app/auth/web-auth.service.ts @@ -131,7 +131,7 @@ export class WebAuthService { counter, credentialId: Buffer.from(credentialId), credentialPublicKey: Buffer.from(credentialPublicKey), - User: { connect: { id: user.id } } + user: { connect: { id: user.id } } }); } diff --git a/apps/api/src/app/import/import.service.ts b/apps/api/src/app/import/import.service.ts index 6fd48e3ee..4981645f1 100644 --- a/apps/api/src/app/import/import.service.ts +++ b/apps/api/src/app/import/import.service.ts @@ -197,7 +197,7 @@ export class ImportService { balances: { create: accountWithBalances.balances ?? [] }, - User: { connect: { id: user.id } } + user: { connect: { id: user.id } } }; if ( @@ -396,7 +396,7 @@ export class ImportService { } }, updateAccountBalance: false, - User: { connect: { id: user.id } }, + user: { connect: { id: user.id } }, userId: user.id }); diff --git a/apps/api/src/app/order/order.controller.ts b/apps/api/src/app/order/order.controller.ts index 198850b6b..f6cfe7922 100644 --- a/apps/api/src/app/order/order.controller.ts +++ b/apps/api/src/app/order/order.controller.ts @@ -214,7 +214,7 @@ export class OrderController { } } }, - User: { connect: { id: this.request.user.id } }, + user: { connect: { id: this.request.user.id } }, userId: this.request.user.id }); @@ -287,7 +287,7 @@ export class OrderController { name: data.symbol } }, - User: { connect: { id: this.request.user.id } } + user: { connect: { id: this.request.user.id } } }, where: { id diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index b9a0e3d20..7a6f08710 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -101,7 +101,7 @@ export class UserService { const userData = await Promise.all([ this.prismaService.access.findMany({ include: { - User: true + user: true }, orderBy: { alias: 'asc' }, where: { GranteeUser: { id } } @@ -503,7 +503,7 @@ export class UserService { if (this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) { await this.prismaService.analytics.create({ data: { - User: { connect: { id: user.id } } + user: { connect: { id: user.id } } } }); } @@ -598,7 +598,7 @@ export class UserService { const { settings } = await this.prismaService.settings.upsert({ create: { settings: userSettings as unknown as Prisma.JsonObject, - User: { + user: { connect: { id: userId } diff --git a/apps/api/src/services/impersonation/impersonation.service.ts b/apps/api/src/services/impersonation/impersonation.service.ts index 223aa60c8..4bf23576a 100644 --- a/apps/api/src/services/impersonation/impersonation.service.ts +++ b/apps/api/src/services/impersonation/impersonation.service.ts @@ -36,7 +36,7 @@ export class ImpersonationService { const accessObject = await this.prismaService.access.findFirst({ where: { GranteeUser: null, - User: { id: aId } + user: { id: aId } } }); diff --git a/apps/api/src/services/symbol-profile/symbol-profile.service.ts b/apps/api/src/services/symbol-profile/symbol-profile.service.ts index 30ad1c5fb..c41a59c78 100644 --- a/apps/api/src/services/symbol-profile/symbol-profile.service.ts +++ b/apps/api/src/services/symbol-profile/symbol-profile.service.ts @@ -44,7 +44,7 @@ export class SymbolProfileService { include: { activities: { include: { - User: true + user: true } } }, @@ -53,14 +53,14 @@ export class SymbolProfileService { activities: withUserSubscription ? { some: { - User: { + user: { subscriptions: { some: { expiresAt: { gt: new Date() } } } } } } : { every: { - User: { + user: { subscriptions: { none: { expiresAt: { gt: new Date() } } } } } diff --git a/prisma/schema.prisma b/prisma/schema.prisma index c95debe36..2c9f0e4bf 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -18,7 +18,7 @@ model Access { updatedAt DateTime @updatedAt userId String GranteeUser User? @relation("accessGet", fields: [granteeUserId], onDelete: Cascade, references: [id]) - User User @relation("accessGive", fields: [userId], onDelete: Cascade, references: [id]) + user User @relation("accessGive", fields: [userId], onDelete: Cascade, references: [id]) @@index([alias]) @@index([granteeUserId]) @@ -37,9 +37,9 @@ model Account { name String? platformId String? updatedAt DateTime @updatedAt + user User @relation(fields: [userId], onDelete: Cascade, references: [id]) userId String Platform Platform? @relation(fields: [platformId], references: [id]) - User User @relation(fields: [userId], onDelete: Cascade, references: [id]) @@id([id, userId]) @@index([currency]) @@ -70,8 +70,8 @@ model Analytics { dataProviderGhostfolioDailyRequests Int @default(0) lastRequestAt DateTime @default(now()) updatedAt DateTime @updatedAt + user User @relation(fields: [userId], onDelete: Cascade, references: [id]) userId String @id - User User @relation(fields: [userId], onDelete: Cascade, references: [id]) @@index([lastRequestAt]) @@index([updatedAt]) @@ -82,8 +82,8 @@ model ApiKey { hashedKey String @unique id String @id @default(uuid()) updatedAt DateTime @updatedAt - userId String user User @relation(fields: [userId], onDelete: Cascade, references: [id]) + userId String @@index([userId]) } @@ -95,8 +95,8 @@ model AuthDevice { counter Int id String @id @default(uuid()) updatedAt DateTime @updatedAt + user User @relation(fields: [userId], onDelete: Cascade, references: [id]) userId String - User User @relation(fields: [userId], onDelete: Cascade, references: [id]) @@index([userId]) } @@ -135,10 +135,10 @@ model Order { type Type unitPrice Float updatedAt DateTime @updatedAt + user User @relation(fields: [userId], onDelete: Cascade, references: [id]) userId String Account Account? @relation(fields: [accountId, accountUserId], references: [id, userId]) SymbolProfile SymbolProfile @relation(fields: [symbolProfileId], references: [id]) - User User @relation(fields: [userId], onDelete: Cascade, references: [id]) @@index([accountId]) @@index([date]) @@ -163,8 +163,8 @@ model Property { model Settings { settings Json? updatedAt DateTime @updatedAt + user User @relation(fields: [userId], onDelete: Cascade, references: [id]) userId String @id - User User @relation(fields: [userId], onDelete: Cascade, references: [id]) } model SymbolProfile { @@ -191,10 +191,10 @@ model SymbolProfile { symbol String symbolMapping Json? url String? + user User? @relation(fields: [userId], onDelete: Cascade, references: [id]) userId String? watchedBy User[] @relation("UserWatchlist") SymbolProfileOverrides SymbolProfileOverrides? - User User? @relation(fields: [userId], onDelete: Cascade, references: [id]) @@unique([dataSource, symbol]) @@index([assetClass]) @@ -236,8 +236,8 @@ model Tag { activities Order[] id String @id @default(uuid()) name String + user User? @relation(fields: [userId], onDelete: Cascade, references: [id]) userId String? - User User? @relation(fields: [userId], onDelete: Cascade, references: [id]) @@unique([name, userId]) @@index([name])