/**
* @file 商品相关仓库类,封装商品模块请求
* @description 如果需要与其他模块共享,请移到 shared/contracts 共享契约层
* @author JunBin.Yang
*/
import { NetworkPageData, NetworkResult } from "@core/network";
import { Goods } from "@shared/types";
import { GoodsSearchRequest } from "../models/GoodsSearchRequest";
/**
* 定义跨功能包共享的 DI 服务键
* @description 不跨包共享时不需要 Key
*/
export const GOODS_REPOSITORY_KEY: string = "goodsRepository";
export interface IGoodsRepository {
/**
* 分页查询商品
* @param params 商品搜索请求参数
* @returns 商品分页数据
*/
getGoodsPage(params: GoodsSearchRequest): Promise<NetworkResult<NetworkPageData<Goods>>>;
/**
* 获取商品信息
* @param id 商品ID
* @returns 商品详情
*/
getGoodsInfo(id: string): Promise<NetworkResult<Goods>>;
}