blob: 71159e5aba123082cd851295036c95e492f8d483 [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");
22301102039b52a2025-06-08 14:10:02 +080032 ans.put("data", Map.of(
33 "token", JWTUtils.generateToken(username, Constants.UserRole.ADMIN, Constants.DEFAULT_EXPIRE_TIME),
34 "uid", admin.getId(),
35 "username", admin.getUsername()
36 ));
22301102aa5adbc2025-05-18 17:51:55 +080037 return ResponseEntity.ok().body(ans);
38 } else {
22301102f69709e2025-06-08 14:10:02 +080039 ans.put("message", "Invalid username or password");
22301102aa5adbc2025-05-18 17:51:55 +080040 return ResponseEntity.badRequest().body(ans);
41 }
42 }
43}