/// <summary> /// Decorates create request for Create method. /// Returns non decorated id. /// </summary> /// <param name="entity">Entity.</param> /// <returns>Non decorated id.</returns> public Guid Create(StorableStreamEntity entity) { entity.CheckArgumentNull("StreamRedisRepositorySecurityDecorator.Create entity"); UserConnection.CurrentUser.CheckArgumentNull("StreamRedisRepositorySecurityDecorator.Create UserConnection.CurrentUser"); var entityId = entity.Id; var decoratedId = entityId.Xor(UserConnection.CurrentUser.Id); entity.Id = decoratedId; StreamRedisRepository.Create(entity); return(entityId); }
/// <summary> /// Decorates find request for Find method. /// </summary> /// <param name="id">Entity id.</param> /// <returns>Entity.</returns> public StorableStreamEntity Find(Guid id) { var decoratedId = id.Xor(UserConnection.CurrentUser.Id); return(StreamRedisRepository.Find(decoratedId)); }
/// <summary> /// Decorates remove request for Remove method. /// </summary> /// <param name="id">Entity id.</param> /// <returns>Removal result.</returns> public void Remove(Guid id) { var decoratedId = id.Xor(UserConnection.CurrentUser.Id); StreamRedisRepository.Remove(decoratedId); }