Files
hoppscotch/packages/hoppscotch-backend/src/user-settings/user.resolver.ts
2022-12-23 12:28:22 +06:00

22 lines
746 B
TypeScript

import { Parent, ResolveField, Resolver } from '@nestjs/graphql';
import { User } from 'src/user/user.model';
import { UserSettings } from './user-settings.model';
import { UserSettingsService } from './user-settings.service';
import * as E from 'fp-ts/Either';
import { throwErr } from 'src/utils';
@Resolver(() => User)
export class UserSettingsUserResolver {
constructor(private readonly userSettingsService: UserSettingsService) {}
@ResolveField(() => UserSettings, {
description: 'Returns user settings',
})
async settings(@Parent() user: User) {
const userSettings = await this.userSettingsService.fetchUserSettings(user);
if (E.isLeft(userSettings)) throwErr(userSettings.left);
return userSettings.right;
}
}