feat: add a Tools page printer for note merge and print presets
Chapter officers can merge a markdown note onto filtered students, teams, or events and save the recipe. Extra student-note columns are additional fields (any ## … fields heading) so they work as print tokens whether imported or typed by hand. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
using Core.Printing;
|
||||
|
||||
namespace WebApp.Services;
|
||||
|
||||
public class NotePrintRequest
|
||||
{
|
||||
public required PrintEntityType EntityType { get; init; }
|
||||
|
||||
public required string TemplateMarkdown { get; init; }
|
||||
|
||||
public required PrintPresetFilters Filters { get; init; }
|
||||
|
||||
public required IReadOnlyList<string> ImportedFieldCatalog { get; init; }
|
||||
}
|
||||
|
||||
public class NotePrintPage
|
||||
{
|
||||
public required string DisplayName { get; init; }
|
||||
|
||||
public required string Html { get; init; }
|
||||
}
|
||||
|
||||
public interface INotePrintService
|
||||
{
|
||||
Task<IReadOnlyList<NotePrintPage>> PreviewAsync(
|
||||
NotePrintRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in New Issue
Block a user