Browse Source

Version fix.

pull/470/head
Sebastian 6 years ago
parent
commit
467a90f23a
  1. 2
      backend/src/Squidex.Domain.Apps.Entities/DomainObjectState.cs
  2. 2
      backend/src/Squidex.Infrastructure/Commands/Is.cs
  3. 4
      backend/src/Squidex.Infrastructure/Commands/LogSnapshotDomainObjectGrain.cs
  4. 3
      backend/src/Squidex/Config/Domain/StoreServices.cs
  5. 22
      backend/tools/Migrate_01/MigrationPath.cs
  6. 42
      backend/tools/Migrate_01/Migrations/MongoDb/RenameAssetMetadata.cs
  7. 2
      frontend/app/features/administration/pages/restore/restore-page.component.html
  8. 2
      frontend/app/shared/state/backups.forms.ts

2
backend/src/Squidex.Domain.Apps.Entities/DomainObjectState.cs

@ -70,8 +70,6 @@ namespace Squidex.Domain.Apps.Entities
clone.LastModified = headers.Timestamp();
clone.LastModifiedBy = payload.Actor;
clone.Version = headers.EventStreamNumber();
return (clone as T)!;
}
}

2
backend/src/Squidex.Infrastructure/Commands/Is.cs

@ -18,7 +18,7 @@ namespace Squidex.Infrastructure.Commands
return !Equals(oldValue, newValue);
}
public static bool Change(string oldValue, string newValue)
public static bool Change(string? oldValue, string? newValue)
{
return !Equals(oldValue, newValue);
}

4
backend/src/Squidex.Infrastructure/Commands/LogSnapshotDomainObjectGrain.cs

@ -56,12 +56,12 @@ namespace Squidex.Infrastructure.Commands
protected sealed override bool ApplyEvent(Envelope<IEvent> @event, bool isLoading)
{
var newVersion = Version + 1;
var snapshot = OnEvent(@event);
if (!ReferenceEquals(Snapshot, snapshot) || isLoading)
{
var newVersion = Version + 1;
snapshot.Version = newVersion;
snapshots.Add(snapshot);

3
backend/src/Squidex/Config/Domain/StoreServices.cs

@ -81,6 +81,9 @@ namespace Squidex.Config.Domain
services.AddTransientAs<RenameAssetSlugField>()
.As<IMigration>();
services.AddTransientAs<RenameAssetMetadata>()
.As<IMigration>();
services.AddHealthChecks()
.AddCheck<MongoDBHealthCheck>("MongoDB", tags: new[] { "node" });

22
backend/tools/Migrate_01/MigrationPath.cs

@ -108,16 +108,24 @@ namespace Migrate_01
yield return serviceProvider.GetRequiredService<RestructureContentCollection>();
}
// Version 17: Rename slug field.
if (version < 17)
// Version 18: Rebuild assets.
if (version < 18)
{
yield return serviceProvider.GetService<RenameAssetSlugField>();
yield return serviceProvider.GetService<RebuildAssets>();
}
// Version 20: Rebuild assets.
if (version < 20)
else
{
yield return serviceProvider.GetService<RebuildAssets>();
// Version 17: Rename slug field.
if (version < 17)
{
yield return serviceProvider.GetService<RenameAssetSlugField>();
}
// Version 20: Rename slug field.
if (version < 20)
{
yield return serviceProvider.GetService<RenameAssetMetadata>();
}
}
// Version 16: Introduce file name slugs for assets.

42
backend/tools/Migrate_01/Migrations/MongoDb/RenameAssetMetadata.cs

@ -0,0 +1,42 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using System.Threading.Tasks;
using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Infrastructure.Migrations;
namespace Migrate_01.Migrations.MongoDb
{
public sealed class RenameAssetMetadata : IMigration
{
private readonly IMongoDatabase database;
public RenameAssetMetadata(IMongoDatabase database)
{
this.database = database;
}
public async Task UpdateAsync()
{
var collection = database.GetCollection<BsonDocument>("States_Assets");
var update1 =
Builders<BsonDocument>.Update
.Set("md", new BsonDocument());
await collection.UpdateManyAsync(new BsonDocument(), update1);
var update2 =
Builders<BsonDocument>.Update
.Rename("ph", "md.PixelHeight")
.Rename("pw", "md.PixelWidth");
await collection.UpdateManyAsync(new BsonDocument(), update2);
}
}
}

2
frontend/app/features/administration/pages/restore/restore-page.component.html

@ -54,7 +54,7 @@
<input class="form-control" formControlName="url" placeholder="Url to backup" />
</div>
<div class="col pl-1">
<input class="form-control" formControlName="newAppName" placeholder="Optional app name" />
<input class="form-control" formControlName="name" placeholder="Optional app name" />
</div>
<div class="col-auto pl-1">
<button type="submit" class="btn btn-success" [disabled]="restoreForm.hasNoUrl | async">Restore Backup</button>

2
frontend/app/shared/state/backups.forms.ts

@ -20,7 +20,7 @@ export class RestoreForm extends Form<FormGroup, StartRestoreDto> {
constructor(formBuilder: FormBuilder) {
super(formBuilder.group({
newAppName: ['',
name: ['',
[
Validators.maxLength(40),
ValidatorsEx.pattern('[a-z0-9]+(\-[a-z0-9]+)*', 'Name can contain lower case letters (a-z), numbers and dashes (not at the end).')

Loading…
Cancel
Save