You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Server-Panel/Services/UsersServiceStub.cs

65 lines
1.8 KiB

using AdminPanel.Models;
using System.Runtime.CompilerServices;
namespace AdminPanel.Services
{
public class UsersServiceStub : IUsersService
{
private Dictionary<uint, User> Users { get; } = new[]
{
new User
{
Name = "Mathis",
Email = "mathis@gmail.com",
Id = 0,
IsAdmin = true
},
new User
{
Name = "Maeva",
Email = "maeva@gmail.com",
Id = 1,
IsAdmin = false
},
}.ToDictionary(u => u.Id);
public Task<User> AddUser(string username, string email, string password, bool isAdmin)
{
User user = new User
{
Email = email,
Name = username,
IsAdmin = isAdmin,
Id = (uint) Users.Count
};
Users[user.Id] = user;
return Task.FromResult(user);
}
public async Task<(uint, List<User>)> ListUsers(uint from, uint len)
{
//simulate a 1sec long request
await Task.Delay(1000);
var slice = Users.Values
.ToList()
.GetRange((int)from, (int)((from + len > Users.Count) ? Users.Count - from : len));
return ((uint)Users.Count, slice);
}
public Task RemoveUsers(IEnumerable<uint> userIds)
{
foreach (var id in userIds)
{
Users.Remove(id);
}
return Task.CompletedTask;
}
public Task UpdateUser(User user)
{
Users[user.Id] = user;
return Task.CompletedTask;
}
}
}