Add project files.
This commit is contained in:
55
ModVersionChecker/data/apps - Copy.json
Normal file
55
ModVersionChecker/data/apps - Copy.json
Normal file
@@ -0,0 +1,55 @@
|
||||
[
|
||||
{
|
||||
"name": "PMS50 GTN750",
|
||||
"msfsVersions": [ "msfs2024" ],
|
||||
"source": "pms50_gtn750",
|
||||
"params": {
|
||||
"url": "https://pms50.com/msfs/"
|
||||
},
|
||||
"currentVersionConfig": {
|
||||
"package": "pms50-instrument-gtn750"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Teikof SKMZ",
|
||||
"msfsVersions": [ "msfs2024" ],
|
||||
"source": "sim_market",
|
||||
"params": {
|
||||
"url": "https://secure.simmarket.com/teikof-studio-skmz-la-nubia-airport-msfs.phtml"
|
||||
},
|
||||
"currentVersionConfig": {
|
||||
"package": "teikofstudio-airport-skmz-manizales"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SWS",
|
||||
"msfsVersions": [
|
||||
"msfs2024"
|
||||
],
|
||||
"source": "sws",
|
||||
"params": {
|
||||
"url": "https://simworksstudios.com/product/kodiak-100-series-ii/",
|
||||
"regex": "Current Version: (\\d\u002B\\.\\d\u002B\\.\\d\u002B)"
|
||||
},
|
||||
"currentVersionConfig": {
|
||||
"package": "sws-aircraft-kodiak-wheels",
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GSX Pro",
|
||||
"msfsVersions": [
|
||||
"msfs2024"
|
||||
],
|
||||
"source": "custom",
|
||||
"params": {
|
||||
"url": "https://www.fsdreamteam.com/couatl_liveupdate_notes.html",
|
||||
"regex": "<p>Version (\\d\u002B\\.\\d\u002B\\.\\d\u002B) –"
|
||||
},
|
||||
"currentVersionConfig": {
|
||||
"package": "fsdreamteam-gsx-pro",
|
||||
"version": ""
|
||||
}
|
||||
}
|
||||
|
||||
]
|
86
ModVersionChecker/data/apps.json
Normal file
86
ModVersionChecker/data/apps.json
Normal file
@@ -0,0 +1,86 @@
|
||||
[
|
||||
{
|
||||
"id": "8",
|
||||
"name": "PMS50 GTN750",
|
||||
"msfsVersions": [
|
||||
"msfs2024"
|
||||
],
|
||||
"source": "pms50_gtn750",
|
||||
"params": {
|
||||
"url": "https://pms50.com/msfs/",
|
||||
"regex": "Current version: (\\d\u002B\\.\\d\u002B\\.\\d\u002B)"
|
||||
},
|
||||
"fsFields": {
|
||||
"msfs2024": {
|
||||
"package": "pms50-instrument-gtn750"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"name": "Teikof SKMZ",
|
||||
"msfsVersions": [
|
||||
"msfs2024"
|
||||
],
|
||||
"source": "sim_market",
|
||||
"params": {
|
||||
"url": "https://secure.simmarket.com/teikof-studio-skmz-la-nubia-airport-msfs.phtml"
|
||||
},
|
||||
"fsFields": {
|
||||
"msfs2024": {
|
||||
"package": "teikofstudio-airport-skmz-manizales"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"name": "SWS",
|
||||
"msfsVersions": [
|
||||
"msfs2024"
|
||||
],
|
||||
"source": "sws",
|
||||
"params": {
|
||||
"url": "https://simworksstudios.com/product/kodiak-100-series-ii/",
|
||||
"regex": "Current Version: (\\d\u002B\\.\\d\u002B\\.\\d\u002B)"
|
||||
},
|
||||
"fsFields": {
|
||||
"msfs2024": {
|
||||
"package": "sws-aircraft-kodiak-wheels"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "4",
|
||||
"name": "GSX Pro",
|
||||
"msfsVersions": [
|
||||
"msfs2024"
|
||||
],
|
||||
"source": "custom",
|
||||
"params": {
|
||||
"url": "https://www.fsdreamteam.com/couatl_liveupdate_notes.html",
|
||||
"regex": "\u003Cp\u003EVersion (\\d\u002B\\.\\d\u002B\\.\\d\u002B) \u2013"
|
||||
},
|
||||
"fsFields": {
|
||||
"msfs2024": {
|
||||
"package": "fsdreamteam-gsx-pro"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "5",
|
||||
"name": "Aerostar 600",
|
||||
"msfsVersions": [
|
||||
"msfs2024"
|
||||
],
|
||||
"source": "a2a",
|
||||
"params": {
|
||||
"url": "https://a2asimulations.com/forum/viewforum.php?f=153",
|
||||
"regex": "Accu-Sim Aerostar 600 \u2013 v(\\d\u002B\\.\\d\u002B\\.\\d\u002B)"
|
||||
},
|
||||
"fsFields": {
|
||||
"msfs2024": {
|
||||
"package": "a2a-aircraft-aerostar600"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
33
ModVersionChecker/data/checkerTypesDef.json
Normal file
33
ModVersionChecker/data/checkerTypesDef.json
Normal file
@@ -0,0 +1,33 @@
|
||||
[
|
||||
{
|
||||
"name": "scrape",
|
||||
"params": [
|
||||
{
|
||||
"name": "url",
|
||||
"label": "Url",
|
||||
"type": "string",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"label": "Regex",
|
||||
"name": "regex",
|
||||
"type": "string"
|
||||
}, {
|
||||
"label": "Mode",
|
||||
"name": "mode",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "api",
|
||||
"params": [
|
||||
{
|
||||
"label": "Url",
|
||||
"name": "url",
|
||||
"type": "string",
|
||||
"required": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
21
ModVersionChecker/data/config.json
Normal file
21
ModVersionChecker/data/config.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"intervalMinutes": 60,
|
||||
"checkOnStartup": false,
|
||||
"fsModPaths": {
|
||||
"msfs2024": {
|
||||
"path": "I:/Microsoft Flight Simulator 2024/Packages/Community/",
|
||||
"file": "manifest.json",
|
||||
"fileType": "json",
|
||||
"key": "package_version",
|
||||
"fields": [
|
||||
{
|
||||
"name": "package",
|
||||
"label": "Package Name",
|
||||
"type": "string",
|
||||
"control": "directory",
|
||||
"required": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
51
ModVersionChecker/data/model/AppConfig.cs
Normal file
51
ModVersionChecker/data/model/AppConfig.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using ModVersionChecker.data.model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
public class AppConfig
|
||||
{
|
||||
[JsonPropertyName("id")]
|
||||
public string Id { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("msfsVersions")]
|
||||
public List<string> MsfsVersions { get; set; } = new List<string> { "msfs2024" }; // Default to msfs2024
|
||||
|
||||
|
||||
[JsonPropertyName("source")]
|
||||
public string Source { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("params")]
|
||||
public Dictionary<string, string> Params { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
[JsonPropertyName("fsFields")]
|
||||
public Dictionary<string, Dictionary<string, string>> FsFields { get; set; } = new Dictionary<string, Dictionary<string, string>>();
|
||||
|
||||
[JsonPropertyName("downloadUrl")]
|
||||
public string DownloadUrl { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("currentVersion")]
|
||||
public string CurrentVersion { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("latestVersion")]
|
||||
public string LatestVersion { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("status")]
|
||||
public AppStatus Status { get; set; } = AppStatus.None;
|
||||
|
||||
[JsonPropertyName("createdAt")]
|
||||
public long CreatedAt { get; set; } = 0;
|
||||
|
||||
[JsonPropertyName("updatedAt")]
|
||||
public long UpdatedAt { get; set; } = 0;
|
||||
|
||||
[JsonPropertyName("lastCheckedAt")]
|
||||
public long LastCheckedAt { get; set; } = 0;
|
||||
|
||||
}
|
15
ModVersionChecker/data/model/AppStatus.cs
Normal file
15
ModVersionChecker/data/model/AppStatus.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ModVersionChecker.data.model
|
||||
{
|
||||
public enum AppStatus
|
||||
{
|
||||
None,
|
||||
UpdateAvailable,
|
||||
Error,
|
||||
}
|
||||
}
|
18
ModVersionChecker/data/model/CheckerTypeDef.cs
Normal file
18
ModVersionChecker/data/model/CheckerTypeDef.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ModVersionChecker.data.model
|
||||
{
|
||||
public class CheckerTypeDef
|
||||
{
|
||||
[JsonPropertyName("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("params")]
|
||||
public List<FieldDef> Params { get; set; } = new List<FieldDef>();
|
||||
}
|
||||
}
|
27
ModVersionChecker/data/model/FieldDef.cs
Normal file
27
ModVersionChecker/data/model/FieldDef.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ModVersionChecker.data.model
|
||||
{
|
||||
public class FieldDef
|
||||
{
|
||||
[JsonPropertyName("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("label")]
|
||||
public string Label { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("type")]
|
||||
public string Type { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("required")]
|
||||
public bool Required { get; set; } = false;
|
||||
|
||||
[JsonPropertyName("control")]
|
||||
public string Control { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
36
ModVersionChecker/data/model/FsModPathConfig.cs
Normal file
36
ModVersionChecker/data/model/FsModPathConfig.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ModVersionChecker.data.model
|
||||
{
|
||||
public class FsModPathConfig
|
||||
{
|
||||
|
||||
public string Id { get; set; } = String.Empty;
|
||||
|
||||
[JsonPropertyName("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("shortName")]
|
||||
public string ShortName { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("path")]
|
||||
public string Path { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("file")]
|
||||
public string File { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("fileType")]
|
||||
public string FileType { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("key")]
|
||||
public string Key { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("fields")]
|
||||
public List<FieldDef> Fields { get; set; } = new List<FieldDef>();
|
||||
}
|
||||
}
|
21
ModVersionChecker/data/model/GlobalConfig.cs
Normal file
21
ModVersionChecker/data/model/GlobalConfig.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using LiteDB;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ModVersionChecker.data.model
|
||||
{
|
||||
public class GlobalConfig
|
||||
{
|
||||
public string Id { get; set; } = String.Empty;
|
||||
|
||||
[JsonPropertyName("intervalMinutes")]
|
||||
public int IntervalMinutes { get; set; } = 60;
|
||||
|
||||
[JsonPropertyName("checkOnStartup")]
|
||||
public bool CheckOnStartup { get; set; } = true;
|
||||
}
|
||||
}
|
24
ModVersionChecker/data/model/SourceDef.cs
Normal file
24
ModVersionChecker/data/model/SourceDef.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ModVersionChecker.data.model
|
||||
{
|
||||
public class SourceDef
|
||||
{
|
||||
[JsonPropertyName("id")]
|
||||
public string Id { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("type")]
|
||||
public string Type { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("defaults")]
|
||||
public Dictionary<string, string> Defaults { get; set; } = new Dictionary<string, string>();
|
||||
}
|
||||
}
|
47
ModVersionChecker/data/sourcesDef.json
Normal file
47
ModVersionChecker/data/sourcesDef.json
Normal file
@@ -0,0 +1,47 @@
|
||||
[
|
||||
{
|
||||
"id": "custom",
|
||||
"name": "Custom Source",
|
||||
"type": "scrape",
|
||||
"defaults": {
|
||||
"regex": "",
|
||||
"url": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "sim_market",
|
||||
"name": "Sim Market",
|
||||
"type": "scrape",
|
||||
"defaults": {
|
||||
"regex": "<span class=\"details-card__item-text\">(\\d+\\.\\d+\\.\\d+)<\\/span>",
|
||||
"url": "https://secure.simmarket.com/"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "pms50_gtn750",
|
||||
"name": "PMS50 GTN750",
|
||||
"type": "scrape",
|
||||
"defaults": {
|
||||
"url": "https://pms50.com/msfs/",
|
||||
"regex": "Current version: (\\d+\\.\\d+\\.\\d+)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "sws",
|
||||
"name": "SWS",
|
||||
"type": "scrape",
|
||||
"defaults": {
|
||||
"url": "https://simworksstudios.com/product",
|
||||
"regex": "Current Version: (\\d+\\.\\d+\\.\\d+)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a2a",
|
||||
"name": "A2A",
|
||||
"type": "scrape",
|
||||
"defaults": {
|
||||
"url": "https://a2asimulations.com/forum/viewtopic.php?f=153",
|
||||
"mode": "selenium"
|
||||
}
|
||||
}
|
||||
]
|
Reference in New Issue
Block a user