UNPKG

@setho/dynamodb-repository

Version:

DynamoDB repository for hash-key and hash-key/range indexed tables. Designed for Lambda use. Handles nice-to-haves like created and updated timestamps and default id creation.

25 lines 1.08 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const joi_1 = __importDefault(require("joi")); const http_errors_1 = require("http-errors"); const keyValueRepoConstructorSchema = joi_1.default.object().keys({ tableName: joi_1.default.string().required(), keyName: joi_1.default.string().required(), idOptions: joi_1.default.object().keys({ prefix: joi_1.default.string(), }), documentClient: joi_1.default.object().required(), }); const createMessage = (error) => error.details.map((detail) => detail.message).join(', '); const keyValueRepoConstructor = (constructorArgs) => { const { error } = keyValueRepoConstructorSchema.validate(constructorArgs); if (error) { const errorMessage = createMessage(error); throw new http_errors_1.BadRequest(`Bad Request: ${errorMessage}`); } }; exports.default = keyValueRepoConstructor; //# sourceMappingURL=validator.js.map