UNPKG

@bitblit/ratchet-aws

Version:

Common tools for use with AWS browser and node

37 lines 1.32 kB
import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet'; import { Logger } from '@bitblit/ratchet-common/logger/logger'; export class DynamoRuntimeParameterProvider { dynamo; tableName; constructor(dynamo, tableName) { this.dynamo = dynamo; this.tableName = tableName; RequireRatchet.notNullOrUndefined(this.dynamo); RequireRatchet.notNullOrUndefined(this.tableName); } async readParameter(groupId, paramKey) { Logger.silly('Reading %s / %s from underlying db', groupId, paramKey); const req = { groupId: groupId, paramKey: paramKey, }; const rval = await this.dynamo.simpleGet(this.tableName, req); return rval; } async readAllParametersForGroup(groupId) { const qry = { TableName: this.tableName, KeyConditionExpression: 'groupId = :groupId', ExpressionAttributeValues: { ':groupId': groupId, }, }; const all = await this.dynamo.fullyExecuteQuery(qry); return all; } async writeParameter(toStore) { const rval = await this.dynamo.simplePut(this.tableName, toStore); return !!rval; } } //# sourceMappingURL=dynamo-runtime-parameter-provider.js.map