public void Handle(ProjectionManagementMessage.Command.SetRunAs message)
        {
            if (!_started)
            {
                return;
            }
            _logger.Info("Setting RunAs1 account for '{0}' projection", message.Name);

            var projection = GetProjection(message.Name);

            if (projection == null)
            {
                _logger.Error("DBG: PROJECTION *{0}* NOT FOUND.", message.Name);
                message.Envelope.ReplyWith(new ProjectionManagementMessage.NotFound());
            }
            else
            {
                if (
                    !ProjectionManagementMessage.RunAs.ValidateRunAs(
                        projection.GetMode(), ReadWrite.Write, projection.RunAs, message,
                        message.Action == ProjectionManagementMessage.Command.SetRunAs.SetRemove.Set))
                {
                    return;
                }

                projection.Handle(message);
            }
        }
Exemple #2
0
 private void DoSetRunAs1(ProjectionManagementMessage.Command.SetRunAs message)
 {
     _persistedState.RunAs = message.Action == ProjectionManagementMessage.Command.SetRunAs.SetRemove.Set
         ? SerializedRunAs.SerializePrincipal(message.RunAs)
         : null;
     _runAs = SerializedRunAs.DeserializePrincipal(_persistedState.RunAs);
     _pendingPersistedState = true;
 }
 public void Handle(ProjectionManagementMessage.Command.SetRunAs message)
 {
     _lastAccessed = _timeProvider.Now;
     Prepared      = false;
     SetRunAs(message);
     UpdateProjectionVersion();
     SetLastReplyEnvelope(message.Envelope);
     StopUnlessPreparedOrLoaded();
 }
        public void Handle(ProjectionManagementMessage.Command.SetRunAs message)
        {
            var command = new SetRunAsCommand {
                Name      = message.Name,
                RunAs     = message.RunAs,
                SetRemove = message.Action,
            };

            _writer.PublishCommand("$set-runas", command);
        }
Exemple #5
0
        public void Handle(ProjectionManagementMessage.Command.SetRunAs message)
        {
            _lastAccessed = _timeProvider.Now;
            if (
                !ProjectionManagementMessage.RunAs.ValidateRunAs(
                    Mode, ReadWrite.Write, _runAs, message,
                    message.Action == ProjectionManagementMessage.Command.SetRunAs.SetRemove.Set))
            {
                return;
            }


            _prepared = false;
            DoSetRunAs1(message);
            UpdateProjectionVersion();
            SetLastReplyEnvelope(message.Envelope);
            StopUnlessPreparedOrLoaded();
        }
        public void Handle(ProjectionManagementMessage.Command.SetRunAs message)
        {
            if (!_started)
            {
                return;
            }
            _logger.Info("Setting RunAs1 account for '{0}' projection", message.Name);

            var projection = GetProjection(message.Name);

            if (projection == null)
            {
                _logger.Error("DBG: PROJECTION *{0}* NOT FOUND.", message.Name);
                message.Envelope.ReplyWith(new ProjectionManagementMessage.NotFound());
            }
            else
            {
                projection.Handle(message);
            }
        }