Example #1
0
        /// <summary>
        /// Executes a GraphQL query and makes attachments available.
        /// </summary>
        public static async Task <AttachmentExecutionResult> ExecuteWithAttachments(
            this IDocumentExecuter executer,
            ExecutionOptions options,
            IIncomingAttachments?attachments = null)
        {
            Guard.AgainstNull(nameof(executer), executer);
            Guard.AgainstNull(nameof(options), options);
            await using var attachmentContext = BuildAttachmentContext(attachments);
            options.SetAttachmentContext(attachmentContext);
            var result = await executer.ExecuteAsync(options);

            return(new(result, attachmentContext.Outgoing));
        }