A social knowledge tool for researchers built on ATProto
1import { DomainService } from 'src/shared/domain/DomainService';
2import { Result } from 'src/shared/core/Result';
3import { User } from '../User';
4import { DID } from '../value-objects/DID';
5import { Handle } from '../value-objects/Handle';
6
7export interface AuthenticationResult {
8 user: User;
9 isNewUser: boolean;
10}
11
12export interface IUserAuthenticationService extends DomainService {
13 validateUserCredentials(
14 did: DID,
15 handle?: Handle,
16 ): Promise<Result<AuthenticationResult>>;
17}