using StellaOps.Platform.WebService.Contracts; namespace StellaOps.Platform.WebService.Services; /// /// Service interface for script CRUD, versioning, and validation. /// public interface IScriptService { Task> SearchAsync( string tenantId, ScriptLanguageDto? language, ScriptVisibilityDto? visibility, string? search, int limit, int offset, CancellationToken cancellationToken = default); Task CountAsync( string tenantId, ScriptLanguageDto? language, ScriptVisibilityDto? visibility, string? search, CancellationToken cancellationToken = default); Task GetByIdAsync( string tenantId, string scriptId, CancellationToken cancellationToken = default); Task CreateAsync( string tenantId, string actorId, CreateScriptApiRequest request, CancellationToken cancellationToken = default); Task UpdateAsync( string tenantId, string actorId, string scriptId, UpdateScriptApiRequest request, CancellationToken cancellationToken = default); Task DeleteAsync( string tenantId, string scriptId, CancellationToken cancellationToken = default); Task> GetVersionsAsync( string tenantId, string scriptId, CancellationToken cancellationToken = default); Task ValidateAsync( ValidateScriptApiRequest request, CancellationToken cancellationToken = default); Task GetVersionContentAsync( string tenantId, string scriptId, int version, CancellationToken cancellationToken = default); Task CheckCompatibilityAsync( string tenantId, string scriptId, CheckCompatibilityRequest request, CancellationToken cancellationToken = default); }