feat: revokeUserInviteByAdmin mutation added and invitedUsers query updated

This commit is contained in:
Mir Arif Hasan
2024-01-09 18:11:43 +06:00
parent cd371fc9d4
commit b9c36faaa4
5 changed files with 99 additions and 7 deletions

View File

@@ -269,6 +269,25 @@ export class AdminResolver {
return invitedUser.right;
}
@Mutation(() => Boolean, { description: 'Revoke a user invite by ID' })
@UseGuards(GqlAuthGuard, GqlAdminGuard)
async revokeUserInviteByAdmin(
@GqlAdmin() adminUser: Admin,
@Args({
name: 'inviteeEmail',
description: 'Invite Email',
type: () => ID,
})
inviteeEmail: string,
): Promise<boolean> {
const invite = await this.adminService.revokeUserInvite(
inviteeEmail,
adminUser,
);
if (E.isLeft(invite)) throwErr(invite.left);
return invite.right;
}
@Mutation(() => Boolean, {
description: 'Delete an user account from infra',
})
@@ -471,4 +490,14 @@ export class AdminResolver {
userInvited(@GqlUser() admin: AuthUser) {
return this.pubsub.asyncIterator(`admin/${admin.uid}/invited`);
}
@Subscription(() => InvitedUser, {
description: 'Listen for User Revocation',
resolve: (value) => value,
})
@SkipThrottle()
@UseGuards(GqlAuthGuard, GqlAdminGuard)
userRevoked(@GqlUser() admin: AuthUser) {
return this.pubsub.asyncIterator(`admin/${admin.uid}/revoked`);
}
}