diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cad879d3..fad387eee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Moved the asset profile icon component to `@ghostfolio/ui` +- Renamed `Account` to `accounts` in the `User` database schema ### Fixed diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index 258d8556f..9a5b8a849 100644 --- a/apps/api/src/app/admin/admin.service.ts +++ b/apps/api/src/app/admin/admin.service.ts @@ -824,7 +824,7 @@ export class AdminService { where, select: { _count: { - select: { Account: true, activities: true } + select: { accounts: true, activities: true } }, Analytics: { select: { @@ -871,7 +871,7 @@ export class AdminService { id, role, subscription, - accountCount: _count.Account || 0, + accountCount: _count.accounts || 0, activityCount: _count.activities || 0, country: Analytics?.country, dailyApiRequests: Analytics?.dataProviderGhostfolioDailyRequests || 0, diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index 4b04647b5..b9a0e3d20 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -95,7 +95,7 @@ export class UserService { } public async getUser( - { Account, id, permissions, Settings, subscription }: UserWithSettings, + { accounts, id, permissions, Settings, subscription }: UserWithSettings, aLocale = locale ): Promise { const userData = await Promise.all([ @@ -141,6 +141,7 @@ export class UserService { } return { + accounts, activitiesCount, id, permissions, @@ -154,7 +155,6 @@ export class UserService { permissions: accessItem.permissions }; }), - accounts: Account, dateOfFirstActivity: firstActivity?.date ?? new Date(), settings: { ...(Settings.settings as UserSettings), @@ -181,7 +181,7 @@ export class UserService { const { Access, accessToken, - Account, + accounts, Analytics, authChallenge, createdAt, @@ -195,7 +195,7 @@ export class UserService { } = await this.prismaService.user.findUnique({ include: { Access: true, - Account: { + accounts: { include: { Platform: true } }, Analytics: true, @@ -208,7 +208,7 @@ export class UserService { const user: UserWithSettings = { Access, accessToken, - Account, + accounts, authChallenge, createdAt, id, @@ -444,7 +444,7 @@ export class UserService { currentPermissions.push(permissions.impersonateAllUsers); } - user.Account = sortBy(user.Account, ({ name }) => { + user.accounts = sortBy(user.accounts, ({ name }) => { return name.toLowerCase(); }); user.permissions = currentPermissions.sort(); @@ -481,7 +481,7 @@ export class UserService { const user = await this.prismaService.user.create({ data: { ...data, - Account: { + accounts: { create: { currency: DEFAULT_CURRENCY, name: this.i18nService.getTranslation({ diff --git a/libs/common/src/lib/types/user-with-settings.type.ts b/libs/common/src/lib/types/user-with-settings.type.ts index 5fb25a664..9bff8c625 100644 --- a/libs/common/src/lib/types/user-with-settings.type.ts +++ b/libs/common/src/lib/types/user-with-settings.type.ts @@ -6,7 +6,7 @@ import { Access, Account, Settings, User } from '@prisma/client'; // TODO: Compare with User interface export type UserWithSettings = User & { Access: Access[]; - Account: Account[]; + accounts: Account[]; activityCount: number; dataProviderGhostfolioDailyRequests: number; permissions?: string[]; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index b063b1d89..ede19470d 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -245,6 +245,7 @@ model Tag { model User { accessToken String? + accounts Account[] activities Order[] authChallenge String? createdAt DateTime @default(now()) @@ -258,7 +259,6 @@ model User { watchlist SymbolProfile[] @relation("UserWatchlist") Access Access[] @relation("accessGet") AccessGive Access[] @relation("accessGive") - Account Account[] Analytics Analytics? ApiKey ApiKey[] AuthDevice AuthDevice[]