From 1f5cc40e540e6c4da5bf290f140d44396d3de6a0 Mon Sep 17 00:00:00 2001 From: Sergey Nazarov Date: Thu, 28 Mar 2024 09:00:44 +0300 Subject: [PATCH] Add contracts annotations --- Directory.Packages.props | 4 ++- .../TextMatches/Dto/TextMatchData.cs | 18 ++++++++++++ .../Requests/CreateTextMatchRequest.cs | 12 ++++++++ .../TextMatchers/MessageReceivedHandler.cs | 2 +- .../TextMatchCreated.cs | 3 ++ .../TextMatchMatched.cs | 29 ++++++++++++++++++- 6 files changed, 65 insertions(+), 3 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 44a33ee..6b05077 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -5,11 +5,13 @@ enable 8.0.0 + + + - diff --git a/src/Nocr.TextMatcher.Api.Contracts/TextMatches/Dto/TextMatchData.cs b/src/Nocr.TextMatcher.Api.Contracts/TextMatches/Dto/TextMatchData.cs index e273d7b..2d3aa8d 100644 --- a/src/Nocr.TextMatcher.Api.Contracts/TextMatches/Dto/TextMatchData.cs +++ b/src/Nocr.TextMatcher.Api.Contracts/TextMatches/Dto/TextMatchData.cs @@ -4,15 +4,33 @@ public sealed class TextMatchData { public long Id { get; set; } + /// + /// Идентификатор владельца матча + /// public long UserId { get; set; } + /// + /// Username чата + /// public string ChatUsername { get; set; } + /// + /// Шаблон совпадения + /// public string Template { get; set; } + /// + /// Активен ли матч + /// public bool Active { get; set; } + /// + /// Тип матча + /// public TextMatchRule Rule { get; set; } + /// + /// Дата создания + /// public DateTimeOffset CreatedDateTime { get; set; } } \ No newline at end of file diff --git a/src/Nocr.TextMatcher.Api.Contracts/TextMatches/Requests/CreateTextMatchRequest.cs b/src/Nocr.TextMatcher.Api.Contracts/TextMatches/Requests/CreateTextMatchRequest.cs index cc82677..bd54c88 100644 --- a/src/Nocr.TextMatcher.Api.Contracts/TextMatches/Requests/CreateTextMatchRequest.cs +++ b/src/Nocr.TextMatcher.Api.Contracts/TextMatches/Requests/CreateTextMatchRequest.cs @@ -2,11 +2,23 @@ namespace Nocr.TextMatcher.Api.Contracts.TextMatches.Requests; public class CreateTextMatchRequest { + /// + /// Идентификатор пользователя в системе + /// public long UserId { get; set; } + /// + /// Username чата, на который нужно подписаться + /// public string ChatUsername { get; set; } + /// + /// Шаблон совпадения + /// public string Template { get; set; } + /// + /// Тип совпадения + /// public TextMatchRule Rule { get; set; } } \ No newline at end of file diff --git a/src/Nocr.TextMatcher.AppServices/TextMatchers/MessageReceivedHandler.cs b/src/Nocr.TextMatcher.AppServices/TextMatchers/MessageReceivedHandler.cs index b52ce8c..6f7046d 100644 --- a/src/Nocr.TextMatcher.AppServices/TextMatchers/MessageReceivedHandler.cs +++ b/src/Nocr.TextMatcher.AppServices/TextMatchers/MessageReceivedHandler.cs @@ -45,7 +45,7 @@ public sealed class MessageReceivedHandler : IHandleMessages Rule = (int)match.Rule, Template = match.Template, Text = message.Text, - FromUsername = message.FromUsername, + From = message.From, OccuredDateTime = message.OccuredDateTime, PublishedDateTime = _dateProvider.UtcNow }; diff --git a/src/Nocr.TextMatcher.Async.Api.Contracts/TextMatchCreated.cs b/src/Nocr.TextMatcher.Async.Api.Contracts/TextMatchCreated.cs index 060d3da..e1870db 100644 --- a/src/Nocr.TextMatcher.Async.Api.Contracts/TextMatchCreated.cs +++ b/src/Nocr.TextMatcher.Async.Api.Contracts/TextMatchCreated.cs @@ -4,5 +4,8 @@ public class TextMatchCreated : IEvent { public Guid Id => Guid.NewGuid(); + /// + /// Username чата на который нужно подписаться + /// public string ChatUsername { get; set; } = null!; } \ No newline at end of file diff --git a/src/Nocr.TextMatcher.Async.Api.Contracts/TextMatchMatched.cs b/src/Nocr.TextMatcher.Async.Api.Contracts/TextMatchMatched.cs index 2ff2099..37cd9b0 100644 --- a/src/Nocr.TextMatcher.Async.Api.Contracts/TextMatchMatched.cs +++ b/src/Nocr.TextMatcher.Async.Api.Contracts/TextMatchMatched.cs @@ -4,21 +4,48 @@ public class TextMatchMatched : IEvent { public Guid Id => Guid.NewGuid(); + /// + /// Идентификатор матча + /// public long MatchId { get; set; } + /// + /// Идентификатор владельца матча + /// public long MatchUserId { get; set; } + /// + /// Username чата + /// public string ChatUsername { get; set; } + /// + /// Правило совпадения + /// public int Rule { get; set; } + /// + /// Шаблон совпадения + /// public string Template { get; set; } - public string? FromUsername { get; set; } + /// + /// Имя или username отправителя + /// + public string? From { get; set; } + /// + /// Текст сообщения + /// public string Text { get; set; } + /// + /// Дата получения сообщения слушателем + /// public DateTimeOffset OccuredDateTime { get; set; } + /// + /// Дата публикации события в очередь + /// public DateTimeOffset PublishedDateTime { get; set; } } \ No newline at end of file