Projekt

Obecné

Profil

Stáhnout (3.32 KB) Statistiky
| Větev: | Tag: | Revize:
1
using Core.Entities;
2
using Models.Enums;
3
using Models.Users;
4
using System;
5
using System.Collections.Generic;
6
using System.Linq;
7
using System.Text;
8
using System.Threading.Tasks;
9

    
10
namespace Core.Services
11
{
12
    public interface IUserService
13
    {
14
        /// <summary>
15
        /// Creates a new user
16
        /// </summary>
17
        /// <param name="username"></param>
18
        /// <param name="name"></param>
19
        /// <param name="surname"></param>
20
        /// <param name="password"></param>
21
        /// <param name="role"></param>
22
        /// <returns></returns>
23
        public User? CreateUser(string username, string name, string surname, string password, ERole role);
24
        /// <summary>
25
        /// Returns a user with the specified username or null if no such user exists
26
        /// </summary>
27
        /// <param name="username"></param>
28
        /// <returns></returns>
29
        public User? GetUserByUsername(string username);
30
        /// <summary>
31
        /// Returns a user with the specified Id or null if no such user exists
32
        /// </summary>
33
        /// <param name="id"></param>
34
        /// <returns></returns>
35
        public User? GetUserById(Guid id);
36
        /// <summary>
37
        /// Updates information about the user
38
        /// Pass null as a parameter if you dont want to update it
39
        /// </summary>
40
        /// <param name="user"></param>
41
        /// <param name="username"></param>
42
        /// <param name="name"></param>
43
        /// <param name="surname"></param>
44
        /// <param name="role"></param>
45
        /// <returns></returns>
46
        public User UpdateUser(User user, string? username = null, string? name = null, string? surname = null, ERole? role = null);
47
        /// <summary>
48
        /// Updates information about the user
49
        /// Pass null as a parameter if you dont want to update it
50
        /// </summary>
51
        /// <param name="user"></param>
52
        /// <param name="username"></param>
53
        /// <param name="name"></param>
54
        /// <param name="surname"></param>
55
        /// <param name="role"></param>
56
        /// <returns></returns>
57
        public User? UpdateUser(Guid userId, string? username = null, string? name = null, string? surname = null, ERole? role = null);
58
        /// <summary>
59
        /// Sets a new password
60
        /// </summary>
61
        /// <param name="user"></param>
62
        /// <param name="newPassword"></param>
63
        /// <returns></returns>
64
        public User ChangePassword(User user, string newPassword);
65
        /// <summary>
66
        /// Sets a new password
67
        /// </summary>
68
        /// <param name="user"></param>
69
        /// <param name="newPassword"></param>
70
        /// <returns></returns>
71
        public User? ChangePassword(Guid userId, string newPassword);
72
        /// <summary>
73
        /// Check if the user with this username has this password
74
        /// </summary>
75
        /// <param name="username"></param>
76
        /// <param name="password"></param>
77
        /// <returns></returns>
78
        public User? CheckUsernamePassword(string username, string password);
79
        /// <summary>
80
        /// Returns list of all users
81
        /// </summary>
82
        /// <returns></returns>
83
        public UserList GetUsers();
84
        /// <summary>
85
        /// Deletes a user
86
        /// </summary>
87
        /// <param name="userId"></param>
88
        public void DeleteUser(Guid userId);
89
    }
90
}
(1-1/2)