diff --git a/app/controllers/web/my-account/list-domains.js b/app/controllers/web/my-account/list-domains.js index e36c39e7c..5e3d84b84 100644 --- a/app/controllers/web/my-account/list-domains.js +++ b/app/controllers/web/my-account/list-domains.js @@ -26,7 +26,9 @@ async function listDomains(ctx, next) { // (unless user opts in beforehand using ?pagination=true) // const hasPagination = dayjs().isBefore('11/1/2024', 'M/D/YYYY') - ? boolean(ctx.query.pagination) + ? boolean(ctx.query.pagination) || + !_.isUndefined(ctx.query.limit) || + !_.isUndefined(ctx.query.page) : true; // diff --git a/app/controllers/web/my-account/list-emails.js b/app/controllers/web/my-account/list-emails.js index c40253bb5..17a1d0a40 100644 --- a/app/controllers/web/my-account/list-emails.js +++ b/app/controllers/web/my-account/list-emails.js @@ -16,10 +16,8 @@ const { Domains, Emails, Aliases } = require('#models'); // eslint-disable-next-line complexity async function listEmails(ctx, next) { // user must be domain admin or alias owner of the email - const [domains, aliases, goodDomains, count] = await Promise.all([ + const [domains, aliases, count] = await Promise.all([ Domains.distinct('_id', { - has_smtp: true, - is_smtp_suspended: false, members: { $elemMatch: { user: ctx.state.user._id, @@ -30,10 +28,6 @@ async function listEmails(ctx, next) { Aliases.distinct('_id', { user: ctx.state.user._id }), - Domains.distinct('_id', { - has_smtp: true, - is_smtp_suspended: false - }), ctx.client.zcard(`${config.smtpLimitNamespace}:${ctx.state.user.id}`) ]); @@ -46,8 +40,7 @@ async function listEmails(ctx, next) { let query = { $or: [ { - alias: { $in: aliases }, - domain: { $in: goodDomains } + alias: { $in: aliases } }, { domain: { $in: domains } @@ -78,10 +71,6 @@ async function listEmails(ctx, next) { ) ); - // domain cannot be in suspended domains list - if (_.isDate(domain.smtp_suspended_sent_at)) - throw Boom.badRequest(ctx.translateError('DOMAIN_SUSPENDED')); - // if domain has not yet been setup yet then alert user if ( !ctx.api && diff --git a/app/controllers/web/my-account/retrieve-aliases.js b/app/controllers/web/my-account/retrieve-aliases.js index 023b12f6d..235890d55 100644 --- a/app/controllers/web/my-account/retrieve-aliases.js +++ b/app/controllers/web/my-account/retrieve-aliases.js @@ -141,7 +141,9 @@ async function retrieveAliases(ctx, next) { // (unless user opts in beforehand using ?pagination=true) // const hasPagination = dayjs().isBefore('11/1/2024', 'M/D/YYYY') - ? boolean(ctx.query.pagination) + ? boolean(ctx.query.pagination) || + !_.isUndefined(ctx.query.limit) || + !_.isUndefined(ctx.query.page) : true; // diff --git a/routes/api/v1/index.js b/routes/api/v1/index.js index 6eeb310ec..564a3ca26 100644 --- a/routes/api/v1/index.js +++ b/routes/api/v1/index.js @@ -4,6 +4,7 @@ */ const Router = require('@koa/router'); +const _ = require('lodash'); const bodyParser = require('koa-bodyparser'); const dayjs = require('dayjs-with-plugins'); const multer = require('@koa/multer'); @@ -175,7 +176,9 @@ router // (unless user opts in beforehand using ?pagination=true) // const hasPagination = dayjs().isBefore('11/1/2024', 'M/D/YYYY') - ? boolean(ctx.query.pagination) + ? boolean(ctx.query.pagination) || + !_.isUndefined(ctx.query.limit) || + !_.isUndefined(ctx.query.page) : true; if (!hasPagination) return next(); if (typeof ctx.query.limit === 'undefined') ctx.query.limit = 1000; @@ -286,7 +289,9 @@ router // (unless user opts in beforehand using ?pagination=true) // const hasPagination = dayjs().isBefore('11/1/2024', 'M/D/YYYY') - ? boolean(ctx.query.pagination) + ? boolean(ctx.query.pagination) || + !_.isUndefined(ctx.query.limit) || + !_.isUndefined(ctx.query.page) : true; if (!hasPagination) return next(); if (typeof ctx.query.limit === 'undefined') ctx.query.limit = 1000;