Browse Source

Status color removed.

pull/377/head
Sebastian Stehle 7 years ago
parent
commit
cb93e0dac1
  1. 4
      src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoContentEntity.cs
  2. 2
      src/Squidex.Domain.Apps.Entities/Contents/ContentEntity.cs
  3. 24
      src/Squidex.Domain.Apps.Entities/Contents/ContentGrain.cs
  4. 2
      src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/ContentGraphType.cs
  5. 2
      src/Squidex.Domain.Apps.Entities/Contents/IContentEntity.cs
  6. 7
      src/Squidex.Domain.Apps.Entities/Contents/ScheduleJob.cs
  7. 3
      src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs
  8. 2
      src/Squidex.Domain.Apps.Events/Contents/ContentCreated.cs
  9. 2
      src/Squidex.Domain.Apps.Events/Contents/ContentStatusChanged.cs
  10. 2
      src/Squidex.Domain.Apps.Events/Contents/ContentStatusScheduled.cs
  11. 43
      tests/Squidex.Domain.Apps.Entities.Tests/Contents/ContentGrainTests.cs
  12. 8
      tools/Migrate_01/MigrationPath.cs
  13. 42
      tools/Migrate_01/Migrations/MongoDb/CreateStatusColors.cs
  14. 13
      tools/Migrate_01/OldEvents/ContentCreated.cs
  15. 13
      tools/Migrate_01/OldEvents/ContentStatusChanged.cs
  16. 13
      tools/Migrate_01/OldEvents/ContentStatusScheduled.cs

4
src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoContentEntity.cs

@ -53,10 +53,6 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Contents
[BsonElement("ss")]
public Status Status { get; set; }
[BsonIgnoreIfNull]
[BsonElement("sc")]
public string StatusColor { get; set; }
[BsonIgnoreIfNull]
[BsonElement("do")]
[BsonJson]

2
src/Squidex.Domain.Apps.Entities/Contents/ContentEntity.cs

@ -38,8 +38,6 @@ namespace Squidex.Domain.Apps.Entities.Contents
public Status Status { get; set; }
public string StatusColor { get; set; }
public bool IsPending { get; set; }
}
}

24
src/Squidex.Domain.Apps.Entities/Contents/ContentGrain.cs

@ -85,7 +85,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
var statusInfo = await contentWorkflow.GetInitialStatusAsync(ctx.Schema);
Create(c, statusInfo.Status, statusInfo.Color);
Create(c, statusInfo.Status);
return Snapshot;
});
@ -127,8 +127,6 @@ namespace Squidex.Domain.Apps.Entities.Contents
}
else
{
var statusInfo = await contentWorkflow.GetInfoAsync(c.Status);
StatusChange reason;
if (c.Status == Status.Published)
@ -146,7 +144,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
await ctx.ExecuteScriptAsync(s => s.Change, reason, c, Snapshot.Data);
ChangeStatus(c, reason, statusInfo.Color);
ChangeStatus(c, reason);
}
}
}
@ -231,21 +229,13 @@ namespace Squidex.Domain.Apps.Entities.Contents
return Snapshot;
}
public void Create(CreateContent command, Status status, string color)
public void Create(CreateContent command, Status status)
{
RaiseEvent(SimpleMapper.Map(command, new ContentCreated
{
Status = status,
StatusColor = color
}));
RaiseEvent(SimpleMapper.Map(command, new ContentCreated { Status = status }));
if (command.Publish)
{
RaiseEvent(SimpleMapper.Map(command, new ContentStatusChanged
{
Status = Status.Published,
StatusColor = StatusColors.Published
}));
RaiseEvent(SimpleMapper.Map(command, new ContentStatusChanged { Status = Status.Published }));
}
}
@ -284,9 +274,9 @@ namespace Squidex.Domain.Apps.Entities.Contents
RaiseEvent(SimpleMapper.Map(command, new ContentStatusScheduled { DueTime = command.DueTime.Value }));
}
public void ChangeStatus(ChangeContentStatus command, StatusChange change, string color)
public void ChangeStatus(ChangeContentStatus command, StatusChange change)
{
RaiseEvent(SimpleMapper.Map(command, new ContentStatusChanged { Change = change, StatusColor = color }));
RaiseEvent(SimpleMapper.Map(command, new ContentStatusChanged { Change = change }));
}
private void RaiseEvent(SchemaEvent @event)

2
src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/ContentGraphType.cs

@ -78,6 +78,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL.Types
Description = $"The the status of the {schemaName} content."
});
/*
AddField(new FieldType
{
Name = "statusColor",
@ -85,6 +86,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL.Types
Resolver = Resolve(x => x.StatusColor),
Description = $"The color status of the {schemaName} content."
});
*/
AddField(new FieldType
{

2
src/Squidex.Domain.Apps.Entities/Contents/IContentEntity.cs

@ -24,8 +24,6 @@ namespace Squidex.Domain.Apps.Entities.Contents
Status Status { get; }
string StatusColor { get; }
ScheduleJob ScheduleJob { get; }
NamedContentData Data { get; }

7
src/Squidex.Domain.Apps.Entities/Contents/ScheduleJob.cs

@ -20,20 +20,17 @@ namespace Squidex.Domain.Apps.Entities.Contents
public Status Status { get; }
public string StatusColor { get; set; }
public RefToken ScheduledBy { get; }
public ScheduleJob(Guid id, Status status, string statusColor, RefToken scheduledBy, Instant dueTime)
public ScheduleJob(Guid id, Status status, RefToken scheduledBy, Instant dueTime)
{
Id = id;
ScheduledBy = scheduledBy;
Status = status;
StatusColor = statusColor;
DueTime = dueTime;
}
public static ScheduleJob Build(Status status, string statusColor, RefToken scheduledBy, Instant dueTime)
public static ScheduleJob Build(Status status, RefToken scheduledBy, Instant dueTime)
{
return new ScheduleJob(Guid.NewGuid(), status, scheduledBy, dueTime);
}

3
src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs

@ -45,9 +45,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.State
[DataMember]
public Status Status { get; set; }
[DataMember]
public string StatusColor { get; set; }
protected void On(ContentCreated @event)
{
SimpleMapper.Map(@event, this);

2
src/Squidex.Domain.Apps.Events/Contents/ContentCreated.cs

@ -15,8 +15,6 @@ namespace Squidex.Domain.Apps.Events.Contents
{
public Status Status { get; set; }
public string StatusColor { get; set; }
public NamedContentData Data { get; set; }
}
}

2
src/Squidex.Domain.Apps.Events/Contents/ContentStatusChanged.cs

@ -16,7 +16,5 @@ namespace Squidex.Domain.Apps.Events.Contents
public StatusChange Change { get; set; }
public Status Status { get; set; }
public string StatusColor { get; set; }
}
}

2
src/Squidex.Domain.Apps.Events/Contents/ContentStatusScheduled.cs

@ -16,8 +16,6 @@ namespace Squidex.Domain.Apps.Events.Contents
{
public Status Status { get; set; }
public string StatusColor { get; set; }
public Instant DueTime { get; set; }
}
}

43
tests/Squidex.Domain.Apps.Entities.Tests/Contents/ContentGrainTests.cs

@ -127,11 +127,10 @@ namespace Squidex.Domain.Apps.Entities.Contents
result.ShouldBeEquivalent(sut.Snapshot);
Assert.Equal(Status.Draft, sut.Snapshot.Status);
Assert.Equal(StatusColors.Draft, sut.Snapshot.StatusColor);
LastEvents
.ShouldHaveSameEvents(
CreateContentEvent(new ContentCreated { Data = data, Status = Status.Draft, StatusColor = StatusColors.Draft })
CreateContentEvent(new ContentCreated { Data = data, Status = Status.Draft })
);
A.CallTo(() => scriptEngine.ExecuteAndTransform(A<ScriptContext>.Ignored, "<create-script>"))
@ -150,21 +149,11 @@ namespace Squidex.Domain.Apps.Entities.Contents
result.ShouldBeEquivalent(sut.Snapshot);
Assert.Equal(Status.Published, sut.Snapshot.Status);
Assert.Equal(StatusColors.Published, sut.Snapshot.StatusColor);
LastEvents
.ShouldHaveSameEvents(
CreateContentEvent(new ContentCreated
{
Data = data,
Status = Status.Draft,
StatusColor = StatusColors.Draft
}),
CreateContentEvent(new ContentStatusChanged
{
Status = Status.Published,
StatusColor = StatusColors.Published
})
CreateContentEvent(new ContentCreated { Data = data, Status = Status.Draft }),
CreateContentEvent(new ContentStatusChanged { Status = Status.Published })
);
A.CallTo(() => scriptEngine.ExecuteAndTransform(A<ScriptContext>.Ignored, "<create-script>"))
@ -326,12 +315,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
LastEvents
.ShouldHaveSameEvents(
CreateContentEvent(new ContentStatusChanged
{
Change = StatusChange.Published,
Status = Status.Published,
StatusColor = StatusColors.Published
})
CreateContentEvent(new ContentStatusChanged { Change = StatusChange.Published, Status = Status.Published })
);
A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>"))
@ -353,11 +337,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
LastEvents
.ShouldHaveSameEvents(
CreateContentEvent(new ContentStatusChanged
{
Status = Status.Archived,
StatusColor = StatusColors.Archived
})
CreateContentEvent(new ContentStatusChanged { Status = Status.Archived })
);
A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>"))
@ -380,12 +360,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
LastEvents
.ShouldHaveSameEvents(
CreateContentEvent(new ContentStatusChanged
{
Change = StatusChange.Unpublished,
Status = Status.Draft,
StatusColor = StatusColors.Draft
})
CreateContentEvent(new ContentStatusChanged { Change = StatusChange.Unpublished, Status = Status.Draft })
);
A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>"))
@ -408,11 +383,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
LastEvents
.ShouldHaveSameEvents(
CreateContentEvent(new ContentStatusChanged
{
Status = Status.Draft,
StatusColor = StatusColors.Draft
})
CreateContentEvent(new ContentStatusChanged { Status = Status.Draft })
);
A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>"))

8
tools/Migrate_01/MigrationPath.cs

@ -17,7 +17,7 @@ namespace Migrate_01
{
public sealed class MigrationPath : IMigrationPath
{
private const int CurrentVersion = 18;
private const int CurrentVersion = 17;
private readonly IServiceProvider serviceProvider;
public MigrationPath(IServiceProvider serviceProvider)
@ -115,12 +115,6 @@ namespace Migrate_01
yield return serviceProvider.GetService<RenameSlugField>();
}
// Version 18: Status colors introduced
if (version < 17)
{
yield return serviceProvider.GetService<CreateStatusColors>();
}
yield return serviceProvider.GetRequiredService<StartEventConsumers>();
}
}

42
tools/Migrate_01/Migrations/MongoDb/CreateStatusColors.cs

@ -1,42 +0,0 @@
// ==========================================================================
// 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.Domain.Apps.Core.Contents;
using Squidex.Infrastructure.Migrations;
namespace Migrate_01.Migrations.MongoDb
{
public sealed class CreateStatusColors : IMigration
{
private readonly IMongoDatabase contentDatabase;
public CreateStatusColors(IMongoDatabase contentDatabase)
{
this.contentDatabase = contentDatabase;
}
public async Task UpdateAsync()
{
var collection = contentDatabase.GetCollection<BsonDocument>("State_Contents");
await collection.UpdateManyAsync(
Builders<BsonDocument>.Filter.Eq("ss", "Archived"),
Builders<BsonDocument>.Update.Set("sc", StatusColors.Archived));
await collection.UpdateManyAsync(
Builders<BsonDocument>.Filter.Eq("ss", "Draft"),
Builders<BsonDocument>.Update.Set("sc", StatusColors.Draft));
await collection.UpdateManyAsync(
Builders<BsonDocument>.Filter.Eq("ss", "Published"),
Builders<BsonDocument>.Update.Set("sc", StatusColors.Published));
}
}
}

13
tools/Migrate_01/OldEvents/ContentCreated.cs

@ -32,19 +32,6 @@ namespace Migrate_01.OldEvents
migrated.Status = Status.Draft;
}
if (Status == Status.Archived)
{
migrated.StatusColor = StatusColors.Archived;
}
else if (Status == Status.Published)
{
migrated.StatusColor = StatusColors.Published;
}
else
{
migrated.StatusColor = StatusColors.Draft;
}
return this;
}
}

13
tools/Migrate_01/OldEvents/ContentStatusChanged.cs

@ -41,19 +41,6 @@ namespace Migrate_01.OldEvents
migrated.Change = StatusChange.Change;
}
if (Status == Status.Archived)
{
migrated.StatusColor = StatusColors.Archived;
}
else if (Status == Status.Published)
{
migrated.StatusColor = StatusColors.Published;
}
else
{
migrated.StatusColor = StatusColors.Draft;
}
return this;
}
}

13
tools/Migrate_01/OldEvents/ContentStatusScheduled.cs

@ -33,19 +33,6 @@ namespace Migrate_01.OldEvents
migrated.Status = Status.Draft;
}
if (Status == Status.Archived)
{
migrated.StatusColor = StatusColors.Archived;
}
else if (Status == Status.Published)
{
migrated.StatusColor = StatusColors.Published;
}
else
{
migrated.StatusColor = StatusColors.Draft;
}
return this;
}
}

Loading…
Cancel
Save