Files
git.stella-ops.org/src/Platform/StellaOps.Platform.WebService/Services/IScriptService.cs
master 7abdb5334d Platform: add script variables API and scope/policy updates
Add CRUD endpoints for script variables with validation and diff-compatible
models (ScriptEndpoints, ScriptApiModels, IScriptService, InMemoryScriptService).
Update PlatformScopes and PlatformPolicies for script.read/write permissions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 12:28:17 +02:00

70 lines
2.0 KiB
C#

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