MAccountController.java 1.69 KB
package vion.controller.monitor;

import cn.dev33.satoken.annotation.SaCheckPermission;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import vion.model.monitor.RAccountEvent;
import vion.model.monitor.RUserAccount;
import vion.service.monitor.IMAccountService;

import java.util.List;

/**
 * @author vion
 * @date 2024/12/27
 */
@RestController
@RequestMapping("/api/maccount")
@RequiredArgsConstructor
public class MAccountController {

    private final IMAccountService accountService;

    @GetMapping("/event/{uid}")
    @SaCheckPermission(value = "maccount:event:query", orRole = "admin")
    public List<RAccountEvent> getEventById(@PathVariable String uid) {
        return accountService.getEventById(uid);
    }

    @PostMapping("/event/{agentUid}/{uid}")
    @SaCheckPermission(value = "maccount:event:editAndSave", orRole = "admin")
    public String saveEvent(@PathVariable String agentUid, @PathVariable String uid, @RequestBody RAccountEvent event) {
        return accountService.saveEvent(agentUid, uid, event);
    }

    @GetMapping("/subList/{userId}")
    @SaCheckPermission(value = "maccount:subList", orRole = "admin")
    public List<RUserAccount> subList(@PathVariable Long userId) {
        return accountService.subList(userId);
    }

    @PostMapping("/sub")
    @SaCheckPermission(value = "maccount:sub", orRole = "admin")
    public String sub(@RequestBody RUserAccount userAccount) {
        return accountService.sub(userAccount);
    }

    @PostMapping("/unsub")
    @SaCheckPermission(value = "maccount:unsub", orRole = "admin")
    public String unsub(@RequestBody RUserAccount userAccount) {
        return accountService.unsub(userAccount);
    }

}