+
+
+
diff --git a/frontend/src/_services/organization.service.js b/frontend/src/_services/organization.service.js
index c663f02358..4b37595b65 100644
--- a/frontend/src/_services/organization.service.js
+++ b/frontend/src/_services/organization.service.js
@@ -15,8 +15,8 @@ export const organizationService = {
function getUsers(page, options) {
const requestOptions = { method: 'GET', headers: authHeader() };
- const { firstName, lastName, email } = options;
- const query = queryString.stringify({ page, firstName, lastName, email });
+ const { firstName, lastName, email, status } = options;
+ const query = queryString.stringify({ page, firstName, lastName, email, status });
return fetch(`${config.apiUrl}/organizations/users?${query}`, requestOptions).then(handleResponse);
}
diff --git a/server/src/controllers/organizations.controller.ts b/server/src/controllers/organizations.controller.ts
index 27c8d6426c..12a662e157 100644
--- a/server/src/controllers/organizations.controller.ts
+++ b/server/src/controllers/organizations.controller.ts
@@ -24,11 +24,12 @@ export class OrganizationsController {
@CheckPolicies((ability: AppAbility) => ability.can('viewAllUsers', UserEntity))
@Get('users')
async getUsers(@User() user, @Query() query) {
- const { page, email, firstName, lastName } = query;
+ const { page, email, firstName, lastName, status } = query;
const filterOptions = {
...(email && { email }),
...(firstName && { firstName }),
...(lastName && { lastName }),
+ ...(status && { status }),
};
const usersCount = await this.organizationsService.usersCount(user, filterOptions);
let users = [];
diff --git a/server/src/services/organizations.service.ts b/server/src/services/organizations.service.ts
index 2d0f009893..02407e3727 100644
--- a/server/src/services/organizations.service.ts
+++ b/server/src/services/organizations.service.ts
@@ -26,7 +26,7 @@ type FetchUserResponse = {
accountSetupToken?: string;
};
-type UserFilterOptions = { email?: string; firstName?: string; lastName?: string };
+type UserFilterOptions = { email?: string; firstName?: string; lastName?: string; status?: string };
@Injectable()
export class OrganizationsService {
@@ -150,6 +150,10 @@ export class OrganizationsService {
qb.orWhere('lower(user.lastName) like :lastName', {
lastName: `%${options?.lastName.toLowerCase()}%`,
});
+ if (options?.status)
+ qb.orWhere('organization_user.status = :status', {
+ status: `${options?.status}`,
+ });
});
};
const getAndConditions = () => {
@@ -166,6 +170,10 @@ export class OrganizationsService {
qb.andWhere('lower(user.lastName) like :lastName', {
lastName: `%${options?.lastName.toLowerCase()}%`,
});
+ if (options?.status)
+ qb.andWhere('organization_user.status = :status', {
+ status: `${options?.status}`,
+ });
});
};
const query = createQueryBuilder(OrganizationUser, 'organization_user')