Blocklet Server Client API 利用多種 GraphQL 類型來建構查詢和變異的資料。本節為整個 API 中使用的所有資料類型、輸入物件、列舉和純量提供了全面的參考。了解這些類型對於建構有效的請求和解釋來自 Blocklet Server 的回應至關重要。
純量類型
純量類型代表 GraphQL 查詢的葉節點。它們是像字串、數字或布林值這樣的原始值。
| 純量 | 描述 |
|---|---|
String | 代表文字資料,以 UTF-8 字元序列表示。 |
Boolean | 代表 true 或 false。 |
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 目前的生命週期狀態。
| 值 | 描述 |
|---|---|
added | Blocklet 已新增但尚未下載。 |
downloading | Blocklet 正在下載中。 |
downloaded | Blocklet 已成功下載。 |
installing | Blocklet 正在安裝中。 |
installed | Blocklet 已安裝但未運行。 |
starting | Blocklet 正在啟動中。 |
running | Blocklet 目前正在運行。 |
stopping | Blocklet 正在停止中。 |
stopped | Blocklet 已停止。 |
error | Blocklet 的生命週期中發生錯誤。 |
upgrading | Blocklet 正在升級中。 |
restarting | Blocklet 正在重新啟動。 |
corrupted | Blocklet 安裝已損壞。 |
waiting | Blocklet 正在等待依賴項或資源。 |
deleted | Blocklet 已被刪除。 |
unknown | Blocklet 的狀態未知。 |
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 發送者的類型。
| 值 | 描述 |
|---|---|
slack | Slack 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')。