blob: 8af5b565d5d848e8740e4012002f4e239db3a48b [file] [log] [blame]
22301102aa5adbc2025-05-18 17:51:55 +08001package com.pt.controller;
2
3import com.pt.constant.Constants;
4import com.pt.entity.Admin;
5import com.pt.repository.AdminRepository;
6import com.pt.service.AdminService;
7import com.pt.utils.JWTUtils;
8import org.springframework.beans.factory.annotation.Autowired;
22301102f69709e2025-06-08 14:10:02 +08009import org.springframework.web.bind.annotation.*;
22301102aa5adbc2025-05-18 17:51:55 +080010import org.springframework.http.ResponseEntity;
11
12import java.util.HashMap;
13import java.util.Map;
14
15@RestController
16@RequestMapping("/api/admin")
17@CrossOrigin(origins = "*")
18public class AdminController {
19
20 @Autowired
21 private AdminService adminService;
22
23 @PostMapping("/login")
22301102f69709e2025-06-08 14:10:02 +080024 public ResponseEntity<?> loginAdmin(@RequestBody Map<String, String> request) {
25 String username = request.get("username");
26 String password = request.get("password");
27
22301102aa5adbc2025-05-18 17:51:55 +080028 Map<String, Object> ans = new HashMap<>();
29 Admin admin = adminService.findByUsernameAndPassword(username, password);
30 if (admin != null) {
22301102f69709e2025-06-08 14:10:02 +080031 ans.put("message", "Login successful");
32 ans.put("data", JWTUtils.generateToken(username, Constants.UserRole.ADMIN, Constants.DEFAULT_EXPIRE_TIME));
22301102aa5adbc2025-05-18 17:51:55 +080033 return ResponseEntity.ok().body(ans);
34 } else {
22301102f69709e2025-06-08 14:10:02 +080035 ans.put("message", "Invalid username or password");
22301102aa5adbc2025-05-18 17:51:55 +080036 return ResponseEntity.badRequest().body(ans);
37 }
38 }
39}