Skip to content

Commit

Permalink
feat: Added keyManagerGetKeyManagementSystems
Browse files Browse the repository at this point in the history
  • Loading branch information
simonas-notcat authored and mirceanis committed Sep 7, 2020
1 parent cef06b1 commit 9741462
Show file tree
Hide file tree
Showing 10 changed files with 83 additions and 0 deletions.
17 changes: 17 additions & 0 deletions docs/api/daf-core.ikeymanager.keymanagergetkeymanagementsystems.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [daf-core](./daf-core.md) &gt; [IKeyManager](./daf-core.ikeymanager.md) &gt; [keyManagerGetKeyManagementSystems](./daf-core.ikeymanager.keymanagergetkeymanagementsystems.md)

## IKeyManager.keyManagerGetKeyManagementSystems() method

Lists available key management systems

<b>Signature:</b>

```typescript
keyManagerGetKeyManagementSystems(): Promise<Array<string>>;
```
<b>Returns:</b>

Promise&lt;Array&lt;string&gt;&gt;

1 change: 1 addition & 0 deletions docs/api/daf-core.ikeymanager.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export interface IKeyManager extends IPluginMethodMap
| [keyManagerDeleteKey(args)](./daf-core.ikeymanager.keymanagerdeletekey.md) | Deletes a key |
| [keyManagerEncryptJWE(args)](./daf-core.ikeymanager.keymanagerencryptjwe.md) | <b><i>(BETA)</i></b> Encrypts data |
| [keyManagerGetKey(args)](./daf-core.ikeymanager.keymanagergetkey.md) | Returns an existing key |
| [keyManagerGetKeyManagementSystems()](./daf-core.ikeymanager.keymanagergetkeymanagementsystems.md) | Lists available key management systems |
| [keyManagerImportKey(args)](./daf-core.ikeymanager.keymanagerimportkey.md) | Imports a created key |
| [keyManagerSignEthTX(args)](./daf-core.ikeymanager.keymanagersignethtx.md) | Signs Ethereum transaction |
| [keyManagerSignJWT(args)](./daf-core.ikeymanager.keymanagersignjwt.md) | Signs JWT |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [daf-key-manager](./daf-key-manager.md) &gt; [KeyManager](./daf-key-manager.keymanager.md) &gt; [keyManagerGetKeyManagementSystems](./daf-key-manager.keymanager.keymanagergetkeymanagementsystems.md)

## KeyManager.keyManagerGetKeyManagementSystems() method

Lists available key management systems

<b>Signature:</b>

```typescript
keyManagerGetKeyManagementSystems(): Promise<Array<string>>;
```
<b>Returns:</b>

Promise&lt;Array&lt;string&gt;&gt;

1 change: 1 addition & 0 deletions docs/api/daf-key-manager.keymanager.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ export declare class KeyManager implements IAgentPlugin
| [keyManagerDeleteKey({ kid })](./daf-key-manager.keymanager.keymanagerdeletekey.md) | | Deletes a key |
| [keyManagerEncryptJWE({ kid, to, data })](./daf-key-manager.keymanager.keymanagerencryptjwe.md) | | Encrypts data |
| [keyManagerGetKey({ kid })](./daf-key-manager.keymanager.keymanagergetkey.md) | | Returns an existing key |
| [keyManagerGetKeyManagementSystems()](./daf-key-manager.keymanager.keymanagergetkeymanagementsystems.md) | | Lists available key management systems |
| [keyManagerImportKey(key)](./daf-key-manager.keymanager.keymanagerimportkey.md) | | Imports a created key |
| [keyManagerSignEthTX({ kid, transaction })](./daf-key-manager.keymanager.keymanagersignethtx.md) | | Signs Ethereum transaction |
| [keyManagerSignJWT({ kid, data })](./daf-key-manager.keymanager.keymanagersignjwt.md) | | Signs JWT |
Expand Down
5 changes: 5 additions & 0 deletions docs/methods.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,11 @@ Encrypts data
Returns an existing key


### [keyManagerGetKeyManagementSystems](./api/daf-core.ikeymanager.keymanagergetkeymanagementsystems.md)

Lists available key management systems


### [keyManagerImportKey](./api/daf-core.ikeymanager.keymanagerimportkey.md)

Imports a created key
Expand Down
5 changes: 5 additions & 0 deletions packages/daf-core/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -737,6 +737,11 @@ export interface IKeyManagerSignEthTXArgs {
* @public
*/
export interface IKeyManager extends IPluginMethodMap {
/**
* Lists available key management systems
*/
keyManagerGetKeyManagementSystems(): Promise<Array<string>>

/**
* Creates and returns a new key
*/
Expand Down
6 changes: 6 additions & 0 deletions packages/daf-key-manager/src/key-manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ export class KeyManager implements IAgentPlugin {
this.store = options.store
this.kms = options.kms
this.methods = {
keyManagerGetKeyManagementSystems: this.keyManagerGetKeyManagementSystems.bind(this),
keyManagerCreateKey: this.keyManagerCreateKey.bind(this),
keyManagerGetKey: this.keyManagerGetKey.bind(this),
keyManagerDeleteKey: this.keyManagerDeleteKey.bind(this),
Expand All @@ -48,6 +49,11 @@ export class KeyManager implements IAgentPlugin {
return kms
}

/** {@inheritDoc daf-core#IKeyManager.keyManagerGetKeyManagementSystems} */
async keyManagerGetKeyManagementSystems(): Promise<Array<string>> {
return Object.keys(this.kms)
}

/** {@inheritDoc daf-core#IKeyManager.keyManagerCreateKey} */
async keyManagerCreateKey(args: IKeyManagerCreateKeyArgs): Promise<IKey> {
const kms = this.getKms(args.kms)
Expand Down
28 changes: 28 additions & 0 deletions packages/daf-rest/src/openApiSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2335,6 +2335,34 @@ export const openApiSchema: OpenAPIV3.Document = {
}
}
},
"/keyManagerGetKeyManagementSystems": {
"post": {
"description": "Lists available key management systems",
"operationId": "keyManagerGetKeyManagementSystems",
"requestBody": {
"content": {
"application/json": {
"schema": {}
}
}
},
"responses": {
"200": {
"description": "Lists available key management systems",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
},
"/keyManagerImportKey": {
"post": {
"description": "Imports a created key",
Expand Down
1 change: 1 addition & 0 deletions report/daf-core.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ export interface IKeyManager extends IPluginMethodMap {
// @beta
keyManagerEncryptJWE(args: IKeyManagerEncryptJWEArgs): Promise<string>;
keyManagerGetKey(args: IKeyManagerGetKeyArgs): Promise<IKey>;
keyManagerGetKeyManagementSystems(): Promise<Array<string>>;
keyManagerImportKey(args: IKey): Promise<boolean>;
keyManagerSignEthTX(args: IKeyManagerSignEthTXArgs): Promise<string>;
keyManagerSignJWT(args: IKeyManagerSignJWTArgs): Promise<string>;
Expand Down
2 changes: 2 additions & 0 deletions report/daf-key-manager.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ export class KeyManager implements IAgentPlugin {
// (undocumented)
keyManagerGetKey({ kid }: IKeyManagerGetKeyArgs): Promise<IKey>;
// (undocumented)
keyManagerGetKeyManagementSystems(): Promise<Array<string>>;
// (undocumented)
keyManagerImportKey(key: IKey): Promise<boolean>;
// (undocumented)
keyManagerSignEthTX({ kid, transaction }: IKeyManagerSignEthTXArgs): Promise<string>;
Expand Down

0 comments on commit 9741462

Please sign in to comment.