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>
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user