(client)
| 26 | */ |
| 27 | |
| 28 | const mockHsmKeysAPI = (client) => { |
| 29 | return { |
| 30 | /** |
| 31 | * Create a new MockHsm key. |
| 32 | * |
| 33 | * @param {Object} [params={}] - Parameters for MockHSM key creation. |
| 34 | * @param {String} params.alias - User specified, unique identifier. |
| 35 | * @param {objectCallback} [callback] - Optional callback. Use instead of Promise return value as desired. |
| 36 | * @returns {Promise<MockHsmKey>} Newly created MockHSM key. |
| 37 | */ |
| 38 | create: (params, cb) => { |
| 39 | let body = Object.assign({ clientToken: uuid.v4() }, params) |
| 40 | return shared.tryCallback( |
| 41 | client.request('/mockhsm/create-key', body).then(data => data), |
| 42 | cb |
| 43 | ) |
| 44 | }, |
| 45 | |
| 46 | /** |
| 47 | * Get one page of MockHsm keys, optionally filtered to specified aliases. |
| 48 | * |
| 49 | * <b>NOTE</b>: The <code>filter</code> parameter of {@link Query} is unavailable for the MockHSM. |
| 50 | * |
| 51 | * @param {Object} params={} - Filter and pagination information. |
| 52 | * @param {Array.<string>} params.aliases - List of requested aliases, max 200. |
| 53 | * @param {Number} params.pageSize - Number of items to return in result set. |
| 54 | * @param {pageCallback} [callback] - Optional callback. Use instead of Promise return value as desired. |
| 55 | * @returns {Promise<Page<MockHsmKey>>} Requested page of results. |
| 56 | */ |
| 57 | query: (params, cb) => { |
| 58 | if (Array.isArray(params.aliases) && params.aliases.length > 0) { |
| 59 | params.pageSize = params.aliases.length |
| 60 | } |
| 61 | |
| 62 | return shared.query(client, 'mockHsm.keys', '/mockhsm/list-keys', params, {cb}) |
| 63 | }, |
| 64 | |
| 65 | /** |
| 66 | * Request all MockHsm keys matching the specified query, calling the |
| 67 | * supplied processor callback with each item individually. |
| 68 | * |
| 69 | * <b>NOTE</b>: The <code>filter</code> parameter of {@link Query} is unavailable for the MockHSM. |
| 70 | * |
| 71 | * @param {Object} params={} - Filter and pagination information. |
| 72 | * @param {Array.<string>} params.aliases - List of requested aliases, max 200. |
| 73 | * @param {Number} params.pageSize - Number of items to return in result set. |
| 74 | * @param {QueryProcessor<MockHsmKey>} processor - Processing callback. |
| 75 | * @param {objectCallback} [callback] - Optional callback. Use instead of Promise return value as desired. |
| 76 | * @returns {Promise} A promise resolved upon processing of all items, or |
| 77 | * rejected on error. |
| 78 | */ |
| 79 | queryAll: (params, processor, cb) => shared.queryAll(client, 'mockHsm.keys', params, processor, cb), |
| 80 | } |
| 81 | } |
| 82 | |
| 83 | module.exports = mockHsmKeysAPI |
no test coverage detected