Implement space member search (#731)

* Hide pagination buttons if there is nothing to paginate
* Create reusable hook for search and pagination
This commit is contained in:
Philip Okugbe
2025-02-15 14:14:30 +00:00
committed by GitHub
parent 4d51986250
commit f92d63261d
7 changed files with 47 additions and 16 deletions

View File

@ -97,7 +97,7 @@ export class SpaceMemberRepo {
spaceId: string,
pagination: PaginationOptions,
) {
const query = this.db
let query = this.db
.selectFrom('spaceMembers')
.leftJoin('users', 'users.id', 'spaceMembers.userId')
.leftJoin('groups', 'groups.id', 'spaceMembers.groupId')
@ -116,6 +116,16 @@ export class SpaceMemberRepo {
.where('spaceId', '=', spaceId)
.orderBy('spaceMembers.createdAt', 'asc');
if (pagination.query) {
query = query.where((eb) =>
eb('users.name', 'ilike', `%${pagination.query}%`).or(
'groups.name',
'ilike',
`%${pagination.query}%`,
),
);
}
const result = await executeWithPagination(query, {
page: pagination.page,
perPage: pagination.limit,