メインコンテンツへスキップ

パブリッシング & プロジェクト

このセクションでは、パブリッシングプロジェクト、リリース、および関連リソースを管理するために使用されるGraphQLクエリの詳細なリファレンスを提供します。これらのクエリを使用すると、blockletのパブリッシングライフサイクルに関する情報を取得できます。プロジェクトやリリースの作成や更新など、このデータを変更する操作については、パブリッシング & プロジェクトのミューテーションドキュメントを参照してください。

getProjects

特定のblockletに関連付けられたパブリッシングプロジェクトのリストを取得します。

プロジェクトのリストを取得する

javascript
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 — テナントスコープでプロジェクトをフィルタリングします。

戻り値の型

Projectオブジェクトの配列とページネーションの詳細を含むResponseGetProjectsオブジェクトを返します。

レスポンス例

getProjects のレスポンス

json
{
  "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を使用して単一のパブリッシングプロジェクトの詳細を取得します。

単一のプロジェクトを取得する

javascript
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 — リクエストを追跡するためのメッセージ識別子。

戻り値の型

Projectの詳細を含むResponseGetProjectオブジェクトを返します。

レスポンス例

getProject のレスポンス

json
{
  "code": "ok",
  "project": {
    "id": "z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3",
    "type": "pack",
    "blockletDid": "z8ia262k3g55v12a874bf7ae1666c268882b6",
    "blockletTitle": "My Awesome Blocklet",
    "blockletDescription": "A blocklet that does awesome things.",
    "autoUpload": true,
    "connectedStores": []
  }
}

getReleases

指定されたパブリッシングプロジェクトのリリースリストを取得します。

プロジェクトのリリースを取得する

javascript
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 — ページネーション情報。

戻り値の型

Releaseオブジェクトの配列とページネーション情報を含むResponseGetReleasesオブジェクトを返します。

レスポンス例

getReleases のレスポンス

json
{
  "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を使用して単一リリースの詳細を取得します。

単一のリリースを取得する

javascript
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) — 取得するリリースの一意の識別子。

戻り値の型

Releaseの詳細を含むResponseGetReleaseオブジェクトを返します。

レスポンス例

getRelease のレスポンス

json
{
  "code": "ok",
  "release": {
    "id": "z3t8bCDE...",
    "projectId": "z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3",
    "blockletVersion": "1.2.0",
    "blockletTitle": "My Awesome Blocklet",
    "note": "Initial release with new features.",
    "status": "published"
  }
}

getSelectedResources

リリース内の特定のコンポーネントに対して選択されたリソース識別子のリストを取得します。

リリースの選択されたリソースを取得する

javascript
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。

戻り値の型

リソース文字列の配列を含むResponseGetSelectedResourcesオブジェクトを返します。

レスポンス例

getSelectedResources のレスポンス

json
{
  "code": "ok",
  "resources": [
    "resource:zde22a874bf7ae1666c268882b6...",
    "resource:zde22a874bf7ae1666c268882b7..."
  ]
}

これらのエンティティを作成、更新、または削除するには、パブリッシング & プロジェクトのミューテーションセクションに進んでください。