diff --git a/src/admin/admin.controller.ts b/src/admin/admin.controller.ts index 03442f8e55e2210e3bf1fc52f96e0c4617ff3add..b3b650fac1beea63255e205e422b44e58570971a 100644 --- a/src/admin/admin.controller.ts +++ b/src/admin/admin.controller.ts @@ -111,6 +111,13 @@ export class AdminController { else return this.newsletterService.findAll(); } + @UseGuards(JwtAuthGuard, RolesGuard) + @Roles('admin') + @Get('countNewsletterSubscriptions') + public async countNewsletterSubscriptions() { + return this.newsletterService.countNewsletterSubscriptions(); + } + @UseGuards(JwtAuthGuard, RolesGuard) @Roles('admin') @Delete('newsletterSubscription/:email') diff --git a/src/newsletter/newsletter.service.ts b/src/newsletter/newsletter.service.ts index c1ca5efc0e07368586b7a3ac99c7248c43d8a85f..16c9d08f1b43c051955477cb802571060e1cdf8c 100644 --- a/src/newsletter/newsletter.service.ts +++ b/src/newsletter/newsletter.service.ts @@ -36,6 +36,10 @@ export class NewsletterService { return this.newsletterSubscriptionModel.find({ email: new RegExp(searchString, 'i') }).exec(); } + public async countNewsletterSubscriptions() { + return this.newsletterSubscriptionModel.count({}).exec(); + } + public async deleteOneEmail(mail: string): Promise<NewsletterSubscription | undefined> { const subscription = await this.newsletterSubscriptionModel.findOne({ email: mail }).exec(); if (!subscription) {