velody/backend/src/modules/users/owner-context.service.ts

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,
};
}
}