// @ts-ignore
/* eslint-disable */

// 该文件自动生成，请勿手动修改！

// --------------------------------------------------------------------------
// 科目基础数据管理服务
// --------------------------------------------------------------------------

import { request } from '@umijs/max';

/** 添加科目 POST /api/base/course/add */
export async function add(data: API.AddCourseInput, options?: { [key: string]: any }) {
    const url = '/api/base/course/add';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<any>>(url, config);
    return res?.data;
}

/** 更新科目 POST /api/base/course/update */
export async function update(data: API.UpdateCourseInput, options?: { [key: string]: any }) {
    const url = '/api/base/course/update';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<any>>(url, config);
    return res?.data;
}

/** 软删除科目 POST /api/base/course/del */
export async function del(data: API.BaseId, options?: { [key: string]: any }) {
    const url = '/api/base/course/del';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<any>>(url, config);
    return res?.data;
}

/** 根据ID获取单个科目 GET /api/base/course/get-by-id */
export async function getById(
    params: {
        /**  */
        id: number;
    },
    options?: { [key: string]: any },
) {
    const url = '/api/base/course/get-by-id';
    const config = { method: 'GET', params, ...(options || {}) };
    const res = await request<API.ResponseType<API.CourseOutput>>(url, config);
    return res?.data;
}

/** 获取全部科目完整信息列表 GET /api/base/course/get-all-list */
export async function getAllList(options?: { [key: string]: any }) {
    const url = '/api/base/course/get-all-list';
    const config = { method: 'GET', ...(options || {}) };
    const res = await request<API.ResponseType<API.CourseOutput[]>>(url, config);
    return res?.data;
}

/** 获取全部科目简要信息列表 GET /api/base/course/get-all-lite-list */
export async function getAllLiteList(options?: { [key: string]: any }) {
    const url = '/api/base/course/get-all-lite-list';
    const config = { method: 'GET', ...(options || {}) };
    const res = await request<API.ResponseType<API.CourseLiteOutput[]>>(url, config);
    return res?.data;
}

export default {
    /** 添加科目 POST /api/base/course/add */
    add,
    /** 更新科目 POST /api/base/course/update */
    update,
    /** 软删除科目 POST /api/base/course/del */
    del,
    /** 根据ID获取单个科目 GET /api/base/course/get-by-id */
    getById,
    /** 获取全部科目完整信息列表 GET /api/base/course/get-all-list */
    getAllList,
    /** 获取全部科目简要信息列表 GET /api/base/course/get-all-lite-list */
    getAllLiteList,
};
