@auth/neo4j-adapter
Auth.js / NextAuth.js 的官方 Neo4j 适配器。
安裝
npm install @auth/neo4j-adapter neo4j-driver
Neo4jOptions
這是 Neo4j 适配器選項的介面。Neo4j 适配器只接受一個 Neo4j 會話作為其唯一參數。
繼承
Session
方法
_acquireConnection()
private _acquireConnection<T>(connectionConsumer): Promise<T>
此方法由 neo4j-driver-bolt-protocol 套件上的 Rediscovery 使用。
類型參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
connectionConsumer | ConnectionConsumer <T > | 將使用連線的方法 |
回傳
Promise
<T
>
連線 Promise
繼承自
Session._acquireConnection
_assertSessionIsOpen()
private _assertSessionIsOpen(): void
回傳
void
繼承自
Session._assertSessionIsOpen
_beginTransaction()
_beginTransaction(
accessMode,
txConfig,
apiTelemetryConfig?): TransactionPromise
參數
參數 | 類型 |
---|---|
accessMode | SessionMode |
txConfig | TxConfig |
apiTelemetryConfig ? | NonAutoCommitApiTelemetryConfig |
回傳
TransactionPromise
繼承自
Session._beginTransaction
_connectionHolderWithMode()
_connectionHolderWithMode(mode): ConnectionHolder
參數
參數 | 類型 |
---|---|
mode | SessionMode |
回傳
ConnectionHolder
繼承自
Session._connectionHolderWithMode
_onCompleteCallback()
private _onCompleteCallback(meta, previousBookmarks?): void
參數
參數 | 類型 | 描述 |
---|---|---|
meta | Object | 連線元資料 |
meta.bookmark | string | string [] | - |
meta.db ? | string | - |
previousBookmarks ? | Bookmarks | - |
回傳
void
繼承自
Session._onCompleteCallback
_onDatabaseNameResolved()
private _onDatabaseNameResolved(database?): void
在會話內容中設定已解析的資料庫名稱。
參數
參數 | 類型 | 描述 |
---|---|---|
database ? | string | 已解析的資料庫名稱 |
回傳
void
繼承自
Session._onDatabaseNameResolved
_run()
_run<T>(
query,
parameters,
customRunner): Result<RecordShape>
類型參數
類型參數 | Value |
---|---|
T extends ResultStreamObserver | ResultStreamObserver |
參數
參數 | 類型 |
---|---|
query | 查詢 |
參數 | 任何 |
customRunner | ConnectionConsumer <T > |
回傳值
Result
<RecordShape
>
繼承自
Session._run
_runTransaction()
_runTransaction<T>(
accessMode,
transactionConfig,
transactionWork): Promise<T>
型別參數
類型參數 |
---|
T |
參數
參數 | 類型 |
---|---|
accessMode | SessionMode |
transactionConfig | TxConfig |
transactionWork | TransactionWork <T > |
回傳值
Promise
<T
>
繼承自
Session._runTransaction
_transactionClosed()
private _transactionClosed(): void
回傳值
void
繼承自
Session._transactionClosed
_updateBookmarks()
private _updateBookmarks(
newBookmarks?,
previousBookmarks?,
database?): void
更新上次書籤的值。
參數
參數 | 類型 | 描述 |
---|---|---|
newBookmarks ? | Bookmarks | 新的書籤。 |
previousBookmarks ? | Bookmarks | - |
database ? | string | - |
回傳值
void
繼承自
Session._updateBookmarks
beginTransaction()
beginTransaction(transactionConfig?): TransactionPromise
在此會話中開始新的交易。一個會話一次最多只能有一個交易正在運行,如果你想要運行多個並行交易,你應該使用多個並行會話。
當交易開啟時,不能使用會話在交易外運行查詢。
參數
參數 | 類型 | 描述 |
---|---|---|
transactionConfig ? | TransactionConfig | 新自動提交交易的設定。 |
回傳值
TransactionPromise
新的交易。
繼承自
Session.beginTransaction
close()
close(): Promise<void>
關閉此會話。
回傳值
Promise
<void
>
繼承自
Session.close
executeRead()
executeRead<T>(transactionWork, transactionConfig?): Promise<T>
在 READ 交易中執行給定的工作單元。
除非給定的函數拋出或返回拒絕的 promise,否則交易將自動提交。給定函數或提交本身的一些失敗將以指數退避重試,初始延遲為 1 秒,最大重試時間為 30 秒。最大重試時間可透過驅動程式設定的 maxTransactionRetryTime
屬性(以毫秒為單位)設定。
型別參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
transactionWork | ManagedTransactionWork <T > | 回呼,執行針對 給定交易的操作。 |
transactionConfig ? | TransactionConfig | 用於啟動所有交易來執行工作單元的設定。 |
回傳值
Promise
<T
>
由給定函數返回的已解析 promise,或當給定函數或提交失敗時拒絕的 promise。
繼承自
Session.executeRead
executeWrite()
executeWrite<T>(transactionWork, transactionConfig?): Promise<T>
在 WRITE 交易中執行給定的工作單元。
除非給定的函數拋出或返回拒絕的 promise,否則交易將自動提交。給定函數或提交本身的一些失敗將以指數退避重試,初始延遲為 1 秒,最大重試時間為 30 秒。最大重試時間可透過驅動程式設定的 maxTransactionRetryTime
屬性(以毫秒為單位)設定。
型別參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
transactionWork | ManagedTransactionWork <T > | 回呼,執行針對 給定交易的操作。 |
transactionConfig ? | TransactionConfig | 用於啟動所有交易來執行工作單元的設定。 |
回傳值
Promise
<T
>
由給定函數返回的已解析 promise,或當給定函數或提交失敗時拒絕的 promise。
繼承自
Session.executeWrite
lastBookmark()
lastBookmark(): string[]
返回上次完成交易後收到的書籤。
回傳值
string
[]
先前交易的參考。
繼承自
Session.lastBookmark
已棄用
此方法將在 6.0 版本中移除。請改用 Session#lastBookmarks。
請參閱
lastBookmarks()
lastBookmarks(): string[]
返回上次完成交易後收到的書籤。
回傳值
string
[]
先前交易的參考。
繼承自
Session.lastBookmarks
readTransaction()
readTransaction<T>(transactionWork, transactionConfig?): Promise<T>
在 READ 交易中執行給定的工作單元。
除非給定的函數拋出或返回拒絕的 promise,否則交易將自動提交。給定函數或提交本身的一些失敗將以指數退避重試,初始延遲為 1 秒,最大重試時間為 30 秒。最大重試時間可透過驅動程式設定的 maxTransactionRetryTime
屬性(以毫秒為單位)設定。
型別參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
transactionWork | TransactionWork <T > | 回呼,執行針對 給定交易的操作。 |
transactionConfig ? | TransactionConfig | 用於啟動所有交易來執行工作單元的設定。 |
回傳值
Promise
<T
>
由給定函數返回的已解析 promise,或當給定函數或提交失敗時拒絕的 promise。
繼承自
Session.readTransaction
已棄用
此方法將在 6.0 版本中移除。請改用 Session#executeRead。
請參閱
run()
run<R>(
query,
parameters?,
transactionConfig?): Result<R>
運行 Cypher 查詢。可以使用查詢物件來呼叫,例如:{text: "MATCH ...", parameters: {param: 1}}
或使用查詢和參數作為單獨的引數。
型別參數
類型參數 | Value |
---|---|
R 繼承自 RecordShape | RecordShape |
參數
參數 | 類型 | 描述 |
---|---|---|
query | 查詢 | 要執行的 Cypher 查詢 |
參數 ? | 任何 | 用於查詢的參數對應 |
transactionConfig ? | TransactionConfig | 新自動提交交易的設定。 |
回傳值
Result
<R
>
新的結果。
繼承自
Session.run
writeTransaction()
writeTransaction<T>(transactionWork, transactionConfig?): Promise<T>
在 WRITE 交易中執行給定的工作單元。
除非給定的函數拋出或返回拒絕的 promise,否則交易將自動提交。給定函數或提交本身的一些失敗將以指數退避重試,初始延遲為 1 秒,最大重試時間為 30 秒。最大重試時間可透過驅動程式設定的 maxTransactionRetryTime
屬性(以毫秒為單位)設定。
型別參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
transactionWork | TransactionWork <T > | 回呼,執行針對 給定交易的操作。 |
transactionConfig ? | TransactionConfig | 用於啟動所有交易來執行工作單元的設定。 |
回傳值
Promise
<T
>
由給定函數返回的已解析 promise,或當給定函數或提交失敗時拒絕的 promise。
繼承自
Session.writeTransaction
已棄用
此方法將在 6.0 版本中移除。請改用 Session#executeWrite。
請參閱
format
const format: {
from: null | T;
to: Record<string, unknown>;
};
型別宣告
from()
採用 Neo4j 物件並返回一個簡單的 JavaScript 物件
型別參數
類型參數 | Value |
---|---|
T | Record <string , unknown > |
參數
參數 | 類型 |
---|---|
object ? | Record <string , any > |
回傳值
null
| T
to()
採用簡單的 JavaScript 物件並將其轉換為 Neo4j 相容的物件
參數
參數 | 類型 |
---|---|
object | Record <string , any > |
回傳值
Record
<string
, unknown
>
Neo4jAdapter()
Neo4jAdapter(session): Adapter
參數
參數 | 類型 |
---|---|
session | Session |