UNPKG

typeorm-encrypted

Version:
49 lines 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const typeorm_1 = require("typeorm"); const crypto_1 = require("./crypto"); /** * Encrypt fields on entity. */ function encrypt(entity) { if (!entity) { return entity; } for (let columnMetadata of typeorm_1.getMetadataArgsStorage().columns) { let { propertyName, mode, target } = columnMetadata; let options = columnMetadata.options; let encrypt = options.encrypt; if (encrypt && mode === 'regular' && (encrypt.looseMatching || entity.constructor === target)) { if (entity[propertyName]) { entity[propertyName] = crypto_1.encryptData(Buffer.from(entity[propertyName], 'utf8'), encrypt).toString('base64'); } } } return entity; } exports.encrypt = encrypt; /** * Decrypt fields on entity. */ function decrypt(entity) { if (!entity) { return entity; } for (let columnMetadata of typeorm_1.getMetadataArgsStorage().columns) { let { propertyName, mode, target } = columnMetadata; let options = columnMetadata.options; let encrypt = options.encrypt; if (encrypt && mode === 'regular' && (encrypt.looseMatching || entity.constructor === target)) { if (entity[propertyName]) { entity[propertyName] = crypto_1.decryptData(Buffer.from(entity[propertyName], 'base64'), encrypt).toString('utf8'); } } } return entity; } exports.decrypt = decrypt; //# sourceMappingURL=entity.js.map