Exemplo n.º 1
0
        /// <summary>
        /// Update an existing workspace.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <Workspace> Update(RestrictedChangedWorkspace model)
        {
            var entity = await _store.Retrieve(model.Id);

            Mapper.Map <RestrictedChangedWorkspace, Data.Workspace>(
                model,
                entity
                );

            await _store.Update(entity);

            return(Mapper.Map <Workspace>(entity));
        }
Exemplo n.º 2
0
        private async Task _validate(RestrictedChangedWorkspace model)
        {
            if (model.Name.IsEmpty())
            {
                throw new ArgumentException("ChangedWorkspace.Name");
            }

            if ((await Exists(model.Id)).Equals(false))
            {
                throw new ResourceNotFound();
            }

            await Task.CompletedTask;
        }
Exemplo n.º 3
0
        public async Task <ActionResult> UpdateWorkspace([FromBody] RestrictedChangedWorkspace model)
        {
            await Validate(model);

            AuthorizeAny(
                () => Actor.IsAdmin,
                () => _svc.CanEdit(model.Id, Actor.Id).Result
                );

            Workspace workspace = await _svc.Update(model);

            await Hub.Clients
            .Group(workspace.Id)
            .TopoEvent(new BroadcastEvent <Workspace>(User, "TOPO.UPDATED", workspace))
            ;

            return(Ok());
        }