You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
92 lines
3.3 KiB
C#
92 lines
3.3 KiB
C#
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
using HordeCommon;
|
|
using HordeServer.Api;
|
|
using HordeServer.Models;
|
|
using MongoDB.Bson;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace HordeServer.Notifications
|
|
{
|
|
/// <summary>
|
|
/// Implements a notification method
|
|
/// </summary>
|
|
public interface INotificationSink
|
|
{
|
|
/// <summary>
|
|
/// Send notifications that a job has completed
|
|
/// </summary>
|
|
/// <param name="JobStream"></param>
|
|
/// <param name="Job">The job containing the step</param>
|
|
/// <param name="Graph"></param>
|
|
/// <param name="Outcome"></param>
|
|
/// <returns>Async task</returns>
|
|
Task NotifyJobCompleteAsync(IStream JobStream, IJob Job, IGraph Graph, LabelOutcome Outcome);
|
|
|
|
/// <summary>
|
|
/// Send notifications that a job has completed
|
|
/// </summary>
|
|
/// <param name="User">User to notify</param>
|
|
/// <param name="JobStream"></param>
|
|
/// <param name="Job">The job containing the step</param>
|
|
/// <param name="Graph"></param>
|
|
/// <param name="Outcome"></param>
|
|
/// <returns>Async task</returns>
|
|
Task NotifyJobCompleteAsync(IUser User, IStream JobStream, IJob Job, IGraph Graph, LabelOutcome Outcome);
|
|
|
|
/// <summary>
|
|
/// Send notifications that a job step has completed
|
|
/// </summary>
|
|
/// <param name="User">User to notify</param>
|
|
/// <param name="JobStream">Stream containing the job</param>
|
|
/// <param name="Job">The job containing the step</param>
|
|
/// <param name="Batch">Unique id of the batch</param>
|
|
/// <param name="Step">The step id</param>
|
|
/// <param name="Node">Corresponding node for the step</param>
|
|
/// <param name="JobStepEventData"></param>
|
|
/// <returns>Async task</returns>
|
|
Task NotifyJobStepCompleteAsync(IUser User, IStream JobStream, IJob Job, IJobStepBatch Batch, IJobStep Step, INode Node, List<ILogEventData> JobStepEventData);
|
|
|
|
/// <summary>
|
|
/// Send notifications that a job step has completed
|
|
/// </summary>
|
|
/// <param name="User">User to notify</param>
|
|
/// <param name="Job">The job containing the step</param>
|
|
/// <param name="Stream"></param>
|
|
/// <param name="Label"></param>
|
|
/// <param name="LabelIdx"></param>
|
|
/// <param name="Outcome"></param>
|
|
/// <param name="StepData"></param>
|
|
/// <returns>Async task</returns>
|
|
Task NotifyLabelCompleteAsync(IUser User, IJob Job, IStream Stream, ILabel Label, int LabelIdx, LabelOutcome Outcome, List<(string, JobStepOutcome, Uri)> StepData);
|
|
|
|
/// <summary>
|
|
/// Send notifications that a new issue has been created or assigned
|
|
/// </summary>
|
|
/// <param name="Issue"></param>
|
|
/// <returns></returns>
|
|
Task NotifyIssueUpdatedAsync(IIssue Issue);
|
|
|
|
/// <summary>
|
|
/// Notification that a stream has failed to update
|
|
/// </summary>
|
|
/// <param name="Stream"></param>
|
|
/// <param name="ErrorMessage"></param>
|
|
/// <param name="Change"></param>
|
|
/// <param name="Author"></param>
|
|
/// <param name="Description"></param>
|
|
/// <returns></returns>
|
|
Task NotifyStreamUpdateFailedAsync(IStream Stream, string ErrorMessage, int Change, IUser? Author = null, string? Description = null);
|
|
|
|
/// <summary>
|
|
/// Notification that a stream has failed to update
|
|
/// </summary>
|
|
/// <param name="File"></param>
|
|
/// <returns></returns>
|
|
Task NotifyStreamUpdateFailedAsync(FileSummary File);
|
|
}
|
|
}
|