feat(management): handler + authorization for TemplateFolder commands
This commit is contained in:
@@ -110,7 +110,10 @@ public class ManagementActor : ReceiveActor
|
|||||||
or CreateSharedScriptCommand or UpdateSharedScriptCommand or DeleteSharedScriptCommand
|
or CreateSharedScriptCommand or UpdateSharedScriptCommand or DeleteSharedScriptCommand
|
||||||
or CreateDatabaseConnectionDefCommand or UpdateDatabaseConnectionDefCommand or DeleteDatabaseConnectionDefCommand
|
or CreateDatabaseConnectionDefCommand or UpdateDatabaseConnectionDefCommand or DeleteDatabaseConnectionDefCommand
|
||||||
or CreateApiMethodCommand or UpdateApiMethodCommand or DeleteApiMethodCommand
|
or CreateApiMethodCommand or UpdateApiMethodCommand or DeleteApiMethodCommand
|
||||||
or UpdateAreaCommand => "Design",
|
or UpdateAreaCommand
|
||||||
|
or CreateTemplateFolderCommand or RenameTemplateFolderCommand
|
||||||
|
or MoveTemplateFolderCommand or DeleteTemplateFolderCommand
|
||||||
|
or MoveTemplateToFolderCommand => "Design",
|
||||||
|
|
||||||
// Deployment operations
|
// Deployment operations
|
||||||
CreateInstanceCommand or MgmtDeployInstanceCommand or MgmtEnableInstanceCommand
|
CreateInstanceCommand or MgmtDeployInstanceCommand or MgmtEnableInstanceCommand
|
||||||
@@ -150,6 +153,14 @@ public class ManagementActor : ReceiveActor
|
|||||||
AddTemplateCompositionCommand cmd => await HandleAddComposition(sp, cmd, user.Username),
|
AddTemplateCompositionCommand cmd => await HandleAddComposition(sp, cmd, user.Username),
|
||||||
DeleteTemplateCompositionCommand cmd => await HandleDeleteComposition(sp, cmd, user.Username),
|
DeleteTemplateCompositionCommand cmd => await HandleDeleteComposition(sp, cmd, user.Username),
|
||||||
|
|
||||||
|
// Template folders
|
||||||
|
ListTemplateFoldersCommand => await HandleListTemplateFolders(sp),
|
||||||
|
CreateTemplateFolderCommand cmd => await HandleCreateTemplateFolder(sp, cmd, user.Username),
|
||||||
|
RenameTemplateFolderCommand cmd => await HandleRenameTemplateFolder(sp, cmd, user.Username),
|
||||||
|
MoveTemplateFolderCommand cmd => await HandleMoveTemplateFolder(sp, cmd, user.Username),
|
||||||
|
DeleteTemplateFolderCommand cmd => await HandleDeleteTemplateFolder(sp, cmd, user.Username),
|
||||||
|
MoveTemplateToFolderCommand cmd => await HandleMoveTemplateToFolder(sp, cmd, user.Username),
|
||||||
|
|
||||||
// Instances
|
// Instances
|
||||||
ListInstancesCommand cmd => await HandleListInstances(sp, cmd, user),
|
ListInstancesCommand cmd => await HandleListInstances(sp, cmd, user),
|
||||||
GetInstanceCommand cmd => await HandleGetInstance(sp, cmd),
|
GetInstanceCommand cmd => await HandleGetInstance(sp, cmd),
|
||||||
@@ -430,6 +441,51 @@ public class ManagementActor : ReceiveActor
|
|||||||
return validationResult;
|
return validationResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ========================================================================
|
||||||
|
// Template folder handlers
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
private static async Task<object?> HandleListTemplateFolders(IServiceProvider sp)
|
||||||
|
{
|
||||||
|
var repo = sp.GetRequiredService<ITemplateEngineRepository>();
|
||||||
|
return await repo.GetAllFoldersAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static async Task<object?> HandleCreateTemplateFolder(IServiceProvider sp, CreateTemplateFolderCommand cmd, string user)
|
||||||
|
{
|
||||||
|
var svc = sp.GetRequiredService<TemplateFolderService>();
|
||||||
|
var result = await svc.CreateFolderAsync(cmd.Name, cmd.ParentFolderId, user);
|
||||||
|
return result.IsSuccess ? result.Value : throw new InvalidOperationException(result.Error);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static async Task<object?> HandleRenameTemplateFolder(IServiceProvider sp, RenameTemplateFolderCommand cmd, string user)
|
||||||
|
{
|
||||||
|
var svc = sp.GetRequiredService<TemplateFolderService>();
|
||||||
|
var result = await svc.RenameFolderAsync(cmd.FolderId, cmd.NewName, user);
|
||||||
|
return result.IsSuccess ? result.Value : throw new InvalidOperationException(result.Error);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static async Task<object?> HandleMoveTemplateFolder(IServiceProvider sp, MoveTemplateFolderCommand cmd, string user)
|
||||||
|
{
|
||||||
|
var svc = sp.GetRequiredService<TemplateFolderService>();
|
||||||
|
var result = await svc.MoveFolderAsync(cmd.FolderId, cmd.NewParentFolderId, user);
|
||||||
|
return result.IsSuccess ? result.Value : throw new InvalidOperationException(result.Error);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static async Task<object?> HandleDeleteTemplateFolder(IServiceProvider sp, DeleteTemplateFolderCommand cmd, string user)
|
||||||
|
{
|
||||||
|
var svc = sp.GetRequiredService<TemplateFolderService>();
|
||||||
|
var result = await svc.DeleteFolderAsync(cmd.FolderId, user);
|
||||||
|
return result.IsSuccess ? result.Value : throw new InvalidOperationException(result.Error);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static async Task<object?> HandleMoveTemplateToFolder(IServiceProvider sp, MoveTemplateToFolderCommand cmd, string user)
|
||||||
|
{
|
||||||
|
var svc = sp.GetRequiredService<TemplateService>();
|
||||||
|
var result = await svc.MoveTemplateAsync(cmd.TemplateId, cmd.NewFolderId, user);
|
||||||
|
return result.IsSuccess ? result.Value : throw new InvalidOperationException(result.Error);
|
||||||
|
}
|
||||||
|
|
||||||
// ========================================================================
|
// ========================================================================
|
||||||
// Instance handlers
|
// Instance handlers
|
||||||
// ========================================================================
|
// ========================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user