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>
70 lines
2.0 KiB
C#
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);
|
|
}
|