This commit is contained in:
@@ -29,43 +29,139 @@ namespace rockfishCore.Controllers
|
|||||||
[HttpGet("status")]
|
[HttpGet("status")]
|
||||||
public dtoOpsStatus GetOpsStatus()
|
public dtoOpsStatus GetOpsStatus()
|
||||||
{
|
{
|
||||||
dtoOpsStatus ret= new dtoOpsStatus();
|
dtoOpsStatus Ret = new dtoOpsStatus();
|
||||||
ret.MailMirrorOK=RfMail.MailIsMirroringProperly();
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Ret.MailMirrorOK = RfMail.MailIsMirroringProperly();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Ret.OpsCheckMessage += $"Mail mirror: {ex.Message}\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Ret.AyaNovaWebsiteOK = OpsDiagnostics.CheckWebsite("https://www.ayanova.com/", "Ground Zero Tech-Works Inc.");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Ret.OpsCheckMessage += $"AyaNova website: {ex.Message}\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Ret.APIWebsiteOK = OpsDiagnostics.CheckWebsite("https://api.ayanova.com/", "WorkorderTypes Enumeration");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Ret.OpsCheckMessage += $"API website: {ex.Message}\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Ret.ContactFormOK = OpsDiagnostics.CheckWebsite("https://contact.ayanova.com/contact", "Contact.Email");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Ret.OpsCheckMessage += $"Contact form website: {ex.Message}\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Ret.RequestFormOK = OpsDiagnostics.CheckWebsite("https://contact.ayanova.com/request", "Contact.Email");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Ret.OpsCheckMessage += $"Request website: {ex.Message}\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Ret.RequestLiteFormOK = OpsDiagnostics.CheckWebsite("https://contact.ayanova.com/requestlite", "Contact.Email");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Ret.OpsCheckMessage += $"RequestLite website: {ex.Message}\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Ret.SubversionOK = OpsDiagnostics.CheckWebsite("http://svn.helloayanova.com:3343/csvn/login/auth", "Subversion Edge");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Ret.OpsCheckMessage += $"Subversion server: {ex.Message}\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Ret.ForumOK = OpsDiagnostics.CheckWebsite("http://forum.ayanova.com/", "AyaNova support resources");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Ret.OpsCheckMessage += $"Forum: {ex.Message}\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Ret.DevOpsOK = OpsDiagnostics.CheckWebsite("https://test.helloayanova.com/api/v8/", "AyaNova server");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Ret.OpsCheckMessage += $"DevOps: {ex.Message}\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//PING?
|
//PING?
|
||||||
//Can ping Spaces and all the servers we have, maybe do that first then proceed
|
//Can ping Spaces and all the servers we have, maybe do that first then proceed
|
||||||
//https://docs.microsoft.com/en-us/dotnet/framework/network-programming/how-to-ping-a-host
|
//https://docs.microsoft.com/en-us/dotnet/framework/network-programming/how-to-ping-a-host
|
||||||
//using System.Net.NetworkInformation;
|
//using System.Net.NetworkInformation;
|
||||||
|
|
||||||
//AyaNova website: https://www.ayanova.com/
|
//AyaNova website: https://www.ayanova.com/
|
||||||
//API website: https://api.ayanova.com/
|
//API website: https://api.ayanova.com/
|
||||||
//Contact form: https://contact.ayanova.com/contact
|
//Contact form: https://contact.ayanova.com/contact
|
||||||
//Request form: https://contact.ayanova.com/request
|
//Request form: https://contact.ayanova.com/request
|
||||||
//Request lite form: https://contact.ayanova.com/requestlite
|
//Request lite form: https://contact.ayanova.com/requestlite
|
||||||
//subversion: https://svn.helloayanova.com:18080/svn/GZTWREPO/ (requires login)
|
|
||||||
//subversion admin: http://svn.helloayanova.com:3343/csvn/login/auth
|
//subversion admin: http://svn.helloayanova.com:3343/csvn/login/auth
|
||||||
//Forum: http://forum.ayanova.com/
|
//Forum: http://forum.ayanova.com/
|
||||||
//devops: https://test.helloayanova.com/api/v8/
|
//devops: https://test.helloayanova.com/api/v8/
|
||||||
//Spaces and backup: https://gztw1.nyc3.digitaloceanspaces.com/
|
//Spaces and backup: https://gztw1.nyc3.digitaloceanspaces.com/
|
||||||
//Need S3 library for c#
|
//Need S3 library for c#
|
||||||
|
|
||||||
|
|
||||||
return ret;
|
return Ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class dtoOpsStatus
|
public class dtoOpsStatus
|
||||||
{
|
{
|
||||||
public bool MailMirrorOK;
|
public bool MailMirrorOK;
|
||||||
public bool ForumOK;
|
public bool ForumOK;
|
||||||
public bool AyaNovaWebsiteOK;
|
public bool AyaNovaWebsiteOK;
|
||||||
public bool APIWebsiteOK;
|
public bool APIWebsiteOK;
|
||||||
public bool ContactFormOK;
|
public bool ContactFormOK;
|
||||||
public bool RequestFormOK;
|
public bool RequestFormOK;
|
||||||
public bool RequestLiteFormOK;
|
public bool RequestLiteFormOK;
|
||||||
public bool SubversionOK;
|
public bool SubversionOK;
|
||||||
public bool DevOpsOK;
|
public bool DevOpsOK;
|
||||||
public bool BackupOK;
|
public bool BackupOK;
|
||||||
|
public string OpsCheckMessage;
|
||||||
|
|
||||||
|
public dtoOpsStatus()
|
||||||
|
{
|
||||||
|
MailMirrorOK = false;
|
||||||
|
ForumOK = false;
|
||||||
|
AyaNovaWebsiteOK = false;
|
||||||
|
APIWebsiteOK = false;
|
||||||
|
ContactFormOK = false;
|
||||||
|
RequestFormOK = false;
|
||||||
|
RequestLiteFormOK = false;
|
||||||
|
SubversionOK = false;
|
||||||
|
DevOpsOK = false;
|
||||||
|
BackupOK = false;
|
||||||
|
OpsCheckMessage = string.Empty;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
17
Startup.cs
17
Startup.cs
@@ -40,11 +40,12 @@ namespace rockfishCore
|
|||||||
{
|
{
|
||||||
|
|
||||||
services.AddDbContext<rockfishContext>(
|
services.AddDbContext<rockfishContext>(
|
||||||
options => {
|
options =>
|
||||||
options.UseSqlite(Configuration.GetConnectionString("rfdb"));
|
{
|
||||||
options.EnableSensitiveDataLogging(false);
|
options.UseSqlite(Configuration.GetConnectionString("rfdb"));
|
||||||
|
options.EnableSensitiveDataLogging(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
//Added this so that can access configuration from anywhere else
|
//Added this so that can access configuration from anywhere else
|
||||||
@@ -107,6 +108,14 @@ namespace rockfishCore
|
|||||||
RfSchema.CheckAndUpdate(dbContext);
|
RfSchema.CheckAndUpdate(dbContext);
|
||||||
|
|
||||||
//bool bMM=RfMail.MailIsMirroringProperly();
|
//bool bMM=RfMail.MailIsMirroringProperly();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var test = OpsDiagnostics.CheckWebsite("https://test.helloayanova.com/api/v8/", "AyaNova server");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
string res = ex.Message;
|
||||||
|
}
|
||||||
|
|
||||||
}//eof
|
}//eof
|
||||||
}
|
}
|
||||||
|
|||||||
37
util/OpsDiagnostics.cs
Normal file
37
util/OpsDiagnostics.cs
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using System.Linq;
|
||||||
|
using System.IO;
|
||||||
|
using System.Net.Http;
|
||||||
|
using System.Net.Http.Headers;
|
||||||
|
|
||||||
|
namespace rockfishCore.Util
|
||||||
|
{
|
||||||
|
public static class OpsDiagnostics
|
||||||
|
{
|
||||||
|
private static HttpClient Client = new HttpClient();
|
||||||
|
|
||||||
|
|
||||||
|
public static bool CheckWebsite(string url, string mustContain)
|
||||||
|
{
|
||||||
|
bool Result = false;
|
||||||
|
var Response = Client.GetAsync(url).Result;
|
||||||
|
if (Response.IsSuccessStatusCode)
|
||||||
|
{
|
||||||
|
var PageText = Response.Content.ReadAsStringAsync().Result;
|
||||||
|
if(PageText.Contains(mustContain))
|
||||||
|
{
|
||||||
|
Result=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}//eoc
|
||||||
|
|
||||||
|
}//eons
|
||||||
Reference in New Issue
Block a user