package cn.stylefeng.team.form.modular.manage.service;

import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.team.form.api.FormModelServiceApi;
import cn.stylefeng.team.form.api.entity.FormDefinition;
import cn.stylefeng.team.form.api.entity.FormModel;
import cn.stylefeng.team.form.modular.manage.request.FormModelRequest;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface FormModelService extends IService<FormModel>, FormModelServiceApi {

    void add(FormModelRequest formModelRequest);

    void del(FormModelRequest formModelRequest);

    void edit(FormModelRequest formModelRequest);

    FormModel detail(FormModelRequest formModelRequest);

    List<FormModel> findList(FormModelRequest formModelRequest);

    PageResult<FormModel> findPage(FormModelRequest formModelRequest);

    void updateModelVersion(FormDefinition newFormDefinition);

    FormDefinition upgradeModel(FormModelRequest formModelRequest);

    List<FormModel> getSelectList(FormModelRequest formModelRequest);

    void copyModel(FormModelRequest formModelRequest);

}