93 lines
No EOL
2.7 KiB
C#
93 lines
No EOL
2.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Web.Helpers;
|
|
using System.Web.Http;
|
|
using TeaBox.Extensions.IsIn;
|
|
using TeaBox.ProductionDigest;
|
|
using TeaBox.QuickBuild;
|
|
using TeaBox.QuickBuild.Structures;
|
|
|
|
namespace JustDash
|
|
{
|
|
public class WidgetController : ApiController
|
|
{
|
|
[HttpGet]
|
|
[ActionName("code")]
|
|
public object GetCode(int branchId)
|
|
{
|
|
return new
|
|
{
|
|
code = QueryAndSerializeReport(QuickBuildConfiguration.BuildAllPlatformsCode, branchId)
|
|
};
|
|
}
|
|
|
|
[HttpGet]
|
|
[ActionName("data")]
|
|
public object GetData(int branchId)
|
|
{
|
|
return new
|
|
{
|
|
data = QueryAndSerializeReport(QuickBuildConfiguration.BuildAllPlatformsData, branchId)
|
|
};
|
|
}
|
|
|
|
[HttpGet]
|
|
[ActionName("codeanddata")]
|
|
public object GetCodeAndData(int branchId)
|
|
{
|
|
return new
|
|
{
|
|
code = QueryAndSerializeReport(QuickBuildConfiguration.BuildAllPlatformsCode, branchId),
|
|
data = QueryAndSerializeReport(QuickBuildConfiguration.BuildAllPlatformsData, branchId)
|
|
};
|
|
}
|
|
|
|
[HttpGet]
|
|
[ActionName("branches")]
|
|
public object GetBranches()
|
|
{
|
|
return QuickBuildClient.Instance.GetBranches().Select(b => new
|
|
{
|
|
idBranch = b.Id,
|
|
name = b.Name
|
|
}).ToArray();
|
|
}
|
|
|
|
private object QueryAndSerializeReport(Configuration configuration, int branchId)
|
|
{
|
|
var report = QuickBuild.QueryQuickBuildReport(configuration, branchId);
|
|
if (report == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
if (configuration.Path == QuickBuildConfiguration.BuildAllPlatformsCode.Path)
|
|
{
|
|
return new
|
|
{
|
|
changeList = report.Changelist(),
|
|
status = report.Status == BuildStatus.SUCCESSFUL ? "success" : "fail",
|
|
error = report.StepRuntimes.Count(s => s.Content.Status == BuildStatus.FAILED)
|
|
};
|
|
}
|
|
|
|
if (configuration.Path == QuickBuildConfiguration.BuildAllPlatformsData.Path)
|
|
{
|
|
return new
|
|
{
|
|
engineCl = "",
|
|
dataCl = report.Changelist(),
|
|
engineBuildSuccess = false,
|
|
dataBuildSuccess = report.Status == BuildStatus.SUCCESSFUL,
|
|
error = report.StepRuntimes.Count(s => s.Content.Status == BuildStatus.FAILED)
|
|
};
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
|
|
}
|
|
} |