/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { UpdateProductDto } from "../models/UpdateProductDto";
import type { CancelablePromise } from "../core/CancelablePromise";
import { OpenAPI } from "../core/OpenAPI";
import { request as __request } from "../core/request";
export class AdminsProductsService {
  /**
   * @returns any
   * @throws ApiError
   */
  public static adminProductsControllerSyncProductToXera(): CancelablePromise<any> {
    return __request(OpenAPI, {
      method: "POST",
      url: "/v1/admins/products/xera/sync",
    });
  }
  /**
   * @returns any
   * @throws ApiError
   */
  public static adminProductsControllerCreateXeraProduct(): CancelablePromise<any> {
    return __request(OpenAPI, {
      method: "POST",
      url: "/v1/admins/products/xera",
    });
  }
  /**
   * @returns any
   * @throws ApiError
   */
  public static adminProductsControllerUpdateXeraProduct(): CancelablePromise<any> {
    return __request(OpenAPI, {
      method: "PUT",
      url: "/v1/admins/products/xera",
    });
  }
  /**
   * @returns any
   * @throws ApiError
   */
  public static adminProductsControllerToggleXeraProductStatus(): CancelablePromise<any> {
    return __request(OpenAPI, {
      method: "PATCH",
      url: "/v1/admins/products/xera",
    });
  }
  /**
   * @param id
   * @returns any
   * @throws ApiError
   */
  public static adminProductsControllerDeleteXeraProduct(
    id: number,
  ): CancelablePromise<any> {
    return __request(OpenAPI, {
      method: "DELETE",
      url: "/v1/admins/products/xera/{id}",
      path: {
        id: id,
      },
    });
  }
  /**
   * @param sku
   * @param requestBody
   * @returns any
   * @throws ApiError
   */
  public static adminProductsControllerUpdateProduct(
    sku: string,
    requestBody: UpdateProductDto,
  ): CancelablePromise<any> {
    return __request(OpenAPI, {
      method: "PUT",
      url: "/v1/admins/products/{sku}",
      path: {
        sku: sku,
      },
      body: requestBody,
      mediaType: "application/json",
    });
  }
}
