package org.wfc.omada.api.msp;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.wfc.omada.config.FeignConfig;
import org.wfc.omada.api.msp.model.BatchRequestEntity;
import org.wfc.omada.api.msp.model.OperationResponseBatchResponseEntity;

import javax.validation.Valid;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:43:59.418+08:00[Asia/Shanghai]")

@Validated
@Api(value = "OmadaMspBatchOpenApi", description = "the OmadaMspBatchOpenApi API")
@FeignClient(name="OmadaMspBatchOpenApiApi", url = "${omada.omada-url}", configuration = FeignConfig.class)
public interface OmadaMspBatchOpenApiApi {

    /**
     * POST /openapi/v1/msp/{mspId}/batch : Batch Processing MSP OpenAPIs
     * Batch processing of multiple OpenAPIs under the same MSP controller through this OpenAPI.&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-1001  -  Invalid request parameters.&lt;br/&gt;-1600  -  Unsupported request path.&lt;br/&gt;-1619  -  Execution has been interrupted due to unsuccessful execution of the pre action request.&lt;br/&gt;-1620  -  Error occurred while executing action.&lt;br/&gt;-44112  -  The access token has expired. Please re-initiate the refreshToken process to obtain the access token.&lt;br/&gt;-44113  -  The Access Token is Invalid.&lt;br/&gt;-7132  -  Our server is receiving too many requests now. Please try again later.
     *
     * @param mspId MSP ID (required)
     * @param batchRequestEntity  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Batch Processing MSP OpenAPIs", nickname = "mspBatchController", notes = "Batch processing of multiple OpenAPIs under the same MSP controller through this OpenAPI.<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-1001  -  Invalid request parameters.<br/>-1600  -  Unsupported request path.<br/>-1619  -  Execution has been interrupted due to unsuccessful execution of the pre action request.<br/>-1620  -  Error occurred while executing action.<br/>-44112  -  The access token has expired. Please re-initiate the refreshToken process to obtain the access token.<br/>-44113  -  The Access Token is Invalid.<br/>-7132  -  Our server is receiving too many requests now. Please try again later.", response = OperationResponseBatchResponseEntity.class, tags={ "Omada/MSP Batch OpenAPI","MSP Batch OpenAPI", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseBatchResponseEntity.class) })
    @RequestMapping(value = "/openapi/v1/msp/{mspId}/batch",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseBatchResponseEntity> mspBatchController(@ApiParam(value = "MSP ID",required=true) @PathVariable("mspId") String mspId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) BatchRequestEntity batchRequestEntity);

}
