diff --git a/src/services/organization.js b/src/services/organization.js index 01aa2679..c83a854b 100644 --- a/src/services/organization.js +++ b/src/services/organization.js @@ -251,19 +251,25 @@ module.exports = class OrganizationsHelper { static async list(params) { try { + const tenantCode = params?.query?.tenant_code || params?.query?.tenantCode || null // fetch orgs under tenants - if (params?.query?.tenantCode) { + if (tenantCode) { let options = { attributes: ['id', 'name', 'code', 'description'], } - - let organizations = await organizationQueries.findAll( - { - tenant_code: params?.query?.tenantCode, - status: common.ACTIVE_STATUS, - }, - options - ) + let filters = { + tenant_code: tenantCode, + status: common.ACTIVE_STATUS, + } + // filter by org codes if provided + const orgCodes = params?.query?.organization_codes || params?.query?.organizationCodes || null + orgCodes + ? (filters.code = { + [Op.in]: orgCodes.split(',').map((code) => code.toLowerCase().trim()), + }) + : null + + let organizations = await organizationQueries.findAll(filters, options) return responses.successResponse({ statusCode: httpStatusCode.ok,