Skip to content

Commit bb14d49

Browse files
committed
Refactor HTTP routes into separate files.
1 parent 0e108a6 commit bb14d49

File tree

5 files changed

+467
-428
lines changed

5 files changed

+467
-428
lines changed

lib/helpers.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*!
2+
* Copyright (c) 2020-2025 Digital Bazaar, Inc. All rights reserved.
3+
*/
4+
import * as bedrock from '@bedrock/core';
5+
import {ZCAP_CLIENT} from './zcapClient.js';
6+
7+
export async function createMeter({controller, productId, capability} = {}) {
8+
let url;
9+
if(capability) {
10+
url = capability.invocationTarget;
11+
} else {
12+
// only use `url` from config if `capability` is not provided
13+
({url} = bedrock.config['profile-http'].meterService);
14+
}
15+
16+
// create a meter
17+
let meter = {controller, product: {id: productId}};
18+
({data: {meter}} = await ZCAP_CLIENT.write({url, json: meter, capability}));
19+
20+
// return fully qualified meter ID
21+
const {id} = meter;
22+
// ensure `URL` terminates at `/meters` -- in case zcap invocation target
23+
// was attenuated
24+
url = url.slice(0, url.indexOf('/meters') + '/meters'.length);
25+
return {id: `${url}/${id}`};
26+
}

0 commit comments

Comments
 (0)