package cn.stylefeng.team.view.modular.service;

import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.team.form.api.entity.FormModel;
import cn.stylefeng.team.view.api.ViewApi;
import cn.stylefeng.team.view.api.entity.View;
import cn.stylefeng.team.view.api.pojo.ViewColumnField;
import cn.stylefeng.team.view.modular.pojo.request.ViewRequest;
import cn.stylefeng.team.view.modular.pojo.response.ViewFieldDTO;
import cn.stylefeng.team.view.modular.pojo.response.ViewFieldResult;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface ViewService extends IService<View>, ViewApi {

    void add(ViewRequest viewRequest);

    void del(ViewRequest viewRequest);

    void batchDelete(ViewRequest viewRequest);

    void edit(ViewRequest viewRequest);

    View detail(ViewRequest viewRequest);

    List<View> findList(ViewRequest viewRequest);

    PageResult<View> findPage(ViewRequest viewRequest);

    View getViewConfig(ViewRequest viewRequest);

    void saveViewConfig(ViewRequest viewRequest);

    ViewFieldDTO getImportFieldList(ViewRequest viewRequest);

    List<ViewColumnField> getViewFieldList(ViewRequest viewRequest);

    List<FormModel> getViewBusinessFormList(ViewRequest viewRequest);

    ViewFieldResult getFormBasedFieldList(ViewRequest viewRequest);

}
