Auth Storage Adapter

Classes

Classes

AuthStorageAdapter

Constructor

constructor(config: AuthStorageAdapterConfig)

Parameters:

ParameterTypeRequiredDescription
configAuthStorageAdapterConfigYes

Methods

updateR2Binding

Update the R2 binding for the storage adapter This allows dynamic injection of R2 binding at runtime

updateR2Binding(r2Binding: any): void

Parameters:

ParameterTypeRequiredDescription
r2BindinganyYes

createUser

Create a new user

createUser(user: Omit<AdapterUser, "id">): Promise<AdapterUser>

Parameters:

ParameterTypeRequiredDescription
userOmit<AdapterUser, "id">Yes

Returns:

Promise<AdapterUser> -

getUser

Get user by ID

getUser(id: string): Promise<AdapterUser | null>

Parameters:

ParameterTypeRequiredDescription
idstringYes

Returns:

Promise<AdapterUser \| null> -

getUserByEmail

Get user by email

getUserByEmail(email: string): Promise<AdapterUser | null>

Parameters:

ParameterTypeRequiredDescription
emailstringYes

Returns:

Promise<AdapterUser \| null> -

getUserByAccount

Get user by account (provider + providerAccountId)

getUserByAccount({
    provider,
    providerAccountId,
  }: Pick<AdapterAccount, "provider" | "providerAccountId">): Promise<AdapterUser | null>

Parameters:

ParameterTypeRequiredDescription
`{

provider, providerAccountId, }|Pick<AdapterAccount, "provider" | "providerAccountId">` | Yes | |

Returns:

Promise<AdapterUser \| null> -

updateUser

Update user

updateUser(user: Partial<AdapterUser> & Pick<AdapterUser, "id">): Promise<AdapterUser>

Parameters:

ParameterTypeRequiredDescription
userPartial<AdapterUser> & Pick<AdapterUser, "id">Yes

Returns:

Promise<AdapterUser> -

deleteUser

Delete user

deleteUser(userId: string): Promise<void>

Parameters:

ParameterTypeRequiredDescription
userIdstringYes

Returns:

Promise<void> -

Link account to user

linkAccount(account: AdapterAccount): Promise<void>

Parameters:

ParameterTypeRequiredDescription
accountAdapterAccountYes

Returns:

Promise<void> -

Unlink account

unlinkAccount({
    provider,
    providerAccountId,
  }: Pick<AdapterAccount, "provider" | "providerAccountId">): Promise<void>

Parameters:

ParameterTypeRequiredDescription
`{

provider, providerAccountId, }|Pick<AdapterAccount, "provider" | "providerAccountId">` | Yes | |

Returns:

Promise<void> -

getAccount

Get account by provider account id and provider

getAccount(providerAccountId: string, provider: string): Promise<AdapterAccount | null>

Parameters:

ParameterTypeRequiredDescription
providerAccountIdstringYes
providerstringYes

Returns:

Promise<AdapterAccount \| null> -

createSession

Create session

createSession(session: { sessionToken: string; userId: string; expires: Date; }): Promise<AdapterSession>

Parameters:

ParameterTypeRequiredDescription
session{ sessionToken: string; userId: string; expires: Date; }Yes

Returns:

Promise<AdapterSession> -

getSessionAndUser

Get session and user

getSessionAndUser(sessionToken: string): Promise<{ session: AdapterSession; user: AdapterUser; } | null>

Parameters:

ParameterTypeRequiredDescription
sessionTokenstringYes

Returns:

Promise<{ session: AdapterSession; user: AdapterUser; } \| null> -

updateSession

Update session

updateSession(session: Partial<AdapterSession> & Pick<AdapterSession, "sessionToken">): Promise<AdapterSession | null>

Parameters:

ParameterTypeRequiredDescription
sessionPartial<AdapterSession> & Pick<AdapterSession, "sessionToken">Yes

Returns:

Promise<AdapterSession \| null> -

deleteSession

Delete session

deleteSession(sessionToken: string): Promise<void>

Parameters:

ParameterTypeRequiredDescription
sessionTokenstringYes

Returns:

Promise<void> -

createVerificationToken

Create verification token

createVerificationToken(verificationToken: VerificationToken): Promise<VerificationToken | null>

Parameters:

ParameterTypeRequiredDescription
verificationTokenVerificationTokenYes

Returns:

Promise<VerificationToken \| null> -

useVerificationToken

Use verification token (consume and delete)

useVerificationToken({
    identifier,
    token,
  }: { identifier: string; token: string; }): Promise<VerificationToken | null>

Parameters:

ParameterTypeRequiredDescription
`{

identifier, token, }|{ identifier: string; token: string; }` | Yes | |

Returns:

Promise<VerificationToken \| null> -

createAuthenticator

Create authenticator

createAuthenticator(authenticator: AdapterAuthenticator): Promise<AdapterAuthenticator>

Parameters:

ParameterTypeRequiredDescription
authenticatorAdapterAuthenticatorYes

Returns:

Promise<AdapterAuthenticator> -

listAuthenticatorsByUserId

Get authenticators for user

listAuthenticatorsByUserId(userId: string): Promise<AdapterAuthenticator[]>

Parameters:

ParameterTypeRequiredDescription
userIdstringYes

Returns:

Promise<AdapterAuthenticator[]> -

getAuthenticator

Get authenticator by credential ID

getAuthenticator(credentialID: string): Promise<AdapterAuthenticator | null>

Parameters:

ParameterTypeRequiredDescription
credentialIDstringYes

Returns:

Promise<AdapterAuthenticator \| null> -

updateAuthenticatorCounter

Update authenticator counter

updateAuthenticatorCounter(credentialID: string, counter: number): Promise<AdapterAuthenticator>

Parameters:

ParameterTypeRequiredDescription
credentialIDstringYes
counternumberYes

Returns:

Promise<AdapterAuthenticator> -

BaseStorageAdapter

Base storage adapter interface

Methods

createDocument

createDocument(domainId: string, collectionName: string, version: number, doc: SyncDoc): Promise<SyncDoc>

Parameters:

ParameterTypeRequiredDescription
domainIdstringYes
collectionNamestringYes
versionnumberYes
docSyncDocYes

Returns:

Promise<SyncDoc> -

queryDocument

queryDocument(domainId: string, collectionName: string, version: number, id: string): Promise<SyncDoc | null>

Parameters:

ParameterTypeRequiredDescription
domainIdstringYes
collectionNamestringYes
versionnumberYes
idstringYes

Returns:

Promise<SyncDoc \| null> -

updateDocument

updateDocument(domainId: string, collectionName: string, version: number, doc: SyncDoc): Promise<SyncDoc>

Parameters:

ParameterTypeRequiredDescription
domainIdstringYes
collectionNamestringYes
versionnumberYes
docSyncDocYes

Returns:

Promise<SyncDoc> -

deleteDocument

deleteDocument(domainId: string, collectionName: string, version: number, id: string): Promise<void>

Parameters:

ParameterTypeRequiredDescription
domainIdstringYes
collectionNamestringYes
versionnumberYes
idstringYes

Returns:

Promise<void> -

queryDocumentsByField

queryDocumentsByField(options: QueryByFieldOptions): Promise<SyncDoc[]>

Parameters:

ParameterTypeRequiredDescription
optionsQueryByFieldOptionsYes

Returns:

Promise<SyncDoc[]> -

queryDocumentsByConditions

queryDocumentsByConditions(options: QueryByConditionsOptions): Promise<SyncDoc[]>

Parameters:

ParameterTypeRequiredDescription
optionsQueryByConditionsOptionsYes

Returns:

Promise<SyncDoc[]> -

deleteDocumentsByField

deleteDocumentsByField(options: DeleteByFieldOptions): Promise<void>

Parameters:

ParameterTypeRequiredDescription
optionsDeleteByFieldOptionsYes

Returns:

Promise<void> -

findAndDeleteDocument

findAndDeleteDocument(options: FindAndDeleteOptions): Promise<SyncDoc | null>

Parameters:

ParameterTypeRequiredDescription
optionsFindAndDeleteOptionsYes

Returns:

Promise<SyncDoc \| null> -

RemoteStorageAdapter

Remote storage adapter implementation (stub) This is a placeholder that throws errors - should be implemented with actual storage logic

Constructor

constructor(config: RemoteStorageConfig)

Parameters:

ParameterTypeRequiredDescription
configRemoteStorageConfigYes

Methods

createDocument

createDocument(domainId: string, collectionName: string, version: number, doc: SyncDoc): Promise<SyncDoc>

Parameters:

ParameterTypeRequiredDescription
domainIdstringYes
collectionNamestringYes
versionnumberYes
docSyncDocYes

Returns:

Promise<SyncDoc> -

queryDocument

queryDocument(domainId: string, collectionName: string, version: number, id: string): Promise<SyncDoc | null>

Parameters:

ParameterTypeRequiredDescription
domainIdstringYes
collectionNamestringYes
versionnumberYes
idstringYes

Returns:

Promise<SyncDoc \| null> -

updateDocument

updateDocument(domainId: string, collectionName: string, version: number, doc: SyncDoc): Promise<SyncDoc>

Parameters:

ParameterTypeRequiredDescription
domainIdstringYes
collectionNamestringYes
versionnumberYes
docSyncDocYes

Returns:

Promise<SyncDoc> -

deleteDocument

deleteDocument(domainId: string, collectionName: string, version: number, id: string): Promise<void>

Parameters:

ParameterTypeRequiredDescription
domainIdstringYes
collectionNamestringYes
versionnumberYes
idstringYes

Returns:

Promise<void> -

queryDocumentsByField

queryDocumentsByField(options: QueryByFieldOptions): Promise<SyncDoc[]>

Parameters:

ParameterTypeRequiredDescription
optionsQueryByFieldOptionsYes

Returns:

Promise<SyncDoc[]> -

queryDocumentsByConditions

queryDocumentsByConditions(options: QueryByConditionsOptions): Promise<SyncDoc[]>

Parameters:

ParameterTypeRequiredDescription
optionsQueryByConditionsOptionsYes

Returns:

Promise<SyncDoc[]> -

deleteDocumentsByField

deleteDocumentsByField(options: DeleteByFieldOptions): Promise<void>

Parameters:

ParameterTypeRequiredDescription
optionsDeleteByFieldOptionsYes

Returns:

Promise<void> -

findAndDeleteDocument

findAndDeleteDocument(options: FindAndDeleteOptions): Promise<SyncDoc | null>

Parameters:

ParameterTypeRequiredDescription
optionsFindAndDeleteOptionsYes

Returns:

Promise<SyncDoc \| null> -

Previous
Types