public async Task Should_not_invoke_enricher_for_other_result() { var command = CreateCommand(new MyCommand()); var context = CreateContextForCommand(command); context.Complete(12); await sut.HandleAsync(context); A.CallTo(() => contentEnricher.EnrichAsync(A <IEnrichedContentEntity> .Ignored, User)) .MustNotHaveHappened(); }
public async Task Should_not_invoke_enricher_for_other_result() { var context = CreateCommandContext( new MyCommand()); context.Complete(12); await sut.HandleAsync(context); A.CallTo(() => contentEnricher.EnrichAsync(A <IEnrichedContentEntity> ._, A <bool> ._, requestContext)) .MustNotHaveHappened(); }
private async Task <IReadOnlyList <IEnrichedContentEntity> > TransformCoreAsync(Context context, IEnumerable <IContentEntity> contents) { using (Profiler.TraceMethod <ContentQueryService>()) { return(await contentEnricher.EnrichAsync(contents, context)); } }
private async Task <IReadOnlyList <IEnrichedContentEntity> > TransformCoreAsync(Context context, ISchemaEntity schema, IEnumerable <IContentEntity> contents) { using (Profiler.TraceMethod <ContentQueryService>()) { var results = new List <IEnrichedContentEntity>(); var script = schema.SchemaDef.Scripts.Query; var scripting = !string.IsNullOrWhiteSpace(script); var enriched = await contentEnricher.EnrichAsync(contents, context); foreach (var content in enriched) { var result = SimpleMapper.Map(content, new ContentEntity()); if (result.Data != null && !context.IsFrontendClient && scripting) { var ctx = new ScriptContext { User = context.User, Data = content.Data, ContentId = content.Id }; result.Data = scriptEngine.Transform(ctx, script); } results.Add(result); } return(results); } }
private async Task <IReadOnlyList <IEnrichedContentEntity> > TransformCoreAsync(Context context, IEnumerable <IContentEntity> contents, CancellationToken ct) { using (Telemetry.Activities.StartActivity("ContentQueryService/TransformCoreAsync")) { return(await contentEnricher.EnrichAsync(contents, context, ct)); } }
private void SetupEnricher() { A.CallTo(() => contentEnricher.EnrichAsync(A <IEnumerable <IContentEntity> > .Ignored)) .ReturnsLazily(x => { var input = (IEnumerable <IContentEntity>)x.Arguments[0]; return(Task.FromResult <IReadOnlyList <IEnrichedContentEntity> >(input.Select(c => SimpleMapper.Map(c, new ContentEntity())).ToList())); }); }
private void SetupEnricher() { A.CallTo(() => contentEnricher.EnrichAsync(A <IEnumerable <IContentEntity> > ._, A <Context> ._, ct)) .ReturnsLazily(x => { var input = x.GetArgument <IEnumerable <IContentEntity> >(0) !; return(Task.FromResult <IReadOnlyList <IEnrichedContentEntity> >(input.Select(c => SimpleMapper.Map(c, new ContentEntity())).ToList())); }); }
protected override async Task <object> EnrichResultAsync(CommandContext context, CommandResult result) { var payload = await base.EnrichResultAsync(context, result); if (payload is IContentEntity content && payload is not IEnrichedContentEntity) { payload = await contentEnricher.EnrichAsync(content, true, contextProvider.Context); } return(payload); }
public override async Task HandleAsync(CommandContext context, Func <Task> next) { await base.HandleAsync(context, next); if (context.PlainResult is IContentEntity content && NotEnriched(context)) { var enriched = await contentEnricher.EnrichAsync(content, contextProvider.Context); context.Complete(enriched); } }
private async Task <IReadOnlyList <IEnrichedContentEntity> > TransformCoreAsync(Context context, ISchemaEntity schema, IEnumerable <IContentEntity> contents) { using (Profiler.TraceMethod <ContentQueryService>()) { var results = new List <IEnrichedContentEntity>(); var converters = GenerateConverters(context).ToArray(); var scriptText = schema.SchemaDef.Scripts.Query; var scripting = !string.IsNullOrWhiteSpace(scriptText); var enriched = await contentEnricher.EnrichAsync(contents, context); foreach (var content in enriched) { var result = SimpleMapper.Map(content, new ContentEntity()); if (result.Data != null) { if (!context.IsFrontendClient && scripting) { var ctx = new ScriptContext { User = context.User, Data = content.Data, ContentId = content.Id }; result.Data = scriptEngine.Transform(ctx, scriptText); } result.Data = result.Data.ConvertName2Name(schema.SchemaDef, converters); } if (result.DataDraft != null && (context.IsUnpublished() || context.IsFrontendClient)) { result.DataDraft = result.DataDraft.ConvertName2Name(schema.SchemaDef, converters); } else { result.DataDraft = null; } results.Add(result); } return(results); } }