# CustomPermissionGroup

Represents a group of custom permissions for an Asset

## Hierarchy

↳ [PermissionGroup](https://developers.polymath.network/polymesh-sdk-api-reference/classes/permissiongroup)

↳ **CustomPermissionGroup**

## Index

### Properties

* [asset](#asset)
* [context](#protected-context)
* [id](#id)
* [uuid](#uuid)

### Methods

* [exists](#exists)
* [getPermissions](#getpermissions)
* [isEqual](#isequal)
* [setPermissions](#setpermissions)
* [toJson](#tojson)
* [generateUuid](#static-generateuuid)
* [unserialize](#static-unserialize)

## Properties

### asset

• **asset**: [*Asset*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/asset)

*Inherited from* [*PermissionGroup*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/permissiongroup)*.*[*asset*](https://developers.polymath.network/polymesh-sdk-api-reference/permissiongroup#asset)

*Defined in* [*src/api/entities/PermissionGroup.ts:19*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/PermissionGroup.ts#L19)

Asset for which this group specifies permissions

***

### `Protected` context

• **context**: *Context*

*Inherited from* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/checkpointschedule)*.*[*context*](https://developers.polymath.network/polymesh-sdk-api-reference/checkpointschedule#protected-context)

*Defined in* [*src/api/entities/Entity.ts:48*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Entity.ts#L48)

***

### id

• **id**: *BigNumber*

*Defined in* [*src/api/entities/CustomPermissionGroup.ts:45*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/CustomPermissionGroup.ts#L45)

***

### uuid

• **uuid**: *string*

*Inherited from* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/checkpointschedule)*.*[*uuid*](https://developers.polymath.network/polymesh-sdk-api-reference/checkpointschedule#uuid)

*Defined in* [*src/api/entities/Entity.ts:46*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Entity.ts#L46)

## Methods

### exists

▸ **exists**(): *Promise‹boolean›*

*Overrides* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/entity)*.*[*exists*](https://developers.polymath.network/polymesh-sdk-api-reference/entity#abstract-exists)

*Defined in* [*src/api/entities/CustomPermissionGroup.ts:106*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/CustomPermissionGroup.ts#L106)

Determine whether this Custom Permission Group exists on chain

**Returns:** *Promise‹boolean›*

***

### getPermissions

▸ **getPermissions**(): *Promise‹*[*GroupPermissions*](https://developers.polymath.network/polymesh-sdk-api-reference/globals#grouppermissions)*›*

*Overrides* [*PermissionGroup*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/permissiongroup)*.*[*getPermissions*](https://developers.polymath.network/polymesh-sdk-api-reference/permissiongroup#abstract-getpermissions)

*Defined in* [*src/api/entities/CustomPermissionGroup.ts:76*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/CustomPermissionGroup.ts#L76)

Retrieve the list of permissions and transaction groups associated with this Permission Group

**Returns:** *Promise‹*[*GroupPermissions*](https://developers.polymath.network/polymesh-sdk-api-reference/globals#grouppermissions)*›*

***

### isEqual

▸ **isEqual**(`entity`: [Entity](https://developers.polymath.network/polymesh-sdk-api-reference/classes/entity)‹unknown, unknown›): *boolean*

*Inherited from* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/checkpointschedule)*.*[*isEqual*](https://developers.polymath.network/polymesh-sdk-api-reference/checkpointschedule#isequal)

*Defined in* [*src/api/entities/Entity.ts:61*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Entity.ts#L61)

Determine whether this Entity is the same as another one

**Parameters:**

| Name     | Type                                                                                                      |
| -------- | --------------------------------------------------------------------------------------------------------- |
| `entity` | [Entity](https://developers.polymath.network/polymesh-sdk-api-reference/classes/entity)‹unknown, unknown› |

**Returns:** *boolean*

***

### setPermissions

▸ **setPermissions**(`args`: [SetGroupPermissionsParams](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/setgrouppermissionsparams.md), `opts?`: [ProcedureOpts](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/CustomPermissionGroup.ts:69*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/CustomPermissionGroup.ts#L69)

Modify the group's permissions

**`note`** this method is of type [ProcedureMethod](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/proceduremethod.md), which means you can call [setPermissions.checkAuthorization](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/proceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters:**

| Name    | Type                                                                                                                                        |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [SetGroupPermissionsParams](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/setgrouppermissionsparams.md) |
| `opts?` | [ProcedureOpts](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/procedureopts.md)                         |

**Returns:** *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/transactionqueue)*‹void››*

***

### toJson

▸ **toJson**(): *HumanReadable*

*Overrides* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/entity)*.*[*toJson*](https://developers.polymath.network/polymesh-sdk-api-reference/entity#abstract-tojson)

*Defined in* [*src/api/entities/CustomPermissionGroup.ts:124*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/CustomPermissionGroup.ts#L124)

Return the Group's static data

**Returns:** *HumanReadable*

***

### `Static` generateUuid

▸ **generateUuid**‹**Identifiers**›(`identifiers`: Identifiers): *string*

*Inherited from* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/checkpointschedule)*.*[*generateUuid*](https://developers.polymath.network/polymesh-sdk-api-reference/checkpointschedule#static-generateuuid)

*Defined in* [*src/api/entities/Entity.ts:14*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Entity.ts#L14)

Generate the Entity's UUID from its identifying properties

**Type parameters:**

▪ **Identifiers**

**Parameters:**

| Name          | Type        | Description |
| ------------- | ----------- | ----------- |
| `identifiers` | Identifiers |             |

**Returns:** *string*

***

### `Static` unserialize

▸ **unserialize**‹**Identifiers**›(`serialized`: string): *Identifiers*

*Inherited from* [*CheckpointSchedule*](https://developers.polymath.network/polymesh-sdk-api-reference/classes/checkpointschedule)*.*[*unserialize*](https://developers.polymath.network/polymesh-sdk-api-reference/checkpointschedule#static-unserialize)

*Defined in* [*src/api/entities/Entity.ts:23*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Entity.ts#L23)

Unserialize a UUID into its Unique Identifiers

**Type parameters:**

▪ **Identifiers**

**Parameters:**

| Name         | Type   | Description         |
| ------------ | ------ | ------------------- |
| `serialized` | string | UUID to unserialize |

**Returns:** *Identifiers*
