このセクションでは、パブリッシングプロジェクト、リリース、および関連リソースを管理するために使用されるGraphQLクエリの詳細なリファレンスを提供します。これらのクエリを使用すると、blockletのパブリッシングライフサイクルに関する情報を取得できます。プロジェクトやリリースの作成や更新など、このデータを変更する操作については、パブリッシング & プロジェクトのミューテーションドキュメントを参照してください。
getProjects
特定のblockletに関連付けられたパブリッシングプロジェクトのリストを取得します。
例
プロジェクトのリストを取得する
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchProjects() {
try {
const { projects, paging } = await client.getProjects({
input: {
did: 'z8ia262k3g55v12a874bf7ae1666c268882b6',
paging: {
page: 1,
pageSize: 10,
},
},
});
console.log('Projects:', projects);
console.log('Paging Info:', paging);
} catch (error) {
console.error('Error fetching projects:', error);
}
}
fetchProjects();パラメータ
- input
RequestGetProjectsInput(required) — クエリの入力オブジェクト。- did
string(required) — blockletのDID。 - paging
PagingInput— ページネーション情報。 - componentDid
string— コンポーネントDIDでプロジェクトをフィルタリングします。 - tenantScope
string— テナントスコープでプロジェクトをフィルタリングします。
- did
戻り値の型
Projectオブジェクトの配列とページネーションの詳細を含むResponseGetProjectsオブジェクトを返します。
レスポンス例
getProjects のレスポンス
{
"code": "ok",
"projects": [
{
"id": "z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3",
"type": "pack",
"blockletDid": "z8ia262k3g55v12a874bf7ae1666c268882b6",
"blockletTitle": "My Awesome Blocklet",
"createdAt": "2023-10-27T10:00:00.000Z",
"updatedAt": "2023-10-27T10:00:00.000Z",
"lastReleaseId": "z3t8b..._release_id_...",
"connectedStores": []
}
],
"paging": {
"page": 1,
"pageSize": 10,
"total": 1,
"pageCount": 1
}
}getProject
IDを使用して単一のパブリッシングプロジェクトの詳細を取得します。
例
単一のプロジェクトを取得する
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchProject(projectId) {
try {
const { project } = await client.getProject({
input: {
did: 'z8ia262k3g55v12a874bf7ae1666c268882b6',
projectId: projectId,
},
});
console.log('Project Details:', project);
} catch (error) {
console.error('Error fetching project:', error);
}
}
fetchProject('z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3');パラメータ
- input
RequestProjectInput(required) — クエリの入力オブジェクト。- did
string(required) — blockletのDID。 - projectId
string(required) — 取得するプロジェクトの一意の識別子。 - messageId
string— リクエストを追跡するためのメッセージ識別子。
- did
戻り値の型
Projectの詳細を含むResponseGetProjectオブジェクトを返します。
レスポンス例
getProject のレスポンス
{
"code": "ok",
"project": {
"id": "z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3",
"type": "pack",
"blockletDid": "z8ia262k3g55v12a874bf7ae1666c268882b6",
"blockletTitle": "My Awesome Blocklet",
"blockletDescription": "A blocklet that does awesome things.",
"autoUpload": true,
"connectedStores": []
}
}getReleases
指定されたパブリッシングプロジェクトのリリースリストを取得します。
例
プロジェクトのリリースを取得する
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchReleases(projectId) {
try {
const { releases } = await client.getReleases({
input: {
did: 'z8ia262k3g55v12a874bf7ae1666c268882b6',
projectId: projectId,
},
});
console.log('Releases:', releases);
} catch (error) {
console.error('Error fetching releases:', error);
}
}
fetchReleases('z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3');パラメータ
- input
RequestGetReleasesInput(required) — クエリの入力オブジェクト。- did
string(required) — blockletのDID。 - projectId
string(required) — リリースを取得するプロジェクトのID。 - paging
PagingInput— ページネーション情報。
- did
戻り値の型
Releaseオブジェクトの配列とページネーション情報を含むResponseGetReleasesオブジェクトを返します。
レスポンス例
getReleases のレスポンス
{
"code": "ok",
"releases": [
{
"id": "z3t8bCDE...",
"projectId": "z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3",
"blockletDid": "z8ia262k3g55v12a874bf7ae1666c268882b6",
"blockletVersion": "1.2.0",
"note": "Initial release with new features.",
"status": "published",
"createdAt": "2023-10-27T12:00:00.000Z"
}
],
"paging": {
"page": 1,
"pageSize": 10,
"total": 1,
"pageCount": 1
}
}getRelease
IDを使用して単一リリースの詳細を取得します。
例
単一のリリースを取得する
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchRelease(projectId, releaseId) {
try {
const { release } = await client.getRelease({
input: {
did: 'z8ia262k3g55v12a874bf7ae1666c268882b6',
projectId: projectId,
releaseId: releaseId,
},
});
console.log('Release Details:', release);
} catch (error) {
console.error('Error fetching release:', error);
}
}
fetchRelease('z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3', 'z3t8bCDE...');パラメータ
- input
RequestReleaseInput(required) — クエリの入力オブジェクト。- did
string(required) — blockletのDID。 - projectId
string(required) — 親プロジェクトのID。 - releaseId
string(required) — 取得するリリースの一意の識別子。
- did
戻り値の型
Releaseの詳細を含むResponseGetReleaseオブジェクトを返します。
レスポンス例
getRelease のレスポンス
{
"code": "ok",
"release": {
"id": "z3t8bCDE...",
"projectId": "z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3",
"blockletVersion": "1.2.0",
"blockletTitle": "My Awesome Blocklet",
"note": "Initial release with new features.",
"status": "published"
}
}getSelectedResources
リリース内の特定のコンポーネントに対して選択されたリソース識別子のリストを取得します。
例
リリースの選択されたリソースを取得する
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchSelectedResources(projectId, releaseId, componentDid) {
try {
const { resources } = await client.getSelectedResources({
input: {
did: 'z8ia262k3g55v12a874bf7ae1666c268882b6',
projectId: projectId,
releaseId: releaseId,
componentDid: componentDid,
},
});
console.log('Selected Resources:', resources);
} catch (error) {
console.error('Error fetching selected resources:', error);
}
}
fetchSelectedResources('z2qa7...', 'z3t8b...', 'z2qa...');パラメータ
- input
RequestGetSelectedResourcesInput(required) — クエリの入力オブジェクト。- did
string(required) — blockletのDID。 - projectId
string(required) — プロジェクトのID。 - releaseId
string(required) — リリースのID。 - componentDid
string(required) — 選択されたリソースを取得するコンポーネントのDID。
- did
戻り値の型
リソース文字列の配列を含むResponseGetSelectedResourcesオブジェクトを返します。
レスポンス例
getSelectedResources のレスポンス
{
"code": "ok",
"resources": [
"resource:zde22a874bf7ae1666c268882b6...",
"resource:zde22a874bf7ae1666c268882b7..."
]
}これらのエンティティを作成、更新、または削除するには、パブリッシング & プロジェクトのミューテーションセクションに進んでください。