1
0
mirror of https://github.com/bitwarden/server synced 2025-12-18 01:03:17 +00:00

process messages with IEvent

This commit is contained in:
Kyle Spearrin
2017-12-08 23:09:50 -05:00
parent 83a7c98fae
commit 1bdf56d39f
18 changed files with 257 additions and 204 deletions

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Bit.Core.Models.Data;
@@ -29,7 +30,7 @@ namespace Bit.EventsProcessor
}
public async static Task ProcessQueueMessageAsync([QueueTrigger("event")] string message,
TextWriter logger, CancellationToken token)
TextWriter logger, CancellationToken cancellationToken)
{
if(_eventWriteService == null || message == null || message.Length == 0)
{
@@ -38,16 +39,17 @@ namespace Bit.EventsProcessor
try
{
var jToken = JToken.Parse(message);
if(jToken is JArray)
var token = JToken.Parse(message);
if(token is JArray)
{
var entities = jToken.ToObject<IList<EventTableEntity>>();
await _eventWriteService.CreateManyAsync(entities);
var events = token.ToObject<List<Event>>()
.Select(e => new EventTableEntity(e) as IEvent).ToList();
await _eventWriteService.CreateManyAsync(events);
}
else if(jToken is JObject)
else if(token is JObject)
{
var entity = jToken.ToObject<EventTableEntity>();
await _eventWriteService.CreateAsync(entity);
var e = token.ToObject<Event>();
await _eventWriteService.CreateAsync(new EventTableEntity(e));
}
}
catch(JsonReaderException)