Skip to content

Commit

Permalink
feat(RevokeClaim): add endpoint to fetch claims by revoker (current u…
Browse files Browse the repository at this point in the history
…ser)
  • Loading branch information
whitneypurdum committed Jun 23, 2022
1 parent 42e3973 commit 80cf934
Show file tree
Hide file tree
Showing 10 changed files with 119 additions and 3 deletions.
21 changes: 21 additions & 0 deletions docs/api/classes/modules_cache_client.CacheClient.md
Expand Up @@ -36,6 +36,7 @@
- [getClaimById](modules_cache_client.CacheClient.md#getclaimbyid)
- [getClaimsByIssuer](modules_cache_client.CacheClient.md#getclaimsbyissuer)
- [getClaimsByRequester](modules_cache_client.CacheClient.md#getclaimsbyrequester)
- [getClaimsByRevoker](modules_cache_client.CacheClient.md#getclaimsbyrevoker)
- [getClaimsBySubject](modules_cache_client.CacheClient.md#getclaimsbysubject)
- [getClaimsBySubjects](modules_cache_client.CacheClient.md#getclaimsbysubjects)
- [getDIDsForRole](modules_cache_client.CacheClient.md#getdidsforrole)
Expand Down Expand Up @@ -371,6 +372,26 @@ ___

___

### getClaimsByRevoker

**getClaimsByRevoker**(`__namedParameters?`): `Promise`<[`Claim`](../interfaces/modules_claims.Claim.md)[]\>

#### Parameters

| Name | Type |
| :------ | :------ |
| `__namedParameters` | [`ClaimsFilter`](../modules/modules_cache_client.md#claimsfilter) |

#### Returns

`Promise`<[`Claim`](../interfaces/modules_claims.Claim.md)[]\>

#### Implementation of

[ICacheClient](../interfaces/modules_cache_client.ICacheClient.md).[getClaimsByRevoker](../interfaces/modules_cache_client.ICacheClient.md#getclaimsbyrevoker)

___

### getClaimsBySubject

**getClaimsBySubject**(`subject`, `__namedParameters?`): `Promise`<[`Claim`](../interfaces/modules_claims.Claim.md)[]\>
Expand Down
27 changes: 27 additions & 0 deletions docs/api/classes/modules_claims.ClaimsService.md
Expand Up @@ -30,6 +30,7 @@ claimsService.getClaimById(claim.id);
- [getClaimId](modules_claims.ClaimsService.md#getclaimid)
- [getClaimsByIssuer](modules_claims.ClaimsService.md#getclaimsbyissuer)
- [getClaimsByRequester](modules_claims.ClaimsService.md#getclaimsbyrequester)
- [getClaimsByRevoker](modules_claims.ClaimsService.md#getclaimsbyrevoker)
- [getClaimsBySubject](modules_claims.ClaimsService.md#getclaimsbysubject)
- [getClaimsBySubjects](modules_claims.ClaimsService.md#getclaimsbysubjects)
- [getNamespaceFromClaimType](modules_claims.ClaimsService.md#getnamespacefromclaimtype)
Expand Down Expand Up @@ -335,6 +336,32 @@ list of claims

___

### getClaimsByRevoker

**getClaimsByRevoker**(`options?`): `Promise`<[`Claim`](../interfaces/modules_claims.Claim.md)[]\>

Retrieve all claims that a user can revoke. Allow to filter by namespace

```typescript
claimsService.getClaimsByRevoker({
namespace?: 'energyweb.iam.ewc'
});
```

#### Parameters

| Name | Type |
| :------ | :------ |
| `options?` | [`GetClaimsByRevokerOptions`](../interfaces/modules_claims.GetClaimsByRevokerOptions.md) |

#### Returns

`Promise`<[`Claim`](../interfaces/modules_claims.Claim.md)[]\>

list of claims

___

### getClaimsBySubject

**getClaimsBySubject**(`options`): `Promise`<[`Claim`](../interfaces/modules_claims.Claim.md)[]\>
Expand Down
17 changes: 17 additions & 0 deletions docs/api/interfaces/modules_cache_client.ICacheClient.md
Expand Up @@ -25,6 +25,7 @@
- [getClaimById](modules_cache_client.ICacheClient.md#getclaimbyid)
- [getClaimsByIssuer](modules_cache_client.ICacheClient.md#getclaimsbyissuer)
- [getClaimsByRequester](modules_cache_client.ICacheClient.md#getclaimsbyrequester)
- [getClaimsByRevoker](modules_cache_client.ICacheClient.md#getclaimsbyrevoker)
- [getClaimsBySubject](modules_cache_client.ICacheClient.md#getclaimsbysubject)
- [getClaimsBySubjects](modules_cache_client.ICacheClient.md#getclaimsbysubjects)
- [getDIDsForRole](modules_cache_client.ICacheClient.md#getdidsforrole)
Expand Down Expand Up @@ -235,6 +236,22 @@ ___

___

### getClaimsByRevoker

**getClaimsByRevoker**(`filter?`): `Promise`<[`Claim`](modules_claims.Claim.md)[]\>

#### Parameters

| Name | Type |
| :------ | :------ |
| `filter?` | [`ClaimsFilter`](../modules/modules_cache_client.md#claimsfilter) |

#### Returns

`Promise`<[`Claim`](modules_claims.Claim.md)[]\>

___

### getClaimsBySubject

**getClaimsBySubject**(`subject`, `filter?`): `Promise`<[`Claim`](modules_claims.Claim.md)[]\>
Expand Down
17 changes: 17 additions & 0 deletions docs/api/interfaces/modules_claims.GetClaimsByRevokerOptions.md
@@ -0,0 +1,17 @@
# Interface: GetClaimsByRevokerOptions

[modules/claims](../modules/modules_claims.md).GetClaimsByRevokerOptions

## Table of contents

### Properties

- [namespace](modules_claims.GetClaimsByRevokerOptions.md#namespace)

## Properties

### namespace

`Optional` **namespace**: `string`

Indicates what namespace `Claims` should be in
1 change: 1 addition & 0 deletions docs/api/modules/modules_claims.md
Expand Up @@ -22,6 +22,7 @@
- [DeleteClaimOptions](../interfaces/modules_claims.DeleteClaimOptions.md)
- [GetClaimsByIssuerOptions](../interfaces/modules_claims.GetClaimsByIssuerOptions.md)
- [GetClaimsByRequesterOptions](../interfaces/modules_claims.GetClaimsByRequesterOptions.md)
- [GetClaimsByRevokerOptions](../interfaces/modules_claims.GetClaimsByRevokerOptions.md)
- [GetClaimsBySubjectOptions](../interfaces/modules_claims.GetClaimsBySubjectOptions.md)
- [GetRevocationClaimDetailsOptions](../interfaces/modules_claims.GetRevocationClaimDetailsOptions.md)
- [GetRevocationClaimDetailsResult](../interfaces/modules_claims.GetRevocationClaimDetailsResult.md)
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/modules/cache-client/cache-client.interface.ts
Expand Up @@ -20,7 +20,6 @@ export interface ICacheClient {
pubKeyAndIdentityToken: IPubKeyAndIdentityToken | undefined;
login: () => Promise<void>;
isAuthEnabled: () => boolean;

getRoleDefinition: (namespace: string) => Promise<IRoleDefinition>;
getRolesDefinition: (
namespace: string[]
Expand Down Expand Up @@ -61,6 +60,7 @@ export interface ICacheClient {
filter?: ClaimsFilter
) => Promise<Claim[]>;
getClaimById: (claimId: string) => Promise<Claim | undefined>;
getClaimsByRevoker: (filter?: ClaimsFilter) => Promise<Claim[]>;
requestClaim: (message: IClaimRequest) => Promise<void>;
issueClaim: (issuer: string, message: IClaimIssuance) => Promise<void>;
rejectClaim: (issuer: string, message: IClaimRejection) => Promise<void>;
Expand Down
9 changes: 9 additions & 0 deletions src/modules/cache-client/cache-client.service.ts
Expand Up @@ -347,6 +347,15 @@ export class CacheClient implements ICacheClient {
return data;
}

async getClaimsByRevoker({ namespace }: ClaimsFilter = {}) {
const { data } = await this._httpClient.get<Claim[]>(`/claim/revoker`, {
params: {
namespace,
},
});
return data;
}

async getClaimById(claimId: string): Promise<Claim | undefined> {
const { data } = await this._httpClient.get<Claim | undefined>(
`/claim/${claimId}`
Expand Down
19 changes: 19 additions & 0 deletions src/modules/claims/claims.service.ts
Expand Up @@ -57,6 +57,7 @@ import {
GetRevocationClaimDetailsOptions,
GetRevocationClaimDetailsResult,
ClaimRevocationDetailsResult,
GetClaimsByRevokerOptions,
} from './claims.types';
import { DidRegistry } from '../did-registry/did-registry.service';
import { ClaimData } from '../did-registry/did.types';
Expand Down Expand Up @@ -266,6 +267,24 @@ export class ClaimsService {
return this._cacheClient.getClaimsBySubject(did, { isAccepted, namespace });
}

/**
* Retrieve all claims that a user can revoke. Allow to filter by namespace
*
* ```typescript
* claimsService.getClaimsByRevoker({
* namespace?: 'energyweb.iam.ewc'
* });
* ```
*
* @param {GetClaimsByRevokerOptions} options
* @return list of claims
*/
async getClaimsByRevoker(
options?: GetClaimsByRevokerOptions
): Promise<Claim[]> {
return this._cacheClient.getClaimsByRevoker(options);
}

/**
* Retrieve claim with given id.
*
Expand Down
5 changes: 5 additions & 0 deletions src/modules/claims/claims.types.ts
Expand Up @@ -138,6 +138,11 @@ export interface GetClaimsBySubjectOptions {
namespace?: string;
}

export interface GetClaimsByRevokerOptions {
/** Indicates what namespace `Claims` should be in */
namespace?: string;
}

export interface CreateClaimRequestOptions {
/** Claim request params */
claim: {
Expand Down

0 comments on commit 80cf934

Please sign in to comment.