跳到主要内容

用户与访问管理

本节提供了在 Blocklet 中管理用户、角色、权限、邀请和访问密钥的变更操作的详细参考。这些操作对于控制访问和管理应用程序中的身份至关重要。

要获取用户和访问控制数据,请参阅 用户与访问管理查询 文档。

用户管理

用于创建、更新、删除和管理用户个人资料及属性的变更操作。

角色与权限管理

用于定义角色和分配细粒度权限以控制资源访问的操作。

邀请管理

用于创建和管理用户邀请以加入团队或转移所有权的方法。

访问密钥管理

用于创建、更新和删除 API 访问密钥以进行程序化访问的函数。

标签管理

用于创建、更新和删除用于组织用户的标签的变更操作。

凭证管理

与颁发和配置可验证凭证 (Passports) 相关的操作。

用户管理

这些变更操作允许对用户账户进行全面管理。

removeUser

从团队中永久移除一名用户。

参数

  • input RequestTeamUserInput (required) — 一个包含 teamDid 和用户 did 的对象。
  • teamDid string (required) — 团队的 DID。
  • user UserInfoInput (required) — 用户信息。
  • did string (required) — 要移除的用户的 DID。

示例

removeUser

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { user } = await client.removeUser({
    input: {
      teamDid: 'zdfw...',
      user: {
        did: 'z8...',
      },
    },
  });
  console.log('用户已移除:', user.did);
} catch (error) {
  console.error('移除用户时出错:', error);
}

响应

返回一个 ResponseUser 对象,其中包含被移除用户的详细信息。

Response

json
{
  "removeUser": {
    "code": "ok",
    "user": {
      "did": "z8...",
      "fullName": "John Doe"
    }
  }
}

updateUserTags

更新与特定用户关联的标签。

参数

  • input RequestUpdateUserTagsInput (required) — 一个包含 teamDid、用户 did 和标签 ID 数组的对象。
  • teamDid string (required) — 团队的 DID。
  • did string (required) — 用户的 DID。
  • tags number[] (required) — 要与该用户关联的标签 ID 数组。

示例

updateUserTags

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { user } = await client.updateUserTags({
    input: {
      teamDid: 'zdfw...',
      did: 'z8...',
      tags: [1, 3],
    },
  });
  console.log('用户标签已更新:', user.tags);
} catch (error) {
  console.error('更新用户标签时出错:', error);
}

响应

返回一个带有用户更新信息的 ResponseUser 对象。

Response

json
{
  "updateUserTags": {
    "code": "ok",
    "user": {
      "did": "z8...",
      "tags": [
        { "id": 1, "title": "Developer" },
        { "id": 3, "title": "Early Adopter" }
      ]
    }
  }
}

updateUserExtra

更新用户的 remarkextra (一个 JSON 字符串) 字段。

参数

  • input RequestUpdateUserExtraInput (required) — 一个包含 teamDid、用户 DID 和额外数据的对象。
  • teamDid string (required) — 团队的 DID。
  • did string (required) — 要更新的用户的 DID。
  • remark string — 用户的新备注。
  • extra string — 一个包含自定义数据的 JSON 字符串。

示例

updateUserExtra

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { user } = await client.updateUserExtra({
    input: {
      teamDid: 'zdfw...',
      did: 'z8...',
      remark: '内部用户账户',
      extra: JSON.stringify({ department: 'Engineering' }),
    },
  });
  console.log('用户额外数据已更新:', user.extra);
} catch (error) {
  console.error('更新用户额外数据时出错:', error);
}

响应

返回一个包含更新后用户详细信息的 ResponseUser 对象。

Response

json
{
  "updateUserExtra": {
    "code": "ok",
    "user": {
      "did": "z8...",
      "remark": "Internal user account",
      "extra": {
        "department": "Engineering"
      }
    }
  }
}

updateUserApproval

设置用户的批准状态。

参数

  • input RequestTeamUserInput (required) — 一个包含 teamDid 和用户详细信息的对象,其中包括 did 和新的批准状态。
  • teamDid string (required) — 团队的 DID。
  • user UserInfoInput (required) — 用户信息。
  • did string (required) — 用户的 DID。
  • approved boolean (required) — 新的批准状态。

示例

updateUserApproval

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { user } = await client.updateUserApproval({
    input: {
      teamDid: 'zdfw...',
      user: {
        did: 'z8...',
        approved: true,
      },
    },
  });
  console.log('用户批准状态:', user.approved);
} catch (error) {
  console.error('更新用户批准状态时出错:', error);
}

响应

返回一个包含更新后批准状态的 ResponseUser 对象。

Response

json
{
  "updateUserApproval": {
    "code": "ok",
    "user": {
      "did": "z8...",
      "approved": true
    }
  }
}

issuePassportToUser

为用户颁发一个新的凭证 (verifiable credential),通常是为他们分配一个角色。

参数

  • input RequestIssuePassportToUserInput (required) — 一个包含 teamDid、userDid、角色和显示详细信息的对象。
  • teamDid string (required) — 团队的 DID。
  • userDid string (required) — 接收凭证的用户的 DID。
  • role string (required) — 通过此凭证分配的角色。
  • display PassportDisplayInput — 凭证的显示信息。
  • type string (required) — 显示类型(例如 'text')。
  • content string (required) — 要显示的内容。
  • notify boolean — 是否向用户发送通知。

示例

issuePassportToUser

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { user } = await client.issuePassportToUser({
    input: {
      teamDid: 'zdfw...',
      userDid: 'z8...',
      role: 'guest',
      display: {
        type: 'text',
        content: '访客通行证',
      },
      notify: true,
    },
  });
  console.log('已为用户颁发凭证:', user.did);
} catch (error) {
  console.error('颁发凭证时出错:', error);
}

响应

返回一个 ResponseUser 对象,其中可能在用户的 passports 数组中包含新颁发的凭证。

Response

json
{
  "issuePassportToUser": {
    "code": "ok",
    "user": {
      "did": "z8...",
      "passports": [
        {
          "id": "...",
          "role": "guest"
        }
      ]
    }
  }
}

revokeUserPassport

从用户处撤销先前颁发的凭证。

参数

  • input RequestRevokeUserPassportInput (required) — 一个包含 teamDid、userDid 和要撤销的 passportId 的对象。
  • teamDid string (required) — 团队的 DID。
  • userDid string (required) — 用户的 DID。
  • passportId string (required) — 要撤销的凭证的 ID。

示例

revokeUserPassport

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { user } = await client.revokeUserPassport({
    input: {
      teamDid: 'zdfw...',
      userDid: 'z8...',
      passportId: 'z...',
    },
  });
  console.log('用户凭证已撤销。');
} catch (error) {
  console.error('撤销凭证时出错:', error);
}

响应

返回一个 ResponseUser 对象,反映用户凭证的变化。

Response

json
{
  "revokeUserPassport": {
    "code": "ok",
    "user": {
      "did": "z8..."
    }
  }
}

enableUserPassport

重新启用先前被撤销的凭证。

参数

  • input RequestRevokeUserPassportInput (required) — 一个包含 teamDid、userDid 和要启用的 passportId 的对象。
  • teamDid string (required) — 团队的 DID。
  • userDid string (required) — 用户的 DID。
  • passportId string (required) — 要重新启用的凭证的 ID。

示例

enableUserPassport

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { user } = await client.enableUserPassport({
    input: {
      teamDid: 'zdfw...',
      userDid: 'z8...',
      passportId: 'z...',
    },
  });
  console.log('用户凭证已重新启用。');
} catch (error) {
  console.error('启用凭证时出错:', error);
}

响应

返回一个包含用户更新后凭证状态的 ResponseUser 对象。

Response

json
{
  "enableUserPassport": {
    "code": "ok",
    "user": {
      "did": "z8..."
    }
  }
}

removeUserPassport

从用户的记录中永久移除一个凭证。

参数

  • input RequestRevokeUserPassportInput (required) — 一个包含 teamDid、userDid 和要移除的 passportId 的对象。
  • teamDid string (required) — 团队的 DID。
  • userDid string (required) — 用户的 DID。
  • passportId string (required) — 要移除的凭证的 ID。

示例

removeUserPassport

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.removeUserPassport({
    input: {
      teamDid: 'zdfw...',
      userDid: 'z8...',
      passportId: 'z...',
    },
  });
  console.log('用户凭证已永久移除。');
} catch (error) {
  console.error('移除凭证时出错:', error);
}

响应

返回一个 GeneralResponse 对象,指示成功或失败。

Response

json
{
  "removeUserPassport": {
    "code": "ok"
  }
}

updateUserInfo

更新用户的一般信息,例如 fullNameemailavatar

参数

  • input RequestUpdateUserInfoInput (required) — 一个包含 teamDid 和带有要更新字段的用户对象的对象。
  • teamDid string (required) — 团队的 DID。
  • user UserInfoInput (required) — 一个带有要更新的用户字段的对象。
  • did string (required) — 用户的 DID。
  • fullName string — 用户的全名。
  • email string — 用户的电子邮件地址。

示例

updateUserInfo

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { user } = await client.updateUserInfo({
    input: {
      teamDid: 'zdfw...',
      user: {
        did: 'z8...',
        fullName: 'Johnathan Doe',
        email: 'john.doe.new@example.com',
      },
    },
  });
  console.log('用户信息已更新:', user.fullName);
} catch (error) {
  console.error('更新用户信息时出错:', error);
}

响应

返回一个包含更新后用户信息的 ResponseUser 对象。

Response

json
{
  "updateUserInfo": {
    "code": "ok",
    "user": {
      "did": "z8...",
      "fullName": "Johnathan Doe",
      "email": "john.doe.new@example.com"
    }
  }
}

角色与权限管理

这些变更操作用于定义角色并管理与之关联的权限。

createRole

在团队中创建一个新角色。

参数

  • input RequestCreateRoleInput (required) — 一个包含 teamDid、name、title 以及可选的 permissions 的对象。
  • teamDid string (required) — 团队的 DID。
  • name string (required) — 角色的唯一名称(例如 'editor')。
  • title string (required) — 角色的可读标题(例如 'Editor')。
  • description string — 角色的简要描述。
  • permissions string[] — 要授予此角色的权限名称数组。

示例

createRole

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { role } = await client.createRole({
    input: {
      teamDid: 'zdfw...',
      name: 'editor',
      title: 'Editor',
      description: '可以创建和编辑内容',
      permissions: ['content:create', 'content:edit'],
    },
  });
  console.log('角色已创建:', role.name);
} catch (error) {
  console.error('创建角色时出错:', error);
}

响应

返回一个 ResponseRole 对象,其中包含新创建角色的详细信息。

Response

json
{
  "createRole": {
    "code": "ok",
    "role": {
      "name": "editor",
      "title": "Editor",
      "grants": ["content:create", "content:edit"]
    }
  }
}

updateRole

更新现有角色的详细信息。

参数

  • input RequestTeamRoleInput (required) — 一个包含 teamDid 和带有要更新字段的角色对象的对象。
  • teamDid string (required) — 团队的 DID。
  • role RoleUpdateInput (required) — 一个带有要更新的角色字段的对象。
  • name string (required) — 要更新的角色的名称。
  • title string — 角色的新标题。
  • description string — 角色的新描述。

示例

updateRole

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { role } = await client.updateRole({
    input: {
      teamDid: 'zdfw...',
      role: {
        name: 'editor',
        title: '内容编辑员',
      },
    },
  });
  console.log('角色已更新:', role.title);
} catch (error) {
  console.error('更新角色时出错:', error);
}

响应

返回一个包含更新后角色信息的 ResponseRole 对象。

Response

json
{
  "updateRole": {
    "code": "ok",
    "role": {
      "name": "editor",
      "title": "Content Editor"
    }
  }
}

deleteRole

永久删除一个角色。

参数

  • input RequestDeleteRoleInput (required) — 一个包含 teamDid 和要删除的角色名称的对象。
  • teamDid string (required) — 团队的 DID。
  • name string (required) — 要删除的角色的名称。

示例

deleteRole

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.deleteRole({
    input: {
      teamDid: 'zdfw...',
      name: 'editor',
    },
  });
  console.log('角色 "editor" 已删除。');
} catch (error) {
  console.error('删除角色时出错:', error);
}

响应

返回一个 GeneralResponse 对象,指示成功或失败。

Response

json
{
  "deleteRole": {
    "code": "ok"
  }
}

createPermission

创建一个可以授予给角色的新权限。

参数

  • input RequestCreatePermissionInput (required) — 一个包含 teamDid、name 和 description 的对象。
  • teamDid string (required) — 团队的 DID。
  • name string (required) — 权限的唯一名称(例如 'content')。
  • description string — 权限的简要描述。

示例

createPermission

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { permission } = await client.createPermission({
    input: {
      teamDid: 'zdfw...',
      name: 'content:publish',
      description: '允许发布内容',
    },
  });
  console.log('权限已创建:', permission.name);
} catch (error) {
  console.error('创建权限时出错:', error);
}

响应

返回一个包含新权限详细信息的 ResponsePermission 对象。

Response

json
{
  "createPermission": {
    "code": "ok",
    "permission": {
      "name": "content:publish",
      "description": "Allows publishing content"
    }
  }
}

updatePermission

更新现有权限的描述。

参数

  • input RequestTeamPermissionInput (required) — 一个包含 teamDid 和要更新的权限详细信息的对象。
  • teamDid string (required) — 团队的 DID。
  • permission PermissionInput (required) — 一个包含权限名称和新描述的对象。
  • name string (required) — 要更新的权限的名称。
  • description string (required) — 权限的新描述。

示例

updatePermission

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { permission } = await client.updatePermission({
    input: {
      teamDid: 'zdfw...',
      permission: {
        name: 'content:publish',
        description: '允许将内容发布到线上网站。',
      },
    },
  });
  console.log('权限已更新:', permission.description);
} catch (error) {
  console.error('更新权限时出错:', error);
}

响应

返回一个包含更新后权限详细信息的 ResponsePermission 对象。

Response

json
{
  "updatePermission": {
    "code": "ok",
    "permission": {
      "name": "content:publish",
      "description": "Allows publishing content to the live site."
    }
  }
}

deletePermission

永久删除一个权限。这也将从拥有该权限的任何角色中撤销它。

参数

  • input RequestDeletePermissionInput (required) — 一个包含 teamDid 和要删除的权限名称的对象。
  • teamDid string (required) — 团队的 DID。
  • name string (required) — 要删除的权限的名称。

示例

deletePermission

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.deletePermission({
    input: {
      teamDid: 'zdfw...',
      name: 'content:publish',
    },
  });
  console.log('权限已删除。');
} catch (error) {
  console.error('删除权限时出错:', error);
}

响应

返回一个 GeneralResponse 对象,指示成功或失败。

Response

json
{
  "deletePermission": {
    "code": "ok"
  }
}

grantPermissionForRole

将特定权限授予一个角色。

参数

  • input RequestGrantPermissionForRoleInput (required) — 一个包含 teamDid、roleName 和 grantName (权限) 的对象。
  • teamDid string (required) — 团队的 DID。
  • roleName string (required) — 角色的名称。
  • grantName string (required) — 要授予的权限的名称。

示例

grantPermissionForRole

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.grantPermissionForRole({
    input: {
      teamDid: 'zdfw...',
      roleName: 'editor',
      grantName: 'content:publish',
    },
  });
  console.log('权限已授予。');
} catch (error) {
  console.error('授予权限时出错:', error);
}

响应

返回一个 GeneralResponse 对象,指示成功或失败。

Response

json
{
  "grantPermissionForRole": {
    "code": "ok"
  }
}

revokePermissionFromRole

从一个角色中撤销特定权限。

参数

  • input RequestRevokePermissionFromRoleInput (required) — 一个包含 teamDid、roleName 和 grantName (权限) 的对象。
  • teamDid string (required) — 团队的 DID。
  • roleName string (required) — 角色的名称。
  • grantName string (required) — 要撤销的权限的名称。

示例

revokePermissionFromRole

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.revokePermissionFromRole({
    input: {
      teamDid: 'zdfw...',
      roleName: 'editor',
      grantName: 'content:publish',
    },
  });
  console.log('权限已撤销。');
} catch (error) {
  console.error('撤销权限时出错:', error);
}

响应

返回一个 GeneralResponse 对象,指示成功或失败。

Response

json
{
  "revokePermissionFromRole": {
    "code": "ok"
  }
}

updatePermissionsForRole

为角色设置完整的权限列表,替换任何现有权限。

参数

  • input RequestUpdatePermissionsForRoleInput (required) — 一个包含 teamDid、roleName 和权限名称数组的对象。
  • teamDid string (required) — 团队的 DID。
  • roleName string (required) — 角色的名称。
  • grantNames string[] (required) — 要为该角色设置的权限名称数组。

示例

updatePermissionsForRole

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { role } = await client.updatePermissionsForRole({
    input: {
      teamDid: 'zdfw...',
      roleName: 'editor',
      grantNames: ['content:create', 'content:edit', 'content:delete'],
    },
  });
  console.log('角色权限已更新:', role.grants);
} catch (error) {
  console.error('更新角色权限时出错:', error);
}

响应

返回一个包含更新后权限列表的 ResponseRole 对象。

Response

json
{
  "updatePermissionsForRole": {
    "code": "ok",
    "role": {
      "name": "editor",
      "grants": ["content:create", "content:edit", "content:delete"]
    }
  }
}

邀请管理

这些变更操作用于管理用户邀请。

createMemberInvitation

创建一个邀请,邀请新成员以特定角色加入团队。

参数

  • input RequestCreateInvitationInput (required) — 一个包含 teamDid、角色和其他邀请详细信息的对象。
  • teamDid string (required) — 团队的 DID。
  • role string (required) — 要分配给受邀成员的角色。
  • remark string — 邀请的备注或说明。

示例

createMemberInvitation

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { inviteInfo } = await client.createMemberInvitation({
    input: {
      teamDid: 'zdfw...',
      role: 'guest',
      remark: '新团队成员邀请',
    },
  });
  console.log('邀请已创建:', inviteInfo.inviteId);
} catch (error) {
  console.error('创建邀请时出错:', error);
}

响应

返回一个 ResponseCreateInvitation 对象,其中包含有关已创建邀请的详细信息。

Response

json
{
  "createMemberInvitation": {
    "code": "ok",
    "inviteInfo": {
      "inviteId": "...",
      "role": "guest"
    }
  }
}

createTransferInvitation

创建一个转移节点所有权的邀请。

参数

  • input RequestCreateTransferNodeInvitationInput (required) — 一个包含 teamDid 和备注的对象。
  • teamDid string (required) — 团队的 DID。
  • remark string — 转移邀请的备注。

示例

createTransferInvitation

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { inviteInfo } = await client.createTransferInvitation({
    input: {
      teamDid: 'zdfw...',
      remark: '转移节点所有权',
    },
  });
  console.log('转移邀请已创建:', inviteInfo.inviteId);
} catch (error) {
  console.error('创建转移邀请时出错:', error);
}

响应

返回一个包含邀请详细信息的 ResponseCreateTransferNodeInvitation 对象。

Response

json
{
  "createTransferInvitation": {
    "code": "ok",
    "inviteInfo": {
      "inviteId": "...",
      "role": "owner"
    }
  }
}

deleteInvitation

永久删除一个邀请。

参数

  • input RequestDeleteInvitationInput (required) — 一个包含 teamDid 和要删除的 inviteId 的对象。
  • teamDid string (required) — 团队的 DID。
  • inviteId string (required) — 要删除的邀请的 ID。

示例

deleteInvitation

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.deleteInvitation({
    input: {
      teamDid: 'zdfw...',
      inviteId: '...',
    },
  });
  console.log('邀请已删除。');
} catch (error) {
  console.error('删除邀请时出错:', error);
}

响应

返回一个 GeneralResponse 对象,指示成功或失败。

Response

json
{
  "deleteInvitation": {
    "code": "ok"
  }
}

访问密钥管理

这些变更操作用于管理用于程序化访问的 API 访问密钥。

createAccessKey

创建一个新的访问密钥。

参数

  • input RequestCreateAccessKeyInput (required) — 一个包含 teamDid、备注和其他密钥详细信息的对象。
  • teamDid string (required) — 团队的 DID。
  • remark string — 用于识别密钥用途的备注。
  • authType string — 认证类型(例如 'role')。

示例

createAccessKey

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { data } = await client.createAccessKey({
    input: {
      teamDid: 'zdfw...',
      remark: '用于 CI/CD 流水线的密钥',
      authType: 'role',
    },
  });
  console.log('访问密钥已创建:', data.accessKeyId);
  console.log('密钥:', data.accessKeySecret); // 请安全地保存此密钥
} catch (error) {
  console.error('创建访问密钥时出错:', error);
}

响应

返回一个 ResponseCreateAccessKey 对象,其中包含新密钥的 ID 和密钥。密钥仅在创建时返回一次。

Response

json
{
  "createAccessKey": {
    "code": "ok",
    "data": {
      "accessKeyId": "...",
      "accessKeySecret": "...",
      "remark": "Key for CI/CD pipeline"
    }
  }
}

updateAccessKey

更新现有访问密钥的详细信息,例如其备注或过期时间。

参数

  • input RequestUpdateAccessKeyInput (required) — 一个包含 teamDid、accessKeyId 和要更新字段的对象。
  • teamDid string (required) — 团队的 DID。
  • accessKeyId string (required) — 要更新的访问密钥的 ID。
  • remark string — 密钥的新备注。

示例

updateAccessKey

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { data } = await client.updateAccessKey({
    input: {
      teamDid: 'zdfw...',
      accessKeyId: '...',
      remark: '用于 CI/CD 流水线的更新备注',
    },
  });
  console.log('访问密钥已更新:', data.remark);
} catch (error) {
  console.error('更新访问密钥时出错:', error);
}

响应

返回一个包含更新后密钥详细信息的 ResponseUpdateAccessKey 对象。

Response

json
{
  "updateAccessKey": {
    "code": "ok",
    "data": {
      "accessKeyId": "...",
      "remark": "Updated remark for CI/CD pipeline"
    }
  }
}

deleteAccessKey

永久删除一个访问密钥。

参数

  • input RequestDeleteAccessKeyInput (required) — 一个包含 teamDid 和要删除的 accessKeyId 的对象。
  • teamDid string (required) — 团队的 DID。
  • accessKeyId string (required) — 要删除的访问密钥的 ID。

示例

deleteAccessKey

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.deleteAccessKey({
    input: {
      teamDid: 'zdfw...',
      accessKeyId: '...',
    },
  });
  console.log('访问密钥已删除。');
} catch (error) {
  console.error('删除访问密钥时出错:', error);
}

响应

返回一个 ResponseDeleteAccessKey 对象,指示成功或失败。

Response

json
{
  "deleteAccessKey": {
    "code": "ok"
  }
}

verifyAccessKey

验证一个访问密钥是否有效,以及是否对特定资源具有访问权限。

参数

  • input RequestVerifyAccessKeyInput (required) — 一个包含 teamDid、accessKeyId 和资源详细信息的对象。
  • teamDid string (required) — 团队的 DID。
  • accessKeyId string (required) — 要验证的访问密钥的 ID。
  • resourceType string — 资源的类型(例如 'blocklet')。
  • resourceId string — 资源的 ID。
  • componentDid string — 与资源关联的组件的 DID。

示例

verifyAccessKey

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { data } = await client.verifyAccessKey({
    input: {
      teamDid: 'zdfw...',
      accessKeyId: '...',
    },
  });
  console.log('访问密钥有效:', data);
} catch (error) {
  console.error('访问密钥验证失败:', error);
}

响应

如果验证成功,返回一个包含密钥详细信息的 ResponseAccessKey 对象。

Response

json
{
  "verifyAccessKey": {
    "code": "ok",
    "data": {
      "accessKeyId": "...",
      "remark": "Key for CI/CD pipeline"
    }
  }
}

标签管理

这些变更操作用于管理用户标签。

createTag

创建一个新标签。

参数

  • input RequestTagInput (required) — 一个包含 teamDid 和要创建的标签详细信息的对象。
  • teamDid string (required) — 团队的 DID。
  • tag TagInput (required) — 一个包含标签详细信息的对象。
  • title string (required) — 标签的标题。
  • description string — 标签的描述。
  • color string — 标签的十六进制颜色代码。

示例

createTag

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { tag } = await client.createTag({
    input: {
      teamDid: 'zdfw...',
      tag: {
        title: 'VIP',
        description: '非常重要的人物',
        color: '#FFD700',
      },
    },
  });
  console.log('标签已创建:', tag.title);
} catch (error) {
  console.error('创建标签时出错:', error);
}

响应

返回一个包含新创建标签详细信息的 ResponseTag 对象。

Response

json
{
  "createTag": {
    "code": "ok",
    "tag": {
      "id": 4,
      "title": "VIP",
      "color": "#FFD700"
    }
  }
}

updateTag

更新一个现有标签。

参数

  • input RequestTagInput (required) — 一个包含 teamDid 和带有 id 及要更新字段的标签对象的对象。
  • teamDid string (required) — 团队的 DID。
  • tag TagInput (required) — 一个包含标签 ID 和要更新字段的对象。
  • id number (required) — 要更新的标签的 ID。
  • title string — 标签的新标题。
  • color string — 标签的新颜色。

示例

updateTag

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { tag } = await client.updateTag({
    input: {
      teamDid: 'zdfw...',
      tag: {
        id: 4,
        color: '#E5C100',
      },
    },
  });
  console.log('标签已更新:', tag.color);
} catch (error) {
  console.error('更新标签时出错:', error);
}

响应

返回一个包含更新后标签信息的 ResponseTag 对象。

Response

json
{
  "updateTag": {
    "code": "ok",
    "tag": {
      "id": 4,
      "title": "VIP",
      "color": "#E5C100"
    }
  }
}

deleteTag

永久删除一个标签。

参数

  • input RequestTagInput (required) — 一个包含 teamDid 和要删除的标签 id 的对象。
  • teamDid string (required) — 团队的 DID。
  • tag TagInput (required) — 一个包含要删除的标签 ID 的对象。
  • id number (required) — 要删除的标签的 ID。

示例

deleteTag

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.deleteTag({
    input: {
      teamDid: 'zdfw...',
      tag: {
        id: 4,
      },
    },
  });
  console.log('标签已删除。');
} catch (error) {
  console.error('删除标签时出错:', error);
}

响应

返回被删除标签的 ResponseTag 对象。

Response

json
{
  "deleteTag": {
    "code": "ok",
    "tag": {
      "id": 4
    }
  }
}

凭证管理

这些变更操作用于管理凭证颁发和信任配置。

createPassportIssuance

为团队创建一个新的凭证颁发配置。

参数

  • input RequestCreatePassportIssuanceInput (required) — 一个包含 teamDid、ownerDid、名称和显示详细信息的对象。
  • teamDid string (required) — 团队的 DID。
  • ownerDid string (required) — 此颁发配置所有者的 DID。
  • name string (required) — 凭证颁发配置的名称。
  • display PassportDisplayInput — 凭证的显示信息。
  • type string (required) — 显示类型。
  • content string (required) — 显示内容。

示例

createPassportIssuance

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  const { info } = await client.createPassportIssuance({
    input: {
      teamDid: 'zdfw...',
      ownerDid: 'z8...',
      name: '社区贡献者',
      display: {
        type: 'text',
        content: '社区贡献者徽章',
      },
    },
  });
  console.log('凭证颁发配置已创建:', info.id);
} catch (error) {
  console.error('创建凭证颁发配置时出错:', error);
}

响应

返回一个包含新颁发配置详细信息的 ResponseCreatePassportIssuance 对象。

Response

json
{
  "createPassportIssuance": {
    "code": "ok",
    "info": {
      "id": "...",
      "name": "Community Contributor"
    }
  }
}

deletePassportIssuance

删除一个凭证颁发配置。

参数

  • input RequestDeleteTeamSessionInput (required) — 一个包含 teamDid 和要删除的 sessionId (颁发 ID) 的对象。
  • teamDid string (required) — 团队的 DID。
  • sessionId string (required) — 要删除的凭证颁发配置的 ID。

示例

deletePassportIssuance

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.deletePassportIssuance({
    input: {
      teamDid: 'zdfw...',
      sessionId: '...',
    },
  });
  console.log('凭证颁发配置已删除。');
} catch (error) {
  console.error('删除凭证颁发配置时出错:', error);
}

响应

返回一个 GeneralResponse 对象,指示成功或失败。

Response

json
{
  "deletePassportIssuance": {
    "code": "ok"
  }
}

configPassportIssuance

为团队启用或禁用凭证颁发。

参数

  • input RequestConfigPassportIssuanceInput (required) — 一个包含 teamDid 和一个布尔启用标志的对象。
  • teamDid string (required) — 团队的 DID。
  • enable boolean (required) — 设置为 true 表示启用,false 表示禁用。

示例

configPassportIssuance

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.configPassportIssuance({
    input: {
      teamDid: 'zdfw...',
      enable: true,
    },
  });
  console.log('凭证颁发已启用。');
} catch (error) {
  console.error('配置凭证颁发时出错:', error);
}

响应

返回一个 GeneralResponse 对象,指示成功或失败。

Response

json
{
  "configPassportIssuance": {
    "code": "ok"
  }
}

configTrustedPassports

配置一个受信任的凭证颁发者列表及其角色映射。

参数

  • input RequestConfigTrustedPassportsInput (required) — 一个包含 teamDid 和受信任凭证列表的对象。
  • teamDid string (required) — 团队的 DID。
  • trustedPassports TrustedPassportInput[] (required) — 一个受信任凭证配置的数组。
  • issuerDid string (required) — 受信任颁发者的 DID。
  • mappings TrustedPassportMappingInput[] (required) — 角色映射规则。
  • from TrustedPassportMappingFromInput (required) — 源凭证详细信息。
  • passport string (required) — 源凭证的名称或类型。
  • to TrustedPassportMappingToInput (required) — 目标角色详细信息。
  • role string (required) — 要映射到的本地角色。

示例

configTrustedPassports

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.configTrustedPassports({
    input: {
      teamDid: 'zdfw...',
      trustedPassports: [
        {
          issuerDid: 'z...', // 另一个受信任 blocklet 的 DID
          mappings: [
            {
              from: { passport: 'developer_badge' },
              to: { role: 'developer' },
            },
          ],
        },
      ],
    },
  });
  console.log('受信任的凭证已配置。');
} catch (error) {
  console.error('配置受信任的凭证时出错:', error);
}

响应

返回一个 GeneralResponse 对象,指示成功或失败。

Response

json
{
  "configTrustedPassports": {
    "code": "ok"
  }
}

configTrustedFactories

配置一个受信任的 NFT 工厂列表。

参数

  • input RequestConfigTrustedFactoriesInput (required) — 一个包含 teamDid 和受信任工厂列表的对象。
  • teamDid string (required) — 团队的 DID。
  • trustedFactories TrustedFactoryInput[] (required) — 一个受信任工厂配置的数组。
  • factoryAddress string (required) — NFT 工厂的地址。
  • remark string — 工厂的备注。

示例

configTrustedFactories

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

try {
  await client.configTrustedFactories({
    input: {
      teamDid: 'zdfw...',
      trustedFactories: [
        {
          factoryAddress: '0x...',
          remark: '官方社区 NFT 工厂',
        },
      ],
    },
  });
  console.log('受信任的工厂已配置。');
} catch (error) {
  console.error('配置受信任的工厂时出错:', error);
}

响应

返回一个 GeneralResponse 对象,指示成功或失败。

Response

json
{
  "configTrustedFactories": {
    "code": "ok"
  }
}