summaryrefslogtreecommitdiffstats
path: root/src/Services/Interfaces/IUserService.cs
blob: f315c24cd349dafb78c02d79e9dd201da89eb57a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using IOL.Fagprove.Data.Models;
using IOL.Fagprove.Data.DTOs;

namespace IOL.Fagprove.Services.Interfaces
{
    public interface IUserService
    {
        /// <summary>
        /// Sends welcome mail to the provided user.
        /// </summary>
        /// <param name="user">User to send mail to.</param>
        /// <returns>Boolean indicating if the mail was sent or not.</returns>
        bool SetTemporaryPasswordAndSendWelcomeMail(User user);
        /// <summary>
        /// Creates and sets a new temporary password on a user.
        /// </summary>
        /// <param name="user">User to work on.</param>
        /// <returns>Returns the password or default if the task was unsuccesful.</returns>
        bool SetNewTemporaryPasswordAndNotifyUser(User user);
        /// <summary>
        /// Updates the provided users password with the provided password.
        /// </summary>
        /// <param name="user">User to update.</param>
        /// <param name="password">Unhashed new password.</param>
        /// <returns>Boolean indicating if the new password was set and saved to the database.</returns>
        bool UpdatePassword(User user, string password);
    }
}