Skip to content

Commit 2976caa

Browse files
authored
Additional and more descriptive error messages for inviteUserToHub (#21)
* Error handling for duplicate invites. Error message adjusted for invalid email * Reverted inviteUserToHub resolver return too non nullable * Updated hub-invite.service.spec.ts * Removed comment * PR review resolution
1 parent b8e1231 commit 2976caa

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/hub/hub-invite/hub-invite.service.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ describe('HubInviteService', () => {
9595
.spyOn(joinUserHubRepo, 'findOne')
9696
.mockResolvedValueOnce(mockedFindOneJoinUserHub);
9797
jest.spyOn(userRepo, 'findOne').mockResolvedValueOnce(invitee);
98+
jest.spyOn(inviteRepo, 'findOne').mockResolvedValueOnce(undefined);
9899
jest.spyOn(inviteRepo, 'create').mockReturnValueOnce(invite);
99100

100101
const addInAppNotificationForUserCall = jest

src/hub/hub-invite/hub-invite.service.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,19 @@ export class HubInviteService {
5959
isOwner: true,
6060
});
6161
this.validateRelationship(userHubRelationship, hubId, userId);
62-
62+
6363
const invitee = await this.userRepository.findOne({
6464
where: {
6565
email: inviteesEmail,
6666
},
6767
});
68+
69+
if(invitee){
70+
const alreadyInvited = await this.inviteRepository.findOne({where: {inviteesId: invitee.id, invitersId: userId, hubId }})
71+
if (alreadyInvited) {
72+
throw new Error(`${invitee.firstName} has already been invited to ${(await alreadyInvited.hub).name}`);
73+
}
74+
}
6875
this.validateInvitee(invitee, inviteesEmail, userId);
6976

7077
let invite = this.inviteRepository.create({
@@ -147,8 +154,9 @@ export class HubInviteService {
147154

148155
private validateInvitee(invitee: User, inviteesEmail: string, userId: any) {
149156
this.logger.log(this.validateInvitee.name);
157+
150158
if (!invitee) {
151-
throw new Error(`Did not find user to invite by email address`);
159+
throw new Error(`Did not find user to invite by email address ${inviteesEmail}. Check Spelling`);
152160
}
153161
if (invitee.id == userId) {
154162
throw new Error(`Cannot invite self to hub.`);

0 commit comments

Comments
 (0)