42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
using Lactose.Models;
|
|
|
|
namespace Lactose.Repositories;
|
|
|
|
/// <summary>
|
|
/// Interface for folder repository operations.
|
|
/// </summary>
|
|
public interface IFolderRepository : IDisposable {
|
|
/// <summary>
|
|
/// Creates a new folder.
|
|
/// </summary>
|
|
/// <param name="folder">The folder to create.</param>
|
|
void Create(Folder folder);
|
|
|
|
/// <summary>
|
|
/// Updates an existing folder.
|
|
/// </summary>
|
|
/// <param name="id">The ID of the folder to update.</param>
|
|
/// <param name="folder">The updated folder data.</param>
|
|
void Update(Guid id, Folder folder);
|
|
|
|
/// <summary>
|
|
/// Deletes a folder by ID.
|
|
/// </summary>
|
|
/// <param name="id">The ID of the folder to delete.</param>
|
|
void Delete(Guid id);
|
|
|
|
/// <summary>
|
|
/// Retrieves a folder by ID.
|
|
/// </summary>
|
|
/// <param name="id">The ID of the folder to retrieve.</param>
|
|
/// <returns>The folder with the specified ID.</returns>
|
|
Folder? Get(Guid id);
|
|
|
|
/// <summary>
|
|
/// Retrieves all folders.
|
|
/// </summary>
|
|
IEnumerable<Folder> GetAll();
|
|
|
|
IEnumerable<Folder> GetAllUntracked();
|
|
}
|