Genetik-Engine (bde4ec70, f89e95ad, 2322c2a8):
- Saphir/Platin/Platin-Hell unterscheiden sich NUR in der C-Zygotie und waren im
Katalog identisch (locusToken reduziert auf das dominante Allel) → Saphir war
unerreichbar. Token darf jetzt ein exaktes, ungeordnetes Allelpaar "x/y"
verlangen: Platin C/C, Saphir C/cchm, Platin-Hell C/ch. TS- und Python-Mirror
identisch, Seeds regeneriert, Migration ReseedColorVarietiesGen6Saphir.
- c[hm] wird als Alias auf c[chm] normalisiert (Tippfehler in zwei Charts) —
vorher war Jays Gencode unparsebar und ergab "Zobel-Hell".
- 6 Tiere wechseln den errechneten Farbschlag (5x Platin→Saphir, Jay→Zobel).
Importer-Logik:
- renameTo-Notiz-Sweep: der alte Name blieb in Wurf-Notizen stehen ("Blacky +
Kruke") — jetzt wortgenau ersetzt, mit vier Guards gegen Kollateralschaden.
- Neuer Resolution-Schlüssel goHomeDate (autoritativ, zieht GivenAway nach) und
spottingType; Gencode-Overrides gewinnen jetzt bei präzisem Match (vorher
wurden Entscheidungen stumm verschluckt, z. B. Eliza und Chris).
- parse_date verwirft implausible Jahre (JackJack hatte 1310-05-13).
- extract.py erkennt Stammbaum-Blöcke auch ohne Stern vor dem Geburtsdatum
(Bijou bekam dadurch den Nachbar-Ast als Mutter).
- Backend-Ingest überträgt SpottingType (nur bei Payload-Wert).
Daten (conflict-decisions.json, re-ingest-stabil): Kuke-Merge + Zuchtname,
Jamie- und Sakura-Dubletten, Phantom-Tier "Unbekannt", Eltern von Kathlin,
Fast Boy/Ziwa und dem Q4-/TS-Wurf, Eliza-Gencode, Merle-Abgabe, JackJack.
Frontend (24522f5f): Abgabedatum steht in der Tier-Akte jetzt direkt unter dem
Abnehmer und hängt nicht mehr am Status.
Tests: +25 Checks test_merge_resolve, +7 test_genotype, +8 genetics.test.ts,
neuer Extract- und Ingest-Test, e2e GOHOME-ROW. Alles grün.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1925 lines
79 KiB
C#
1925 lines
79 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
|
|
|
#nullable disable
|
|
|
|
namespace GerbilManagerWebAPI.Migrations
|
|
{
|
|
[DbContext(typeof(ApplicationContext))]
|
|
partial class ApplicationContextModelSnapshot : ModelSnapshot
|
|
{
|
|
protected override void BuildModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder
|
|
.HasAnnotation("ProductVersion", "10.0.8")
|
|
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
|
|
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.AcquisitionRecord", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<DateOnly?>("Date")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<Guid?>("GerbilId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Note")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<decimal?>("Price")
|
|
.HasPrecision(10, 2)
|
|
.HasColumnType("numeric(10,2)");
|
|
|
|
b.Property<Guid?>("SourceContactId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("GerbilId");
|
|
|
|
b.ToTable("AcquisitionRecords");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Block", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Data")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<int>("Order")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<Guid>("PageId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Type")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("PageId");
|
|
|
|
b.ToTable("Blocks");
|
|
|
|
b.HasData(
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000001"),
|
|
Data = "{\"text\":\"Startseite\",\"level\":1}",
|
|
Order = 0,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000001"),
|
|
Type = "Heading"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000002"),
|
|
Data = "{\"text\":\"Über die Zucht\",\"level\":1}",
|
|
Order = 0,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000002"),
|
|
Type = "Heading"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000003"),
|
|
Data = "{\"text\":\"Abgabetiere\",\"level\":1}",
|
|
Order = 0,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000003"),
|
|
Type = "Heading"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000004"),
|
|
Data = "{\"text\":\"Abgabebedingungen\",\"level\":1}",
|
|
Order = 0,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000004"),
|
|
Type = "Heading"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000005"),
|
|
Data = "{\"text\":\"Farben & Genetik\",\"level\":1}",
|
|
Order = 0,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000005"),
|
|
Type = "Heading"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000006"),
|
|
Data = "{\"text\":\"Kontakt\",\"level\":1}",
|
|
Order = 0,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000006"),
|
|
Type = "Heading"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000010"),
|
|
Data = "{\"mode\":\"auto\",\"intro\":\"\"}",
|
|
Order = 1,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000003"),
|
|
Type = "AbgabetiereList"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000007"),
|
|
Data = "{\"text\":\"Impressum\",\"level\":1}",
|
|
Order = 0,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000007"),
|
|
Type = "Heading"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000070"),
|
|
Data = "{\"markdown\":\"## Angaben gemäß § 18 Abs. 1 MStV\\n\\n[Vor- und Nachname]\\n[Straße und Hausnummer]\\n[PLZ und Ort]\\n\\n## Kontakt\\n\\nE-Mail: [E-Mail-Adresse]\\nTelefon: [Telefonnummer]\\n\\n---\\n\\nDiese Seite stellt eine private Hobbyzucht mongolischer Rennmäuse ohne Gewinnerzielungsabsicht vor.\\n\\n*Hinweis für den Seitenbetreiber: Name und ladungsfähige Anschrift (kein Postfach) sind Pflicht (§ 18 Abs. 1 MStV). Sollte die Zucht jemals gewerblich bzw. geschäftsmäßig betrieben werden, gelten zusätzlich § 5 DDG (vollständiges Anbieter-Impressum) und ggf. die Erlaubnispflicht nach § 11 TierSchG — dann zuständige Behörde und Aktenzeichen hier ergänzen. Kein Hinweis auf die EU-Streitbeilegungsplattform: diese wurde zum 20.07.2025 abgeschaltet (ein fortbestehender Link wäre irreführend).*\"}",
|
|
Order = 1,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000007"),
|
|
Type = "RichText"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000008"),
|
|
Data = "{\"text\":\"Datenschutz\",\"level\":1}",
|
|
Order = 0,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000008"),
|
|
Type = "Heading"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720002-0000-0000-0000-000000000080"),
|
|
Data = "{\"markdown\":\"## Datenschutzerklärung\\n\\n## 1. Verantwortlicher\\n\\nVerantwortlich für die Datenverarbeitung auf dieser Webseite ist:\\n[Vor- und Nachname]\\n[Straße und Hausnummer]\\n[PLZ und Ort]\\nE-Mail: [E-Mail-Adresse]\\n\\n## 2. Hosting und Server-Logfiles\\n\\nDiese Webseite wird auf einem eigenen Server betrieben. Beim Aufruf der Seite verarbeitet der Server automatisch Informationen, die dein Browser übermittelt, in sogenannten Server-Logfiles: IP-Adresse, Datum und Uhrzeit des Zugriffs, die aufgerufene Seite bzw. Datei, die übertragene Datenmenge sowie Browser und Betriebssystem.\\nDiese Verarbeitung ist technisch erforderlich, um die Webseite auszuliefern und ihren sicheren und stabilen Betrieb zu gewährleisten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse am störungsfreien Betrieb und an der Sicherheit). Die Logfiles werden nach spätestens [z. B. 7] Tagen gelöscht und nicht mit anderen Daten zusammengeführt.\\n\\n## 3. Cookies, Tracking und externe Dienste\\n\\nDiese Webseite verwendet keine Cookies, kein Tracking und keine Analyse- oder Marketing-Dienste. Es werden keine externen Inhalte Dritter (z. B. Schriftarten, Karten, Videos, CDNs) nachgeladen.\\n\\n## 4. Kontaktaufnahme\\n\\nWenn du uns per E-Mail kontaktierst, verarbeiten wir deine Angaben (z. B. Name, E-Mail-Adresse, Inhalt der Nachricht) ausschließlich zur Bearbeitung deiner Anfrage. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO bzw. Art. 6 Abs. 1 lit. f DSGVO. Die Daten werden gelöscht, sobald sie nicht mehr benötigt werden und keine gesetzlichen Aufbewahrungspflichten entgegenstehen.\\n\\n## 5. Empfänger der Daten\\n\\nEine Weitergabe deiner Daten an Dritte findet nicht statt. Eine Datenübermittlung in Länder außerhalb der EU bzw. des EWR erfolgt nicht.\\n\\n## 6. Deine Rechte\\n\\nDu hast jederzeit das Recht auf:\\n- Auskunft über die zu deiner Person gespeicherten Daten (Art. 15 DSGVO)\\n- Berichtigung unrichtiger Daten (Art. 16 DSGVO)\\n- Löschung (Art. 17 DSGVO)\\n- Einschränkung der Verarbeitung (Art. 18 DSGVO)\\n- Datenübertragbarkeit (Art. 20 DSGVO)\\n- Widerspruch gegen die Verarbeitung (Art. 21 DSGVO)\\n\\nZur Ausübung genügt eine formlose Nachricht an die oben genannte E-Mail-Adresse.\\n\\n## 7. Beschwerderecht bei der Aufsichtsbehörde\\n\\nDu hast das Recht, dich bei einer Datenschutz-Aufsichtsbehörde zu beschweren (Art. 77 DSGVO). Zuständig ist die Aufsichtsbehörde deines Bundeslandes bzw. des Seitenbetreibers: [zuständige Landesdatenschutzbehörde eintragen].\\n\\n## 8. Keine automatisierte Entscheidungsfindung\\n\\nEine automatisierte Entscheidungsfindung einschließlich Profiling nach Art. 22 DSGVO findet nicht statt.\\n\\n---\\n\\n*Hinweis für den Seitenbetreiber: Platzhalter in eckigen Klammern ausfüllen. Aufbewahrungsdauer der Logfiles an deinen Server bzw. Reverse-Proxy anpassen. Sobald externe Dienste oder ein Kontaktformular eingebunden werden, diesen Text ergänzen. Stand: [Datum eintragen].*\"}",
|
|
Order = 1,
|
|
PageId = new Guid("51720001-0000-0000-0000-000000000008"),
|
|
Type = "RichText"
|
|
});
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.BreederSettings", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Address")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("City")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Email")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Homepage")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("NameSuffix")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Phone")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("ZuchtName")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("BreederSettings");
|
|
|
|
b.HasData(
|
|
new
|
|
{
|
|
Id = new Guid("11111111-1111-1111-1111-000000000001"),
|
|
Address = "",
|
|
City = "",
|
|
Email = "",
|
|
Homepage = "",
|
|
Name = "",
|
|
NameSuffix = "",
|
|
Phone = "",
|
|
ZuchtName = ""
|
|
});
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.ColorVariety", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("CanonicalGenotype")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("text")
|
|
.UseCollation("de-x-icu");
|
|
|
|
b.Property<int>("SortOrder")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("ColorVarieties");
|
|
|
|
b.HasData(
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000001"),
|
|
CanonicalGenotype = "AA chch DD EE GG pp spsp rere",
|
|
Name = "REW",
|
|
SortOrder = 0
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000002"),
|
|
CanonicalGenotype = "aa chch DD EE GG PP spsp rere",
|
|
Name = "Hermelin",
|
|
SortOrder = 1
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000003"),
|
|
CanonicalGenotype = "AA chch DD EE GG PP spsp rere",
|
|
Name = "Himalaya",
|
|
SortOrder = 2
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000004"),
|
|
CanonicalGenotype = "aa cchmcchm DD EE gg PP spsp rere",
|
|
Name = "Zobel",
|
|
SortOrder = 3
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000005"),
|
|
CanonicalGenotype = "AA CC DD efef GG pp spsp rere",
|
|
Name = "Rotaugenschimmel",
|
|
SortOrder = 4
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000006"),
|
|
CanonicalGenotype = "AA CC DD EE GG PP spsp rere",
|
|
Name = "Agouti",
|
|
SortOrder = 5
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000007"),
|
|
CanonicalGenotype = "aa CC DD EE GG PP spsp rere",
|
|
Name = "Schwarz",
|
|
SortOrder = 6
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000008"),
|
|
CanonicalGenotype = "AA CC DD EE gg PP spsp rere",
|
|
Name = "Silberagouti",
|
|
SortOrder = 7
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000009"),
|
|
CanonicalGenotype = "aa CC DD EE gg PP spsp rere",
|
|
Name = "Anthrazit",
|
|
SortOrder = 8
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000010"),
|
|
CanonicalGenotype = "AA CC DD ee GG PP spsp rere",
|
|
Name = "Algierfuchs",
|
|
SortOrder = 9
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000011"),
|
|
CanonicalGenotype = "aa CC dd EE GG PP spsp rere",
|
|
Name = "Blau",
|
|
SortOrder = 10
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000012"),
|
|
CanonicalGenotype = "AA CC DD EE GG pp spsp rere",
|
|
Name = "Gold",
|
|
SortOrder = 11
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000013"),
|
|
CanonicalGenotype = "aa CC DD EE GG pp spsp rere",
|
|
Name = "Platin",
|
|
SortOrder = 12
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000014"),
|
|
CanonicalGenotype = "AA CC DD ee GG pp spsp rere",
|
|
Name = "Goldfuchs",
|
|
SortOrder = 13
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000015"),
|
|
CanonicalGenotype = "aa CC DD ee GG pp spsp rere",
|
|
Name = "Rotfuchs",
|
|
SortOrder = 14
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000016"),
|
|
CanonicalGenotype = "AA CC dd EE GG pp spsp rere",
|
|
Name = "Dilute Gold",
|
|
SortOrder = 15
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000017"),
|
|
CanonicalGenotype = "aa CC dd EE GG pp spsp rere",
|
|
Name = "Dilute Platin",
|
|
SortOrder = 16
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000018"),
|
|
CanonicalGenotype = "aa CC DD EE gg pp spsp rere",
|
|
Name = "Altweiss (REW)",
|
|
SortOrder = 17
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000019"),
|
|
CanonicalGenotype = "AA CC DD ee gg pp spsp rere",
|
|
Name = "Apricot (Blassfuchs)",
|
|
SortOrder = 18
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000020"),
|
|
CanonicalGenotype = "aa CC DD ee gg PP spsp rere",
|
|
Name = "Blaufuchs",
|
|
SortOrder = 19
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000021"),
|
|
CanonicalGenotype = "aa CC DD ee gg pp spsp rere",
|
|
Name = "C-Separator",
|
|
SortOrder = 20
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000022"),
|
|
CanonicalGenotype = "AA CC DD EE gg pp spsp rere",
|
|
Name = "Elfenbein",
|
|
SortOrder = 21
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000023"),
|
|
CanonicalGenotype = "aa CC DD ee GG PP spsp rere",
|
|
Name = "Kohlfuchs",
|
|
SortOrder = 22
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000024"),
|
|
CanonicalGenotype = "AA CC DD ee gg PP spsp rere",
|
|
Name = "Polarfuchs",
|
|
SortOrder = 23
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000025"),
|
|
CanonicalGenotype = "aa Ccchm DD EE GG pp spsp rere",
|
|
Name = "Saphir",
|
|
SortOrder = 24
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000026"),
|
|
CanonicalGenotype = "AA CC DD efef GG PP spsp rere",
|
|
Name = "Orangeschimmel",
|
|
SortOrder = 25
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000027"),
|
|
CanonicalGenotype = "AA CC DD EE GG pp spsp rere",
|
|
Name = "Topas",
|
|
SortOrder = 26
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000028"),
|
|
CanonicalGenotype = "aa Cch DD EE GG pp spsp rere",
|
|
Name = "Platin-Hell",
|
|
SortOrder = 27
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000029"),
|
|
CanonicalGenotype = "AA CC dd EE GG PP spsp rere",
|
|
Name = "Dilute Agouti",
|
|
SortOrder = 28
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000030"),
|
|
CanonicalGenotype = "AA CC dd EE gg PP spsp rere",
|
|
Name = "Dilute Silberagouti",
|
|
SortOrder = 29
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000031"),
|
|
CanonicalGenotype = "aa CC dd ee GG PP spsp rere",
|
|
Name = "Dilute Kohlfuchs",
|
|
SortOrder = 30
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000032"),
|
|
CanonicalGenotype = "aa CC dd EE gg PP spsp rere",
|
|
Name = "Dilute Anthrazit",
|
|
SortOrder = 31
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000033"),
|
|
CanonicalGenotype = "AA CC DD efef gg PP spsp rere",
|
|
Name = "Silberschimmel",
|
|
SortOrder = 36
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000034"),
|
|
CanonicalGenotype = "AA CC DD efe gg PP spsp rere",
|
|
Name = "Polarfuchsschimmel",
|
|
SortOrder = 37
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000035"),
|
|
CanonicalGenotype = "AA CC DD efe GG PP spsp rere",
|
|
Name = "Algierfuchsschimmel",
|
|
SortOrder = 38
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000036"),
|
|
CanonicalGenotype = "aa CC DD efe GG PP spsp rere",
|
|
Name = "Kohlfuchsschimmel",
|
|
SortOrder = 39
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000037"),
|
|
CanonicalGenotype = "aa CC DD efe gg PP spsp rere",
|
|
Name = "Blaufuchsschimmel",
|
|
SortOrder = 40
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000038"),
|
|
CanonicalGenotype = "aa CC DD ee GG PP spsp rere",
|
|
Name = "Kohlfuchs, hell",
|
|
SortOrder = 41
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000039"),
|
|
CanonicalGenotype = "AA CC DD ee GG pp spsp rere",
|
|
Name = "Goldfuchs, hell",
|
|
SortOrder = 42
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000040"),
|
|
CanonicalGenotype = "AA CC DD efe GG pp spsp rere",
|
|
Name = "Goldfuchsschimmel",
|
|
SortOrder = 43
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000041"),
|
|
CanonicalGenotype = "AA CC DD EE GG pp spsp rere",
|
|
Name = "Gold-Hell",
|
|
SortOrder = 44
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000042"),
|
|
CanonicalGenotype = "aa CC DD ee gg PP spsp rere",
|
|
Name = "Blaufuchs, hell",
|
|
SortOrder = 45
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000043"),
|
|
CanonicalGenotype = "aa CC DD efe GG pp spsp rere",
|
|
Name = "Rotfuchsschimmel",
|
|
SortOrder = 46
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000044"),
|
|
CanonicalGenotype = "AA CC DD ee gg PP spsp rere",
|
|
Name = "Polarfuchs, hell",
|
|
SortOrder = 47
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000045"),
|
|
CanonicalGenotype = "aa CC DD efe GG PP spsp rere",
|
|
Name = "Kohlfuchsschimmel, hell",
|
|
SortOrder = 48
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000046"),
|
|
CanonicalGenotype = "aa CC DD ee GG pp spsp rere",
|
|
Name = "Rotfuchs, hell",
|
|
SortOrder = 49
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000047"),
|
|
CanonicalGenotype = "aa CC DD ee GG PP spsp rere",
|
|
Name = "Kohlfuchs-Hell",
|
|
SortOrder = 50
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000048"),
|
|
CanonicalGenotype = "AA CC DD ee GG PP spsp rere",
|
|
Name = "Algierfuchs, hell",
|
|
SortOrder = 51
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000049"),
|
|
CanonicalGenotype = "AA CC dd EE GG pp spsp rere",
|
|
Name = "Dilute Topas",
|
|
SortOrder = 52
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000050"),
|
|
CanonicalGenotype = "aa CC dd ee gg PP spsp rere",
|
|
Name = "Dilute Blaufuchs",
|
|
SortOrder = 53
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000051"),
|
|
CanonicalGenotype = "aa cchmcchm DD EE GG PP spsp rere",
|
|
Name = "Marder",
|
|
SortOrder = 54
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000052"),
|
|
CanonicalGenotype = "aa cchmch DD EE GG PP spsp rere",
|
|
Name = "Siam",
|
|
SortOrder = 55
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000053"),
|
|
CanonicalGenotype = "aa cchmch DD EE gg PP spsp rere",
|
|
Name = "Zobel-Hell",
|
|
SortOrder = 56
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000054"),
|
|
CanonicalGenotype = "AA cchmcchm DD EE GG PP spsp rere",
|
|
Name = "CP-Agouti",
|
|
SortOrder = 57
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000055"),
|
|
CanonicalGenotype = "AA cchmcchm DD EE gg PP spsp rere",
|
|
Name = "CP-Silberagouti",
|
|
SortOrder = 59
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000056"),
|
|
CanonicalGenotype = "AA cchmcchm DD ee GG PP spsp rere",
|
|
Name = "CP-Algierfuchs",
|
|
SortOrder = 61
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000057"),
|
|
CanonicalGenotype = "AA cchmcchm DD ee gg PP spsp rere",
|
|
Name = "CP-Polarfuchs",
|
|
SortOrder = 63
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000058"),
|
|
CanonicalGenotype = "AA cchmcchm dd ee GG PP spsp rere",
|
|
Name = "CP-Fuchs",
|
|
SortOrder = 65
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000059"),
|
|
CanonicalGenotype = "AA cchmch dd ee GG PP spsp rere",
|
|
Name = "CP-Fuchs-Hell",
|
|
SortOrder = 66
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000060"),
|
|
CanonicalGenotype = "AA cchmcchm dd ee gg PP spsp rere",
|
|
Name = "CP-Blaufuchs",
|
|
SortOrder = 67
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000061"),
|
|
CanonicalGenotype = "AA cchmcchm DD efef GG PP spsp rere",
|
|
Name = "CP-Orangeschimmel",
|
|
SortOrder = 68
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000062"),
|
|
CanonicalGenotype = "AA cchmch DD EE GG PP spsp rere",
|
|
Name = "CP-Agouti-Hell",
|
|
SortOrder = 58
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000063"),
|
|
CanonicalGenotype = "AA cchmch DD EE gg PP spsp rere",
|
|
Name = "CP-Silberagouti-Hell",
|
|
SortOrder = 60
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000064"),
|
|
CanonicalGenotype = "AA cchmch DD ee GG PP spsp rere",
|
|
Name = "CP-Algierfuchs-Hell",
|
|
SortOrder = 62
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000065"),
|
|
CanonicalGenotype = "AA cchmch DD ee gg PP spsp rere",
|
|
Name = "CP-Polarfuchs-Hell",
|
|
SortOrder = 64
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000066"),
|
|
CanonicalGenotype = "AA cchmch DD efef GG PP spsp rere",
|
|
Name = "CP-Orangeschimmel-Hell",
|
|
SortOrder = 69
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000067"),
|
|
CanonicalGenotype = "AA CC dd ee GG PP spsp rere",
|
|
Name = "Dilute Algierfuchs",
|
|
SortOrder = 32
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000068"),
|
|
CanonicalGenotype = "AA CC dd ee GG pp spsp rere",
|
|
Name = "Dilute Goldfuchs",
|
|
SortOrder = 33
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000069"),
|
|
CanonicalGenotype = "aa CC dd ee GG pp spsp rere",
|
|
Name = "Dilute Rotfuchs",
|
|
SortOrder = 34
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("00000000-0000-0000-0000-000000000070"),
|
|
CanonicalGenotype = "AA CC dd ee gg PP spsp rere",
|
|
Name = "Dilute Polarfuchs",
|
|
SortOrder = 35
|
|
});
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Contact", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Address")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Email")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<bool>("IsBreeder")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<bool>("IsManual")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("boolean")
|
|
.HasDefaultValue(false);
|
|
|
|
b.Property<bool>("IsReceiver")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("text")
|
|
.UseCollation("de-x-icu");
|
|
|
|
b.Property<string>("NameSuffix")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Phone")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Provenance")
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Contacts");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Enclosure", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<int?>("Capacity")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int?>("CleaningCycleDays")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<DateOnly?>("LastCleanedDate")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Size")
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Enclosures");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.EnclosurePhoto", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Caption")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<Guid>("EnclosureId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("FileName")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<int>("SortOrder")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("EnclosureId");
|
|
|
|
b.ToTable("EnclosurePhotos");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.ExhibitionResult", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Award")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<DateTime?>("Date")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("EntityName")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("EventName")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<Guid?>("GerbilId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Note")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Placement")
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("GerbilId");
|
|
|
|
b.ToTable("ExhibitionResults");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Feedback", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("AgentContext")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Answer")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset?>("AnsweredAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Category")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset?>("ClientTimestamp")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<Guid?>("ContactId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Context")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<DateTimeOffset?>("DeletedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("EntityName")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("FixNote")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<Guid?>("GerbilId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<bool?>("Helpful")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<Guid?>("LitterId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Message")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Question")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset?>("ReopenedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<DateTimeOffset?>("ResolvedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Thread")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Url")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("UserAgent")
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CreatedAt");
|
|
|
|
b.ToTable("Feedback");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.FeedbackAttachment", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("ContentType")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<byte[]>("Data")
|
|
.IsRequired()
|
|
.HasColumnType("bytea");
|
|
|
|
b.Property<Guid>("FeedbackId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("FileName")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<int>("Size")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("FeedbackAttachments");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Gerbil", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<int?>("BirthOrder")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("CauseOfDeath")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("CharacterNote")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("CharacterTraits")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<Guid?>("ColorVarietyId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<DateOnly?>("DateOfBirth")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<DateOnly?>("DateOfDeath")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<Guid?>("EnclosureId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("ExternalRef")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Gender")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Genotype")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateOnly?>("GoHomeDate")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<string>("ImportSource")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<bool>("IsCastrated")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<bool?>("IsDeaf")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<bool>("IsManual")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("boolean")
|
|
.HasDefaultValue(false);
|
|
|
|
b.Property<bool>("IsResident")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("boolean")
|
|
.HasDefaultValue(true);
|
|
|
|
b.Property<Guid?>("LitterId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("text")
|
|
.UseCollation("de-x-icu");
|
|
|
|
b.Property<string>("NameSearch")
|
|
.HasColumnType("text")
|
|
.UseCollation("de-x-icu");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("OriginBreeder")
|
|
.HasColumnType("text")
|
|
.UseCollation("de-x-icu");
|
|
|
|
b.Property<Guid?>("OriginContactId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Provenance")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("RawImportData")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<Guid?>("ReceiverContactId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("SpottingType")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("ColorVarietyId");
|
|
|
|
b.HasIndex("EnclosureId");
|
|
|
|
b.HasIndex("ExternalRef")
|
|
.IsUnique()
|
|
.HasFilter("\"ExternalRef\" IS NOT NULL");
|
|
|
|
b.HasIndex("LitterId");
|
|
|
|
b.HasIndex("OriginContactId");
|
|
|
|
b.HasIndex("ReceiverContactId");
|
|
|
|
b.ToTable("Gerbils");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.GerbilOverride", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("EntityName")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<Guid>("GerbilId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<bool>("IsVerified")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<string>("LastImportDiffJson")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("LastImportSnapshotJson")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Note")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("OverrideJson")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("SnapshotJson")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("UpdatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<DateTimeOffset?>("VerifiedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("GerbilId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("GerbilOverrides");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.GerbilPhoto", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Caption")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("FileName")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<Guid>("GerbilId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<int>("SortOrder")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("GerbilId");
|
|
|
|
b.ToTable("GerbilPhotos");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.HealthRecord", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<DateOnly>("Date")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<string>("Description")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<Guid>("GerbilId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Type")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Veterinarian")
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("GerbilId");
|
|
|
|
b.ToTable("HealthRecords");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Litter", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<DateOnly?>("Date")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<int?>("DeathsWithin8Weeks")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<DateOnly?>("ExpectedGoHomeDate")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<string>("ExternalRef")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<Guid?>("FatherId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<bool>("IsManual")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("boolean")
|
|
.HasDefaultValue(false);
|
|
|
|
b.Property<string>("LitterLetter")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<Guid?>("MotherId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("PairingCode")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Provenance")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<bool>("ShowInChronicle")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<int?>("Stillborn")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int?>("TotalBorn")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("ExternalRef")
|
|
.IsUnique()
|
|
.HasFilter("\"ExternalRef\" IS NOT NULL");
|
|
|
|
b.HasIndex("FatherId");
|
|
|
|
b.HasIndex("MotherId");
|
|
|
|
b.ToTable("Litters");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.MailSettings", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("AppPasswordProtected")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<bool>("BackgroundPollEnabled")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<string>("Folder")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("GmailAddress")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<long>("LastUid")
|
|
.HasColumnType("bigint");
|
|
|
|
b.Property<int>("PollIntervalMinutes")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("MailSettings");
|
|
|
|
b.HasData(
|
|
new
|
|
{
|
|
Id = new Guid("ab0c0000-0000-0000-0000-000000000001"),
|
|
BackgroundPollEnabled = false,
|
|
Folder = "INBOX",
|
|
LastUid = 0L,
|
|
PollIntervalMinutes = 15
|
|
});
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Media", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Alt")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("FileName")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<int?>("Height")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("Url")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<int?>("Width")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Media");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Page", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("SeoDescription")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Slug")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Title")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Slug")
|
|
.IsUnique();
|
|
|
|
b.ToTable("Pages");
|
|
|
|
b.HasData(
|
|
new
|
|
{
|
|
Id = new Guid("51720001-0000-0000-0000-000000000001"),
|
|
Slug = "start",
|
|
Status = "Published",
|
|
Title = "Startseite"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720001-0000-0000-0000-000000000002"),
|
|
Slug = "ueber-die-zucht",
|
|
Status = "Published",
|
|
Title = "Über die Zucht"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720001-0000-0000-0000-000000000003"),
|
|
Slug = "abgabetiere",
|
|
Status = "Published",
|
|
Title = "Abgabetiere"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720001-0000-0000-0000-000000000004"),
|
|
Slug = "abgabebedingungen",
|
|
Status = "Published",
|
|
Title = "Abgabebedingungen"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720001-0000-0000-0000-000000000005"),
|
|
Slug = "farben-genetik",
|
|
Status = "Published",
|
|
Title = "Farben & Genetik"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720001-0000-0000-0000-000000000006"),
|
|
Slug = "kontakt",
|
|
Status = "Published",
|
|
Title = "Kontakt"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720001-0000-0000-0000-000000000007"),
|
|
Slug = "impressum",
|
|
Status = "Published",
|
|
Title = "Impressum"
|
|
},
|
|
new
|
|
{
|
|
Id = new Guid("51720001-0000-0000-0000-000000000008"),
|
|
Slug = "datenschutz",
|
|
Status = "Published",
|
|
Title = "Datenschutz"
|
|
});
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Request", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<DateTimeOffset?>("AnsweredAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<Guid?>("AssignedContactId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("BodyText")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("DraftReply")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("FromAddress")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("FromName")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("GmailMessageId")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("InReplyToMessageId")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("ReceivedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("ReferencesHeader")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Subject")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("ThreadId")
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("AssignedContactId");
|
|
|
|
b.HasIndex("GmailMessageId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("Requests");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.ReturnRecord", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<Guid?>("FromContactId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("FromContactName")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<Guid?>("GerbilId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("GerbilName")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Note")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<decimal?>("OriginalPrice")
|
|
.HasPrecision(10, 2)
|
|
.HasColumnType("numeric(10,2)");
|
|
|
|
b.Property<DateTime?>("OriginalSaleDate")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<DateTime?>("ReturnDate")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<decimal?>("ReturnPrice")
|
|
.HasPrecision(10, 2)
|
|
.HasColumnType("numeric(10,2)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CreatedAt");
|
|
|
|
b.HasIndex("GerbilId");
|
|
|
|
b.ToTable("ReturnRecords");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleContract", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<Guid>("ContactId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<DateOnly>("ContractDate")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("FileName")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateOnly>("HandoverDate")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<decimal>("Price")
|
|
.HasPrecision(10, 2)
|
|
.HasColumnType("numeric(10,2)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("ContactId");
|
|
|
|
b.ToTable("SaleContracts");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleContractAnimal", b =>
|
|
{
|
|
b.Property<Guid>("SaleContractId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<Guid>("GerbilId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<Guid?>("PhotoId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.HasKey("SaleContractId", "GerbilId");
|
|
|
|
b.HasIndex("GerbilId");
|
|
|
|
b.ToTable("SaleContractAnimal");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleReservation", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<DateTime?>("AppointmentDate")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("ContactName")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<Guid>("GerbilId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("GerbilName")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTime?>("HandedOverDate")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Note")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<decimal?>("Price")
|
|
.HasPrecision(10, 2)
|
|
.HasColumnType("numeric(10,2)");
|
|
|
|
b.Property<Guid?>("ReservedForContactId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("UpdatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("GerbilId");
|
|
|
|
b.ToTable("SaleReservations");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Site", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("DefaultLocale")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("NavOrder")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Sites");
|
|
|
|
b.HasData(
|
|
new
|
|
{
|
|
Id = new Guid("5172e000-0000-0000-0000-000000000001"),
|
|
DefaultLocale = "de",
|
|
NavOrder = "[\"51720001-0000-0000-0000-000000000001\",\"51720001-0000-0000-0000-000000000002\",\"51720001-0000-0000-0000-000000000003\",\"51720001-0000-0000-0000-000000000004\",\"51720001-0000-0000-0000-000000000005\",\"51720001-0000-0000-0000-000000000006\"]"
|
|
});
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.WaitingListEntry", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<Guid?>("ContactId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("ContactName")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Note")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTime?>("RequestedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("WishColor")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("WishGender")
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CreatedAt");
|
|
|
|
b.ToTable("WaitingListEntries");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.WebPushSubscription", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Auth")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Endpoint")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("P256dh")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("WebPushSubscriptions");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.WeightRecord", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<DateOnly>("Date")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<Guid>("GerbilId")
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasColumnType("text");
|
|
|
|
b.Property<int>("WeightGrams")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("GerbilId");
|
|
|
|
b.ToTable("WeightRecords");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Block", b =>
|
|
{
|
|
b.HasOne("GerbilManagerWebAPI.Models.Page", null)
|
|
.WithMany("Blocks")
|
|
.HasForeignKey("PageId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.EnclosurePhoto", b =>
|
|
{
|
|
b.HasOne("GerbilManagerWebAPI.Models.Enclosure", null)
|
|
.WithMany()
|
|
.HasForeignKey("EnclosureId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Gerbil", b =>
|
|
{
|
|
b.HasOne("GerbilManagerWebAPI.Models.ColorVariety", "ColorVariety")
|
|
.WithMany()
|
|
.HasForeignKey("ColorVarietyId")
|
|
.OnDelete(DeleteBehavior.SetNull);
|
|
|
|
b.HasOne("GerbilManagerWebAPI.Models.Enclosure", "Enclosure")
|
|
.WithMany("Gerbils")
|
|
.HasForeignKey("EnclosureId")
|
|
.OnDelete(DeleteBehavior.SetNull);
|
|
|
|
b.HasOne("GerbilManagerWebAPI.Models.Litter", "Litter")
|
|
.WithMany()
|
|
.HasForeignKey("LitterId")
|
|
.OnDelete(DeleteBehavior.SetNull);
|
|
|
|
b.HasOne("GerbilManagerWebAPI.Models.Contact", "OriginContact")
|
|
.WithMany()
|
|
.HasForeignKey("OriginContactId")
|
|
.OnDelete(DeleteBehavior.Restrict);
|
|
|
|
b.HasOne("GerbilManagerWebAPI.Models.Contact", "ReceiverContact")
|
|
.WithMany()
|
|
.HasForeignKey("ReceiverContactId")
|
|
.OnDelete(DeleteBehavior.Restrict);
|
|
|
|
b.Navigation("ColorVariety");
|
|
|
|
b.Navigation("Enclosure");
|
|
|
|
b.Navigation("Litter");
|
|
|
|
b.Navigation("OriginContact");
|
|
|
|
b.Navigation("ReceiverContact");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.GerbilPhoto", b =>
|
|
{
|
|
b.HasOne("GerbilManagerWebAPI.Models.Gerbil", null)
|
|
.WithMany()
|
|
.HasForeignKey("GerbilId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.HealthRecord", b =>
|
|
{
|
|
b.HasOne("GerbilManagerWebAPI.Models.Gerbil", null)
|
|
.WithMany()
|
|
.HasForeignKey("GerbilId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Litter", b =>
|
|
{
|
|
b.HasOne("GerbilManagerWebAPI.Models.Gerbil", "Father")
|
|
.WithMany()
|
|
.HasForeignKey("FatherId")
|
|
.OnDelete(DeleteBehavior.Restrict);
|
|
|
|
b.HasOne("GerbilManagerWebAPI.Models.Gerbil", "Mother")
|
|
.WithMany()
|
|
.HasForeignKey("MotherId")
|
|
.OnDelete(DeleteBehavior.Restrict);
|
|
|
|
b.Navigation("Father");
|
|
|
|
b.Navigation("Mother");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Request", b =>
|
|
{
|
|
b.HasOne("GerbilManagerWebAPI.Models.Contact", "AssignedContact")
|
|
.WithMany()
|
|
.HasForeignKey("AssignedContactId")
|
|
.OnDelete(DeleteBehavior.Restrict);
|
|
|
|
b.Navigation("AssignedContact");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleContract", b =>
|
|
{
|
|
b.HasOne("GerbilManagerWebAPI.Models.Contact", "Contact")
|
|
.WithMany()
|
|
.HasForeignKey("ContactId")
|
|
.OnDelete(DeleteBehavior.Restrict)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Contact");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleContractAnimal", b =>
|
|
{
|
|
b.HasOne("GerbilManagerWebAPI.Models.Gerbil", "Gerbil")
|
|
.WithMany()
|
|
.HasForeignKey("GerbilId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("GerbilManagerWebAPI.Models.SaleContract", null)
|
|
.WithMany("Animals")
|
|
.HasForeignKey("SaleContractId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Gerbil");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.WeightRecord", b =>
|
|
{
|
|
b.HasOne("GerbilManagerWebAPI.Models.Gerbil", null)
|
|
.WithMany()
|
|
.HasForeignKey("GerbilId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Enclosure", b =>
|
|
{
|
|
b.Navigation("Gerbils");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.Page", b =>
|
|
{
|
|
b.Navigation("Blocks");
|
|
});
|
|
|
|
modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleContract", b =>
|
|
{
|
|
b.Navigation("Animals");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|