21 lines
628 B
C#
21 lines
628 B
C#
using NodaTime;
|
|
using DysonNetwork.Pass.Features.Account;
|
|
using DysonNetwork.Common.Models;
|
|
|
|
namespace DysonNetwork.Pass.Features.Account.Interfaces;
|
|
|
|
public interface IMagicSpellService
|
|
{
|
|
Task<MagicSpell> CreateMagicSpell(
|
|
Models.Account account,
|
|
MagicSpellType type,
|
|
Dictionary<string, object> meta,
|
|
Instant? expiredAt = null,
|
|
Instant? affectedAt = null,
|
|
bool preventRepeat = false
|
|
);
|
|
Task NotifyMagicSpell(MagicSpell spell, bool bypassVerify = false);
|
|
Task ApplyMagicSpell(MagicSpell spell);
|
|
Task ApplyPasswordReset(MagicSpell spell, string newPassword);
|
|
}
|