# Collector

[**`collector.searchBrandDID`**](https://www.npmjs.com/package/@communitiesid/id?activeTab=readme#collectorsearchbranddid)

Get the brand DID info by name

Input:

| Name | Type   | Description               | required |
| ---- | ------ | ------------------------- | -------- |
| name | string | The name of the brand DID | true     |

Output: `Promise<BrandDID | null>`

Example:

```
const res = await collector.searchBrandDID('did')
```

***

[**`collector.searchBrandDIDByTokenId`**](https://www.npmjs.com/package/@communitiesid/id?activeTab=readme#collectorsearchbranddidbytokenid)

Get the brand DID info by name

Input:

| Name    | Type              | Description                                 | required |
| ------- | ----------------- | ------------------------------------------- | -------- |
| tokenId | number            | The token ID of this brand DID              | true     |
| chainId | SupportedChainIds | The chain ID that that this brand DID is on | true     |

Output: `Promise<BrandDID | null>`

Example:

```
const res = await collector.searchBrandDIDByTokenId(1, 80001)
```

***

[**`collector.searchUserDID`**](https://www.npmjs.com/package/@communitiesid/id?activeTab=readme#collectorsearchuserdid)

Get the user DID info by name

Input:

| Name | Type   | Description                                                             | required |
| ---- | ------ | ----------------------------------------------------------------------- | -------- |
| name | string | The name of the user DID, the format should be `${userDID}.${brandDID}` | true     |

Output: `Promise<UserDID | null>`

Example:

```
const res = await collector.searchUserDID('a.did')
```

***

[**`collector.searchUserDIDByTokenId`**](https://www.npmjs.com/package/@communitiesid/id?activeTab=readme#collectorsearchuserdidbytokenid)

Get the brand DID info by name

Input:

| Name     | Type              | Description                                 | required |
| -------- | ----------------- | ------------------------------------------- | -------- |
| registry | string            | The registry address of this user DID       | true     |
| tokenId  | number            | The token ID of this brand DID              | true     |
| chainId  | SupportedChainIds | The chain ID that that this brand DID is on | true     |

Output: `Promise<UserDID | null>`

Example:

```
const res = await collector.searchUserDIDByTokenId('0x123...', 1, 80001)
```

***

[**`collector.getAllBrandDIDs`**](https://www.npmjs.com/package/@communitiesid/id?activeTab=readme#collectorgetallbranddids)

Get all brand DID in specific chain, if you call this on mainnet, opensea Key is required

Input:

| Name    | Type              | Description                                  | required |
| ------- | ----------------- | -------------------------------------------- | -------- |
| chainId | SupportedChainIds | The chain ID that you want to get brand DIDs | true     |

Output: `Promise<object[]>`

Example:

```
const res = await collector.getAllBrandDIDs(5)
```

***

[**`collector.getAllBrandDIDsOwnedByAddress`**](https://www.npmjs.com/package/@communitiesid/id?activeTab=readme#collectorgetallbranddidsownedbyaddress)

Get all brand DIDs owned by an address in specific chain, if you call this on mainnet, opensea Key is required

Input:

| Name    | Type              | Description                                  | required |
| ------- | ----------------- | -------------------------------------------- | -------- |
| address | string            | The address you want to get brand DIDs       | true     |
| chainId | SupportedChainIds | The chain ID that you want to get brand DIDs | true     |

Output: `Promise<object[]>`

Example:

```
const res = await collector.getAllBrandDIDsOwnedByAddress('0x0000000000000000000000000000000000000000', 5)
```

***

[**`collector.getAllUserDIDsOwnedByAddress`**](https://www.npmjs.com/package/@communitiesid/id?activeTab=readme#collectorgetalluserdidsownedbyaddress)

Get all user DIDs owned by an address in specific chain, if you call this on mainnet, opensea Key is required

Input:

| Name    | Type              | Description                                  | required |
| ------- | ----------------- | -------------------------------------------- | -------- |
| address | string            | The address you want to get user DIDs        | true     |
| chainId | SupportedChainIds | The chain ID that you want to get brand DIDs | true     |

Output: `Promise<object[]>`

Example:

```
const res = await collector.getAllUserDIDsOwnedByAddress('0x0000000000000000000000000000000000000000', 5)
```

***

[**`collector.getAllBrandDIDsJoinedByAddress`**](https://www.npmjs.com/package/@communitiesid/id?activeTab=readme#collectorgetallbranddidsjoinedbyaddress)

Get all brand DIDs joined by an address in specific chain, if you call this on mainnet, opensea Key is required

Input:

| Name    | Type              | Description                                  | required |
| ------- | ----------------- | -------------------------------------------- | -------- |
| address | string            | The address you want to get brand DIDs       | true     |
| chainId | SupportedChainIds | The chain ID that you want to get brand DIDs | true     |

Output: `Promise<object[]>`

Example:

```
const res = await collector.getAllBrandDIDsJoinedByAddress('0x0000000000000000000000000000000000000000', 5)
```

***

[**`collector.getAllUserDIDsOwnedByBrand`**](https://www.npmjs.com/package/@communitiesid/id?activeTab=readme#collectorgetalluserdidsownedbybrand)

Get all user DIDs under specific brand DID, if you call this on mainnet, opensea Key is required

Input:

| Name     | Type              | Description                                                                                                                   | required |
| -------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------- |
| name     | string            | The name of the brand DID, if registry and chain is provided, the name will be ignored, and the query efficiency will improve | true     |
| registry | string            | The registry of this brand DID                                                                                                | false    |
| chainId  | SupportedChainIds | The chain ID that you want to get brand DIDs                                                                                  | false    |

Output: `Promise<object[]>`

Example:

```
const res = await collector.getAllUserDIDsOwnedByBrand('did')
const res = await collector.getAllUserDIDsOwnedByBrand('', '0x123', 5)
```

[**`collector.getAllUserDIDsOfOneWalletInOneBrand`**](https://www.npmjs.com/package/@communitiesid/id?activeTab=readme#collectorgetalluserdidsofonewalletinonebrand)

Get all user DIDs owned by specific address under specific brand DID

Input:

| Name     | Type              | Description                                                                                                                   | required |
| -------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------- |
| address  | string            | he address you want to get user DIDs                                                                                          | true     |
| name     | string            | The name of the brand DID, if registry and chain is provided, the name will be ignored, and the query efficiency will improve | true     |
| registry | string            | The registry of this brand DID                                                                                                | false    |
| chainId  | SupportedChainIds | The chain ID that you want to get brand DIDs                                                                                  | false    |

Output: `Promise<object[]>`

Example:

```
const res = await collector.getAllUserDIDsOfOneWalletInOneBrand('0x123', 'did')
const res = await collector.getAllUserDIDsOfOneWalletInOneBrand('0x123', '', '0x123', 5)
```
