package com.lightinit.hsdataplatform.service.admin;

import com.lightinit.hsdataplatform.entity.*;
import com.lightinit.hsdataplatform.model.ResultState;
import com.lightinit.hsdataplatform.model.admin.*;

import java.util.List;

/**
 * Created by WangYao on 2018/5/23.
 */
public interface IApiPublishService {
    List<APIPublishListModel> queryList(APIPublishSearchModel inputModel);

    long queryCount(APIPublishSearchModel inputModel);

    List<ResourceAPIRegisterListModel> queryPublishList(ResourceAPIRegisterSearchModel inputModel);

    long queryPublishCount(ResourceAPIRegisterSearchModel inputModel);

    ResourceAPIRegisterViewResourceModel queryOneViewResource(long id);

    List<ResourceApiInterfaceWithBLOBs> queryOneResourceAPIInterface(long id);

    ResultState<Long> publishAPI_add(APIPublishInfoAndSettingModel apiPublishInfoAndSettingModel);

    ResultState<Long> delete(long id);

    ResultState<Long> downframe(long id);

    PublishInfoWithBLOBs queryOnePublishInfoById(long publishInfoId);

    List<PublishSetting> queryListPublishSettingByInfoId(long publishInfoId);

    PublishSetting queryOnePublishSettingById(long id);

    ResultState<Long> toExamine(APIToExamineModel inputModel);

    ResultState<Long> publishAPI_edit(APIPublishInfoAndSettingEditModel infoAndSettingEditModel);

    int isAdminFalg(Long id);
}
