package org.wfc.omada.api.sitesetting;

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.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.wfc.omada.config.FeignConfig;
import org.wfc.omada.api.sitesetting.model.Dot1xEapOpenApiVo;
import org.wfc.omada.api.sitesetting.model.Dot1xSwitchOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseDot1xEapOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseDot1xSwitchOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseImportedPortalPageResOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseListDot1xEapInfoOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseListDot1xSwitchInfoOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseListPortalResOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseListWlanSimpleOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseMacAuthOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponsePortalCustomizationPageResOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponsePortalDetailResOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponsePortalPictureInfo;
import org.wfc.omada.api.sitesetting.model.OperationResponseWithoutResult;
import org.wfc.omada.api.sitesetting.model.PortalSetting;
import org.wfc.omada.api.sitesetting.model.UpdateMacAuthOpenApiVo;

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

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

    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/portal : Add portal
     * Add new portal&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Hotspot Manager Modify
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param portalSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Add portal", nickname = "addPortal", notes = "Add new portal<br/><br/>The interface requires one of the permissions: <br/>Site Hotspot Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/portal",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseWithoutResult> addPortal(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) PortalSetting portalSetting);


    /**
     * DELETE /openapi/v1/{omadacId}/sites/{siteId}/portal/{portalId} : Delete portal
     * Delete portal setting with the given portalId&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Hotspot Manager Modify
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param portalId Portal ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Delete portal", nickname = "deletePortal", notes = "Delete portal setting with the given portalId<br/><br/>The interface requires one of the permissions: <br/>Site Hotspot Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/portal/{portalId}",
        produces = "*/*", 
        method = RequestMethod.DELETE)
    ResponseEntity<OperationResponseWithoutResult> deletePortal(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Portal ID",required=true) @PathVariable("portalId") String portalId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/dot1x/eap/candidates : Get site EAP 802.1x setting candidates
     * Get EAP 802.1x setting candidates of the site with the given omadacId and siteId. This interface applies to the Pro Site of the Omada Pro Controller only.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&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;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site EAP 802.1x setting candidates", nickname = "getEapDot1xCandidates", notes = "Get EAP 802.1x setting candidates of the site with the given omadacId and siteId. This interface applies to the Pro Site of the Omada Pro Controller only.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<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/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseListDot1xEapInfoOpenApiVo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseListDot1xEapInfoOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/dot1x/eap/candidates",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseListDot1xEapInfoOpenApiVo> getEapDot1xCandidates(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/dot1x/eap : Get site eap 802.1x setting
     * Get eap 802.1x setting of the site with the given omadacId and siteId. This interface applies to the Pro Site of the Omada Pro Controller only.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&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;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site eap 802.1x setting", nickname = "getEapDot1xSetting", notes = "Get eap 802.1x setting of the site with the given omadacId and siteId. This interface applies to the Pro Site of the Omada Pro Controller only.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<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/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseDot1xEapOpenApiVo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseDot1xEapOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/dot1x/eap",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseDot1xEapOpenApiVo> getEapDot1xSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/mac-auth : Get site MAC-Based Authentication info
     * Get MAC-Based Authentication setting info of the site with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&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;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site MAC-Based Authentication info", nickname = "getMacAuthSetting", notes = "Get MAC-Based Authentication setting info of the site with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<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/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseMacAuthOpenApiVo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseMacAuthOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/mac-auth",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseMacAuthOpenApiVo> getMacAuthSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/mac-auth/ssids : Get ssids that support MAC auth
     * Get ssid list that support MAC-Based Authentication with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&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;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get ssids that support MAC auth", nickname = "getMacAuthSsids", notes = "Get ssid list that support MAC-Based Authentication with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<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/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseListWlanSimpleOpenApiVo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseListWlanSimpleOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/mac-auth/ssids",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseListWlanSimpleOpenApiVo> getMacAuthSsids(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/portal/{portalId}/customization : Get portal customization
     * Get portal customization information with the given omadacId, siteId and portalId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Hotspot Manager View Only
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param portalId Portal ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get portal customization", nickname = "getPortalCustomization", notes = "Get portal customization information with the given omadacId, siteId and portalId.<br/><br/>The interface requires one of the permissions: <br/>Site Hotspot Manager View Only", response = OperationResponsePortalCustomizationPageResOpenApiVo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponsePortalCustomizationPageResOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/portal/{portalId}/customization",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponsePortalCustomizationPageResOpenApiVo> getPortalCustomization(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Portal ID",required=true) @PathVariable("portalId") String portalId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/portal/{portalId} : Get portal detail
     * Get portal detail information with the given omadacId, siteId and portalId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Hotspot Manager View Only
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param portalId Portal ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get portal detail", nickname = "getPortalDetail", notes = "Get portal detail information with the given omadacId, siteId and portalId.<br/><br/>The interface requires one of the permissions: <br/>Site Hotspot Manager View Only", response = OperationResponsePortalDetailResOpenApiVo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponsePortalDetailResOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/portal/{portalId}",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponsePortalDetailResOpenApiVo> getPortalDetail(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Portal ID",required=true) @PathVariable("portalId") String portalId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/portals : Get portal list in a site
     * Get portal list with the given omadacId, siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Hotspot Manager View Only
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get portal list in a site", nickname = "getPortalList", notes = "Get portal list with the given omadacId, siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Hotspot Manager View Only", response = OperationResponseListPortalResOpenApiVo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseListPortalResOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/portals",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseListPortalResOpenApiVo> getPortalList(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/dot1x/candidates : Get site switch 802.1x setting candidates
     * Get switch 802.1x setting candidates of the site with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&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;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site switch 802.1x setting candidates", nickname = "getSwitchDot1xCandidates", notes = "Get switch 802.1x setting candidates of the site with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<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/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseListDot1xSwitchInfoOpenApiVo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseListDot1xSwitchInfoOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/dot1x/candidates",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseListDot1xSwitchInfoOpenApiVo> getSwitchDot1xCandidates(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/dot1x : Get site switch 802.1x setting
     * Get switch 802.1x setting of the site with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&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;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site switch 802.1x setting", nickname = "getSwitchDot1xSetting", notes = "Get switch 802.1x setting of the site with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<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/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseDot1xSwitchOpenApiVo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseDot1xSwitchOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/dot1x",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseDot1xSwitchOpenApiVo> getSwitchDot1xSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/portal/{portalId} : Modify portal
     * Modify the portal with the portal ID&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Hotspot Manager Modify
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param portalId Portal ID (required)
     * @param portalSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify portal", nickname = "modifyPortal", notes = "Modify the portal with the portal ID<br/><br/>The interface requires one of the permissions: <br/>Site Hotspot Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/portal/{portalId}",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> modifyPortal(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Portal ID",required=true) @PathVariable("portalId") String portalId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) PortalSetting portalSetting);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/dot1x/eap : Modify site EAP 802.1x setting
     * Modify EAP 802.1x setting of the site with the given parameters. This interface applies to the Pro Site of the Omada Pro Controller only.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&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;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param dot1xEapOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site EAP 802.1x setting", nickname = "updateEapDot1xSetting", notes = "Modify EAP 802.1x setting of the site with the given parameters. This interface applies to the Pro Site of the Omada Pro Controller only.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<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/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseWithoutResult.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/dot1x/eap",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateEapDot1xSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) Dot1xEapOpenApiVo dot1xEapOpenApiVo);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/mac-auth : Update site MAC-Based Authentication info
     * Update MAC-Based Authentication setting info of the site with the given parameters.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&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;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param updateMacAuthOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Update site MAC-Based Authentication info", nickname = "updateMacAuthSetting", notes = "Update MAC-Based Authentication setting info of the site with the given parameters.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<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/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseWithoutResult.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/mac-auth",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateMacAuthSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) UpdateMacAuthOpenApiVo updateMacAuthOpenApiVo);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/dot1x : Modify site switch 802.1x setting
     * Modify switch 802.1x setting of the site with the given parameters.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&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;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-39700  -  Switch does not exist
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param dot1xSwitchOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site switch 802.1x setting", nickname = "updateSwitchDot1xSetting", notes = "Modify switch 802.1x setting of the site with the given parameters.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<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/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-39700  -  Switch does not exist", response = OperationResponseWithoutResult.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/dot1x",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateSwitchDot1xSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) Dot1xSwitchOpenApiVo dot1xSwitchOpenApiVo);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/portal/page : Import portal page
     * Import portal page&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Hotspot Manager Modify
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param file Portal page file. (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Import portal page", nickname = "uploadPortalPage", notes = "Import portal page<br/><br/>The interface requires one of the permissions: <br/>Site Hotspot Manager Modify", response = OperationResponseImportedPortalPageResOpenApiVo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseImportedPortalPageResOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/portal/page",
        produces = "*/*", 
        consumes = "multipart/form-data",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseImportedPortalPageResOpenApiVo> uploadPortalPage(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Portal page file.") @RequestParam("file") MultipartFile file);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/portal/pics : Upload portal picture
     * Upload portal picture&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Hotspot Manager Modify
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param type Portal picture type: background/logo/advertisement. (required)
     * @param file Portal picture file. (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Upload portal picture", nickname = "uploadPortalPic", notes = "Upload portal picture<br/><br/>The interface requires one of the permissions: <br/>Site Hotspot Manager Modify", response = OperationResponsePortalPictureInfo.class, tags={ "Omada/Authentication","Authentication", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponsePortalPictureInfo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/portal/pics",
        produces = "*/*", 
        consumes = "multipart/form-data",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponsePortalPictureInfo> uploadPortalPic(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@NotNull @ApiParam(value = "Portal picture type: background/logo/advertisement.", required = true) @Valid @RequestParam(value = "type", required = true) String type,@ApiParam(value = "Portal picture file.") @RequestParam("file") MultipartFile file);

}
