package com.zhengmeng.ocrplatform.settings;

import com.zhengmeng.ocrplatform.common.ApiResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/api/v1/settings")
public class AppSettingController {
    private final AppSettingService service;

    public AppSettingController(AppSettingService service) {
        this.service = service;
    }

    @GetMapping
    public ApiResponse<List<AppSettingItem>> listSettings() {
        return ApiResponse.ok(service.listSettings());
    }

    @PutMapping
    public ApiResponse<List<AppSettingItem>> updateSettings(@RequestBody AppSettingUpdateRequest request) {
        return ApiResponse.ok(service.updateSettings(request));
    }

    @PostMapping("/reset")
    public ApiResponse<List<AppSettingItem>> resetSettings() {
        return ApiResponse.ok(service.resetSettings());
    }
}
