package com.corewing.app.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.corewing.app.dto.AppModel.*;
import com.corewing.app.entity.AppModel;

import java.util.List;

public interface AppModelService extends IService<AppModel> {

    Page<AppModel> page(ModelPageRequest modelPageRequest);

    List<AppModel> list(ModelListRequest modelListRequest);

    boolean like(ModelLikeRequest modelLikeRequest);

    boolean favorite(ModelFavoriteRequest modelFavoriteRequest);

    boolean download(ModelDownloadRequest modelDownloadRequest);

    AppModel detail(String modelId);

    boolean create(ModelCreateRequest modelCreateRequest);

    boolean audit(ModelIdRequest modelIdRequest);

    List<AppModel> favoriteList(ModelFavoriteListRequest modelFavoriteListRequest);

    Page<AppModel> favoritePage(ModelFavoritePageRequest modelFavoritePageRequest);

    boolean delisted(ModelIdRequest modelIdRequest);

    List<AppModel> downloadLogList(ModelDownloadLogListRequest modelDownloadLogListRequest);

    Page<AppModel> downloadLogPage(ModelDownloadLogPageRequest modelDownloadLogPageRequest);

    boolean delete(String id);
}
