跳到主要內容

類型

Blocklet Server Client API 利用多種 GraphQL 類型來建構查詢和變異的資料。本節為整個 API 中使用的所有資料類型、輸入物件、列舉和純量提供了全面的參考。了解這些類型對於建構有效的請求和解釋來自 Blocklet Server 的回應至關重要。

純量類型

純量類型代表 GraphQL 查詢的葉節點。它們是像字串、數字或布林值這樣的原始值。

純量描述
String代表文字資料,以 UTF-8 字元序列表示。
Boolean代表 truefalse
Int代表有符號的 32 位元整數。
Float代表有符號的雙精度浮點數值。
ID代表唯一的識別碼,常用於重新擷取物件或作為快取的鍵。
Any代表任何與 JSON 相容的值。
Bytes代表位元組陣列。
Int32代表 32 位元有符號整數。
Uint32代表 32 位元無符號整數。
Int64代表 64 位元有符號整數。
Uint64代表 64 位元無符號整數。
Float32代表 32 位元浮點數。
Upload代表檔案上傳,通常用於變異中。

列舉類型

列舉是一種特殊的純量,其值被限制在一組特定的允許值中。

BackendServiceType

定義路由規則指向的後端服務類型。

描述
daemon服務是節點守護程序本身。
blocklet服務是正在運行的 blocklet。
redirect規則執行 HTTP 重定向。
none未設定後端服務。
general_proxy規則作為指定 URL 的通用代理。
direct_response規則返回直接的靜態回應。
rewrite規則重寫請求路徑。
component服務是 blocklet 中的特定元件。

BackupTo

指定 blocklet 備份的目的地。

描述
spaces備份到去中心化儲存空間。
disk備份到本機磁碟。

BlockletSource

指示 blocklet 的安裝來源。

描述
registry從 blocklet 註冊表/商店安裝。
local從本機目錄安裝。
upload從上傳的檔案安裝。
url從直接的 URL 安裝。
custom透過自訂或未知的方法安裝。

BlockletStatus

代表 blocklet 目前的生命週期狀態。

描述
addedBlocklet 已新增但尚未下載。
downloadingBlocklet 正在下載中。
downloadedBlocklet 已成功下載。
installingBlocklet 正在安裝中。
installedBlocklet 已安裝但未運行。
startingBlocklet 正在啟動中。
runningBlocklet 目前正在運行。
stoppingBlocklet 正在停止中。
stoppedBlocklet 已停止。
errorBlocklet 的生命週期中發生錯誤。
upgradingBlocklet 正在升級中。
restartingBlocklet 正在重新啟動。
corruptedBlocklet 安裝已損壞。
waitingBlocklet 正在等待依賴項或資源。
deletedBlocklet 已被刪除。
unknownBlocklet 的狀態未知。

HeaderMatchType

定義路由規則中 HTTP 標頭的匹配策略。

描述
exact標頭值必須完全匹配。
partial標頭值必須包含指定的字串。
regexp標頭值必須匹配指定的正規表示式。

Notification_NotificationSeverity

定義通知的嚴重性級別。

描述
info資訊性訊息。
success表示操作成功。
error表示發生錯誤。
warning表示潛在問題或警告。

Notification_NotificationSource

指定通知的來源。

描述
system通知源自系統/節點。
component通知源自 blocklet 元件。

Notification_NotificationType

定義通知的類型或類別。

描述
notification標準通知訊息。
connect與 DID Connect 相關的通知。
feed動態消息風格的更新。
hi簡單的問候或測試通知。
passthrough未經特殊處理直接傳遞的通知。

NotificationActivity_ActivityTypeEnum

定義動態消息風格通知的使用者活動類型。

描述
comment使用者發表了評論。
like使用者對某個項目按讚。
follow使用者追蹤了另一位使用者或項目。
tips使用者發送了小費。
mention使用者被提及。
assign使用者被指派了任務。
un_assign使用者被取消指派任務。

NotificationAttachmentType

定義通知中包含的附件類型。

描述
asset數位資產。
vc可驗證憑證。
token數位代幣。
text純文字附件。
image圖片附件。
divider用於格式化的視覺分隔線。
transaction交易記錄。
dapp去中心化應用程式連結。
link超連結。
section格式化的內容區塊。

PublishType

指定正在發布的產物類型。

描述
resource單一資源檔案。
pack打包的 blocklet 束。

ReleaseStatus

指示發布專案中某個版本的狀態。

描述
draft該版本是草稿,尚未發布。
published該版本已發布。

SenderType

定義 webhook 發送者的類型。

描述
slackSlack webhook。
api通用 API webhook。

StatusCode

代表 API 回應的狀態碼。

描述
ok請求成功。
blocklet_not_found找不到請求的 blocklet。
blocklet_not_purchased請求的 blocklet 尚未購買。
forbidden由於權限不足,請求被禁止。
internal發生內部伺服器錯誤。
timeout請求超時。

輸入物件

輸入物件是複雜的類型,用作變異和查詢的參數,讓您可以在單一參數中傳遞結構化資料。

AigneConfigInput

AI 閘道 (Aigne) 的設定。

  • provider String — AI 服務提供者(例如 'openai')。
  • model String — 要使用的特定模型(例如 'gpt-4')。
  • key String — 該服務的 API 金鑰。
  • url String — API 端點的基礎 URL。
  • accessKeyId String — 存取金鑰 ID,適用於像 AWS 這樣的提供者。
  • secretAccessKey String — 秘密存取金鑰,適用於像 AWS 這樣的提供者。
  • validationResult String — 上次連線驗證的結果。

AutoBackupInput

自動備份的設定。

  • enabled Boolean — 是否啟用自動備份。

AutoBlockPolicyInput

自動 IP 封鎖策略的設定。

  • enabled Boolean — 是否啟用自動封鎖。
  • windowSize Uint32 — 監控請求的時間窗口(秒)。
  • windowQuota Uint32 — 時間窗口內允許的最大請求數。
  • blockDuration Uint32 — 超過配額後封鎖 IP 的持續時間(秒)。
  • statusCodes [Uint32!] — 用於考慮封鎖的 HTTP 狀態碼列表。

AutoCheckUpdateInput

自動更新檢查的設定。

  • enabled Boolean — 是否啟用自動更新檢查。

BaseUserInfoInput

用於各種輸入類型的基本使用者資訊。

  • did String — 使用者的去中心化識別碼 (DID)。
  • pk String — 使用者的公鑰。
  • role String — 使用者的角色。
  • avatar String — 使用者頭像圖片的 URL。
  • fullName String — 使用者的全名。
  • email String — 使用者的電子郵件地址。
  • approved Boolean — 使用者是否已獲批准。
  • createdAt Uint32 — 使用者建立時的時間戳。
  • updatedAt Uint32 — 使用者個人資料上次更新的時間戳。
  • locale String — 使用者的偏好地區設定(例如 'en')。

BlockPolicyInput

IP 封鎖策略的設定。

  • enabled Boolean — 是否啟用封鎖策略。
  • blacklist [String!] — 永久封鎖的 IP 位址列表。
  • autoBlocking AutoBlockPolicyInput — 自動 IP 封鎖的設定。

BlockletAccessPolicyInput

定義一個 blocklet 存取策略。

  • id String — 策略的唯一識別碼。
  • name String — 策略的描述性名稱。
  • description String — 策略的詳細描述。
  • roles Any — 此策略適用的角色。
  • reverse Boolean — 若為 true,則策略邏輯反轉(拒絕而非允許)。
  • isProtected Boolean — 若為 true,則該策略不能輕易修改或刪除。

BlockletAccessPolicyQueryInput

用於查詢 BlockletAccessPolicy 物件的輸入。

  • search String — 用於按名稱或描述篩選策略的搜尋字串。

BlockletDistInput

描述 blocklet 的分發檔案。

  • tarball String — blocklet 的 tarball 檔案的 URL。
  • integrity String — 用於驗證的 tarball 的完整性雜湊值。

BlockletDockerInput

定義 blocklet 的 Docker 相關設定。

  • dockerImage String — 要使用的 Docker 映像名稱。
  • dockerArgs [DockerRunKeyValuePairInput!] — 傳遞給 docker run 指令的參數。
  • dockerEnvs [DockerEnvKeyValuePairInput!] — 在容器中設定的環境變數。
  • dockerCommand String — 在容器內執行的指令。

BlockletGatewayInput

blocklet 閘道設定的組態。

  • requestLimit RequestLimitInput — 請求限制設定。
  • blockPolicy BlockPolicyInput — IP 封鎖策略設定。
  • proxyPolicy ProxyPolicyInput — 代理策略設定。
  • cacheEnabled Boolean — 是否在閘道啟用快取。
  • wafPolicy WAFPolicyInput — Web 應用程式防火牆策略設定。
  • teamDid String — 與此設定關聯的團隊的 DID。

BlockletResponseHeaderPolicyInput

定義回應標頭策略。

  • id String — 策略的唯一識別碼。
  • name String — 策略的描述性名稱。
  • description String — 策略的詳細描述。
  • securityHeader String — 與安全相關的標頭的 JSON 字串。
  • cors String — CORS 標頭的 JSON 字串。
  • customHeader String — 要新增的自訂標頭的 JSON 字串。
  • removeHeader String — 要移除的標頭的 JSON 字串。
  • isProtected Boolean — 若為 true,則該策略不能輕易修改或刪除。

BlockletResponseHeaderPolicyQueryInput

用於查詢 BlockletResponseHeaderPolicy 物件的輸入。

  • search String — 用於按名稱或描述篩選策略的搜尋字串。

BlockletSecurityRuleInput

定義一個安全規則,該規則為特定路徑結合了存取和標頭策略。

  • id String — 規則的唯一識別碼。
  • pathPattern String — 此規則適用的 URL 路徑模式。
  • componentDid String — 與此規則關聯的元件的 DID。
  • priority Uint32 — 規則的執行優先級(數字越小越先執行)。
  • responseHeaderPolicyId String — 要應用的回應標頭策略的 ID。
  • accessPolicyId String — 要應用的存取策略的 ID。
  • enabled Boolean — 規則目前是否啟用。
  • remark String — 關於規則的選用備註或說明。
  • accessPolicy BlockletAccessPolicyInput — 完整的存取策略物件(用於建立新規則時)。
  • responseHeaderPolicy BlockletResponseHeaderPolicyInput — 完整的回應標頭策略物件(用於建立新規則時)。

BlockletSecurityRuleQueryInput

用於查詢 BlockletSecurityRule 物件的輸入。

  • search String — 用於按路徑模式或備註篩選規則的搜尋字串。

BlockletStoreInput

代表一個 blocklet 商店/註冊表。

  • name String — 商店的名稱。
  • description String — 商店的描述。
  • url String — 商店的 URL。
  • logoUrl String — 商店標誌的 URL。
  • maintainer String — 商店的維護者。
  • cdnUrl String — 商店使用的 CDN URL。
  • protected Boolean — 商店是否需要身份驗證。
  • id String — 商店的唯一識別碼。
  • scope String — 商店的範圍(例如 'public', 'private')。

ConfigEntryInput

代表單一的設定鍵值對。

  • key String — 設定鍵。
  • value String — 設定值。
  • required Boolean — 此設定是否為必需。
  • description String — 設定項的描述。
  • validation String — 值的驗證規則或模式。
  • secure Boolean — 若為 true,則該值是敏感的,應作為秘密處理。
  • custom Boolean — 若為 true,則這是使用者自訂的設定。
  • shared Boolean — 若為 true,則此設定在元件之間共享。

ConfigNavigationInput

代表使用者介面中的導覽項目。

  • id String — 導覽項目的唯一 ID。
  • title String — 顯示的標題。
  • link String — 目標 URL 或路徑。
  • icon String — 導覽項目的圖示。
  • section String — 此項目應出現的區段(例如 'sidebar')。
  • component String — 此導覽項目所屬的元件。
  • parent String — 父導覽項目的 ID(如果有的話)。
  • role String — 查看此項目所需的角色。
  • visible Boolean — 項目是否可見。
  • from String — 此導覽設定的來源(例如 'blocklet', 'user')。
  • activeIcon String — 導覽項目處於活動狀態時顯示的圖示。
  • color String — 導覽項目文字的顏色。
  • activeColor String — 導覽項目處於活動狀態時的顏色。
  • description String — 導覽項目的描述。
  • private Boolean — 表示導覽項目是否為私有。

ConnectedAccountInfoInput

來自第三方提供者的使用者帳戶資訊。

  • name String — 來自提供者的使用者名稱。
  • picture String — 使用者個人資料圖片的 URL。
  • email String — 來自提供者的使用者電子郵件。
  • emailVerified Boolean — 電子郵件是否已由提供者驗證。
  • sub String — 來自提供者的主體識別碼。
  • extraData Any — 來自提供者的任何額外資料。

ConnectedAccountInput

代表使用者已連接的第三方帳戶。

  • provider String — 第三方提供者的名稱(例如 'github')。
  • did String — 與此已連接帳戶關聯的 DID。
  • pk String — 公鑰。
  • id String — 連接的唯一 ID。
  • lastLoginAt Uint32 — 使用此帳戶上次登入的時間戳。
  • userInfo ConnectedAccountInfoInput — 來自提供者的詳細使用者資訊。
  • extra Any — 任何額外的元資料。

DockerEnvKeyValuePairInput

代表 Docker 容器的單一環境變數。

  • key String — 環境變數的鍵。
  • value String — 環境變數的值。
  • description String — 變數的描述。
  • secure Boolean — 若為 true,則該值是敏感的。
  • shared Boolean — 若為 true,則該變數是共享的。
  • required Boolean — 若為 true,則必須設定此變數。
  • custom String — 表示這是否為自訂變數。

DockerRunKeyValuePairInput

代表 Docker run 參數的鍵值對,例如磁碟區掛載或連接埠映射。

  • key String — 參數的鍵(例如 '-v', '-p')。
  • value String — 參數的值。
  • path String — 磁碟區掛載的路徑。
  • type String — 參數的類型。
  • name String — 參數的名稱。
  • prefix String — 參數的前綴。
  • protocol String — 連接埠映射的協議(例如 'tcp')。
  • proxyBehavior String — 定義此參數如何影響代理行為。

DownloadTokenInput

用於下載私有 blocklet 的權杖。

  • did String — 需要權杖的 blocklet 的 DID。
  • token String — 下載權杖。

EnableEventInput

用於為 webhook 啟用特定事件的結構。

  • type String — 事件的類型(例如 'blocklet.started')。
  • source String — 事件的來源。

GatewayInput

用於設定主節點閘道的結構。

  • requestLimit RequestLimitInput — 請求限制設定。
  • blockPolicy BlockPolicyInput — IP 封鎖策略設定。
  • proxyPolicy ProxyPolicyInput — 代理策略設定。
  • cacheEnabled Boolean — 是否在閘道啟用快取。
  • wafPolicy WAFPolicyInput — Web 應用程式防火牆策略設定。

HashFileInput

代表一個檔案及其對應的雜湊值。

  • file String — 檔案的路徑。
  • hash String — 檔案內容的雜湊值。

InviteSettingsInput

用於設定使用者邀請設定的結構。

  • enabled Boolean — 是否啟用使用者邀請。

IssuerInput

代表憑證或護照的發行者。

  • id String — 發行者的 DID。
  • name String — 發行者的名稱。
  • pk String — 發行者的公鑰。

LoginEmailSettingsInput

基於電子郵件的登入設定的結構。

  • enabled Boolean — 是否啟用電子郵件登入。
  • requireVerified Boolean — 若為 true,使用者必須驗證他們的電子郵件地址。
  • requireUnique Boolean — 若為 true,電子郵件地址在所有使用者中必須是唯一的。
  • trustOauthProviders Boolean — 若為 true,來自 OAuth 提供者的電子郵件地址預設被信任。
  • enableDomainBlackList Boolean — 是否使用網域黑名單。
  • domainBlackList [String!] — 要封鎖的電子郵件網域列表。
  • enableDomainWhiteList Boolean — 是否使用網域白名單。
  • domainWhiteList [String!] — 允許的電子郵件網域列表。
  • trustedIssuers [IssuerInput!] — 用於電子郵件驗證的受信任發行者列表。

LoginPhoneSettingsInput

基於電話的登入設定的結構。

  • enabled Boolean — 是否啟用電話登入。
  • requireVerified Boolean — 若為 true,使用者必須驗證他們的電話號碼。
  • requireUnique Boolean — 若為 true,電話號碼必須是唯一的。
  • trustedIssuers [IssuerInput!] — 用於電話驗證的受信任發行者列表。
  • enableRegionBlackList Boolean — 是否使用地區黑名單。
  • regionBlackList [String!] — 被封鎖的國家代碼列表。
  • enableRegionWhiteList Boolean — 是否使用地區白名單。
  • regionWhiteList [String!] — 允許的國家代碼列表。

NodeInfoInput

用於更新節點資訊的結構。

  • name String — 節點的顯示名稱。
  • description String — 節點的描述。
  • autoUpgrade Boolean — 節點是否應自動升級。
  • enableWelcomePage Boolean — 是否顯示歡迎頁面。
  • registerUrl String — 使用者註冊的 URL。
  • webWalletUrl String — 網路錢包的 URL。
  • blockletRegistryList [BlockletStoreInput!] — 已設定的 blocklet 註冊表列表。
  • diskAlertThreshold Uint32 — 觸發警報的磁碟使用率百分比。
  • enableBetaRelease Boolean — 是否允許安裝 beta 版本。
  • nftDomainUrl String — NFT 網域服務的 URL。
  • enableFileSystemIsolation Boolean — 是否隔離 blocklet 檔案系統。
  • enableDocker Boolean — 是否為 blocklet 啟用 Docker。
  • isDockerInstalled Boolean — 唯讀欄位,指示 Docker 是否已安裝。
  • enableDockerNetwork Boolean — 是否啟用自訂 Docker 網路。
  • enableSessionHardening Boolean — 是否啟用進階會話安全功能。

OauthClientInput

用於建立或更新 OAuth 客戶端的結構。

  • redirectUris [String!] — 允許的重定向 URI 陣列。
  • tokenEndpointAuthMethod String — 權杖端點的身份驗證方法。
  • grantTypes [String!] — 此客戶端允許使用的 OAuth 授權類型。
  • responseTypes [String!] — 此客戶端允許使用的 OAuth 回應類型。
  • clientName String — 客戶端應用程式的名稱。
  • clientId String — 客戶端的唯一 ID。
  • clientSecret String — 客戶端密鑰。

PagingInput

分頁參數的標準結構。

  • page Uint32 — 要檢索的頁碼。
  • pageSize Uint32 — 每頁的項目數。

PassportDisplayInput

用於定義護照顯示方式的結構。

  • type String — 顯示類型(例如 'text', 'image')。
  • content String — 要顯示的內容。

PermissionInput

用於建立或更新權限的結構。

  • name String — 權限的名稱(例如 'user')。
  • description String — 權限允許的操作描述。
  • isProtected Boolean — 若為 true,則該權限不能輕易修改或刪除。

ProxyPolicyInput

用於設定代理行為的結構。

  • enabled Boolean — 是否啟用代理策略。
  • trustRecursive Boolean — 是否信任鏈中的所有代理。
  • trustedProxies [String!] — 受信任的代理 IP 位址列表。
  • realIpHeader String — 用於識別真實客戶端 IP 的 HTTP 標頭。

RequestLimitInput

用於設定請求速率限制的結構。

  • enabled Boolean — 是否啟用速率限制。
  • global Uint32 — 全域請求限制。
  • rate Uint32 — 每個時間單位的請求數。
  • methods [String!] — 此限制適用的 HTTP 方法。

RoleUpdateInput

用於更新使用者角色的結構。

  • name String — 角色的唯一名稱。
  • title String — 角色的易讀標題。
  • description String — 角色的描述。
  • extra String — 角色的額外元資料(JSON 格式)。

RoutingRuleInput

用於定義路由規則的結構。

  • id String — 規則的唯一 ID。
  • from RoutingRuleFromInput — 規則的來源標準。
  • to RoutingRuleToInput — 規則的目的地目標。
  • isProtected Boolean — 若為 true,則該規則不能輕易修改或刪除。

SessionConfigInput

用於設定使用者會話設定的結構。

  • cacheTtl Uint32 — 會話快取的存活時間 (TTL),以秒為單位。
  • ttl Uint32 — 會話本身的 TTL,以秒為單位。
  • email LoginEmailSettingsInput — 電子郵件登入設定。
  • phone LoginPhoneSettingsInput — 電話登入設定。
  • salt String — 用於生成會話金鑰的鹽值。
  • enableBlacklist Boolean — 是否啟用會話黑名單。

TagInput

用於建立或更新標籤的結構。

  • id Uint32 — 標籤的唯一 ID(用於更新)。
  • title String — 標籤的標題。
  • description String — 標籤的描述。
  • color String — 與標籤關聯的顏色(十六進位碼)。

UserAddressInput

用於使用者實體地址的結構。

  • country String — 國家。
  • province String — 州或省。
  • city String — 城市。
  • postalCode String — 郵遞區號。
  • line1 String — 地址的第一行。
  • line2 String — 地址的第二行。

UserInfoInput

用於使用者資訊的綜合結構,用於建立或更新使用者。

  • did String — 使用者的 DID。
  • pk String — 使用者的公鑰。
  • role String — 使用者被指派的角色。
  • avatar String — 使用者頭像的 URL。
  • fullName String — 使用者的全名。
  • email String — 使用者的電子郵件地址。
  • approved Boolean — 使用者的帳戶是否已獲批准。
  • remark String — 關於使用者的管理備註。
  • extra Any — JSON 格式的額外元資料。
  • tags [TagInput!] — 與使用者關聯的標籤列表。
  • address UserAddressInput — 使用者的實體地址。

UserQueryInput

用於篩選和查詢使用者的結構。

  • role String — 按角色篩選使用者。
  • approved Boolean — 按批准狀態篩選使用者。
  • search String — 用於匹配使用者欄位的搜尋詞。
  • tags [Uint32!] — 按關聯的標籤 ID 篩選使用者。
  • includeTags Boolean — 是否在回應中包含標籤詳細資訊。
  • includeUserSessions Boolean — 是否在回應中包含會話詳細資訊。

UserSessionQueryInput

用於查詢使用者會話的結構。

  • userDid String — 按使用者 DID 篩選會話。
  • visitorId String — 按訪客 ID 篩選會話。
  • appPid String — 按應用程式 PID 篩選會話。
  • status String — 按狀態篩選會話(例如 'active')。
  • includeUser Boolean — 是否在回應中包含使用者詳細資訊。

WAFPolicyInput

Web 應用程式防火牆 (WAF) 設定的結構。

  • enabled Boolean — WAF 是否啟用。
  • mode String — WAF 的操作模式(例如 'detection', 'blocking')。
  • inboundAnomalyScoreThreshold Uint32 — 入站流量的異常分數閾值。
  • outboundAnomalyScoreThreshold Uint32 — 出站流量的異常分數閾值。
  • logLevel Uint32 — WAF 事件的記錄級別。

WebHookParamInput

用於定義 webhook 參數的結構。

  • name String — 參數的名稱。
  • description String — 參數的描述。
  • required Boolean — 參數是否為必需。
  • defaultValue String — 參數的預設值。
  • value String — 參數的當前值。
  • type String — 參數的資料類型(例如 'string')。

WebhookEndpointStateInput

用於建立或更新 webhook 端點的結構。

  • url String — 將發送 webhook 負載的 URL。
  • description String — webhook 端點的描述。
  • enabledEvents [EnableEventInput!] — 此端點訂閱的事件列表。
  • status String — 端點的狀態(例如 'enabled', 'disabled')。