//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using UserService.DatabaseLayer.DataModels;
namespace UserService.DatabaseLayer.Migrations
{
[DbContext(typeof(UserServiceDbContext))]
[Migration("20200906191545_InitialCreate")]
partial class InitialCreate
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.7");
modelBuilder.Entity("UserService.Infrastructure.DataModels.MembersMember", b =>
{
b.Property("MemberId")
.HasColumnType("TEXT");
b.Property("AttachedMemberId")
.HasColumnType("TEXT");
b.HasKey("MemberId", "AttachedMemberId");
b.HasIndex("AttachedMemberId");
b.ToTable("UserMembers");
b.HasData(
new
{
MemberId = new Guid("a830a548-8b92-4a95-aa8e-c71ae814c6a3"),
AttachedMemberId = new Guid("fd9f5d95-0898-47d4-8d25-6956077ba269")
});
});
modelBuilder.Entity("UserService.Infrastructure.DataModels.Node", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property("CommonName")
.IsRequired()
.HasColumnType("TEXT");
b.Property("Description")
.HasColumnType("TEXT");
b.Property("Discriminator")
.IsRequired()
.HasColumnType("TEXT");
b.Property("ParentId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("ParentId");
b.ToTable("Node");
b.HasDiscriminator("Discriminator").HasValue("Node");
});
modelBuilder.Entity("UserService.Infrastructure.DataModels.Member", b =>
{
b.HasBaseType("UserService.Infrastructure.DataModels.Node");
b.HasDiscriminator().HasValue("Member");
});
modelBuilder.Entity("UserService.Infrastructure.DataModels.OrganizationUnit", b =>
{
b.HasBaseType("UserService.Infrastructure.DataModels.Node");
b.Property("ManagerId")
.HasColumnType("TEXT");
b.HasIndex("ManagerId");
b.HasDiscriminator().HasValue("OrganizationUnit");
b.HasData(
new
{
Id = new Guid("c2366c9c-e79a-45c8-933c-40d0301b2551"),
CommonName = "Users"
},
new
{
Id = new Guid("c94f4749-b7c7-418d-8c10-bc4253c4b913"),
CommonName = "Groups"
},
new
{
Id = new Guid("c743fff4-9bdf-45a4-b4c9-391f6fc46433"),
CommonName = "Germany",
ParentId = new Guid("c2366c9c-e79a-45c8-933c-40d0301b2551")
},
new
{
Id = new Guid("cecbf557-59cc-475c-b136-02da39aa4911"),
CommonName = "USA",
ParentId = new Guid("c2366c9c-e79a-45c8-933c-40d0301b2551")
},
new
{
Id = new Guid("89e1d70e-da3d-4cc9-81f1-a2fa76a6d33b"),
CommonName = "Arizona",
ParentId = new Guid("cecbf557-59cc-475c-b136-02da39aa4911")
},
new
{
Id = new Guid("97ad8c82-c5ea-4de1-a474-bf25418a9533"),
CommonName = "France",
ParentId = new Guid("c2366c9c-e79a-45c8-933c-40d0301b2551")
});
});
modelBuilder.Entity("UserService.Infrastructure.DataModels.SecurityGroup", b =>
{
b.HasBaseType("UserService.Infrastructure.DataModels.Member");
b.HasDiscriminator().HasValue("SecurityGroup");
b.HasData(
new
{
Id = new Guid("a830a548-8b92-4a95-aa8e-c71ae814c6a3"),
CommonName = "Global Admin",
ParentId = new Guid("c94f4749-b7c7-418d-8c10-bc4253c4b913")
});
});
modelBuilder.Entity("UserService.Infrastructure.DataModels.User", b =>
{
b.HasBaseType("UserService.Infrastructure.DataModels.Member");
b.Property("EMail")
.HasColumnType("TEXT");
b.Property("FirstName")
.HasColumnType("TEXT");
b.Property("IsActive")
.HasColumnType("INTEGER");
b.Property("LastName")
.HasColumnType("TEXT");
b.HasDiscriminator().HasValue("User");
b.HasData(
new
{
Id = new Guid("fd9f5d95-0898-47d4-8d25-6956077ba269"),
CommonName = "holger",
ParentId = new Guid("c2366c9c-e79a-45c8-933c-40d0301b2551"),
IsActive = true
});
});
modelBuilder.Entity("UserService.Infrastructure.DataModels.MembersMember", b =>
{
b.HasOne("UserService.Infrastructure.DataModels.Member", "AttachedMember")
.WithMany("MemberOf")
.HasForeignKey("AttachedMemberId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("UserService.Infrastructure.DataModels.Member", "Member")
.WithMany("Members")
.HasForeignKey("MemberId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("UserService.Infrastructure.DataModels.Node", b =>
{
b.HasOne("UserService.Infrastructure.DataModels.Node", "Parent")
.WithMany("Children")
.HasForeignKey("ParentId");
});
modelBuilder.Entity("UserService.Infrastructure.DataModels.OrganizationUnit", b =>
{
b.HasOne("UserService.Infrastructure.DataModels.Member", "Manager")
.WithMany()
.HasForeignKey("ManagerId");
});
#pragma warning restore 612, 618
}
}
}