/// <summary> /// Updates the named Cadence domain. /// </summary> /// <param name="name">Identifies the target domain.</param> /// <param name="request">The updated domain information.</param> /// <returns>The tracking <see cref="Task"/>.</returns> public async Task UpdateDomainAsync(string name, UpdateDomainRequest request) { await SyncContext.Clear; Covenant.Requires <ArgumentNullException>(!string.IsNullOrEmpty(name), nameof(name)); Covenant.Requires <ArgumentNullException>(request != null, nameof(request)); Covenant.Requires <ArgumentNullException>(request.Options != null, nameof(request)); Covenant.Requires <ArgumentNullException>(request.DomainInfo != null, nameof(request)); EnsureNotDisposed(); var domainUpdateRequest = new DomainUpdateRequest() { Name = name, UpdatedInfoDescription = request.DomainInfo.Description, UpdatedInfoOwnerEmail = request.DomainInfo.OwnerEmail, ConfigurationEmitMetrics = request.Options.EmitMetrics, ConfigurationRetentionDays = request.Options.RetentionDays, SecurityToken = Settings.SecurityToken }; var reply = await CallProxyAsync(domainUpdateRequest); reply.ThrowOnError(); }
/// <summary> /// 修改域名 /// </summary> public async Task UpdateAsync(DomainUpdateRequest request) { var entity = await DomainRepository.FindAsync(request.DomainId); request.MapTo(entity); await DomainRepository.UpdateAsync(entity); await UnitOfWork.CommitAsync(); }
public async Task <IActionResult> UpdateAsync(string id, [FromBody] DomainUpdateRequest request) { if (request == null) { return(Fail(WebResource.UpdateRequestIsEmpty)); } if (id.IsEmpty() && request.DomainId.IsEmpty()) { return(Fail(WebResource.IdIsEmpty)); } if (request.DomainId.IsEmpty()) { request.DomainId = id.ToGuid(); } await DomainService.UpdateAsync(request); DomainDto byIdAsync = await DomainService.GetByIdAsync(request.DomainId); return(Success(byIdAsync)); }
/// <summary> /// Put the specified request. /// </summary> /// <param name="request">Request.</param> public object Put(DomainUpdateRequest request) { var context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly); WebDomain result; try { context.Open(); context.LogInfo(this, string.Format("/domain PUT Id='{0}'", request.Id)); Domain domain = (request.Id == 0 ? null : Domain.FromId(context, request.Id)); domain = request.ToEntity(context, domain); domain.Store(); context.LogDebug(this, string.Format("Domain {0} updated by user {1}", domain.Identifier, User.FromId(context, context.UserId).Username)); result = new WebDomain(domain); context.Close(); } catch (Exception e) { context.LogError(this, e.Message, e); context.Close(); throw e; } return(result); }
/// <summary> /// Handles emulated <see cref="DomainUpdateRequest"/> messages. /// </summary> /// <param name="request">The received message.</param> /// <returns>The tracking <see cref="Task"/>.</returns> private async Task OnEmulatedDomainUpdateRequestAsync(DomainUpdateRequest request) { var reply = new DomainUpdateReply(); if (string.IsNullOrEmpty(request.Name)) { reply.Error = new CadenceBadRequestException("Domain name is required.").ToCadenceError(); await EmulatedLibraryClient.SendReplyAsync(request, reply); return; } EmulatedCadenceDomain domain; using (await emulationMutex.AcquireAsync()) { if (!emulatedDomains.TryGetValue(request.Name, out domain)) { domain = null; } } if (domain == null) { reply.Error = new CadenceEntityNotExistsException($"Domain [name={request.Name}] does not exist.").ToCadenceError(); await EmulatedLibraryClient.SendReplyAsync(request, reply); return; } domain.Description = request.UpdatedInfoDescription; domain.OwnerEmail = request.UpdatedInfoOwnerEmail; domain.EmitMetrics = request.ConfigurationEmitMetrics; domain.RetentionDays = request.ConfigurationRetentionDays; await EmulatedLibraryClient.SendReplyAsync(request, reply); }