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