All files / src/interfaces/mobile-api/shared mobile-push.controller.ts

0% Statements 0/10
0% Branches 0/4
0% Functions 0/1
0% Lines 0/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30                                                           
import { Controller, Post, Body, Req, UseGuards } from '@nestjs/common';
import { JwtAuthGuard } from '../../../platform/auth/jwt-auth.guard';
import { ApiTags, ApiOperation, ApiResponse } from '@nestjs/swagger';
 
@Controller('api/v1/mobile/push')
@ApiTags('MobilePush')
@UseGuards(JwtAuthGuard)
export class MobilePushController {
  @Post('register')
  @ApiOperation({ summary: 'Register FCM device push token' })
  @ApiResponse({ status: 201, description: 'Token registered successfully' })
  async registerToken(
    @Req() req: any,
    @Body()
    body: { fcmToken: string; deviceId?: string; platform?: 'android' | 'ios' },
  ) {
    const userId = req.user?.id || 'SYSTEM';
 
    // In real app, persist device registration token to user's devices registry
    console.log(
      `Registered FCM token: ${body.fcmToken} for user: ${userId} on platform: ${body.platform || 'unknown'}`,
    );
 
    return {
      success: true,
      registeredAt: new Date(),
    };
  }
}