Search/AdvisoryAI and DAL conversion to EF finishes up. Preparation for microservices consolidation.
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriageAttestationEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriageAttestation",
|
||||
typeof(TriageAttestation),
|
||||
baseEntityType,
|
||||
propertyCount: 8,
|
||||
navigationCount: 1,
|
||||
foreignKeyCount: 1,
|
||||
unnamedIndexCount: 1,
|
||||
keyCount: 1);
|
||||
|
||||
var id = runtimeEntityType.AddProperty(
|
||||
"Id",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageAttestation).GetProperty("Id", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageAttestation).GetField("<Id>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
valueGenerated: ValueGenerated.OnAdd,
|
||||
afterSaveBehavior: PropertySaveBehavior.Throw,
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
id.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
id.AddAnnotation("Relational:ColumnName", "id");
|
||||
|
||||
var collectedAt = runtimeEntityType.AddProperty(
|
||||
"CollectedAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageAttestation).GetProperty("CollectedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageAttestation).GetField("<CollectedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
collectedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
collectedAt.AddAnnotation("Relational:ColumnName", "collected_at");
|
||||
|
||||
var contentRef = runtimeEntityType.AddProperty(
|
||||
"ContentRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageAttestation).GetProperty("ContentRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageAttestation).GetField("<ContentRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
contentRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
contentRef.AddAnnotation("Relational:ColumnName", "content_ref");
|
||||
|
||||
var envelopeHash = runtimeEntityType.AddProperty(
|
||||
"EnvelopeHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageAttestation).GetProperty("EnvelopeHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageAttestation).GetField("<EnvelopeHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
envelopeHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
envelopeHash.AddAnnotation("Relational:ColumnName", "envelope_hash");
|
||||
|
||||
var findingId = runtimeEntityType.AddProperty(
|
||||
"FindingId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageAttestation).GetProperty("FindingId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageAttestation).GetField("<FindingId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
findingId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
findingId.AddAnnotation("Relational:ColumnName", "finding_id");
|
||||
|
||||
var issuer = runtimeEntityType.AddProperty(
|
||||
"Issuer",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageAttestation).GetProperty("Issuer", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageAttestation).GetField("<Issuer>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
issuer.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
issuer.AddAnnotation("Relational:ColumnName", "issuer");
|
||||
|
||||
var ledgerRef = runtimeEntityType.AddProperty(
|
||||
"LedgerRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageAttestation).GetProperty("LedgerRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageAttestation).GetField("<LedgerRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
ledgerRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
ledgerRef.AddAnnotation("Relational:ColumnName", "ledger_ref");
|
||||
|
||||
var type = runtimeEntityType.AddProperty(
|
||||
"Type",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageAttestation).GetProperty("Type", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageAttestation).GetField("<Type>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
type.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
type.AddAnnotation("Relational:ColumnName", "type");
|
||||
|
||||
var key = runtimeEntityType.AddKey(
|
||||
new[] { id });
|
||||
runtimeEntityType.SetPrimaryKey(key);
|
||||
|
||||
var index = runtimeEntityType.AddIndex(
|
||||
new[] { findingId });
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static RuntimeForeignKey CreateForeignKey1(RuntimeEntityType declaringEntityType, RuntimeEntityType principalEntityType)
|
||||
{
|
||||
var runtimeForeignKey = declaringEntityType.AddForeignKey(new[] { declaringEntityType.FindProperty("FindingId") },
|
||||
principalEntityType.FindKey(new[] { principalEntityType.FindProperty("Id") }),
|
||||
principalEntityType,
|
||||
deleteBehavior: DeleteBehavior.Cascade,
|
||||
required: true);
|
||||
|
||||
var finding = declaringEntityType.AddNavigation("Finding",
|
||||
runtimeForeignKey,
|
||||
onDependent: true,
|
||||
typeof(TriageFinding),
|
||||
propertyInfo: typeof(TriageAttestation).GetProperty("Finding", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageAttestation).GetField("<Finding>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
var attestations = principalEntityType.AddNavigation("Attestations",
|
||||
runtimeForeignKey,
|
||||
onDependent: false,
|
||||
typeof(ICollection<TriageAttestation>),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("Attestations", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<Attestations>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
return runtimeForeignKey;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", "triage_attestation");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,265 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriageCaseCurrentEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriageCaseCurrent",
|
||||
typeof(TriageCaseCurrent),
|
||||
baseEntityType,
|
||||
propertyCount: 25);
|
||||
|
||||
var assetId = runtimeEntityType.AddProperty(
|
||||
"AssetId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("AssetId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<AssetId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
assetId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
assetId.AddAnnotation("Relational:ColumnName", "asset_id");
|
||||
|
||||
var assetLabel = runtimeEntityType.AddProperty(
|
||||
"AssetLabel",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("AssetLabel", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<AssetLabel>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
assetLabel.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
assetLabel.AddAnnotation("Relational:ColumnName", "asset_label");
|
||||
|
||||
var caseId = runtimeEntityType.AddProperty(
|
||||
"CaseId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("CaseId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<CaseId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
caseId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
caseId.AddAnnotation("Relational:ColumnName", "case_id");
|
||||
|
||||
var cveId = runtimeEntityType.AddProperty(
|
||||
"CveId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("CveId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<CveId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
cveId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
cveId.AddAnnotation("Relational:ColumnName", "cve_id");
|
||||
|
||||
var environmentId = runtimeEntityType.AddProperty(
|
||||
"EnvironmentId",
|
||||
typeof(Guid?),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("EnvironmentId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<EnvironmentId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
environmentId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
environmentId.AddAnnotation("Relational:ColumnName", "environment_id");
|
||||
|
||||
var firstSeenAt = runtimeEntityType.AddProperty(
|
||||
"FirstSeenAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("FirstSeenAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<FirstSeenAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
firstSeenAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
firstSeenAt.AddAnnotation("Relational:ColumnName", "first_seen_at");
|
||||
|
||||
var inputsHash = runtimeEntityType.AddProperty(
|
||||
"InputsHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("InputsHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<InputsHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
inputsHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
inputsHash.AddAnnotation("Relational:ColumnName", "inputs_hash");
|
||||
|
||||
var lane = runtimeEntityType.AddProperty(
|
||||
"Lane",
|
||||
typeof(TriageLane?),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("Lane", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<Lane>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
lane.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
lane.AddAnnotation("Relational:ColumnName", "lane");
|
||||
|
||||
var lastSeenAt = runtimeEntityType.AddProperty(
|
||||
"LastSeenAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("LastSeenAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<LastSeenAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
lastSeenAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
lastSeenAt.AddAnnotation("Relational:ColumnName", "last_seen_at");
|
||||
|
||||
var policyId = runtimeEntityType.AddProperty(
|
||||
"PolicyId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("PolicyId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<PolicyId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
policyId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
policyId.AddAnnotation("Relational:ColumnName", "policy_id");
|
||||
|
||||
var policyVersion = runtimeEntityType.AddProperty(
|
||||
"PolicyVersion",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("PolicyVersion", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<PolicyVersion>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
policyVersion.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
policyVersion.AddAnnotation("Relational:ColumnName", "policy_version");
|
||||
|
||||
var purl = runtimeEntityType.AddProperty(
|
||||
"Purl",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("Purl", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<Purl>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
purl.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
purl.AddAnnotation("Relational:ColumnName", "purl");
|
||||
|
||||
var reachConfidence = runtimeEntityType.AddProperty(
|
||||
"ReachConfidence",
|
||||
typeof(short?),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("ReachConfidence", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<ReachConfidence>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
reachConfidence.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
reachConfidence.AddAnnotation("Relational:ColumnName", "reach_confidence");
|
||||
|
||||
var reachable = runtimeEntityType.AddProperty(
|
||||
"Reachable",
|
||||
typeof(TriageReachability),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("Reachable", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<Reachable>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: TriageReachability.Yes);
|
||||
reachable.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
reachable.AddAnnotation("Relational:ColumnName", "reachable");
|
||||
|
||||
var riskComputedAt = runtimeEntityType.AddProperty(
|
||||
"RiskComputedAt",
|
||||
typeof(DateTimeOffset?),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("RiskComputedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<RiskComputedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
riskComputedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
riskComputedAt.AddAnnotation("Relational:ColumnName", "risk_computed_at");
|
||||
|
||||
var ruleId = runtimeEntityType.AddProperty(
|
||||
"RuleId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("RuleId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<RuleId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
ruleId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
ruleId.AddAnnotation("Relational:ColumnName", "rule_id");
|
||||
|
||||
var score = runtimeEntityType.AddProperty(
|
||||
"Score",
|
||||
typeof(int?),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("Score", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<Score>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
score.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
score.AddAnnotation("Relational:ColumnName", "score");
|
||||
|
||||
var tenantId = runtimeEntityType.AddProperty(
|
||||
"TenantId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("TenantId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<TenantId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
tenantId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
tenantId.AddAnnotation("Relational:ColumnName", "tenant_id");
|
||||
|
||||
var verdict = runtimeEntityType.AddProperty(
|
||||
"Verdict",
|
||||
typeof(TriageVerdict?),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("Verdict", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<Verdict>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
verdict.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
verdict.AddAnnotation("Relational:ColumnName", "verdict");
|
||||
|
||||
var vexIssuer = runtimeEntityType.AddProperty(
|
||||
"VexIssuer",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("VexIssuer", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<VexIssuer>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
vexIssuer.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
vexIssuer.AddAnnotation("Relational:ColumnName", "vex_issuer");
|
||||
|
||||
var vexSignatureRef = runtimeEntityType.AddProperty(
|
||||
"VexSignatureRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("VexSignatureRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<VexSignatureRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
vexSignatureRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
vexSignatureRef.AddAnnotation("Relational:ColumnName", "vex_signature_ref");
|
||||
|
||||
var vexSourceDomain = runtimeEntityType.AddProperty(
|
||||
"VexSourceDomain",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("VexSourceDomain", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<VexSourceDomain>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
vexSourceDomain.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
vexSourceDomain.AddAnnotation("Relational:ColumnName", "vex_source_domain");
|
||||
|
||||
var vexSourceRef = runtimeEntityType.AddProperty(
|
||||
"VexSourceRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("VexSourceRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<VexSourceRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
vexSourceRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
vexSourceRef.AddAnnotation("Relational:ColumnName", "vex_source_ref");
|
||||
|
||||
var vexStatus = runtimeEntityType.AddProperty(
|
||||
"VexStatus",
|
||||
typeof(TriageVexStatus?),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("VexStatus", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<VexStatus>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
vexStatus.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
vexStatus.AddAnnotation("Relational:ColumnName", "vex_status");
|
||||
|
||||
var why = runtimeEntityType.AddProperty(
|
||||
"Why",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageCaseCurrent).GetProperty("Why", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageCaseCurrent).GetField("<Why>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
why.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
why.AddAnnotation("Relational:ColumnName", "why");
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewDefinitionSql", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", "v_triage_case_current");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
// <auto-generated />
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using StellaOps.Scanner.Triage;
|
||||
using StellaOps.Scanner.Triage.CompiledModels;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
[assembly: DbContextModel(typeof(TriageDbContext), typeof(TriageDbContextModel))]
|
||||
@@ -0,0 +1,47 @@
|
||||
// <auto-generated />
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[DbContext(typeof(TriageDbContext))]
|
||||
public partial class TriageDbContextModel : RuntimeModel
|
||||
{
|
||||
private static readonly bool _useOldBehavior31751 =
|
||||
System.AppContext.TryGetSwitch("Microsoft.EntityFrameworkCore.Issue31751", out var enabled31751) && enabled31751;
|
||||
|
||||
static TriageDbContextModel()
|
||||
{
|
||||
var model = new TriageDbContextModel();
|
||||
|
||||
if (_useOldBehavior31751)
|
||||
{
|
||||
model.Initialize();
|
||||
}
|
||||
else
|
||||
{
|
||||
var thread = new System.Threading.Thread(RunInitialization, 10 * 1024 * 1024);
|
||||
thread.Start();
|
||||
thread.Join();
|
||||
|
||||
void RunInitialization()
|
||||
{
|
||||
model.Initialize();
|
||||
}
|
||||
}
|
||||
|
||||
model.Customize();
|
||||
_instance = (TriageDbContextModel)model.FinalizeModel();
|
||||
}
|
||||
|
||||
private static TriageDbContextModel _instance;
|
||||
public static IModel Instance => _instance;
|
||||
|
||||
partial void Initialize();
|
||||
|
||||
partial void Customize();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
public partial class TriageDbContextModel
|
||||
{
|
||||
private TriageDbContextModel()
|
||||
: base(skipDetectChanges: false, modelId: new Guid("85af94ff-7af7-4449-874e-e38409c16dfb"), entityTypeCount: 11)
|
||||
{
|
||||
}
|
||||
|
||||
partial void Initialize()
|
||||
{
|
||||
var triageAttestation = TriageAttestationEntityType.Create(this);
|
||||
var triageCaseCurrent = TriageCaseCurrentEntityType.Create(this);
|
||||
var triageDecision = TriageDecisionEntityType.Create(this);
|
||||
var triageEffectiveVex = TriageEffectiveVexEntityType.Create(this);
|
||||
var triageEvidenceArtifact = TriageEvidenceArtifactEntityType.Create(this);
|
||||
var triageFinding = TriageFindingEntityType.Create(this);
|
||||
var triagePolicyDecision = TriagePolicyDecisionEntityType.Create(this);
|
||||
var triageReachabilityResult = TriageReachabilityResultEntityType.Create(this);
|
||||
var triageRiskResult = TriageRiskResultEntityType.Create(this);
|
||||
var triageScan = TriageScanEntityType.Create(this);
|
||||
var triageSnapshot = TriageSnapshotEntityType.Create(this);
|
||||
|
||||
TriageAttestationEntityType.CreateForeignKey1(triageAttestation, triageFinding);
|
||||
TriageDecisionEntityType.CreateForeignKey1(triageDecision, triageFinding);
|
||||
TriageEffectiveVexEntityType.CreateForeignKey1(triageEffectiveVex, triageFinding);
|
||||
TriageEvidenceArtifactEntityType.CreateForeignKey1(triageEvidenceArtifact, triageFinding);
|
||||
TriageFindingEntityType.CreateForeignKey1(triageFinding, triageScan);
|
||||
TriagePolicyDecisionEntityType.CreateForeignKey1(triagePolicyDecision, triageFinding);
|
||||
TriageReachabilityResultEntityType.CreateForeignKey1(triageReachabilityResult, triageFinding);
|
||||
TriageRiskResultEntityType.CreateForeignKey1(triageRiskResult, triageFinding);
|
||||
TriageSnapshotEntityType.CreateForeignKey1(triageSnapshot, triageFinding);
|
||||
|
||||
TriageAttestationEntityType.CreateAnnotations(triageAttestation);
|
||||
TriageCaseCurrentEntityType.CreateAnnotations(triageCaseCurrent);
|
||||
TriageDecisionEntityType.CreateAnnotations(triageDecision);
|
||||
TriageEffectiveVexEntityType.CreateAnnotations(triageEffectiveVex);
|
||||
TriageEvidenceArtifactEntityType.CreateAnnotations(triageEvidenceArtifact);
|
||||
TriageFindingEntityType.CreateAnnotations(triageFinding);
|
||||
TriagePolicyDecisionEntityType.CreateAnnotations(triagePolicyDecision);
|
||||
TriageReachabilityResultEntityType.CreateAnnotations(triageReachabilityResult);
|
||||
TriageRiskResultEntityType.CreateAnnotations(triageRiskResult);
|
||||
TriageScanEntityType.CreateAnnotations(triageScan);
|
||||
TriageSnapshotEntityType.CreateAnnotations(triageSnapshot);
|
||||
|
||||
AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
AddAnnotation("ProductVersion", "10.0.0");
|
||||
AddAnnotation("Relational:MaxIdentifierLength", 63);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,234 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriageDecisionEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriageDecision",
|
||||
typeof(TriageDecision),
|
||||
baseEntityType,
|
||||
propertyCount: 16,
|
||||
navigationCount: 1,
|
||||
foreignKeyCount: 1,
|
||||
unnamedIndexCount: 3,
|
||||
keyCount: 1);
|
||||
|
||||
var id = runtimeEntityType.AddProperty(
|
||||
"Id",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("Id", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<Id>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
valueGenerated: ValueGenerated.OnAdd,
|
||||
afterSaveBehavior: PropertySaveBehavior.Throw,
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
id.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
id.AddAnnotation("Relational:ColumnName", "id");
|
||||
|
||||
var actorDisplay = runtimeEntityType.AddProperty(
|
||||
"ActorDisplay",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("ActorDisplay", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<ActorDisplay>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
actorDisplay.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
actorDisplay.AddAnnotation("Relational:ColumnName", "actor_display");
|
||||
|
||||
var actorSubject = runtimeEntityType.AddProperty(
|
||||
"ActorSubject",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("ActorSubject", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<ActorSubject>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
actorSubject.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
actorSubject.AddAnnotation("Relational:ColumnName", "actor_subject");
|
||||
|
||||
var createdAt = runtimeEntityType.AddProperty(
|
||||
"CreatedAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("CreatedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<CreatedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
createdAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
createdAt.AddAnnotation("Relational:ColumnName", "created_at");
|
||||
|
||||
var dsseHash = runtimeEntityType.AddProperty(
|
||||
"DsseHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("DsseHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<DsseHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
dsseHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
dsseHash.AddAnnotation("Relational:ColumnName", "dsse_hash");
|
||||
|
||||
var findingId = runtimeEntityType.AddProperty(
|
||||
"FindingId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("FindingId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<FindingId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
findingId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
findingId.AddAnnotation("Relational:ColumnName", "finding_id");
|
||||
|
||||
var kind = runtimeEntityType.AddProperty(
|
||||
"Kind",
|
||||
typeof(TriageDecisionKind),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("Kind", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<Kind>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: TriageDecisionKind.MuteReach);
|
||||
kind.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
kind.AddAnnotation("Relational:ColumnName", "kind");
|
||||
|
||||
var note = runtimeEntityType.AddProperty(
|
||||
"Note",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("Note", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<Note>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
note.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
note.AddAnnotation("Relational:ColumnName", "note");
|
||||
|
||||
var policyRef = runtimeEntityType.AddProperty(
|
||||
"PolicyRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("PolicyRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<PolicyRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
policyRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
policyRef.AddAnnotation("Relational:ColumnName", "policy_ref");
|
||||
|
||||
var reasonCode = runtimeEntityType.AddProperty(
|
||||
"ReasonCode",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("ReasonCode", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<ReasonCode>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
reasonCode.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
reasonCode.AddAnnotation("Relational:ColumnName", "reason_code");
|
||||
|
||||
var revokeDsseHash = runtimeEntityType.AddProperty(
|
||||
"RevokeDsseHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("RevokeDsseHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<RevokeDsseHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
revokeDsseHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
revokeDsseHash.AddAnnotation("Relational:ColumnName", "revoke_dsse_hash");
|
||||
|
||||
var revokeReason = runtimeEntityType.AddProperty(
|
||||
"RevokeReason",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("RevokeReason", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<RevokeReason>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
revokeReason.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
revokeReason.AddAnnotation("Relational:ColumnName", "revoke_reason");
|
||||
|
||||
var revokeSignatureRef = runtimeEntityType.AddProperty(
|
||||
"RevokeSignatureRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("RevokeSignatureRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<RevokeSignatureRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
revokeSignatureRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
revokeSignatureRef.AddAnnotation("Relational:ColumnName", "revoke_signature_ref");
|
||||
|
||||
var revokedAt = runtimeEntityType.AddProperty(
|
||||
"RevokedAt",
|
||||
typeof(DateTimeOffset?),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("RevokedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<RevokedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
revokedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
revokedAt.AddAnnotation("Relational:ColumnName", "revoked_at");
|
||||
|
||||
var signatureRef = runtimeEntityType.AddProperty(
|
||||
"SignatureRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("SignatureRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<SignatureRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
signatureRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
signatureRef.AddAnnotation("Relational:ColumnName", "signature_ref");
|
||||
|
||||
var ttl = runtimeEntityType.AddProperty(
|
||||
"Ttl",
|
||||
typeof(DateTimeOffset?),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("Ttl", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<Ttl>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
ttl.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
ttl.AddAnnotation("Relational:ColumnName", "ttl");
|
||||
|
||||
var key = runtimeEntityType.AddKey(
|
||||
new[] { id });
|
||||
runtimeEntityType.SetPrimaryKey(key);
|
||||
|
||||
var index = runtimeEntityType.AddIndex(
|
||||
new[] { findingId });
|
||||
index.AddAnnotation("Relational:Filter", "revoked_at IS NULL");
|
||||
index.AddAnnotation("Relational:Name", "ix_triage_decision_active");
|
||||
|
||||
var index0 = runtimeEntityType.AddIndex(
|
||||
new[] { findingId, createdAt });
|
||||
index0.AddAnnotation("Relational:Name", "ix_triage_decision_finding");
|
||||
|
||||
var index1 = runtimeEntityType.AddIndex(
|
||||
new[] { kind, createdAt });
|
||||
index1.AddAnnotation("Relational:Name", "ix_triage_decision_kind");
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static RuntimeForeignKey CreateForeignKey1(RuntimeEntityType declaringEntityType, RuntimeEntityType principalEntityType)
|
||||
{
|
||||
var runtimeForeignKey = declaringEntityType.AddForeignKey(new[] { declaringEntityType.FindProperty("FindingId") },
|
||||
principalEntityType.FindKey(new[] { principalEntityType.FindProperty("Id") }),
|
||||
principalEntityType,
|
||||
deleteBehavior: DeleteBehavior.Cascade,
|
||||
required: true);
|
||||
|
||||
var finding = declaringEntityType.AddNavigation("Finding",
|
||||
runtimeForeignKey,
|
||||
onDependent: true,
|
||||
typeof(TriageFinding),
|
||||
propertyInfo: typeof(TriageDecision).GetProperty("Finding", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageDecision).GetField("<Finding>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
var decisions = principalEntityType.AddNavigation("Decisions",
|
||||
runtimeForeignKey,
|
||||
onDependent: false,
|
||||
typeof(ICollection<TriageDecision>),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("Decisions", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<Decisions>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
return runtimeForeignKey;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", "triage_decision");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,190 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriageEffectiveVexEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriageEffectiveVex",
|
||||
typeof(TriageEffectiveVex),
|
||||
baseEntityType,
|
||||
propertyCount: 12,
|
||||
navigationCount: 1,
|
||||
foreignKeyCount: 1,
|
||||
unnamedIndexCount: 1,
|
||||
keyCount: 1);
|
||||
|
||||
var id = runtimeEntityType.AddProperty(
|
||||
"Id",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("Id", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<Id>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
valueGenerated: ValueGenerated.OnAdd,
|
||||
afterSaveBehavior: PropertySaveBehavior.Throw,
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
id.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
id.AddAnnotation("Relational:ColumnName", "id");
|
||||
|
||||
var collectedAt = runtimeEntityType.AddProperty(
|
||||
"CollectedAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("CollectedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<CollectedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
collectedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
collectedAt.AddAnnotation("Relational:ColumnName", "collected_at");
|
||||
|
||||
var dsseEnvelopeHash = runtimeEntityType.AddProperty(
|
||||
"DsseEnvelopeHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("DsseEnvelopeHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<DsseEnvelopeHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
dsseEnvelopeHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
dsseEnvelopeHash.AddAnnotation("Relational:ColumnName", "dsse_envelope_hash");
|
||||
|
||||
var findingId = runtimeEntityType.AddProperty(
|
||||
"FindingId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("FindingId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<FindingId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
findingId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
findingId.AddAnnotation("Relational:ColumnName", "finding_id");
|
||||
|
||||
var issuer = runtimeEntityType.AddProperty(
|
||||
"Issuer",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("Issuer", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<Issuer>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
issuer.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
issuer.AddAnnotation("Relational:ColumnName", "issuer");
|
||||
|
||||
var prunedSourcesJson = runtimeEntityType.AddProperty(
|
||||
"PrunedSourcesJson",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("PrunedSourcesJson", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<PrunedSourcesJson>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
prunedSourcesJson.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
prunedSourcesJson.AddAnnotation("Relational:ColumnName", "pruned_sources");
|
||||
prunedSourcesJson.AddAnnotation("Relational:ColumnType", "jsonb");
|
||||
|
||||
var signatureRef = runtimeEntityType.AddProperty(
|
||||
"SignatureRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("SignatureRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<SignatureRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
signatureRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
signatureRef.AddAnnotation("Relational:ColumnName", "signature_ref");
|
||||
|
||||
var sourceDomain = runtimeEntityType.AddProperty(
|
||||
"SourceDomain",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("SourceDomain", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<SourceDomain>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
sourceDomain.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
sourceDomain.AddAnnotation("Relational:ColumnName", "source_domain");
|
||||
|
||||
var sourceRef = runtimeEntityType.AddProperty(
|
||||
"SourceRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("SourceRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<SourceRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
sourceRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
sourceRef.AddAnnotation("Relational:ColumnName", "source_ref");
|
||||
|
||||
var status = runtimeEntityType.AddProperty(
|
||||
"Status",
|
||||
typeof(TriageVexStatus),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("Status", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<Status>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: TriageVexStatus.Affected);
|
||||
status.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
status.AddAnnotation("Relational:ColumnName", "status");
|
||||
|
||||
var validFrom = runtimeEntityType.AddProperty(
|
||||
"ValidFrom",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("ValidFrom", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<ValidFrom>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
validFrom.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
validFrom.AddAnnotation("Relational:ColumnName", "valid_from");
|
||||
|
||||
var validTo = runtimeEntityType.AddProperty(
|
||||
"ValidTo",
|
||||
typeof(DateTimeOffset?),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("ValidTo", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<ValidTo>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
validTo.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
validTo.AddAnnotation("Relational:ColumnName", "valid_to");
|
||||
|
||||
var key = runtimeEntityType.AddKey(
|
||||
new[] { id });
|
||||
runtimeEntityType.SetPrimaryKey(key);
|
||||
|
||||
var index = runtimeEntityType.AddIndex(
|
||||
new[] { findingId, collectedAt });
|
||||
index.AddAnnotation("Relational:Name", "ix_triage_effective_vex_finding");
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static RuntimeForeignKey CreateForeignKey1(RuntimeEntityType declaringEntityType, RuntimeEntityType principalEntityType)
|
||||
{
|
||||
var runtimeForeignKey = declaringEntityType.AddForeignKey(new[] { declaringEntityType.FindProperty("FindingId") },
|
||||
principalEntityType.FindKey(new[] { principalEntityType.FindProperty("Id") }),
|
||||
principalEntityType,
|
||||
deleteBehavior: DeleteBehavior.Cascade,
|
||||
required: true);
|
||||
|
||||
var finding = declaringEntityType.AddNavigation("Finding",
|
||||
runtimeForeignKey,
|
||||
onDependent: true,
|
||||
typeof(TriageFinding),
|
||||
propertyInfo: typeof(TriageEffectiveVex).GetProperty("Finding", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEffectiveVex).GetField("<Finding>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
var effectiveVexRecords = principalEntityType.AddNavigation("EffectiveVexRecords",
|
||||
runtimeForeignKey,
|
||||
onDependent: false,
|
||||
typeof(ICollection<TriageEffectiveVex>),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("EffectiveVexRecords", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<EffectiveVexRecords>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
return runtimeForeignKey;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", "triage_effective_vex");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,215 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriageEvidenceArtifactEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriageEvidenceArtifact",
|
||||
typeof(TriageEvidenceArtifact),
|
||||
baseEntityType,
|
||||
propertyCount: 14,
|
||||
navigationCount: 1,
|
||||
foreignKeyCount: 1,
|
||||
unnamedIndexCount: 3,
|
||||
keyCount: 1);
|
||||
|
||||
var id = runtimeEntityType.AddProperty(
|
||||
"Id",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("Id", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<Id>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
valueGenerated: ValueGenerated.OnAdd,
|
||||
afterSaveBehavior: PropertySaveBehavior.Throw,
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
id.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
id.AddAnnotation("Relational:ColumnName", "id");
|
||||
|
||||
var contentHash = runtimeEntityType.AddProperty(
|
||||
"ContentHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("ContentHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<ContentHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
contentHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
contentHash.AddAnnotation("Relational:ColumnName", "content_hash");
|
||||
|
||||
var createdAt = runtimeEntityType.AddProperty(
|
||||
"CreatedAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("CreatedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<CreatedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
createdAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
createdAt.AddAnnotation("Relational:ColumnName", "created_at");
|
||||
|
||||
var findingId = runtimeEntityType.AddProperty(
|
||||
"FindingId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("FindingId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<FindingId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
findingId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
findingId.AddAnnotation("Relational:ColumnName", "finding_id");
|
||||
|
||||
var issuer = runtimeEntityType.AddProperty(
|
||||
"Issuer",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("Issuer", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<Issuer>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
issuer.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
issuer.AddAnnotation("Relational:ColumnName", "issuer");
|
||||
|
||||
var mediaType = runtimeEntityType.AddProperty(
|
||||
"MediaType",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("MediaType", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<MediaType>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
mediaType.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
mediaType.AddAnnotation("Relational:ColumnName", "media_type");
|
||||
|
||||
var metadataJson = runtimeEntityType.AddProperty(
|
||||
"MetadataJson",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("MetadataJson", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<MetadataJson>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
metadataJson.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
metadataJson.AddAnnotation("Relational:ColumnName", "metadata");
|
||||
metadataJson.AddAnnotation("Relational:ColumnType", "jsonb");
|
||||
|
||||
var signatureRef = runtimeEntityType.AddProperty(
|
||||
"SignatureRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("SignatureRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<SignatureRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
signatureRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
signatureRef.AddAnnotation("Relational:ColumnName", "signature_ref");
|
||||
|
||||
var signed = runtimeEntityType.AddProperty(
|
||||
"Signed",
|
||||
typeof(bool),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("Signed", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<Signed>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: false);
|
||||
signed.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
signed.AddAnnotation("Relational:ColumnName", "signed");
|
||||
|
||||
var signedBy = runtimeEntityType.AddProperty(
|
||||
"SignedBy",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("SignedBy", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<SignedBy>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
signedBy.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
signedBy.AddAnnotation("Relational:ColumnName", "signed_by");
|
||||
|
||||
var sizeBytes = runtimeEntityType.AddProperty(
|
||||
"SizeBytes",
|
||||
typeof(long?),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("SizeBytes", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<SizeBytes>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
sizeBytes.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
sizeBytes.AddAnnotation("Relational:ColumnName", "size_bytes");
|
||||
|
||||
var title = runtimeEntityType.AddProperty(
|
||||
"Title",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("Title", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<Title>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
title.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
title.AddAnnotation("Relational:ColumnName", "title");
|
||||
|
||||
var type = runtimeEntityType.AddProperty(
|
||||
"Type",
|
||||
typeof(TriageEvidenceType),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("Type", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<Type>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: TriageEvidenceType.SbomSlice);
|
||||
type.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
type.AddAnnotation("Relational:ColumnName", "type");
|
||||
|
||||
var uri = runtimeEntityType.AddProperty(
|
||||
"Uri",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("Uri", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<Uri>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
uri.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
uri.AddAnnotation("Relational:ColumnName", "uri");
|
||||
|
||||
var key = runtimeEntityType.AddKey(
|
||||
new[] { id });
|
||||
runtimeEntityType.SetPrimaryKey(key);
|
||||
|
||||
var index = runtimeEntityType.AddIndex(
|
||||
new[] { findingId, createdAt });
|
||||
index.AddAnnotation("Relational:Name", "ix_triage_evidence_finding");
|
||||
|
||||
var index0 = runtimeEntityType.AddIndex(
|
||||
new[] { type, createdAt });
|
||||
index0.AddAnnotation("Relational:Name", "ix_triage_evidence_type");
|
||||
|
||||
var index1 = runtimeEntityType.AddIndex(
|
||||
new[] { findingId, type, contentHash },
|
||||
unique: true);
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static RuntimeForeignKey CreateForeignKey1(RuntimeEntityType declaringEntityType, RuntimeEntityType principalEntityType)
|
||||
{
|
||||
var runtimeForeignKey = declaringEntityType.AddForeignKey(new[] { declaringEntityType.FindProperty("FindingId") },
|
||||
principalEntityType.FindKey(new[] { principalEntityType.FindProperty("Id") }),
|
||||
principalEntityType,
|
||||
deleteBehavior: DeleteBehavior.Cascade,
|
||||
required: true);
|
||||
|
||||
var finding = declaringEntityType.AddNavigation("Finding",
|
||||
runtimeForeignKey,
|
||||
onDependent: true,
|
||||
typeof(TriageFinding),
|
||||
propertyInfo: typeof(TriageEvidenceArtifact).GetProperty("Finding", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageEvidenceArtifact).GetField("<Finding>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
var evidenceArtifacts = principalEntityType.AddNavigation("EvidenceArtifacts",
|
||||
runtimeForeignKey,
|
||||
onDependent: false,
|
||||
typeof(ICollection<TriageEvidenceArtifact>),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("EvidenceArtifacts", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<EvidenceArtifacts>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
return runtimeForeignKey;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", "triage_evidence_artifact");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,280 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriageFindingEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriageFinding",
|
||||
typeof(TriageFinding),
|
||||
baseEntityType,
|
||||
propertyCount: 20,
|
||||
navigationCount: 9,
|
||||
foreignKeyCount: 1,
|
||||
unnamedIndexCount: 7,
|
||||
keyCount: 1);
|
||||
|
||||
var id = runtimeEntityType.AddProperty(
|
||||
"Id",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("Id", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<Id>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
valueGenerated: ValueGenerated.OnAdd,
|
||||
afterSaveBehavior: PropertySaveBehavior.Throw,
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
id.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
id.AddAnnotation("Relational:ColumnName", "id");
|
||||
|
||||
var artifactDigest = runtimeEntityType.AddProperty(
|
||||
"ArtifactDigest",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("ArtifactDigest", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<ArtifactDigest>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
artifactDigest.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
artifactDigest.AddAnnotation("Relational:ColumnName", "artifact_digest");
|
||||
|
||||
var assetId = runtimeEntityType.AddProperty(
|
||||
"AssetId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("AssetId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<AssetId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
assetId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
assetId.AddAnnotation("Relational:ColumnName", "asset_id");
|
||||
|
||||
var assetLabel = runtimeEntityType.AddProperty(
|
||||
"AssetLabel",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("AssetLabel", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<AssetLabel>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
assetLabel.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
assetLabel.AddAnnotation("Relational:ColumnName", "asset_label");
|
||||
|
||||
var cveId = runtimeEntityType.AddProperty(
|
||||
"CveId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("CveId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<CveId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
cveId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
cveId.AddAnnotation("Relational:ColumnName", "cve_id");
|
||||
|
||||
var deltaComparisonId = runtimeEntityType.AddProperty(
|
||||
"DeltaComparisonId",
|
||||
typeof(Guid?),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("DeltaComparisonId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<DeltaComparisonId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
deltaComparisonId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
deltaComparisonId.AddAnnotation("Relational:ColumnName", "delta_comparison_id");
|
||||
|
||||
var environmentId = runtimeEntityType.AddProperty(
|
||||
"EnvironmentId",
|
||||
typeof(Guid?),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("EnvironmentId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<EnvironmentId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
environmentId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
environmentId.AddAnnotation("Relational:ColumnName", "environment_id");
|
||||
|
||||
var firstSeenAt = runtimeEntityType.AddProperty(
|
||||
"FirstSeenAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("FirstSeenAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<FirstSeenAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
firstSeenAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
firstSeenAt.AddAnnotation("Relational:ColumnName", "first_seen_at");
|
||||
|
||||
var fixedInVersion = runtimeEntityType.AddProperty(
|
||||
"FixedInVersion",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("FixedInVersion", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<FixedInVersion>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
fixedInVersion.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
fixedInVersion.AddAnnotation("Relational:ColumnName", "fixed_in_version");
|
||||
|
||||
var isBackportFixed = runtimeEntityType.AddProperty(
|
||||
"IsBackportFixed",
|
||||
typeof(bool),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("IsBackportFixed", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<IsBackportFixed>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: false);
|
||||
isBackportFixed.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
isBackportFixed.AddAnnotation("Relational:ColumnName", "is_backport_fixed");
|
||||
|
||||
var isMuted = runtimeEntityType.AddProperty(
|
||||
"IsMuted",
|
||||
typeof(bool),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("IsMuted", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<IsMuted>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: false);
|
||||
isMuted.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
isMuted.AddAnnotation("Relational:ColumnName", "is_muted");
|
||||
|
||||
var knowledgeSnapshotId = runtimeEntityType.AddProperty(
|
||||
"KnowledgeSnapshotId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("KnowledgeSnapshotId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<KnowledgeSnapshotId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
knowledgeSnapshotId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
knowledgeSnapshotId.AddAnnotation("Relational:ColumnName", "knowledge_snapshot_id");
|
||||
|
||||
var lastSeenAt = runtimeEntityType.AddProperty(
|
||||
"LastSeenAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("LastSeenAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<LastSeenAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
lastSeenAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
lastSeenAt.AddAnnotation("Relational:ColumnName", "last_seen_at");
|
||||
|
||||
var purl = runtimeEntityType.AddProperty(
|
||||
"Purl",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("Purl", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<Purl>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
purl.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
purl.AddAnnotation("Relational:ColumnName", "purl");
|
||||
|
||||
var ruleId = runtimeEntityType.AddProperty(
|
||||
"RuleId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("RuleId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<RuleId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
ruleId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
ruleId.AddAnnotation("Relational:ColumnName", "rule_id");
|
||||
|
||||
var scanId = runtimeEntityType.AddProperty(
|
||||
"ScanId",
|
||||
typeof(Guid?),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("ScanId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<ScanId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
scanId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
scanId.AddAnnotation("Relational:ColumnName", "scan_id");
|
||||
|
||||
var status = runtimeEntityType.AddProperty(
|
||||
"Status",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("Status", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<Status>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
status.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
status.AddAnnotation("Relational:ColumnName", "status");
|
||||
|
||||
var supersededBy = runtimeEntityType.AddProperty(
|
||||
"SupersededBy",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("SupersededBy", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<SupersededBy>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
supersededBy.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
supersededBy.AddAnnotation("Relational:ColumnName", "superseded_by");
|
||||
|
||||
var tenantId = runtimeEntityType.AddProperty(
|
||||
"TenantId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("TenantId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<TenantId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
tenantId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
tenantId.AddAnnotation("Relational:ColumnName", "tenant_id");
|
||||
|
||||
var updatedAt = runtimeEntityType.AddProperty(
|
||||
"UpdatedAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("UpdatedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<UpdatedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
updatedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
updatedAt.AddAnnotation("Relational:ColumnName", "updated_at");
|
||||
|
||||
var key = runtimeEntityType.AddKey(
|
||||
new[] { id });
|
||||
runtimeEntityType.SetPrimaryKey(key);
|
||||
|
||||
var index = runtimeEntityType.AddIndex(
|
||||
new[] { assetLabel });
|
||||
index.AddAnnotation("Relational:Name", "ix_triage_finding_asset_label");
|
||||
|
||||
var index0 = runtimeEntityType.AddIndex(
|
||||
new[] { cveId });
|
||||
index0.AddAnnotation("Relational:Name", "ix_triage_finding_cve");
|
||||
|
||||
var index1 = runtimeEntityType.AddIndex(
|
||||
new[] { lastSeenAt });
|
||||
index1.AddAnnotation("Relational:Name", "ix_triage_finding_last_seen");
|
||||
|
||||
var index2 = runtimeEntityType.AddIndex(
|
||||
new[] { purl });
|
||||
index2.AddAnnotation("Relational:Name", "ix_triage_finding_purl");
|
||||
|
||||
var index3 = runtimeEntityType.AddIndex(
|
||||
new[] { scanId });
|
||||
|
||||
var index4 = runtimeEntityType.AddIndex(
|
||||
new[] { tenantId });
|
||||
index4.AddAnnotation("Relational:Name", "ix_triage_finding_tenant_id");
|
||||
|
||||
var index5 = runtimeEntityType.AddIndex(
|
||||
new[] { tenantId, assetId, environmentId, purl, cveId, ruleId },
|
||||
unique: true);
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static RuntimeForeignKey CreateForeignKey1(RuntimeEntityType declaringEntityType, RuntimeEntityType principalEntityType)
|
||||
{
|
||||
var runtimeForeignKey = declaringEntityType.AddForeignKey(new[] { declaringEntityType.FindProperty("ScanId") },
|
||||
principalEntityType.FindKey(new[] { principalEntityType.FindProperty("Id") }),
|
||||
principalEntityType);
|
||||
|
||||
var scan = declaringEntityType.AddNavigation("Scan",
|
||||
runtimeForeignKey,
|
||||
onDependent: true,
|
||||
typeof(TriageScan),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("Scan", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<Scan>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
var findings = principalEntityType.AddNavigation("Findings",
|
||||
runtimeForeignKey,
|
||||
onDependent: false,
|
||||
typeof(ICollection<TriageFinding>),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("Findings", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<Findings>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
return runtimeForeignKey;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", "triage_finding");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriagePolicyDecisionEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriagePolicyDecision",
|
||||
typeof(TriagePolicyDecision),
|
||||
baseEntityType,
|
||||
propertyCount: 6,
|
||||
navigationCount: 1,
|
||||
foreignKeyCount: 1,
|
||||
unnamedIndexCount: 1,
|
||||
keyCount: 1);
|
||||
|
||||
var id = runtimeEntityType.AddProperty(
|
||||
"Id",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriagePolicyDecision).GetProperty("Id", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriagePolicyDecision).GetField("<Id>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
valueGenerated: ValueGenerated.OnAdd,
|
||||
afterSaveBehavior: PropertySaveBehavior.Throw,
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
id.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
id.AddAnnotation("Relational:ColumnName", "id");
|
||||
|
||||
var action = runtimeEntityType.AddProperty(
|
||||
"Action",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriagePolicyDecision).GetProperty("Action", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriagePolicyDecision).GetField("<Action>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
action.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
action.AddAnnotation("Relational:ColumnName", "action");
|
||||
|
||||
var appliedAt = runtimeEntityType.AddProperty(
|
||||
"AppliedAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriagePolicyDecision).GetProperty("AppliedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriagePolicyDecision).GetField("<AppliedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
appliedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
appliedAt.AddAnnotation("Relational:ColumnName", "applied_at");
|
||||
|
||||
var findingId = runtimeEntityType.AddProperty(
|
||||
"FindingId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriagePolicyDecision).GetProperty("FindingId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriagePolicyDecision).GetField("<FindingId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
findingId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
findingId.AddAnnotation("Relational:ColumnName", "finding_id");
|
||||
|
||||
var policyId = runtimeEntityType.AddProperty(
|
||||
"PolicyId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriagePolicyDecision).GetProperty("PolicyId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriagePolicyDecision).GetField("<PolicyId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
policyId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
policyId.AddAnnotation("Relational:ColumnName", "policy_id");
|
||||
|
||||
var reason = runtimeEntityType.AddProperty(
|
||||
"Reason",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriagePolicyDecision).GetProperty("Reason", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriagePolicyDecision).GetField("<Reason>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
reason.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
reason.AddAnnotation("Relational:ColumnName", "reason");
|
||||
|
||||
var key = runtimeEntityType.AddKey(
|
||||
new[] { id });
|
||||
runtimeEntityType.SetPrimaryKey(key);
|
||||
|
||||
var index = runtimeEntityType.AddIndex(
|
||||
new[] { findingId });
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static RuntimeForeignKey CreateForeignKey1(RuntimeEntityType declaringEntityType, RuntimeEntityType principalEntityType)
|
||||
{
|
||||
var runtimeForeignKey = declaringEntityType.AddForeignKey(new[] { declaringEntityType.FindProperty("FindingId") },
|
||||
principalEntityType.FindKey(new[] { principalEntityType.FindProperty("Id") }),
|
||||
principalEntityType,
|
||||
deleteBehavior: DeleteBehavior.Cascade,
|
||||
required: true);
|
||||
|
||||
var finding = declaringEntityType.AddNavigation("Finding",
|
||||
runtimeForeignKey,
|
||||
onDependent: true,
|
||||
typeof(TriageFinding),
|
||||
propertyInfo: typeof(TriagePolicyDecision).GetProperty("Finding", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriagePolicyDecision).GetField("<Finding>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
var policyDecisions = principalEntityType.AddNavigation("PolicyDecisions",
|
||||
runtimeForeignKey,
|
||||
onDependent: false,
|
||||
typeof(ICollection<TriagePolicyDecision>),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("PolicyDecisions", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<PolicyDecisions>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
return runtimeForeignKey;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", "triage_policy_decision");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriageReachabilityResultEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriageReachabilityResult",
|
||||
typeof(TriageReachabilityResult),
|
||||
baseEntityType,
|
||||
propertyCount: 9,
|
||||
navigationCount: 1,
|
||||
foreignKeyCount: 1,
|
||||
unnamedIndexCount: 1,
|
||||
keyCount: 1);
|
||||
|
||||
var id = runtimeEntityType.AddProperty(
|
||||
"Id",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageReachabilityResult).GetProperty("Id", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageReachabilityResult).GetField("<Id>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
valueGenerated: ValueGenerated.OnAdd,
|
||||
afterSaveBehavior: PropertySaveBehavior.Throw,
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
id.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
id.AddAnnotation("Relational:ColumnName", "id");
|
||||
|
||||
var computedAt = runtimeEntityType.AddProperty(
|
||||
"ComputedAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageReachabilityResult).GetProperty("ComputedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageReachabilityResult).GetField("<ComputedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
computedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
computedAt.AddAnnotation("Relational:ColumnName", "computed_at");
|
||||
|
||||
var confidence = runtimeEntityType.AddProperty(
|
||||
"Confidence",
|
||||
typeof(short),
|
||||
propertyInfo: typeof(TriageReachabilityResult).GetProperty("Confidence", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageReachabilityResult).GetField("<Confidence>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: (short)0);
|
||||
confidence.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
confidence.AddAnnotation("Relational:ColumnName", "confidence");
|
||||
|
||||
var findingId = runtimeEntityType.AddProperty(
|
||||
"FindingId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageReachabilityResult).GetProperty("FindingId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageReachabilityResult).GetField("<FindingId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
findingId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
findingId.AddAnnotation("Relational:ColumnName", "finding_id");
|
||||
|
||||
var inputsHash = runtimeEntityType.AddProperty(
|
||||
"InputsHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageReachabilityResult).GetProperty("InputsHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageReachabilityResult).GetField("<InputsHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
inputsHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
inputsHash.AddAnnotation("Relational:ColumnName", "inputs_hash");
|
||||
|
||||
var reachable = runtimeEntityType.AddProperty(
|
||||
"Reachable",
|
||||
typeof(TriageReachability),
|
||||
propertyInfo: typeof(TriageReachabilityResult).GetProperty("Reachable", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageReachabilityResult).GetField("<Reachable>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: TriageReachability.Yes);
|
||||
reachable.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
reachable.AddAnnotation("Relational:ColumnName", "reachable");
|
||||
|
||||
var runtimeProofRef = runtimeEntityType.AddProperty(
|
||||
"RuntimeProofRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageReachabilityResult).GetProperty("RuntimeProofRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageReachabilityResult).GetField("<RuntimeProofRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
runtimeProofRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
runtimeProofRef.AddAnnotation("Relational:ColumnName", "runtime_proof_ref");
|
||||
|
||||
var staticProofRef = runtimeEntityType.AddProperty(
|
||||
"StaticProofRef",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageReachabilityResult).GetProperty("StaticProofRef", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageReachabilityResult).GetField("<StaticProofRef>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
staticProofRef.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
staticProofRef.AddAnnotation("Relational:ColumnName", "static_proof_ref");
|
||||
|
||||
var subgraphId = runtimeEntityType.AddProperty(
|
||||
"SubgraphId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageReachabilityResult).GetProperty("SubgraphId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageReachabilityResult).GetField("<SubgraphId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
subgraphId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
subgraphId.AddAnnotation("Relational:ColumnName", "subgraph_id");
|
||||
|
||||
var key = runtimeEntityType.AddKey(
|
||||
new[] { id });
|
||||
runtimeEntityType.SetPrimaryKey(key);
|
||||
|
||||
var index = runtimeEntityType.AddIndex(
|
||||
new[] { findingId, computedAt });
|
||||
index.AddAnnotation("Relational:Name", "ix_triage_reachability_finding");
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static RuntimeForeignKey CreateForeignKey1(RuntimeEntityType declaringEntityType, RuntimeEntityType principalEntityType)
|
||||
{
|
||||
var runtimeForeignKey = declaringEntityType.AddForeignKey(new[] { declaringEntityType.FindProperty("FindingId") },
|
||||
principalEntityType.FindKey(new[] { principalEntityType.FindProperty("Id") }),
|
||||
principalEntityType,
|
||||
deleteBehavior: DeleteBehavior.Cascade,
|
||||
required: true);
|
||||
|
||||
var finding = declaringEntityType.AddNavigation("Finding",
|
||||
runtimeForeignKey,
|
||||
onDependent: true,
|
||||
typeof(TriageFinding),
|
||||
propertyInfo: typeof(TriageReachabilityResult).GetProperty("Finding", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageReachabilityResult).GetField("<Finding>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
var reachabilityResults = principalEntityType.AddNavigation("ReachabilityResults",
|
||||
runtimeForeignKey,
|
||||
onDependent: false,
|
||||
typeof(ICollection<TriageReachabilityResult>),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("ReachabilityResults", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<ReachabilityResults>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
return runtimeForeignKey;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", "triage_reachability_result");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriageRiskResultEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriageRiskResult",
|
||||
typeof(TriageRiskResult),
|
||||
baseEntityType,
|
||||
propertyCount: 11,
|
||||
navigationCount: 1,
|
||||
foreignKeyCount: 1,
|
||||
unnamedIndexCount: 3,
|
||||
keyCount: 1);
|
||||
|
||||
var id = runtimeEntityType.AddProperty(
|
||||
"Id",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("Id", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<Id>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
valueGenerated: ValueGenerated.OnAdd,
|
||||
afterSaveBehavior: PropertySaveBehavior.Throw,
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
id.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
id.AddAnnotation("Relational:ColumnName", "id");
|
||||
|
||||
var computedAt = runtimeEntityType.AddProperty(
|
||||
"ComputedAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("ComputedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<ComputedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
computedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
computedAt.AddAnnotation("Relational:ColumnName", "computed_at");
|
||||
|
||||
var explanationJson = runtimeEntityType.AddProperty(
|
||||
"ExplanationJson",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("ExplanationJson", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<ExplanationJson>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
explanationJson.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
explanationJson.AddAnnotation("Relational:ColumnName", "explanation");
|
||||
explanationJson.AddAnnotation("Relational:ColumnType", "jsonb");
|
||||
|
||||
var findingId = runtimeEntityType.AddProperty(
|
||||
"FindingId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("FindingId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<FindingId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
findingId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
findingId.AddAnnotation("Relational:ColumnName", "finding_id");
|
||||
|
||||
var inputsHash = runtimeEntityType.AddProperty(
|
||||
"InputsHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("InputsHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<InputsHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
inputsHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
inputsHash.AddAnnotation("Relational:ColumnName", "inputs_hash");
|
||||
|
||||
var lane = runtimeEntityType.AddProperty(
|
||||
"Lane",
|
||||
typeof(TriageLane),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("Lane", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<Lane>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: TriageLane.Active);
|
||||
lane.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
lane.AddAnnotation("Relational:ColumnName", "lane");
|
||||
|
||||
var policyId = runtimeEntityType.AddProperty(
|
||||
"PolicyId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("PolicyId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<PolicyId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
policyId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
policyId.AddAnnotation("Relational:ColumnName", "policy_id");
|
||||
|
||||
var policyVersion = runtimeEntityType.AddProperty(
|
||||
"PolicyVersion",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("PolicyVersion", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<PolicyVersion>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
policyVersion.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
policyVersion.AddAnnotation("Relational:ColumnName", "policy_version");
|
||||
|
||||
var score = runtimeEntityType.AddProperty(
|
||||
"Score",
|
||||
typeof(int),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("Score", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<Score>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: 0);
|
||||
score.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
score.AddAnnotation("Relational:ColumnName", "score");
|
||||
|
||||
var verdict = runtimeEntityType.AddProperty(
|
||||
"Verdict",
|
||||
typeof(TriageVerdict),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("Verdict", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<Verdict>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: TriageVerdict.Ship);
|
||||
verdict.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
verdict.AddAnnotation("Relational:ColumnName", "verdict");
|
||||
|
||||
var why = runtimeEntityType.AddProperty(
|
||||
"Why",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("Why", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<Why>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
why.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
why.AddAnnotation("Relational:ColumnName", "why");
|
||||
|
||||
var key = runtimeEntityType.AddKey(
|
||||
new[] { id });
|
||||
runtimeEntityType.SetPrimaryKey(key);
|
||||
|
||||
var index = runtimeEntityType.AddIndex(
|
||||
new[] { findingId, computedAt });
|
||||
index.AddAnnotation("Relational:Name", "ix_triage_risk_finding");
|
||||
|
||||
var index0 = runtimeEntityType.AddIndex(
|
||||
new[] { lane, computedAt });
|
||||
index0.AddAnnotation("Relational:Name", "ix_triage_risk_lane");
|
||||
|
||||
var index1 = runtimeEntityType.AddIndex(
|
||||
new[] { findingId, policyId, policyVersion, inputsHash },
|
||||
unique: true);
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static RuntimeForeignKey CreateForeignKey1(RuntimeEntityType declaringEntityType, RuntimeEntityType principalEntityType)
|
||||
{
|
||||
var runtimeForeignKey = declaringEntityType.AddForeignKey(new[] { declaringEntityType.FindProperty("FindingId") },
|
||||
principalEntityType.FindKey(new[] { principalEntityType.FindProperty("Id") }),
|
||||
principalEntityType,
|
||||
deleteBehavior: DeleteBehavior.Cascade,
|
||||
required: true);
|
||||
|
||||
var finding = declaringEntityType.AddNavigation("Finding",
|
||||
runtimeForeignKey,
|
||||
onDependent: true,
|
||||
typeof(TriageFinding),
|
||||
propertyInfo: typeof(TriageRiskResult).GetProperty("Finding", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageRiskResult).GetField("<Finding>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
var riskResults = principalEntityType.AddNavigation("RiskResults",
|
||||
runtimeForeignKey,
|
||||
onDependent: false,
|
||||
typeof(ICollection<TriageRiskResult>),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("RiskResults", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<RiskResults>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
return runtimeForeignKey;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", "triage_risk_result");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,211 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriageScanEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriageScan",
|
||||
typeof(TriageScan),
|
||||
baseEntityType,
|
||||
propertyCount: 18,
|
||||
navigationCount: 1,
|
||||
keyCount: 1);
|
||||
|
||||
var id = runtimeEntityType.AddProperty(
|
||||
"Id",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("Id", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<Id>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
valueGenerated: ValueGenerated.OnAdd,
|
||||
afterSaveBehavior: PropertySaveBehavior.Throw,
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
id.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
id.AddAnnotation("Relational:ColumnName", "id");
|
||||
|
||||
var completedAt = runtimeEntityType.AddProperty(
|
||||
"CompletedAt",
|
||||
typeof(DateTimeOffset?),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("CompletedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<CompletedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
completedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
completedAt.AddAnnotation("Relational:ColumnName", "completed_at");
|
||||
|
||||
var feedSnapshotAt = runtimeEntityType.AddProperty(
|
||||
"FeedSnapshotAt",
|
||||
typeof(DateTimeOffset?),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("FeedSnapshotAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<FeedSnapshotAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
feedSnapshotAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
feedSnapshotAt.AddAnnotation("Relational:ColumnName", "feed_snapshot_at");
|
||||
|
||||
var feedSnapshotHash = runtimeEntityType.AddProperty(
|
||||
"FeedSnapshotHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("FeedSnapshotHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<FeedSnapshotHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
feedSnapshotHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
feedSnapshotHash.AddAnnotation("Relational:ColumnName", "feed_snapshot_hash");
|
||||
|
||||
var feedVersions = runtimeEntityType.AddProperty(
|
||||
"FeedVersions",
|
||||
typeof(Dictionary<string, string>),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("FeedVersions", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<FeedVersions>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
feedVersions.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
feedVersions.AddAnnotation("Relational:ColumnName", "feed_versions");
|
||||
feedVersions.AddAnnotation("Relational:ColumnType", "jsonb");
|
||||
|
||||
var finalDigest = runtimeEntityType.AddProperty(
|
||||
"FinalDigest",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("FinalDigest", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<FinalDigest>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
finalDigest.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
finalDigest.AddAnnotation("Relational:ColumnName", "final_digest");
|
||||
|
||||
var imageDigest = runtimeEntityType.AddProperty(
|
||||
"ImageDigest",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("ImageDigest", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<ImageDigest>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
imageDigest.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
imageDigest.AddAnnotation("Relational:ColumnName", "image_digest");
|
||||
|
||||
var imageReference = runtimeEntityType.AddProperty(
|
||||
"ImageReference",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("ImageReference", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<ImageReference>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
imageReference.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
imageReference.AddAnnotation("Relational:ColumnName", "image_reference");
|
||||
|
||||
var knowledgeSnapshotId = runtimeEntityType.AddProperty(
|
||||
"KnowledgeSnapshotId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("KnowledgeSnapshotId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<KnowledgeSnapshotId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
knowledgeSnapshotId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
knowledgeSnapshotId.AddAnnotation("Relational:ColumnName", "knowledge_snapshot_id");
|
||||
|
||||
var offlineBundleId = runtimeEntityType.AddProperty(
|
||||
"OfflineBundleId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("OfflineBundleId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<OfflineBundleId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
offlineBundleId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
offlineBundleId.AddAnnotation("Relational:ColumnName", "offline_bundle_id");
|
||||
|
||||
var policyHash = runtimeEntityType.AddProperty(
|
||||
"PolicyHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("PolicyHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<PolicyHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
policyHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
policyHash.AddAnnotation("Relational:ColumnName", "policy_hash");
|
||||
|
||||
var snapshotContentHash = runtimeEntityType.AddProperty(
|
||||
"SnapshotContentHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("SnapshotContentHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<SnapshotContentHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
snapshotContentHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
snapshotContentHash.AddAnnotation("Relational:ColumnName", "snapshot_content_hash");
|
||||
|
||||
var snapshotCreatedAt = runtimeEntityType.AddProperty(
|
||||
"SnapshotCreatedAt",
|
||||
typeof(DateTimeOffset?),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("SnapshotCreatedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<SnapshotCreatedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
snapshotCreatedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
snapshotCreatedAt.AddAnnotation("Relational:ColumnName", "snapshot_created_at");
|
||||
|
||||
var startedAt = runtimeEntityType.AddProperty(
|
||||
"StartedAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("StartedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<StartedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
startedAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
startedAt.AddAnnotation("Relational:ColumnName", "started_at");
|
||||
|
||||
var status = runtimeEntityType.AddProperty(
|
||||
"Status",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("Status", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<Status>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
status.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
status.AddAnnotation("Relational:ColumnName", "status");
|
||||
|
||||
var targetDigest = runtimeEntityType.AddProperty(
|
||||
"TargetDigest",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("TargetDigest", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<TargetDigest>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
targetDigest.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
targetDigest.AddAnnotation("Relational:ColumnName", "target_digest");
|
||||
|
||||
var targetReference = runtimeEntityType.AddProperty(
|
||||
"TargetReference",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("TargetReference", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<TargetReference>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
targetReference.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
targetReference.AddAnnotation("Relational:ColumnName", "target_reference");
|
||||
|
||||
var tenantId = runtimeEntityType.AddProperty(
|
||||
"TenantId",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageScan).GetProperty("TenantId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageScan).GetField("<TenantId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
tenantId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
tenantId.AddAnnotation("Relational:ColumnName", "tenant_id");
|
||||
|
||||
var key = runtimeEntityType.AddKey(
|
||||
new[] { id });
|
||||
runtimeEntityType.SetPrimaryKey(key);
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", "triage_scan");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using StellaOps.Scanner.Triage.Entities;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace StellaOps.Scanner.Triage.CompiledModels
|
||||
{
|
||||
[EntityFrameworkInternal]
|
||||
public partial class TriageSnapshotEntityType
|
||||
{
|
||||
public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType baseEntityType = null)
|
||||
{
|
||||
var runtimeEntityType = model.AddEntityType(
|
||||
"StellaOps.Scanner.Triage.Entities.TriageSnapshot",
|
||||
typeof(TriageSnapshot),
|
||||
baseEntityType,
|
||||
propertyCount: 8,
|
||||
navigationCount: 1,
|
||||
foreignKeyCount: 1,
|
||||
unnamedIndexCount: 3,
|
||||
keyCount: 1);
|
||||
|
||||
var id = runtimeEntityType.AddProperty(
|
||||
"Id",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageSnapshot).GetProperty("Id", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageSnapshot).GetField("<Id>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
valueGenerated: ValueGenerated.OnAdd,
|
||||
afterSaveBehavior: PropertySaveBehavior.Throw,
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
id.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
id.AddAnnotation("Relational:ColumnName", "id");
|
||||
|
||||
var createdAt = runtimeEntityType.AddProperty(
|
||||
"CreatedAt",
|
||||
typeof(DateTimeOffset),
|
||||
propertyInfo: typeof(TriageSnapshot).GetProperty("CreatedAt", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageSnapshot).GetField("<CreatedAt>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||
createdAt.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
createdAt.AddAnnotation("Relational:ColumnName", "created_at");
|
||||
|
||||
var diffJson = runtimeEntityType.AddProperty(
|
||||
"DiffJson",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageSnapshot).GetProperty("DiffJson", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageSnapshot).GetField("<DiffJson>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
diffJson.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
diffJson.AddAnnotation("Relational:ColumnName", "diff_json");
|
||||
diffJson.AddAnnotation("Relational:ColumnType", "jsonb");
|
||||
|
||||
var findingId = runtimeEntityType.AddProperty(
|
||||
"FindingId",
|
||||
typeof(Guid),
|
||||
propertyInfo: typeof(TriageSnapshot).GetProperty("FindingId", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageSnapshot).GetField("<FindingId>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
findingId.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
findingId.AddAnnotation("Relational:ColumnName", "finding_id");
|
||||
|
||||
var fromInputsHash = runtimeEntityType.AddProperty(
|
||||
"FromInputsHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageSnapshot).GetProperty("FromInputsHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageSnapshot).GetField("<FromInputsHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
nullable: true);
|
||||
fromInputsHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
fromInputsHash.AddAnnotation("Relational:ColumnName", "from_inputs_hash");
|
||||
|
||||
var summary = runtimeEntityType.AddProperty(
|
||||
"Summary",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageSnapshot).GetProperty("Summary", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageSnapshot).GetField("<Summary>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
summary.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
summary.AddAnnotation("Relational:ColumnName", "summary");
|
||||
|
||||
var toInputsHash = runtimeEntityType.AddProperty(
|
||||
"ToInputsHash",
|
||||
typeof(string),
|
||||
propertyInfo: typeof(TriageSnapshot).GetProperty("ToInputsHash", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageSnapshot).GetField("<ToInputsHash>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
toInputsHash.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
toInputsHash.AddAnnotation("Relational:ColumnName", "to_inputs_hash");
|
||||
|
||||
var trigger = runtimeEntityType.AddProperty(
|
||||
"Trigger",
|
||||
typeof(TriageSnapshotTrigger),
|
||||
propertyInfo: typeof(TriageSnapshot).GetProperty("Trigger", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageSnapshot).GetField("<Trigger>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
sentinel: TriageSnapshotTrigger.FeedUpdate);
|
||||
trigger.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None);
|
||||
trigger.AddAnnotation("Relational:ColumnName", "trigger");
|
||||
|
||||
var key = runtimeEntityType.AddKey(
|
||||
new[] { id });
|
||||
runtimeEntityType.SetPrimaryKey(key);
|
||||
|
||||
var index = runtimeEntityType.AddIndex(
|
||||
new[] { findingId, createdAt });
|
||||
index.AddAnnotation("Relational:Name", "ix_triage_snapshot_finding");
|
||||
|
||||
var index0 = runtimeEntityType.AddIndex(
|
||||
new[] { trigger, createdAt });
|
||||
index0.AddAnnotation("Relational:Name", "ix_triage_snapshot_trigger");
|
||||
|
||||
var index1 = runtimeEntityType.AddIndex(
|
||||
new[] { findingId, toInputsHash, createdAt },
|
||||
unique: true);
|
||||
|
||||
return runtimeEntityType;
|
||||
}
|
||||
|
||||
public static RuntimeForeignKey CreateForeignKey1(RuntimeEntityType declaringEntityType, RuntimeEntityType principalEntityType)
|
||||
{
|
||||
var runtimeForeignKey = declaringEntityType.AddForeignKey(new[] { declaringEntityType.FindProperty("FindingId") },
|
||||
principalEntityType.FindKey(new[] { principalEntityType.FindProperty("Id") }),
|
||||
principalEntityType,
|
||||
deleteBehavior: DeleteBehavior.Cascade,
|
||||
required: true);
|
||||
|
||||
var finding = declaringEntityType.AddNavigation("Finding",
|
||||
runtimeForeignKey,
|
||||
onDependent: true,
|
||||
typeof(TriageFinding),
|
||||
propertyInfo: typeof(TriageSnapshot).GetProperty("Finding", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageSnapshot).GetField("<Finding>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
var snapshots = principalEntityType.AddNavigation("Snapshots",
|
||||
runtimeForeignKey,
|
||||
onDependent: false,
|
||||
typeof(ICollection<TriageSnapshot>),
|
||||
propertyInfo: typeof(TriageFinding).GetProperty("Snapshots", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly),
|
||||
fieldInfo: typeof(TriageFinding).GetField("<Snapshots>k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly));
|
||||
|
||||
return runtimeForeignKey;
|
||||
}
|
||||
|
||||
public static void CreateAnnotations(RuntimeEntityType runtimeEntityType)
|
||||
{
|
||||
runtimeEntityType.AddAnnotation("Relational:FunctionName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:Schema", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:SqlQuery", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:TableName", "triage_snapshot");
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewName", null);
|
||||
runtimeEntityType.AddAnnotation("Relational:ViewSchema", null);
|
||||
|
||||
Customize(runtimeEntityType);
|
||||
}
|
||||
|
||||
static partial void Customize(RuntimeEntityType runtimeEntityType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
-- Triage: add subgraph_id column to triage_reachability_result
|
||||
-- This column stores the content-addressed ID of the reachability subgraph
|
||||
-- for a finding, allowing callgraph slice reuse across scans.
|
||||
-- Added to match TriageReachabilityResult EF Core entity definition.
|
||||
|
||||
ALTER TABLE triage_reachability_result
|
||||
ADD COLUMN IF NOT EXISTS subgraph_id TEXT NULL;
|
||||
@@ -11,6 +11,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" PrivateAssets="all" />
|
||||
<PackageReference Include="Microsoft.Extensions.Caching.Memory" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />
|
||||
@@ -19,4 +20,8 @@
|
||||
<!-- Embed SQL migrations as resources for PostgresIntegrationFixture -->
|
||||
<EmbeddedResource Include="Migrations/**/*.sql" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<!-- Prevent automatic compiled-model binding so non-default schemas can build runtime models. -->
|
||||
<Compile Remove="CompiledModels\TriageDbContextAssemblyAttributes.cs" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -6,14 +6,19 @@ namespace StellaOps.Scanner.Triage;
|
||||
/// <summary>
|
||||
/// Entity Framework Core DbContext for the Triage schema.
|
||||
/// </summary>
|
||||
public sealed class TriageDbContext : DbContext
|
||||
public partial class TriageDbContext : DbContext
|
||||
{
|
||||
public const string DefaultSchemaName = "scanner";
|
||||
|
||||
private readonly string _schemaName;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="TriageDbContext"/> class.
|
||||
/// </summary>
|
||||
public TriageDbContext(DbContextOptions<TriageDbContext> options)
|
||||
public TriageDbContext(DbContextOptions<TriageDbContext> options, string? schemaName = null)
|
||||
: base(options)
|
||||
{
|
||||
_schemaName = string.IsNullOrWhiteSpace(schemaName) ? DefaultSchemaName : schemaName.Trim();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -242,5 +247,9 @@ public sealed class TriageDbContext : DbContext
|
||||
entity.ToView("v_triage_case_current");
|
||||
entity.HasNoKey();
|
||||
});
|
||||
|
||||
OnModelCreatingPartial(modelBuilder);
|
||||
}
|
||||
|
||||
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Npgsql;
|
||||
using StellaOps.Scanner.Triage.CompiledModels;
|
||||
|
||||
namespace StellaOps.Scanner.Triage;
|
||||
|
||||
/// <summary>
|
||||
/// Runtime factory for creating <see cref="TriageDbContext"/> instances.
|
||||
/// Uses compiled model for default schema to avoid runtime model-building overhead.
|
||||
/// </summary>
|
||||
internal static class TriageDbContextFactory
|
||||
{
|
||||
public static TriageDbContext Create(NpgsqlConnection connection, int commandTimeoutSeconds, string schemaName)
|
||||
{
|
||||
var normalizedSchema = string.IsNullOrWhiteSpace(schemaName)
|
||||
? TriageDbContext.DefaultSchemaName
|
||||
: schemaName.Trim();
|
||||
|
||||
var optionsBuilder = new DbContextOptionsBuilder<TriageDbContext>()
|
||||
.UseNpgsql(connection, npgsql =>
|
||||
{
|
||||
npgsql.CommandTimeout(commandTimeoutSeconds);
|
||||
npgsql.MapEnum<Entities.TriageLane>("triage_lane");
|
||||
npgsql.MapEnum<Entities.TriageVerdict>("triage_verdict");
|
||||
npgsql.MapEnum<Entities.TriageReachability>("triage_reachability");
|
||||
npgsql.MapEnum<Entities.TriageVexStatus>("triage_vex_status");
|
||||
npgsql.MapEnum<Entities.TriageDecisionKind>("triage_decision_kind");
|
||||
npgsql.MapEnum<Entities.TriageSnapshotTrigger>("triage_snapshot_trigger");
|
||||
npgsql.MapEnum<Entities.TriageEvidenceType>("triage_evidence_type");
|
||||
});
|
||||
|
||||
if (string.Equals(normalizedSchema, TriageDbContext.DefaultSchemaName, StringComparison.Ordinal))
|
||||
{
|
||||
optionsBuilder.UseModel(TriageDbContextModel.Instance);
|
||||
}
|
||||
|
||||
return new TriageDbContext(optionsBuilder.Options, normalizedSchema);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Design;
|
||||
|
||||
namespace StellaOps.Scanner.Triage;
|
||||
|
||||
/// <summary>
|
||||
/// Design-time DbContext factory for dotnet ef CLI tooling.
|
||||
/// Used by scaffold and optimize commands.
|
||||
/// </summary>
|
||||
public sealed class TriageDesignTimeDbContextFactory : IDesignTimeDbContextFactory<TriageDbContext>
|
||||
{
|
||||
private const string DefaultConnectionString =
|
||||
"Host=localhost;Port=55433;Database=postgres;Username=postgres;Password=postgres;Search Path=scanner,public";
|
||||
|
||||
private const string ConnectionStringEnvironmentVariable = "STELLAOPS_TRIAGE_EF_CONNECTION";
|
||||
|
||||
public TriageDbContext CreateDbContext(string[] args)
|
||||
{
|
||||
var connectionString = ResolveConnectionString();
|
||||
var options = new DbContextOptionsBuilder<TriageDbContext>()
|
||||
.UseNpgsql(connectionString, npgsql =>
|
||||
{
|
||||
npgsql.MapEnum<Entities.TriageLane>("triage_lane");
|
||||
npgsql.MapEnum<Entities.TriageVerdict>("triage_verdict");
|
||||
npgsql.MapEnum<Entities.TriageReachability>("triage_reachability");
|
||||
npgsql.MapEnum<Entities.TriageVexStatus>("triage_vex_status");
|
||||
npgsql.MapEnum<Entities.TriageDecisionKind>("triage_decision_kind");
|
||||
npgsql.MapEnum<Entities.TriageSnapshotTrigger>("triage_snapshot_trigger");
|
||||
npgsql.MapEnum<Entities.TriageEvidenceType>("triage_evidence_type");
|
||||
})
|
||||
.Options;
|
||||
|
||||
return new TriageDbContext(options);
|
||||
}
|
||||
|
||||
private static string ResolveConnectionString()
|
||||
{
|
||||
var fromEnvironment = Environment.GetEnvironmentVariable(ConnectionStringEnvironmentVariable);
|
||||
return string.IsNullOrWhiteSpace(fromEnvironment) ? DefaultConnectionString : fromEnvironment;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user