22 lines
746 B
TypeScript
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;
|
|
}
|
|
}
|