-
-
Notifications
You must be signed in to change notification settings - Fork 142
/
database-interface.ts
37 lines (23 loc) · 1.19 KB
/
database-interface.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { type User } from '../../user';
import { type CreateUserServicePassword } from './create-user';
export interface DatabaseInterfaceServicePassword<CustomUser extends User = User> {
createUser(user: CreateUserServicePassword): Promise<string>;
findUserByEmail(email: string): Promise<CustomUser | null>;
findUserByUsername(username: string): Promise<CustomUser | null>;
findUserByResetPasswordToken(token: string): Promise<CustomUser | null>;
findUserByEmailVerificationToken(token: string): Promise<CustomUser | null>;
findPasswordHash(userId: string): Promise<string | null>;
setPassword(userId: string, newPassword: string): Promise<void>;
setUsername(userId: string, newUsername: string): Promise<void>;
addResetPasswordToken(
userId: string,
email: string,
token: string,
reason: string
): Promise<void>;
addEmail(userId: string, newEmail: string, verified: boolean): Promise<void>;
removeEmail(userId: string, email: string): Promise<void>;
verifyEmail(userId: string, email: string): Promise<void>;
addEmailVerificationToken(userId: string, email: string, token: string): Promise<void>;
removeAllResetPasswordTokens(userId: string): Promise<void>;
}