XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEToolBox

【WPF】XFE工具箱

公开
关注 0 Fork 0 Star 0
UTF-8
using XFEToolBox.Core.Tools;
using XFEToolBox.Server.Core.Models;

namespace XFEToolBox.Server.Core.Services;

public interface IToolPackageRepository
{
    Task<IReadOnlyList<StoredToolPackage>> ListAsync(
        bool publishedOnly,
        CancellationToken cancellationToken = default);

    Task<StoredToolPackage?> FindAsync(
        string toolId,
        string version,
        bool publishedOnly,
        CancellationToken cancellationToken = default);

    Task<StoredToolPackageFile?> FindFileAsync(
        string toolId,
        string version,
        bool publishedOnly,
        CancellationToken cancellationToken = default);

    Task<StoredToolPackage> SaveAsync(
        Stream packageStream,
        bool published,
        bool overwrite,
        CancellationToken cancellationToken = default);

    Task<StoredToolPackage> SaveSubmissionAsync(
        Stream packageStream,
        string submittedByUserId,
        string submittedByUserName,
        CancellationToken cancellationToken = default);

    Task<StoredToolPackage> SetPublishedAsync(
        string toolId,
        string version,
        bool published,
        CancellationToken cancellationToken = default);

    Task<StoredToolPackage> SetReviewStatusAsync(
        string toolId,
        string version,
        ToolPackageReviewStatus reviewStatus,
        string reviewedByUserId,
        string reviewedByUserName,
        string? reviewMessage = null,
        CancellationToken cancellationToken = default);
}