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")] [BsonElement("ss")]
public Status Status { get; set; } public Status Status { get; set; }
[BsonIgnoreIfNull]
[BsonElement("sc")]
public string StatusColor { get; set; }
[BsonIgnoreIfNull] [BsonIgnoreIfNull]
[BsonElement("do")] [BsonElement("do")]
[BsonJson] [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 Status Status { get; set; }
public string StatusColor { get; set; }
public bool IsPending { 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); var statusInfo = await contentWorkflow.GetInitialStatusAsync(ctx.Schema);
Create(c, statusInfo.Status, statusInfo.Color); Create(c, statusInfo.Status);
return Snapshot; return Snapshot;
}); });
@ -127,8 +127,6 @@ namespace Squidex.Domain.Apps.Entities.Contents
} }
else else
{ {
var statusInfo = await contentWorkflow.GetInfoAsync(c.Status);
StatusChange reason; StatusChange reason;
if (c.Status == Status.Published) 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); 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; return Snapshot;
} }
public void Create(CreateContent command, Status status, string color) public void Create(CreateContent command, Status status)
{ {
RaiseEvent(SimpleMapper.Map(command, new ContentCreated RaiseEvent(SimpleMapper.Map(command, new ContentCreated { Status = status }));
{
Status = status,
StatusColor = color
}));
if (command.Publish) if (command.Publish)
{ {
RaiseEvent(SimpleMapper.Map(command, new ContentStatusChanged RaiseEvent(SimpleMapper.Map(command, new ContentStatusChanged { Status = Status.Published }));
{
Status = Status.Published,
StatusColor = StatusColors.Published
}));
} }
} }
@ -284,9 +274,9 @@ namespace Squidex.Domain.Apps.Entities.Contents
RaiseEvent(SimpleMapper.Map(command, new ContentStatusScheduled { DueTime = command.DueTime.Value })); 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) 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." Description = $"The the status of the {schemaName} content."
}); });
/*
AddField(new FieldType AddField(new FieldType
{ {
Name = "statusColor", Name = "statusColor",
@ -85,6 +86,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL.Types
Resolver = Resolve(x => x.StatusColor), Resolver = Resolve(x => x.StatusColor),
Description = $"The color status of the {schemaName} content." Description = $"The color status of the {schemaName} content."
}); });
*/
AddField(new FieldType 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; } Status Status { get; }
string StatusColor { get; }
ScheduleJob ScheduleJob { get; } ScheduleJob ScheduleJob { get; }
NamedContentData Data { 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 Status Status { get; }
public string StatusColor { get; set; }
public RefToken ScheduledBy { get; } 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; Id = id;
ScheduledBy = scheduledBy; ScheduledBy = scheduledBy;
Status = status; Status = status;
StatusColor = statusColor;
DueTime = dueTime; 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); 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] [DataMember]
public Status Status { get; set; } public Status Status { get; set; }
[DataMember]
public string StatusColor { get; set; }
protected void On(ContentCreated @event) protected void On(ContentCreated @event)
{ {
SimpleMapper.Map(@event, this); 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 Status Status { get; set; }
public string StatusColor { get; set; }
public NamedContentData Data { 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 StatusChange Change { get; set; }
public Status Status { 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 Status Status { get; set; }
public string StatusColor { get; set; }
public Instant DueTime { 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); result.ShouldBeEquivalent(sut.Snapshot);
Assert.Equal(Status.Draft, sut.Snapshot.Status); Assert.Equal(Status.Draft, sut.Snapshot.Status);
Assert.Equal(StatusColors.Draft, sut.Snapshot.StatusColor);
LastEvents LastEvents
.ShouldHaveSameEvents( .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>")) A.CallTo(() => scriptEngine.ExecuteAndTransform(A<ScriptContext>.Ignored, "<create-script>"))
@ -150,21 +149,11 @@ namespace Squidex.Domain.Apps.Entities.Contents
result.ShouldBeEquivalent(sut.Snapshot); result.ShouldBeEquivalent(sut.Snapshot);
Assert.Equal(Status.Published, sut.Snapshot.Status); Assert.Equal(Status.Published, sut.Snapshot.Status);
Assert.Equal(StatusColors.Published, sut.Snapshot.StatusColor);
LastEvents LastEvents
.ShouldHaveSameEvents( .ShouldHaveSameEvents(
CreateContentEvent(new ContentCreated CreateContentEvent(new ContentCreated { Data = data, Status = Status.Draft }),
{ CreateContentEvent(new ContentStatusChanged { Status = Status.Published })
Data = data,
Status = Status.Draft,
StatusColor = StatusColors.Draft
}),
CreateContentEvent(new ContentStatusChanged
{
Status = Status.Published,
StatusColor = StatusColors.Published
})
); );
A.CallTo(() => scriptEngine.ExecuteAndTransform(A<ScriptContext>.Ignored, "<create-script>")) A.CallTo(() => scriptEngine.ExecuteAndTransform(A<ScriptContext>.Ignored, "<create-script>"))
@ -326,12 +315,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
LastEvents LastEvents
.ShouldHaveSameEvents( .ShouldHaveSameEvents(
CreateContentEvent(new ContentStatusChanged CreateContentEvent(new ContentStatusChanged { Change = StatusChange.Published, Status = Status.Published })
{
Change = StatusChange.Published,
Status = Status.Published,
StatusColor = StatusColors.Published
})
); );
A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>")) A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>"))
@ -353,11 +337,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
LastEvents LastEvents
.ShouldHaveSameEvents( .ShouldHaveSameEvents(
CreateContentEvent(new ContentStatusChanged CreateContentEvent(new ContentStatusChanged { Status = Status.Archived })
{
Status = Status.Archived,
StatusColor = StatusColors.Archived
})
); );
A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>")) A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>"))
@ -380,12 +360,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
LastEvents LastEvents
.ShouldHaveSameEvents( .ShouldHaveSameEvents(
CreateContentEvent(new ContentStatusChanged CreateContentEvent(new ContentStatusChanged { Change = StatusChange.Unpublished, Status = Status.Draft })
{
Change = StatusChange.Unpublished,
Status = Status.Draft,
StatusColor = StatusColors.Draft
})
); );
A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>")) A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>"))
@ -408,11 +383,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
LastEvents LastEvents
.ShouldHaveSameEvents( .ShouldHaveSameEvents(
CreateContentEvent(new ContentStatusChanged CreateContentEvent(new ContentStatusChanged { Status = Status.Draft })
{
Status = Status.Draft,
StatusColor = StatusColors.Draft
})
); );
A.CallTo(() => scriptEngine.Execute(A<ScriptContext>.Ignored, "<change-script>")) 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 public sealed class MigrationPath : IMigrationPath
{ {
private const int CurrentVersion = 18; private const int CurrentVersion = 17;
private readonly IServiceProvider serviceProvider; private readonly IServiceProvider serviceProvider;
public MigrationPath(IServiceProvider serviceProvider) public MigrationPath(IServiceProvider serviceProvider)
@ -115,12 +115,6 @@ namespace Migrate_01
yield return serviceProvider.GetService<RenameSlugField>(); yield return serviceProvider.GetService<RenameSlugField>();
} }
// Version 18: Status colors introduced
if (version < 17)
{
yield return serviceProvider.GetService<CreateStatusColors>();
}
yield return serviceProvider.GetRequiredService<StartEventConsumers>(); 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; 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; return this;
} }
} }

13
tools/Migrate_01/OldEvents/ContentStatusChanged.cs

@ -41,19 +41,6 @@ namespace Migrate_01.OldEvents
migrated.Change = StatusChange.Change; 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; return this;
} }
} }

13
tools/Migrate_01/OldEvents/ContentStatusScheduled.cs

@ -33,19 +33,6 @@ namespace Migrate_01.OldEvents
migrated.Status = Status.Draft; 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; return this;
} }
} }

Loading…
Cancel
Save