feat: add deleteMember method to members API service

This commit is contained in:
CREDO23 2025-12-16 14:13:53 +00:00
parent d747f59ae9
commit eb38a02775

View file

@ -3,10 +3,14 @@ import {
type GetMembersResponse,
type UpdateMembershipRequest,
type UpdateMembershipResponse,
type DeleteMembershipRequest,
type DeleteMembershipResponse,
getMembersRequest,
getMembersResponse,
updateMembershipRequest,
updateMembershipResponse,
deleteMembershipRequest,
deleteMembershipResponse,
} from "@/contracts/types/members.types";
import { ValidationError } from "@/lib/error";
import { baseApiService } from "./base-api.service";
@ -52,6 +56,25 @@ class MembersApiService {
},
);
};
/**
* Delete a member from search space
*/
deleteMember = async (request: DeleteMembershipRequest) => {
const parsedRequest = deleteMembershipRequest.safeParse(request);
if (!parsedRequest.success) {
console.error("Invalid request:", parsedRequest.error);
const errorMessage = parsedRequest.error.errors.map((err) => err.message).join(", ");
throw new ValidationError(`Invalid request: ${errorMessage}`);
}
return baseApiService.delete(
`/searchspaces/${parsedRequest.data.search_space_id}/members/${parsedRequest.data.membership_id}`,
deleteMembershipResponse,
);
};
}
export const membersApiService = new MembersApiService();