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:
2026-08-30 15:38:43 -04:00
co-authored by Cursor
parent 4cfd85b902
commit 3f50d6e635
39 changed files with 2199 additions and 69 deletions
+18
View File
@@ -0,0 +1,18 @@
using Core.Entities;
namespace WebApp.Services;
public interface IPrintPresetService
{
Task<IReadOnlyList<PrintPreset>> GetAllAsync(CancellationToken cancellationToken = default);
Task<PrintPreset?> GetAsync(int id, CancellationToken cancellationToken = default);
Task<bool> NameExistsAsync(string name, int? excludeId = null, CancellationToken cancellationToken = default);
Task<PrintPreset> CreateAsync(PrintPreset preset, CancellationToken cancellationToken = default);
Task<PrintPreset> UpdateAsync(PrintPreset preset, CancellationToken cancellationToken = default);
Task DeleteAsync(int id, CancellationToken cancellationToken = default);
}