public async Task <IActionResult> AddGoogleSuiteService( [FromServices] ICommandHandlerResolver bus, [FromServices] ApiProjectionsContext context, [FromCommandId] Guid commandId, [FromRoute] string secondLevelDomain, [FromRoute] string topLevelDomain, [FromBody] AddGoogleSuiteServiceRequest request, CancellationToken cancellationToken = default) { if (request != null) { request.SecondLevelDomain = secondLevelDomain; request.TopLevelDomain = topLevelDomain; } // TODO: We can check in the eventstore if those aggregates even exist await new AddGoogleSuiteServiceRequestValidator() .ValidateAndThrowAsync(request, cancellationToken: cancellationToken); var command = AddGoogleSuiteServiceRequestMapping.Map( new DomainName( new SecondLevelDomain(secondLevelDomain), TopLevelDomain.FromValue(topLevelDomain)), request); return(Accepted( $"/v1/domains/{command.DomainName}/services/{command.ServiceId}", new LastObservedPositionResponse( await bus.Dispatch( commandId, command, GetMetadata(), cancellationToken)))); }
public static RemoveService Map( RemoveServiceRequest message) => new RemoveService( new DomainName( new SecondLevelDomain(message.SecondLevelDomain), TopLevelDomain.FromValue(message.TopLevelDomain)), new ServiceId(message.ServiceId.Value));
public void Configure(EntityTypeBuilder <ServiceDetail> b) { b.ToTable(TableName, Schema.Api) .HasKey(x => x.ServiceId) .ForSqlServerIsClustered(); b.Property(x => x.Type) .HasMaxLength(ServiceType.GetAll().Max(x => x.Value.Length) * 2); b.Property(x => x.Label) .HasMaxLength(ServiceLabel.MaxLength); b.Property(x => x.ServiceData); b.Property(x => x.Domain) .HasMaxLength(SecondLevelDomain.MaxLength + (TopLevelDomain.GetAll().Max(x => x.Value.Length) * 2)); }
public async Task should_create_a_correct_command() { var request = new CreateDomainRequest { SecondLevelDomain = "exira", TopLevelDomain = "com" }; var commands = await Post("/v1/domains", request); Assert.True(commands.Count == 1); commands[0].IsEqual( new CreateDomain( new DomainName( new SecondLevelDomain(request.SecondLevelDomain), TopLevelDomain.FromValue(request.TopLevelDomain)))); }
private void BindTopLevelDomainData() { TopLevelDomain tld = StorehouseHelper.GetTopLevelDomain(ecPanelRequest.ProductId); if (tld == null) { RedirectToBrowsePage(); } txtDomainTLD.Text = tld.ProductName; ecUtils.SelectListItem(ddlTLDRegistrar, tld.PluginId); txtProductSku.Text = tld.ProductSku; chkTaxInclusive.Checked = tld.TaxInclusive; rblTLDStatus.SelectedIndex = (tld.Enabled) ? 0 : 1; chkWhoisEnabled.Checked = tld.WhoisEnabled; // load cycles ctlBillingCycles.LoadDomainNameCycles( StorehouseHelper.GetTopLevelDomainCycles(ecPanelRequest.ProductId)); }
public static CreateDomain Map( CreateDomainRequest message) => new CreateDomain( new DomainName( new SecondLevelDomain(message.SecondLevelDomain), TopLevelDomain.FromValue(message.TopLevelDomain)));
public static void CustomizeTopLevelDomain(this IFixture fixture) => fixture.Customize <TopLevelDomain>(composer => composer.FromFactory <int>(value => TopLevelDomain.GetAll()[value % TopLevelDomain.GetAll().Length]));
private void When(DomainWasCreated @event) { _name = new DomainName( new SecondLevelDomain(@event.SecondLevelDomain), TopLevelDomain.FromValue(@event.TopLevelDomain)); }
public void domain_must_be_valid(string secondLevelDomain, string topLevelDomain) { void ValidDomain() => new DomainName(new SecondLevelDomain(secondLevelDomain), TopLevelDomain.FromValue(topLevelDomain)); var ex = Record.Exception(ValidDomain); Assert.Null(ex); }