Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 1x 1x 1270x 1270x 20x 2289x 1270x 1x | 'use strict';
const crypto = require('crypto');
const biguint = require('biguint-format');
function random(qty) {
return crypto.randomBytes(qty);
}
function makeId() {
return biguint(random(6), 'dec', { padstr: '0', size: 15 });
}
class AutoId {
register(Model, customOptions) {
Model.addHook('beforeCreate', async (modelInstance) => {
if (!modelInstance[Model.primaryKey]) {
modelInstance[Model.primaryKey] = makeId();
}
});
}
}
module.exports = AutoId;
|