Browse Source

Resolve exception for non-existent user

pull/7435/head
Thomas Kaul 1 month ago
parent
commit
5d6e7b47a5
  1. 44
      apps/api/src/app/user/user.service.ts

44
apps/api/src/app/user/user.service.ts

@ -231,22 +231,7 @@ export class UserService {
public async user( public async user(
userWhereUniqueInput: Prisma.UserWhereUniqueInput userWhereUniqueInput: Prisma.UserWhereUniqueInput
): Promise<UserWithSettings | null> { ): Promise<UserWithSettings | null> {
const { const userFromDatabase = await this.prismaService.user.findUnique({
_count,
accessesGet,
accessToken,
accounts,
analytics,
authChallenge,
createdAt,
id,
provider,
role,
settings,
subscriptions,
thirdPartyId,
updatedAt
} = await this.prismaService.user.findUnique({
include: { include: {
_count: { _count: {
select: { select: {
@ -264,6 +249,27 @@ export class UserService {
where: userWhereUniqueInput where: userWhereUniqueInput
}); });
if (!userFromDatabase) {
return null;
}
const {
_count,
accessesGet,
accessToken,
accounts,
analytics,
authChallenge,
createdAt,
id,
provider,
role,
settings,
subscriptions,
thirdPartyId,
updatedAt
} = userFromDatabase;
const activitiesCount = _count?.activities ?? 0; const activitiesCount = _count?.activities ?? 0;
const user: UserWithSettings = { const user: UserWithSettings = {
@ -283,16 +289,16 @@ export class UserService {
analytics?.dataProviderGhostfolioDailyRequests analytics?.dataProviderGhostfolioDailyRequests
}; };
if (user?.settings) { if (user.settings) {
if (!user.settings.settings) { if (!user.settings.settings) {
user.settings.settings = {}; user.settings.settings = {};
} }
} else if (user) { } else {
// Set default settings if needed // Set default settings if needed
user.settings = { user.settings = {
settings: {}, settings: {},
updatedAt: new Date(), updatedAt: new Date(),
userId: user?.id userId: user.id
}; };
} }

Loading…
Cancel
Save