diff --git a/common/changes/@hcengineering/account-client/account-permissions_2025-12-17-16-28.json b/common/changes/@hcengineering/account-client/account-permissions_2025-12-17-16-28.json new file mode 100644 index 0000000..4034d16 --- /dev/null +++ b/common/changes/@hcengineering/account-client/account-permissions_2025-12-17-16-28.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@hcengineering/account-client", + "comment": "Add permission methods", + "type": "patch" + } + ], + "packageName": "@hcengineering/account-client" +} \ No newline at end of file diff --git a/packages/account-client/package.json b/packages/account-client/package.json index fd301cf..3dffe1c 100644 --- a/packages/account-client/package.json +++ b/packages/account-client/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/account-client", - "version": "0.7.20", + "version": "0.7.21", "main": "lib/index.js", "svelte": "src/index.ts", "types": "types/index.d.ts", diff --git a/packages/account-client/src/client.ts b/packages/account-client/src/client.ts index bc7049f..5a691b9 100644 --- a/packages/account-client/src/client.ts +++ b/packages/account-client/src/client.ts @@ -243,6 +243,12 @@ export interface AccountClient { getSubscriptionById: (subscriptionId: string) => Promise upsertSubscription: (subscription: SubscriptionData) => Promise + batchAssignWorkspacePermission: (params: { accountIds: AccountUuid[], permission: string }) => Promise + batchRevokeWorkspacePermission: (params: { accountIds: AccountUuid[], permission: string }) => Promise + hasWorkspacePermission: (params: { accountId: AccountUuid, permission: string }) => Promise + getWorkspacePermissions: (params: { accountId: AccountUuid, permission: string }) => Promise + getWorkspaceUsersWithPermission: (params: { permission: string }) => Promise + setCookie: () => Promise deleteCookie: () => Promise } @@ -1253,6 +1259,41 @@ class AccountClientImpl implements AccountClient { params: subscription }) } + + async batchAssignWorkspacePermission (params: { accountIds: AccountUuid[], permission: string }): Promise { + await this._rpc({ + method: 'batchAssignWorkspacePermission', + params + }) + } + + async batchRevokeWorkspacePermission (params: { accountIds: AccountUuid[], permission: string }): Promise { + await this._rpc({ + method: 'batchRevokeWorkspacePermission', + params + }) + } + + async hasWorkspacePermission (params: { accountId: AccountUuid, permission: string }): Promise { + return await this._rpc({ + method: 'hasWorkspacePermission', + params + }) + } + + async getWorkspacePermissions (params: { accountId: AccountUuid, permission: string }): Promise { + return await this._rpc({ + method: 'getWorkspacePermissions', + params + }) + } + + async getWorkspaceUsersWithPermission (params: { permission: string }): Promise { + return await this._rpc({ + method: 'getWorkspaceUsersWithPermission', + params + }) + } } function withRetry Promise> (