cnpmcore
Version:
32 lines • 2.31 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EntityUtil = void 0;
const bson_objectid_1 = __importDefault(require("bson-objectid"));
const egg_errors_1 = require("egg-errors");
const MAX_PAGE_SIZE = 100;
class EntityUtil {
static defaultData(data, id) {
Reflect.set(data, id, EntityUtil.createId());
data.createdAt = data.createdAt || new Date();
data.updatedAt = data.updatedAt || new Date();
return data;
}
static createId() {
return new bson_objectid_1.default().toHexString();
}
static convertPageOptionsToLimitOption(page) {
const { pageIndex = 0, pageSize = 20 } = page;
if (pageSize > MAX_PAGE_SIZE) {
throw new egg_errors_1.E400(`max page size is 100, current request is ${pageSize}`);
}
return {
offset: pageIndex * pageSize,
limit: pageSize,
};
}
}
exports.EntityUtil = EntityUtil;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW50aXR5VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL3V0aWwvRW50aXR5VXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrRUFBcUM7QUFDckMsMkNBQWtDO0FBT2xDLE1BQU0sYUFBYSxHQUFHLEdBQVksQ0FBQztBQWNuQyxNQUFhLFVBQVU7SUFDckIsTUFBTSxDQUFDLFdBQVcsQ0FBMkMsSUFBcUIsRUFBRSxFQUFNO1FBQ3hGLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixPQUFPLElBQUksdUJBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsK0JBQStCLENBQUMsSUFBaUI7UUFDdEQsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztRQUM5QyxJQUFJLFFBQVEsR0FBRyxhQUFhLEVBQUU7WUFDNUIsTUFBTSxJQUFJLGlCQUFJLENBQUMsNENBQTRDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDeEU7UUFDRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLFNBQVMsR0FBRyxRQUFRO1lBQzVCLEtBQUssRUFBRSxRQUFRO1NBQ2hCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF0QkQsZ0NBc0JDIn0=