CoolFace
Apppublic

sakthivikram/geo-location

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes
PublicController.java43 linesDownload Raw Back to controller
1package com.georeport.controller;2 3import com.georeport.dto.ApiResponse;4import com.georeport.dto.DashboardStats;5import com.georeport.service.IssueService;6import org.springframework.beans.factory.annotation.Autowired;7import org.springframework.http.ResponseEntity;8import org.springframework.web.bind.annotation.*;9 10import java.util.HashMap;11import java.util.Map;12 13/**14 * REST Controller for public endpoints.15 * Provides limited public data for unauthenticated users.16 */17@RestController18@RequestMapping("/api/public")19@CrossOrigin(origins = "*")20public class PublicController {21 22    @Autowired23    private IssueService issueService;24 25    /**26     * Get public statistics for the landing page27     * GET /api/public/stats28     */29    @GetMapping("/stats")30    public ResponseEntity<ApiResponse<Map<String, Object>>> getPublicStats() {31        DashboardStats stats = issueService.getDashboardStats();32 33        // Return limited public data only34        Map<String, Object> publicStats = new HashMap<>();35        publicStats.put("totalIssues", stats.getTotalIssues());36        publicStats.put("resolvedCount", stats.getResolvedCount());37        publicStats.put("inProgressCount", stats.getInProgressCount());38        publicStats.put("submittedCount", stats.getSubmittedCount());39 40        return ResponseEntity.ok(ApiResponse.success(publicStats));41    }42}43