Skip to content

Stasput/transition to system json #45

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
- name: Check front code
run: yarn --cwd cassandra-distributed-task-queue-ui lint
- name: Build docker-compose environment
run: docker-compose -f docker-compose.yaml up -d --build
run: docker compose -f docker-compose.yaml up -d --build
env:
ES_VERSION: ${{ matrix.es-version }}
- name: Run front tests
Expand All @@ -50,9 +50,9 @@ jobs:
run: dotnet test --no-build --configuration Release
env:
ES_VERSION: ${{ matrix.es-version }}
- name: Stop docker-compose
- name: Stop
if: always()
run: docker-compose -f docker-compose.yaml down
run: docker compose -f docker-compose.yaml down
env:
ES_VERSION: ${{ matrix.es-version }}
publish:
Expand Down
2 changes: 1 addition & 1 deletion .start-all.cmd
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
wsl -u root sh -c "service docker status || (service docker start && echo 'artificially waiting 20s for docker to warmup...' && sleep 20s)"
wsl docker-compose -f docker-compose.linux.yaml up -d --build
wsl docker compose -f docker-compose.linux.yaml up -d --build
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.16" />
<PackageReference Include="SkbKontur.TypeScript.ContractGenerator" Version="2.0.131" />
</ItemGroup>

Expand Down
27 changes: 13 additions & 14 deletions Cassandra.DistributedTaskQueue.Monitoring.TestService/Startup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,22 @@

using SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Json;

namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.TestService
namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.TestService;

public class Startup
{
public class Startup
public void ConfigureServices(IServiceCollection services)
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers().AddNewtonsoftJson(options => options.SerializerSettings.Converters.Add(new LongToStringConverter()));
services.AddSingleton<IControllerFactory>(new GroboControllerFactory());
}
services.AddControllers().AddJsonOptions(options => options.JsonSerializerOptions.Converters.Add(new LongToStringConverter()));
services.AddSingleton<IControllerFactory>(new GroboControllerFactory());
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();

app.UseRouting();
app.UseEndpoints(endpoints => endpoints.MapControllers());
}
app.UseRouting();
app.UseEndpoints(endpoints => endpoints.MapControllers());
}
}
Original file line number Diff line number Diff line change
@@ -1,33 +1,32 @@
using JetBrains.Annotations;
using System.Text.Json.Serialization;

using Newtonsoft.Json;
using JetBrains.Annotations;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[opt] Может уберем и добавим #nullable enable тут и в остальных файлах?

using SkbKontur.Cassandra.DistributedTaskQueue.Cassandra.Entities;

namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api
namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api;

public class RtqMonitoringSearchRequest
{
public class RtqMonitoringSearchRequest
{
[NotNull]
[JsonProperty("enqueueTimestampRange")]
public TimestampRange EnqueueTimestampRange { get; set; }

[CanBeNull]
[JsonProperty("queryString")]
public string QueryString { get; set; }

[CanBeNull]
[JsonProperty("states")]
public TaskState[] States { get; set; }

[CanBeNull, ItemNotNull]
[JsonProperty("names")]
public string[] Names { get; set; }

[JsonProperty("offset")]
public int? Offset { get; set; }

[JsonProperty("count")]
public int? Count { get; set; }
}
[NotNull]
[JsonPropertyName("enqueueTimestampRange")]
public TimestampRange EnqueueTimestampRange { get; set; }

[CanBeNull]
[JsonPropertyName("queryString")]
public string QueryString { get; set; }

[CanBeNull]
[JsonPropertyName("states")]
public TaskState[] States { get; set; }

[CanBeNull, ItemNotNull]
[JsonPropertyName("names")]
public string[] Names { get; set; }

[JsonPropertyName("offset")]
public int? Offset { get; set; }

[JsonPropertyName("count")]
public int? Count { get; set; }
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
using JetBrains.Annotations;
using System.Text.Json.Serialization;

using Newtonsoft.Json;
using JetBrains.Annotations;

namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api
namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api;

public class RtqMonitoringSearchResults
{
public class RtqMonitoringSearchResults
{
[JsonProperty("totalCount")]
public long TotalCount { get; set; }
[JsonPropertyName("totalCount")]
public long TotalCount { get; set; }

[NotNull, ItemNotNull]
[JsonProperty("taskMetas")]
public RtqMonitoringTaskMeta[] TaskMetas { get; set; }
}
[NotNull, ItemNotNull]
[JsonPropertyName("taskMetas")]
public RtqMonitoringTaskMeta[] TaskMetas { get; set; } = null!;
}
118 changes: 58 additions & 60 deletions Cassandra.DistributedTaskQueue.Monitoring/Api/RtqMonitoringTaskMeta.cs
Original file line number Diff line number Diff line change
@@ -1,67 +1,65 @@
using JetBrains.Annotations;
using System.Text.Json.Serialization;

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using JetBrains.Annotations;

using SkbKontur.Cassandra.DistributedTaskQueue.Cassandra.Entities;
using SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Json;

namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api
namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api;

public class RtqMonitoringTaskMeta
{
public class RtqMonitoringTaskMeta
{
[NotNull]
[JsonProperty("name")]
public string Name { get; set; }

[NotNull]
[JsonProperty("id")]
public string Id { get; set; }

[JsonProperty("ticks")]
[JsonConverter(typeof(LongToStringConverter))]
public long Ticks { get; set; }

[JsonProperty("minimalStartTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long MinimalStartTicks { get; set; }

[JsonProperty("startExecutingTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? StartExecutingTicks { get; set; }

[JsonProperty("finishExecutingTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? FinishExecutingTicks { get; set; }

[JsonProperty("lastModificationTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? LastModificationTicks { get; set; }

[JsonProperty("expirationTimestampTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? ExpirationTimestampTicks { get; set; }

[JsonProperty("expirationModificationTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? ExpirationModificationTicks { get; set; }

[JsonProperty("executionDurationTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? ExecutionDurationTicks { get; set; }

[JsonProperty("state")]
[JsonConverter(typeof(StringEnumConverter))]
public TaskState State { get; set; }

[CanBeNull]
[JsonProperty("taskActions")]
public TaskActions TaskActions { get; set; }

[JsonProperty("attempts")]
public int Attempts { get; set; }

[JsonProperty("parentTaskId")]
public string ParentTaskId { get; set; }
}
[NotNull]
[JsonPropertyName("name")]
public string Name { get; set; } = null!;

[NotNull]
[JsonPropertyName("id")]
public string Id { get; set; } = null!;

[JsonPropertyName("ticks")]
[JsonConverter(typeof(LongToStringConverter))]
public long Ticks { get; set; }

[JsonPropertyName("minimalStartTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long MinimalStartTicks { get; set; }

[JsonPropertyName("startExecutingTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? StartExecutingTicks { get; set; }

[JsonPropertyName("finishExecutingTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? FinishExecutingTicks { get; set; }

[JsonPropertyName("lastModificationTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? LastModificationTicks { get; set; }

[JsonPropertyName("expirationTimestampTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? ExpirationTimestampTicks { get; set; }

[JsonPropertyName("expirationModificationTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? ExpirationModificationTicks { get; set; }

[JsonPropertyName("executionDurationTicks")]
[JsonConverter(typeof(LongToStringConverter))]
public long? ExecutionDurationTicks { get; set; }

[JsonPropertyName("state")]
[JsonConverter(typeof(JsonStringEnumConverter))]
public TaskState State { get; set; }

[CanBeNull]
[JsonPropertyName("taskActions")]
public TaskActions TaskActions { get; set; }

[JsonPropertyName("attempts")]
public int Attempts { get; set; }

[JsonPropertyName("parentTaskId")]
public string ParentTaskId { get; set; }
}
Original file line number Diff line number Diff line change
@@ -1,31 +1,30 @@
using JetBrains.Annotations;

using Newtonsoft.Json;
using System.Text.Json.Serialization;

using SkbKontur.Cassandra.DistributedTaskQueue.Handling;
using SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Json;

namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api
namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api;

public class RtqMonitoringTaskModel
{
public class RtqMonitoringTaskModel
{
public static RtqMonitoringTaskModel Empty => new RtqMonitoringTaskModel();

[NotNull]
[JsonProperty("taskMeta")]
public RtqMonitoringTaskMeta TaskMeta { get; set; }

[NotNull]
[JsonProperty("taskData")]
[JsonConverter(typeof(TaskDataJsonSerializer))]
public IRtqTaskData TaskData { get; set; }

[NotNull, ItemNotNull]
[JsonProperty("childTaskIds")]
public string[] ChildTaskIds { get; set; }

[NotNull, ItemNotNull]
[JsonProperty("exceptionInfos")]
public string[] ExceptionInfos { get; set; }
}
public static RtqMonitoringTaskModel Empty => new RtqMonitoringTaskModel();

[NotNull]
[JsonPropertyName("taskMeta")]
public RtqMonitoringTaskMeta TaskMeta { get; set; }

[NotNull]
[JsonPropertyName("taskData")]
[JsonConverter(typeof(TaskDataJsonSerializer))]
public IRtqTaskData TaskData { get; set; }

[NotNull, ItemNotNull]
[JsonPropertyName("childTaskIds")]
public string[] ChildTaskIds { get; set; }

[NotNull, ItemNotNull]
[JsonPropertyName("exceptionInfos")]
public string[] ExceptionInfos { get; set; }
}
6 changes: 3 additions & 3 deletions Cassandra.DistributedTaskQueue.Monitoring/Api/TaskActions.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
using Newtonsoft.Json;
using System.Text.Json.Serialization;

namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api;

public class TaskActions
{
[JsonProperty("canCancel")]
[JsonPropertyName("canCancel")]
public bool CanCancel { get; set; }

[JsonProperty("canRerun")]
[JsonPropertyName("canRerun")]
public bool CanRerun { get; set; }
}
27 changes: 13 additions & 14 deletions Cassandra.DistributedTaskQueue.Monitoring/Api/TimestampRange.cs
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
using JetBrains.Annotations;
using System.Text.Json.Serialization;

using Newtonsoft.Json;
using JetBrains.Annotations;

using SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Json;
using SkbKontur.Cassandra.TimeBasedUuid;

namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api
namespace SkbKontur.Cassandra.DistributedTaskQueue.Monitoring.Api;

public class TimestampRange
{
public class TimestampRange
{
[NotNull]
[JsonProperty("lowerBound")]
[JsonConverter(typeof(TimestampJsonConverter))]
public Timestamp LowerBound { get; set; }
[NotNull]
[JsonPropertyName("lowerBound")]
[JsonConverter(typeof(TimestampJsonConverter))]
public Timestamp LowerBound { get; set; } = null!;

[NotNull]
[JsonProperty("upperBound")]
[JsonConverter(typeof(TimestampJsonConverter))]
public Timestamp UpperBound { get; set; }
}
[NotNull]
[JsonPropertyName("upperBound")]
[JsonConverter(typeof(TimestampJsonConverter))]
public Timestamp UpperBound { get; set; } = null!;
}
Loading
Loading