sanAntonioSeniorGolf/API/Authentication/EventAuthentication.cs

51 lines
1.6 KiB
C#
Raw Normal View History

2024-07-12 23:12:04 -05:00
using API.Authentication.GrantNames;
using API.Authentication.Interfaces;
using API.DTO.Base;
using API.Services;
using API.Services.Interfaces;
2024-07-12 23:12:04 -05:00
using DAL.Models;
namespace API.Authentication
{
public class EventAuthentication : IEventAuthentication
{
private readonly IGrantManager _grantManager;
2024-07-12 23:12:04 -05:00
private readonly ILogger<EventAuthentication> _logger;
public EventAuthentication(IGrantManager grantManager, ILogger<EventAuthentication> logger)
2024-07-12 23:12:04 -05:00
{
_grantManager = grantManager;
2024-07-12 23:12:04 -05:00
_logger = logger;
}
public bool canGetAll(User user)
{
return _grantManager.hasGrant(user.permissionId, EventGrantNames.CanGetAll);
2024-07-12 23:12:04 -05:00
}
public bool canGet(Event model, User user)
{
return _grantManager.hasGrant(user.permissionId, EventGrantNames.CanGetAny) ||
_grantManager.getULongValues(user.permissionId, EventGrantNames.CanGet).Exists(x => x == model.id);
2024-07-12 23:12:04 -05:00
}
public bool canAdd(EventDTO item, User user)
{
return _grantManager.hasGrant(user.permissionId, EventGrantNames.CanAdd);
2024-07-12 23:12:04 -05:00
}
public bool canUpdate(Event model, User user)
{
return _grantManager.hasGrant(user.permissionId, EventGrantNames.CanUpdateAny) ||
_grantManager.getULongValues(user.permissionId, EventGrantNames.CanUpdate).Exists(x => x == model.id);
2024-07-12 23:12:04 -05:00
}
public bool canDelete(Event model, User user)
{
return _grantManager.hasGrant(user.permissionId, EventGrantNames.CanDeleteAny) ||
_grantManager.getULongValues(user.permissionId, EventGrantNames.CanDelete).Exists(x => x == model.id);
2024-07-12 23:12:04 -05:00
}
2024-08-31 18:38:43 -05:00
public bool canCheckSelfSignup(User user)
{
//todo grants
return true;
}
2024-07-12 23:12:04 -05:00
}
}