/* eslint-disable */
/* tslint:disable */
/*
 * ---------------------------------------------------------------
 * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API        ##
 * ##                                                           ##
 * ## AUTHOR: acacode                                           ##
 * ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
 * ---------------------------------------------------------------
 */

import { BannerResource, LocationResource, V1LocationsListRequestParams } from './data-contracts';
import { HttpClient, RequestParams } from './http-client';

export class Api<SecurityDataType = unknown> {
	http: HttpClient<SecurityDataType>;

	constructor(http: HttpClient<SecurityDataType>) {
		this.http = http;
	}

	/**
	 * @description 取得 Banner 列表。若 Banner 類型為圖像，則 youtube_link, auto_play 為空；若 Banner 類型為 YouTube 影片，則 link, image, image_mobile 為空。無設定手機版 Banner 圖像，則 image_mobile 為空。
	 *
	 * @tags feature_website_banner
	 * @name BsxfeatureV1BannerList
	 * @request GET:/api/bsxfeature/v1/banner
	 */
	bsxfeatureV1BannerList = (params: RequestParams = {}) =>
		this.http.request<
			{
				data?: {
					data?: BannerResource[];
				};
			},
			any
		>({
			path: `/api/bsxfeature/v1/banner`,
			method: 'GET',
			format: 'json',
			...params,
		});
	/**
	 * @description 取得單一 Banner 資訊。
	 *
	 * @tags feature_website_banner
	 * @name BsxfeatureV1BannerDetail
	 * @request GET:/api/bsxfeature/v1/banner/{id}
	 */
	bsxfeatureV1BannerDetail = (id: number, params: RequestParams = {}) =>
		this.http.request<
			{
				data?: {
					data?: BannerResource;
				};
			},
			any
		>({
			path: `/api/bsxfeature/v1/banner/${id}`,
			method: 'GET',
			format: 'json',
			...params,
		});
	/**
	 * No description
	 *
	 * @tags feature_website_locations
	 * @name V1LocationsList
	 * @request GET:/api/v1/locations
	 */
	v1LocationsList = (query: V1LocationsListRequestParams, params: RequestParams = {}) =>
		this.http.request<
			{
				data?: {
					data?: LocationResource[];
				};
			},
			any
		>({
			path: `/api/v1/locations`,
			method: 'GET',
			query: query,
			format: 'json',
			...params,
		});
}
