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

import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.team.meta.api.entity.MetaDefinition;
import cn.stylefeng.team.meta.modular.pojo.request.MetaDefinitionRequest;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface MetaDefinitionService extends IService<MetaDefinition> {

    void add(MetaDefinitionRequest metaDefinitionRequest);

    void del(MetaDefinitionRequest metaDefinitionRequest);

    void edit(MetaDefinitionRequest metaDefinitionRequest);

    MetaDefinition detail(MetaDefinitionRequest metaDefinitionRequest);

    List<MetaDefinition> findList(MetaDefinitionRequest metaDefinitionRequest);

    PageResult<MetaDefinition> findPage(MetaDefinitionRequest metaDefinitionRequest);

    MetaDefinition findModelNewestDefinition(Long metaModelId);

    List<Long> removeDefinitionList(Long metaModelId);

    Long getMetaModelIdByDefinitionId(Long metaDefinitionId);

    void cleanBusinessDefinitions(Long businessId);

}