import { Injectable } from '@nestjs/common'; import { DefaultUserService } from './default-user.service'; export interface ResolvedOwnerContext { userId: string; } export abstract class OwnerContext { abstract resolve(): Promise; } @Injectable() export class BootstrapOwnerContextService extends OwnerContext { constructor(private readonly defaultUserService: DefaultUserService) { super(); } async resolve(): Promise { const defaultUser = await this.defaultUserService.getOrCreateDefaultUser(); return { userId: defaultUser.id, }; } }