Initial commit

This commit is contained in:
2026-07-03 16:31:37 +07:00
commit 899c7c637d
1939 changed files with 641750 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
using RobotNet10.MapEditor.Shared.DTOs.Requests;
using RobotNet10.MapManager.Data;
namespace RobotNet10.MapManager.Services;
/// <summary>
/// Service for managing layouts, versions, and levels
/// </summary>
public interface ILayoutService
{
// ==========================================
// LAYOUT OPERATIONS
// ==========================================
Task<Layout> CreateLayoutAsync(CreateLayoutRequest request);
Task<List<Layout>> SearchLayoutsAsync(string? searchText);
Task<Layout?> GetLayoutByIdAsync(Guid layoutId);
Task<Layout?> GetLayoutByLayoutIdAsync(string layoutId);
Task<Layout?> GetLayoutByNameAsync(string layoutName);
Task<Layout> UpdateLayoutAsync(Guid layoutId, UpdateLayoutRequest request);
Task<bool> DeleteLayoutAsync(Guid layoutId);
Task<Layout> ActivateLayoutAsync(Guid layoutId);
Task<Layout> DeactivateLayoutAsync(Guid layoutId);
// ==========================================
// VERSION OPERATIONS
// ==========================================
Task<LayoutVersion> CreateVersionAsync(Guid layoutId, CreateLayoutVersionRequest request);
Task<List<LayoutVersion>> GetVersionsAsync(Guid layoutId);
Task<LayoutVersion?> GetVersionAsync(Guid versionId);
Task<LayoutVersion> UpdateVersionAsync(Guid versionId, UpdateLayoutRequest request);
Task<bool> DeleteVersionAsync(Guid versionId);
// ==========================================
// LEVEL OPERATIONS
// ==========================================
Task<LayoutLevel> CreateLevelAsync(Guid versionId, CreateLayoutLevelRequest request);
Task<List<LayoutLevel>> GetLevelsAsync(Guid versionId);
Task<LayoutLevel?> GetLevelAsync(Guid levelId);
Task<LayoutLevel> UpdateLevelAsync(Guid levelId, UpdateLayoutLevelRequest request);
Task<bool> DeleteLevelAsync(Guid levelId);
}