From b3b7e9c2135c114fe842359abe48029f7d6cd353 Mon Sep 17 00:00:00 2001 From: jorgep Date: Tue, 6 Aug 2024 17:08:27 +0200 Subject: [PATCH] fix: refs #7524 default limit select --- loopback/common/models/vn-model.js | 9 ++++----- loopback/server/boot/orm.js | 6 ++++++ 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 loopback/server/boot/orm.js diff --git a/loopback/common/models/vn-model.js b/loopback/common/models/vn-model.js index 0b16c6532..20c75ca8c 100644 --- a/loopback/common/models/vn-model.js +++ b/loopback/common/models/vn-model.js @@ -31,20 +31,19 @@ module.exports = function(Self) { /* * Intercept GET request for find */ - this.beforeRemote('find', async function(ctx) { + this.beforeRemote('find', async ctx => { isSelect = true; const filter = ctx.args.filter || {}; - // console.log(this.dataSource, Self.dataSource); undefined/null if (filter.limit === undefined) { - filter.limit = 1/* limit */; + filter.limit = this.app.orm.selectLimit; ctx.args.filter = filter; } }); - this.observe('loaded', async function({data}) { + this.observe('loaded', async({data}) => { if (!isSelect) return; const length = Array.isArray(data) ? data.length : data ? 1 : 0; - if (length >= 1) throw new UserError('Too many records'); + if (length >= this.app.orm.selectLimit) throw new UserError('Too many records'); }); // Register field ACL validation diff --git a/loopback/server/boot/orm.js b/loopback/server/boot/orm.js new file mode 100644 index 000000000..8bbd969e1 --- /dev/null +++ b/loopback/server/boot/orm.js @@ -0,0 +1,6 @@ +module.exports = async function(app) { + if (!app.orm) { + const ormConfig = await app.models.OrmConfig.findOne(); + app.orm = ormConfig; + } +};