release: WRNexusJS 0.5.0
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
import type {
|
||||
AuthIdentity,
|
||||
AuthSecurityEvent,
|
||||
AuthSession,
|
||||
AuthUser,
|
||||
LoginAttempt,
|
||||
OAuthAccount,
|
||||
OneTimeToken,
|
||||
OtpChallenge,
|
||||
PasskeyCredential,
|
||||
PasswordCredential,
|
||||
RecoveryCodeRecord,
|
||||
TotpCredential,
|
||||
TrustedDevice,
|
||||
} from "./types.ts";
|
||||
|
||||
export interface AuthStore {
|
||||
createUser(user: AuthUser): Promise<void>;
|
||||
updateUser(user: AuthUser): Promise<void>;
|
||||
findUserById(id: string): Promise<AuthUser | undefined>;
|
||||
listUsers(): Promise<AuthUser[]>;
|
||||
|
||||
createIdentity(identity: AuthIdentity): Promise<void>;
|
||||
updateIdentity(identity: AuthIdentity): Promise<void>;
|
||||
findIdentity(
|
||||
type: AuthIdentity["type"],
|
||||
normalizedValue: string,
|
||||
): Promise<AuthIdentity | undefined>;
|
||||
listIdentities(userId: string): Promise<AuthIdentity[]>;
|
||||
|
||||
setPassword(credential: PasswordCredential): Promise<void>;
|
||||
getPassword(userId: string): Promise<PasswordCredential | undefined>;
|
||||
|
||||
createSession(session: AuthSession): Promise<void>;
|
||||
updateSession(session: AuthSession): Promise<void>;
|
||||
findSession(id: string): Promise<AuthSession | undefined>;
|
||||
listSessions(userId: string): Promise<AuthSession[]>;
|
||||
deleteSession(id: string): Promise<void>;
|
||||
|
||||
createTrustedDevice(device: TrustedDevice): Promise<void>;
|
||||
updateTrustedDevice(device: TrustedDevice): Promise<void>;
|
||||
findTrustedDeviceByFingerprint(
|
||||
userId: string,
|
||||
fingerprintHash: string,
|
||||
): Promise<TrustedDevice | undefined>;
|
||||
listTrustedDevices(userId: string): Promise<TrustedDevice[]>;
|
||||
|
||||
createToken(token: OneTimeToken): Promise<void>;
|
||||
updateToken(token: OneTimeToken): Promise<void>;
|
||||
findTokenByHash(hash: string): Promise<OneTimeToken | undefined>;
|
||||
|
||||
createOtp(challenge: OtpChallenge): Promise<void>;
|
||||
updateOtp(challenge: OtpChallenge): Promise<void>;
|
||||
findOtp(id: string): Promise<OtpChallenge | undefined>;
|
||||
|
||||
createTotp(credential: TotpCredential): Promise<void>;
|
||||
updateTotp(credential: TotpCredential): Promise<void>;
|
||||
listTotp(userId: string): Promise<TotpCredential[]>;
|
||||
deleteTotp(id: string): Promise<void>;
|
||||
|
||||
createRecoveryCodes(codes: RecoveryCodeRecord[]): Promise<void>;
|
||||
updateRecoveryCode(code: RecoveryCodeRecord): Promise<void>;
|
||||
listRecoveryCodes(userId: string): Promise<RecoveryCodeRecord[]>;
|
||||
deleteRecoveryCodes(userId: string): Promise<void>;
|
||||
|
||||
createPasskey(credential: PasskeyCredential): Promise<void>;
|
||||
updatePasskey(credential: PasskeyCredential): Promise<void>;
|
||||
findPasskeyByCredentialId(credentialId: string): Promise<PasskeyCredential | undefined>;
|
||||
listPasskeys(userId: string): Promise<PasskeyCredential[]>;
|
||||
deletePasskey(id: string): Promise<void>;
|
||||
|
||||
createOAuthAccount(account: OAuthAccount): Promise<void>;
|
||||
updateOAuthAccount(account: OAuthAccount): Promise<void>;
|
||||
findOAuthAccount(provider: string, providerAccountId: string): Promise<OAuthAccount | undefined>;
|
||||
listOAuthAccounts(userId: string): Promise<OAuthAccount[]>;
|
||||
deleteOAuthAccount(id: string): Promise<void>;
|
||||
|
||||
createLoginAttempt(attempt: LoginAttempt): Promise<void>;
|
||||
listRecentLoginAttempts(identifier: string, since: number): Promise<LoginAttempt[]>;
|
||||
|
||||
createSecurityEvent(event: AuthSecurityEvent): Promise<void>;
|
||||
listSecurityEvents(userId: string, limit?: number): Promise<AuthSecurityEvent[]>;
|
||||
}
|
||||
Reference in New Issue
Block a user