// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using OTSSignsOrchestrator.Core.Data;

#nullable disable

namespace OTSSignsOrchestrator.Core.Migrations
{
    [DbContext(typeof(XiboContext))]
    partial class XiboContextModelSnapshot : ModelSnapshot
    {
        protected override void BuildModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder.HasAnnotation("ProductVersion", "9.0.2");

            modelBuilder.Entity("OTSSignsOrchestrator.Core.Models.Entities.OperationLog", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("TEXT");

                    b.Property<long?>("DurationMs")
                        .HasColumnType("INTEGER");

                    b.Property<string>("Message")
                        .HasMaxLength(2000)
                        .HasColumnType("TEXT");

                    b.Property<int>("Operation")
                        .HasColumnType("INTEGER");

                    b.Property<string>("StackName")
                        .HasMaxLength(150)
                        .HasColumnType("TEXT");

                    b.Property<int>("Status")
                        .HasColumnType("INTEGER");

                    b.Property<DateTime>("Timestamp")
                        .HasColumnType("TEXT");

                    b.Property<string>("UserId")
                        .HasMaxLength(200)
                        .HasColumnType("TEXT");

                    b.HasKey("Id");

                    b.HasIndex("Operation");

                    b.HasIndex("StackName");

                    b.HasIndex("Timestamp");

                    b.ToTable("OperationLogs");
                });

            modelBuilder.Entity("OTSSignsOrchestrator.Core.Models.Entities.SshHost", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("TEXT");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("TEXT");

                    b.Property<string>("Host")
                        .IsRequired()
                        .HasMaxLength(500)
                        .HasColumnType("TEXT");

                    b.Property<string>("KeyPassphrase")
                        .HasMaxLength(2000)
                        .HasColumnType("TEXT");

                    b.Property<string>("Label")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("TEXT");

                    b.Property<bool?>("LastTestSuccess")
                        .HasColumnType("INTEGER");

                    b.Property<DateTime?>("LastTestedAt")
                        .HasColumnType("TEXT");

                    b.Property<string>("Password")
                        .HasMaxLength(2000)
                        .HasColumnType("TEXT");

                    b.Property<int>("Port")
                        .HasColumnType("INTEGER");

                    b.Property<string>("PrivateKeyPath")
                        .HasMaxLength(1000)
                        .HasColumnType("TEXT");

                    b.Property<DateTime>("UpdatedAt")
                        .HasColumnType("TEXT");

                    b.Property<bool>("UseKeyAuth")
                        .HasColumnType("INTEGER");

                    b.Property<string>("Username")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("TEXT");

                    b.HasKey("Id");

                    b.HasIndex("Label")
                        .IsUnique();

                    b.ToTable("SshHosts");
                });
#pragma warning restore 612, 618
        }
    }
}
