@bitblit/ratchet-aws
Version:
Common tools for use with AWS browser and node
37 lines • 1.32 kB
JavaScript
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