package handlers import ( "context" "spellbook/internal/models" ) type Application interface { AddSpell(ctx context.Context, spell models.Spell) error GetSpell(ctx context.Context, spellName string) (models.Spell, error) GetSpells(ctx context.Context, query models.SearchQuery) ([]models.Spell, error) DeleteSpell(ctx context.Context, spellName string) error CastSpell(ctx context.Context, spellCast models.SpellCast) (models.CastResult, error) }