yavsc/src/Yavsc.Org/Migrations/ApplicationDbContextModelSnapshot.cs
Paul Schneider 06672c4c90
remove dead 'Comment' field from CircleAuthorizationToBlogPost
The bool Comment on CircleAuthorizationToBlogPost was dead code:
never read or written by any caller in src/, no UI exposure, no
behavioural semantics. The wire DTO (CircleAuthorization in
Yavsc.Abstract) doesn't carry it, no reader consumes it, and the
PostIt client builds its payload without it.

What changes:
- src/Yavsc.Server/Models/Access/CircleAuthorizationToBlogPost.cs:
  remove the property.
- src/Yavsc.Blogs.Tests/BlogAclApiTests.cs: drop 'Comment = true'
  from the existing test payload and trim the now-inaccurate XML
  doc comment ('CircleId + BlogPostId + Comment' -> 'CircleId +
  BlogPostId'). Also adds a new [Fact] pinning the prod bug
  reported on 2026-08-21 (HTTP 500 'BlogPostId is unknown' when
  PostIt POSTs the bare { circleId } shape). That test stays red:
  the real fix for the 500 is in PostIt (payload needs blogPostId)
  + on the wire DTO + server-side validation, and lives in a
  follow-up commit.

Migration:
- src/Yavsc.Org/Migrations/20260820232152_DropCommentFromCircleAuthorizationToBlogPost
  drops the boolean 'Comment' column on CircleAuthorizationToBlogPost.
  The generated scaffold also wanted to drop three 'ClientId1'
  shadow FK columns on ClientScopes / ClientRedirectUris /
  ClientGrantTypes (from leftover HasOne<Client>() overrides in
  ApplicationDbContext.OnModelCreating); those were removed from
  the .cs to keep the migration scoped to this fix. Cleaning up the
  shadow property declarations themselves is left as a separate
  task.

The ModelSnapshot still reflects the shadow 'ClientId1' columns
intentionally: they exist in the prod database today (all NULL),
and EF will rescaffold a drop migration for them on the next
'migrations add' regardless. No data loss.
2026-08-21 00:27:27 +01:00

4642 lines
160 KiB
C#

// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using Yavsc.Models;
#nullable disable
namespace Yavsc.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
partial class ApplicationDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "10.0.9")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiResource", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<string>("AllowedAccessTokenSigningAlgorithms")
.HasColumnType("text");
b.Property<DateTime>("Created")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<string>("DisplayName")
.HasColumnType("text");
b.Property<bool>("Enabled")
.HasColumnType("boolean");
b.Property<DateTime?>("LastAccessed")
.HasColumnType("timestamp with time zone");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<bool>("NonEditable")
.HasColumnType("boolean");
b.Property<bool>("ShowInDiscoveryDocument")
.HasColumnType("boolean");
b.Property<DateTime?>("Updated")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("ApiResources");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiResourceClaim", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("ApiResourceId")
.HasColumnType("integer");
b.Property<int?>("ApiResourceId1")
.HasColumnType("integer");
b.Property<string>("Type")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ApiResourceId");
b.HasIndex("ApiResourceId1");
b.ToTable("ApiResourceClaims");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiResourceProperty", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("ApiResourceId")
.HasColumnType("integer");
b.Property<int?>("ApiResourceId1")
.HasColumnType("integer");
b.Property<string>("Key")
.HasColumnType("text");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ApiResourceId");
b.HasIndex("ApiResourceId1");
b.ToTable("ApiResourceProperties");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiResourceScope", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("ApiResourceId")
.HasColumnType("integer");
b.Property<int?>("ApiResourceId1")
.HasColumnType("integer");
b.Property<string>("Scope")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ApiResourceId");
b.HasIndex("ApiResourceId1");
b.ToTable("ApiResourceScopes");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiResourceSecret", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("ApiResourceId")
.HasColumnType("integer");
b.Property<int?>("ApiResourceId1")
.HasColumnType("integer");
b.Property<DateTime>("Created")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<DateTime?>("Expiration")
.HasColumnType("timestamp with time zone");
b.Property<string>("Type")
.HasColumnType("text");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ApiResourceId");
b.HasIndex("ApiResourceId1");
b.ToTable("ApiResourceSecrets");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiScope", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<string>("Description")
.HasColumnType("text");
b.Property<string>("DisplayName")
.HasColumnType("text");
b.Property<bool>("Emphasize")
.HasColumnType("boolean");
b.Property<bool>("Enabled")
.HasColumnType("boolean");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<bool>("Required")
.HasColumnType("boolean");
b.Property<bool>("ShowInDiscoveryDocument")
.HasColumnType("boolean");
b.HasKey("Id");
b.ToTable("ApiScopes");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiScopeClaim", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("ScopeId")
.HasColumnType("integer");
b.Property<int?>("ScopeId1")
.HasColumnType("integer");
b.Property<string>("Type")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ScopeId");
b.HasIndex("ScopeId1");
b.ToTable("ApiScopeClaims");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiScopeProperty", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Key")
.HasColumnType("text");
b.Property<int>("ScopeId")
.HasColumnType("integer");
b.Property<int?>("ScopeId1")
.HasColumnType("integer");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ScopeId");
b.HasIndex("ScopeId1");
b.ToTable("ApiScopeProperties");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.Client", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<int>("AbsoluteRefreshTokenLifetime")
.HasColumnType("integer");
b.Property<int>("AccessTokenLifetime")
.HasColumnType("integer");
b.Property<int>("AccessTokenType")
.HasColumnType("integer");
b.Property<bool>("AllowAccessTokensViaBrowser")
.HasColumnType("boolean");
b.Property<bool>("AllowOfflineAccess")
.HasColumnType("boolean");
b.Property<bool>("AllowPlainTextPkce")
.HasColumnType("boolean");
b.Property<bool>("AllowRememberConsent")
.HasColumnType("boolean");
b.Property<string>("AllowedIdentityTokenSigningAlgorithms")
.HasColumnType("text");
b.Property<bool>("AlwaysIncludeUserClaimsInIdToken")
.HasColumnType("boolean");
b.Property<bool>("AlwaysSendClientClaims")
.HasColumnType("boolean");
b.Property<int>("AuthorizationCodeLifetime")
.HasColumnType("integer");
b.Property<bool>("BackChannelLogoutSessionRequired")
.HasColumnType("boolean");
b.Property<string>("BackChannelLogoutUri")
.HasColumnType("text");
b.Property<string>("ClientClaimsPrefix")
.HasColumnType("text");
b.Property<string>("ClientId")
.HasColumnType("text");
b.Property<string>("ClientName")
.HasColumnType("text");
b.Property<string>("ClientUri")
.HasColumnType("text");
b.Property<int?>("ConsentLifetime")
.HasColumnType("integer");
b.Property<DateTime>("Created")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<int>("DeviceCodeLifetime")
.HasColumnType("integer");
b.Property<bool>("EnableLocalLogin")
.HasColumnType("boolean");
b.Property<bool>("Enabled")
.HasColumnType("boolean");
b.Property<bool>("FrontChannelLogoutSessionRequired")
.HasColumnType("boolean");
b.Property<string>("FrontChannelLogoutUri")
.HasColumnType("text");
b.Property<int>("IdentityTokenLifetime")
.HasColumnType("integer");
b.Property<bool>("IncludeJwtId")
.HasColumnType("boolean");
b.Property<DateTime?>("LastAccessed")
.HasColumnType("timestamp with time zone");
b.Property<string>("LogoUri")
.HasColumnType("text");
b.Property<bool>("NonEditable")
.HasColumnType("boolean");
b.Property<string>("PairWiseSubjectSalt")
.HasColumnType("text");
b.Property<string>("ProtocolType")
.HasColumnType("text");
b.Property<int>("RefreshTokenExpiration")
.HasColumnType("integer");
b.Property<int>("RefreshTokenUsage")
.HasColumnType("integer");
b.Property<bool>("RequireClientSecret")
.HasColumnType("boolean");
b.Property<bool>("RequireConsent")
.HasColumnType("boolean");
b.Property<bool>("RequirePkce")
.HasColumnType("boolean");
b.Property<bool>("RequireRequestObject")
.HasColumnType("boolean");
b.Property<int>("SlidingRefreshTokenLifetime")
.HasColumnType("integer");
b.Property<bool>("UpdateAccessTokenClaimsOnRefresh")
.HasColumnType("boolean");
b.Property<DateTime?>("Updated")
.HasColumnType("timestamp with time zone");
b.Property<string>("UserCodeType")
.HasColumnType("text");
b.Property<int?>("UserSsoLifetime")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("Clients");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientClaim", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<int>("ClientId")
.HasColumnType("integer");
b.Property<string>("Type")
.HasColumnType("text");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClientId");
b.ToTable("ClientClaims");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientCorsOrigin", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<int>("ClientId")
.HasColumnType("integer");
b.Property<int?>("ClientId1")
.HasColumnType("integer");
b.Property<string>("Origin")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClientId");
b.HasIndex("ClientId1");
b.ToTable("ClientCorsOrigins");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientGrantType", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<int>("ClientId")
.HasColumnType("integer");
b.Property<string>("GrantType")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClientId");
b.ToTable("ClientGrantTypes");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientIdPRestriction", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<int>("ClientId")
.HasColumnType("integer");
b.Property<int?>("ClientId1")
.HasColumnType("integer");
b.Property<string>("Provider")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClientId");
b.HasIndex("ClientId1");
b.ToTable("ClientIdPRestrictions");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientPostLogoutRedirectUri", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<int>("ClientId")
.HasColumnType("integer");
b.Property<int?>("ClientId1")
.HasColumnType("integer");
b.Property<string>("PostLogoutRedirectUri")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClientId");
b.HasIndex("ClientId1");
b.ToTable("ClientPostLogoutRedirectUris");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientProperty", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<int>("ClientId")
.HasColumnType("integer");
b.Property<int?>("ClientId1")
.HasColumnType("integer");
b.Property<string>("Key")
.HasColumnType("text");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClientId");
b.HasIndex("ClientId1");
b.ToTable("ClientProperties");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientRedirectUri", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<int>("ClientId")
.HasColumnType("integer");
b.Property<string>("RedirectUri")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClientId");
b.ToTable("ClientRedirectUris");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientScope", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<int>("ClientId")
.HasColumnType("integer");
b.Property<string>("Scope")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClientId");
b.ToTable("ClientScopes");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientSecret", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<int>("ClientId")
.HasColumnType("integer");
b.Property<int?>("ClientId1")
.HasColumnType("integer");
b.Property<DateTime>("Created")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<DateTime?>("Expiration")
.HasColumnType("timestamp with time zone");
b.Property<string>("Type")
.HasColumnType("text");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClientId");
b.HasIndex("ClientId1");
b.ToTable("ClientSecrets");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.DeviceFlowCodes", b =>
{
b.Property<string>("UserCode")
.HasColumnType("text");
b.Property<string>("DeviceCode")
.HasColumnType("text");
b.Property<string>("ClientId")
.HasColumnType("text");
b.Property<DateTime>("CreationTime")
.HasColumnType("timestamp with time zone");
b.Property<string>("Data")
.HasColumnType("text");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<DateTime?>("Expiration")
.HasColumnType("timestamp with time zone");
b.Property<string>("SessionId")
.HasColumnType("text");
b.Property<string>("SubjectId")
.HasColumnType("text");
b.HasKey("UserCode", "DeviceCode");
b.ToTable("DeviceFlowCodes");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.IdentityResource", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<DateTime>("Created")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<string>("DisplayName")
.HasColumnType("text");
b.Property<bool>("Emphasize")
.HasColumnType("boolean");
b.Property<bool>("Enabled")
.HasColumnType("boolean");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<bool>("NonEditable")
.HasColumnType("boolean");
b.Property<bool>("Required")
.HasColumnType("boolean");
b.Property<bool>("ShowInDiscoveryDocument")
.HasColumnType("boolean");
b.Property<DateTime?>("Updated")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("IdentityResources");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.IdentityResourceClaim", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("IdentityResourceId")
.HasColumnType("integer");
b.Property<string>("Type")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("IdentityResourceId");
b.ToTable("IdentityResourceClaims");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.IdentityResourceProperty", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("IdentityResourceId")
.HasColumnType("integer");
b.Property<string>("Key")
.HasColumnType("text");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("IdentityResourceId");
b.ToTable("IdentityResourceProperties");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.PersistedGrant", b =>
{
b.Property<string>("Key")
.HasColumnType("text");
b.Property<string>("ClientId")
.HasColumnType("text");
b.Property<DateTime?>("ConsumedTime")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("CreationTime")
.HasColumnType("timestamp with time zone");
b.Property<string>("Data")
.HasColumnType("text");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<DateTime?>("Expiration")
.HasColumnType("timestamp with time zone");
b.Property<string>("SessionId")
.HasColumnType("text");
b.Property<string>("SubjectId")
.HasColumnType("text");
b.Property<string>("Type")
.HasColumnType("text");
b.HasKey("Key");
b.ToTable("PersistedGrants");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("NormalizedName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex");
b.ToTable("AspNetRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("text");
b.Property<string>("ClaimValue")
.HasColumnType("text");
b.Property<string>("RoleId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("text");
b.Property<string>("ClaimValue")
.HasColumnType("text");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.Property<string>("LoginProvider")
.HasColumnType("text");
b.Property<string>("ProviderKey")
.HasColumnType("text");
b.Property<string>("ProviderDisplayName")
.HasColumnType("text");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("text");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<string>("RoleId")
.HasColumnType("text");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
{
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<string>("LoginProvider")
.HasColumnType("text");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens", (string)null);
});
modelBuilder.Entity("Yavsc.Abstract.Identity.ClientProviderInfo", b =>
{
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<string>("Avatar")
.HasColumnType("text");
b.Property<long>("BillingAddressId")
.HasColumnType("bigint");
b.Property<string>("EMail")
.HasColumnType("text");
b.Property<string>("Phone")
.HasColumnType("text");
b.Property<string>("UserName")
.HasColumnType("text");
b.HasKey("UserId");
b.ToTable("ClientProviderInfo");
});
modelBuilder.Entity("Yavsc.Abstract.Models.Messaging.Notification", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Target")
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property<string>("body")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property<string>("click_action")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property<string>("color")
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property<string>("icon")
.ValueGeneratedOnAdd()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasDefaultValue("exclam");
b.Property<string>("sound")
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property<string>("tag")
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property<string>("title")
.IsRequired()
.HasMaxLength(1024)
.HasColumnType("character varying(1024)");
b.HasKey("Id");
b.ToTable("Notification");
});
modelBuilder.Entity("Yavsc.Models.Access.Ban", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("Reason")
.IsRequired()
.HasColumnType("text");
b.Property<string>("TargetId")
.IsRequired()
.HasColumnType("text");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("TargetId");
b.ToTable("Ban");
});
modelBuilder.Entity("Yavsc.Models.Access.BlackListed", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("OwnerId")
.IsRequired()
.HasColumnType("text");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("OwnerId");
b.HasIndex("UserId");
b.ToTable("BlackListed");
});
modelBuilder.Entity("Yavsc.Models.Access.CircleAuthorizationToBlogPost", b =>
{
b.Property<long>("CircleId")
.HasColumnType("bigint");
b.Property<long>("BlogPostId")
.HasColumnType("bigint");
b.HasKey("CircleId", "BlogPostId");
b.HasIndex("BlogPostId");
b.ToTable("CircleAuthorizationToBlogPost");
});
modelBuilder.Entity("Yavsc.Models.AccountBalance", b =>
{
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<long>("ContactCredits")
.HasColumnType("bigint");
b.Property<decimal>("Credits")
.HasColumnType("numeric");
b.HasKey("UserId");
b.ToTable("BankStatus");
});
modelBuilder.Entity("Yavsc.Models.ApplicationUser", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<int>("AccessFailedCount")
.HasColumnType("integer");
b.Property<bool>("AllowMonthlyEmail")
.HasColumnType("boolean");
b.Property<string>("Avatar")
.ValueGeneratedOnAdd()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasDefaultValue("/images/Users/icon_user.png");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text");
b.Property<string>("DedicatedGoogleCalendar")
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property<long>("DiskQuota")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasDefaultValue(524288000L);
b.Property<long>("DiskUsage")
.HasColumnType("bigint");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<bool>("EmailConfirmed")
.HasColumnType("boolean");
b.Property<string>("FullName")
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property<bool>("LockoutEnabled")
.HasColumnType("boolean");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("timestamp with time zone");
b.Property<long>("MaxFileSize")
.HasColumnType("bigint");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("PasswordHash")
.HasColumnType("text");
b.Property<string>("PhoneNumber")
.HasColumnType("text");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("boolean");
b.Property<long?>("PostalAddressId")
.HasColumnType("bigint");
b.Property<string>("SecurityStamp")
.HasColumnType("text");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("boolean");
b.Property<string>("UserName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.HasKey("Id");
b.HasAlternateKey("Email");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex");
b.HasIndex("PostalAddressId");
b.ToTable("AspNetUsers", (string)null);
});
modelBuilder.Entity("Yavsc.Models.BalanceImpact", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("BalanceId")
.IsRequired()
.HasColumnType("text");
b.Property<DateTime>("ExecDate")
.HasColumnType("timestamp with time zone");
b.Property<decimal>("Impact")
.HasColumnType("numeric");
b.Property<string>("Reason")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("BalanceId");
b.ToTable("BalanceImpact");
});
modelBuilder.Entity("Yavsc.Models.Bank.BankIdentity", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("AccountNumber")
.HasColumnType("text");
b.Property<string>("BIC")
.HasColumnType("text");
b.Property<string>("BankCode")
.HasColumnType("text");
b.Property<int>("BankedKey")
.HasColumnType("integer");
b.Property<string>("IBAN")
.HasColumnType("text");
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<string>("WicketCode")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("BankIdentity");
});
modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<int>("Count")
.HasColumnType("integer");
b.Property<string>("Currency")
.HasColumnType("text");
b.Property<string>("Description")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property<long>("EstimateId")
.HasColumnType("bigint");
b.Property<long?>("EstimateTemplateId")
.HasColumnType("bigint");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<decimal>("UnitaryCost")
.HasColumnType("numeric");
b.HasKey("Id");
b.HasIndex("EstimateId");
b.HasIndex("EstimateTemplateId");
b.ToTable("CommandLine");
});
modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("AttachedFilesString")
.HasColumnType("text");
b.Property<string>("AttachedGraphicsString")
.HasColumnType("text");
b.Property<string>("ClientId")
.IsRequired()
.HasColumnType("text");
b.Property<DateTime>("ClientValidationDate")
.HasColumnType("timestamp with time zone");
b.Property<long?>("CommandId")
.HasColumnType("bigint");
b.Property<string>("CommandType")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<string>("OwnerId")
.HasColumnType("text");
b.Property<DateTime>("ProviderValidationDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("Title")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClientId");
b.HasIndex("CommandId");
b.HasIndex("OwnerId");
b.ToTable("Estimates");
});
modelBuilder.Entity("Yavsc.Models.Billing.EstimateTemplate", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Description")
.HasColumnType("text");
b.Property<string>("OwnerId")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Title")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("EstimateTemplates");
});
modelBuilder.Entity("Yavsc.Models.Billing.ExceptionSIREN", b =>
{
b.Property<string>("SIREN")
.HasColumnType("text");
b.HasKey("SIREN");
b.ToTable("ExceptionsSIREN");
});
modelBuilder.Entity("Yavsc.Models.Billing.Signature", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<DateTime>("CapturedAtUtc")
.HasColumnType("timestamp with time zone");
b.Property<int>("CoordinateMax")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(10000);
b.Property<long>("EstimateId")
.HasColumnType("bigint");
b.Property<string>("FilePath")
.IsRequired()
.HasColumnType("text");
b.Property<string>("SignerId")
.IsRequired()
.HasColumnType("text");
b.PrimitiveCollection<int[]>("Strokes")
.IsRequired()
.HasColumnType("integer[]");
b.Property<int>("Type")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("SignerId");
b.HasIndex("EstimateId", "Type")
.IsUnique();
b.ToTable("Signatures");
});
modelBuilder.Entity("Yavsc.Models.Blog.BlogAttachedFile", b =>
{
b.Property<long>("FileId")
.HasColumnType("bigint");
b.Property<long>("PostId")
.HasColumnType("bigint");
b.HasKey("FileId", "PostId");
b.HasIndex("PostId");
b.ToTable("BlogAttachedFiles");
});
modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Article")
.HasMaxLength(56224)
.HasColumnType("character varying(56224)");
b.Property<string>("AuthorId")
.HasColumnType("text");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("Photo")
.HasMaxLength(1024)
.HasColumnType("character varying(1024)");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(1024)
.HasColumnType("character varying(1024)");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("AuthorId");
b.ToTable("BlogSpot");
});
modelBuilder.Entity("Yavsc.Models.Blog.BlogTag", b =>
{
b.Property<long>("PostId")
.HasColumnType("bigint");
b.Property<long>("TagId")
.HasColumnType("bigint");
b.HasKey("PostId", "TagId");
b.HasIndex("TagId");
b.ToTable("BlogTag");
});
modelBuilder.Entity("Yavsc.Models.Blog.Comment", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Article")
.HasColumnType("text");
b.Property<string>("AuthorId")
.IsRequired()
.HasColumnType("text");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<long?>("ParentId")
.HasColumnType("bigint");
b.Property<long>("ReceiverId")
.HasColumnType("bigint");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.Property<bool>("Visible")
.HasColumnType("boolean");
b.HasKey("Id");
b.HasIndex("AuthorId");
b.HasIndex("ParentId");
b.HasIndex("ReceiverId");
b.ToTable("Comment");
});
modelBuilder.Entity("Yavsc.Models.Blog.UploadedFile", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("ContentType")
.HasColumnType("text");
b.Property<long>("Length")
.HasColumnType("bigint");
b.Property<string>("Path")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("UploadedFiles");
});
modelBuilder.Entity("Yavsc.Models.BlogSpotPublication", b =>
{
b.Property<long>("BlogpostId")
.HasColumnType("bigint");
b.HasKey("BlogpostId");
b.ToTable("blogSpotPublications");
});
modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b =>
{
b.Property<string>("OwnerId")
.HasColumnType("text");
b.HasKey("OwnerId");
b.ToTable("Schedule");
});
modelBuilder.Entity("Yavsc.Models.Calendar.ScheduledEvent", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<DateTime?>("PeriodEnd")
.HasColumnType("timestamp with time zone");
b.Property<DateTime?>("PeriodStart")
.HasColumnType("timestamp with time zone");
b.Property<int>("Reccurence")
.HasColumnType("integer");
b.Property<string>("ScheduleOwnerId")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ScheduleOwnerId");
b.HasIndex("PeriodStart", "PeriodEnd");
b.ToTable("ScheduledEvent");
});
modelBuilder.Entity("Yavsc.Models.Chat.ChatConnection", b =>
{
b.Property<string>("ConnectionId")
.HasColumnType("text");
b.Property<string>("ApplicationUserId")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("Connected")
.HasColumnType("boolean");
b.Property<string>("UserAgent")
.HasColumnType("text");
b.HasKey("ConnectionId");
b.HasIndex("ApplicationUserId");
b.ToTable("ChatConnection");
});
modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b =>
{
b.Property<string>("Name")
.HasColumnType("text");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("LatestJoinPart")
.HasColumnType("timestamp with time zone");
b.Property<string>("OwnerId")
.HasColumnType("text");
b.Property<string>("Topic")
.HasColumnType("text");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.HasKey("Name");
b.HasIndex("OwnerId");
b.ToTable("ChatRoom");
});
modelBuilder.Entity("Yavsc.Models.Chat.ChatRoomAccess", b =>
{
b.Property<string>("ChannelName")
.HasColumnType("text");
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<int>("Level")
.HasColumnType("integer");
b.HasKey("ChannelName", "UserId");
b.HasIndex("UserId");
b.ToTable("ChatRoomAccess");
});
modelBuilder.Entity("Yavsc.Models.Cratie.Option", b =>
{
b.Property<string>("Code")
.HasColumnType("text");
b.Property<string>("CodeScrutin")
.HasColumnType("text");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.HasKey("Code", "CodeScrutin");
b.ToTable("Option");
});
modelBuilder.Entity("Yavsc.Models.Drawing.Color", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<byte>("Blue")
.HasColumnType("smallint");
b.Property<byte>("Green")
.HasColumnType("smallint");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<byte>("Red")
.HasColumnType("smallint");
b.HasKey("Id");
b.ToTable("Color");
});
modelBuilder.Entity("Yavsc.Models.Forms.Form", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<string>("Summary")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("Form");
});
modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b =>
{
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<int>("ActionDistance")
.HasColumnType("integer");
b.Property<decimal>("CarePrice")
.HasColumnType("numeric");
b.Property<decimal>("FlatFeeDiscount")
.HasColumnType("numeric");
b.Property<decimal>("HalfBalayagePrice")
.HasColumnType("numeric");
b.Property<decimal>("HalfBrushingPrice")
.HasColumnType("numeric");
b.Property<decimal>("HalfColorPrice")
.HasColumnType("numeric");
b.Property<decimal>("HalfDefrisPrice")
.HasColumnType("numeric");
b.Property<decimal>("HalfFoldingPrice")
.HasColumnType("numeric");
b.Property<decimal>("HalfMechPrice")
.HasColumnType("numeric");
b.Property<decimal>("HalfMultiColorPrice")
.HasColumnType("numeric");
b.Property<decimal>("HalfPermanentPrice")
.HasColumnType("numeric");
b.Property<decimal>("KidCutPrice")
.HasColumnType("numeric");
b.Property<decimal>("LongBalayagePrice")
.HasColumnType("numeric");
b.Property<decimal>("LongBrushingPrice")
.HasColumnType("numeric");
b.Property<decimal>("LongColorPrice")
.HasColumnType("numeric");
b.Property<decimal>("LongDefrisPrice")
.HasColumnType("numeric");
b.Property<decimal>("LongFoldingPrice")
.HasColumnType("numeric");
b.Property<decimal>("LongMechPrice")
.HasColumnType("numeric");
b.Property<decimal>("LongMultiColorPrice")
.HasColumnType("numeric");
b.Property<decimal>("LongPermanentPrice")
.HasColumnType("numeric");
b.Property<decimal>("ManBrushPrice")
.HasColumnType("numeric");
b.Property<decimal>("ManCutPrice")
.HasColumnType("numeric");
b.Property<string>("ScheduleOwnerId")
.HasColumnType("text");
b.Property<decimal>("ShampooPrice")
.HasColumnType("numeric");
b.Property<decimal>("ShortBalayagePrice")
.HasColumnType("numeric");
b.Property<decimal>("ShortBrushingPrice")
.HasColumnType("numeric");
b.Property<decimal>("ShortColorPrice")
.HasColumnType("numeric");
b.Property<decimal>("ShortDefrisPrice")
.HasColumnType("numeric");
b.Property<decimal>("ShortFoldingPrice")
.HasColumnType("numeric");
b.Property<decimal>("ShortMechPrice")
.HasColumnType("numeric");
b.Property<decimal>("ShortMultiColorPrice")
.HasColumnType("numeric");
b.Property<decimal>("ShortPermanentPrice")
.HasColumnType("numeric");
b.Property<decimal>("WomenHalfCutPrice")
.HasColumnType("numeric");
b.Property<decimal>("WomenLongCutPrice")
.HasColumnType("numeric");
b.Property<decimal>("WomenShortCutPrice")
.HasColumnType("numeric");
b.HasKey("UserId");
b.HasIndex("ScheduleOwnerId");
b.ToTable("BrusherProfile");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairCutQuery", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("ActivityCode")
.IsRequired()
.HasColumnType("text");
b.Property<string>("AdditionalInfo")
.HasColumnType("text");
b.Property<string>("ClientId")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("Consent")
.HasColumnType("boolean");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<DateTime?>("EventDate")
.HasColumnType("timestamp with time zone");
b.Property<long?>("LocationId")
.HasColumnType("bigint");
b.Property<string>("PaymentId")
.HasColumnType("text");
b.Property<string>("PerformerId")
.IsRequired()
.HasColumnType("text");
b.Property<long>("PrestationId")
.HasColumnType("bigint");
b.Property<decimal?>("Provisional")
.HasColumnType("numeric");
b.Property<string>("SelectedProfileUserId")
.HasColumnType("text");
b.Property<int>("Status")
.HasColumnType("integer");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.Property<DateTime?>("ValidationDate")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("ActivityCode");
b.HasIndex("ClientId");
b.HasIndex("LocationId");
b.HasIndex("PaymentId");
b.HasIndex("PerformerId");
b.HasIndex("PrestationId");
b.HasIndex("SelectedProfileUserId");
b.ToTable("HairCutQueries");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("ActivityCode")
.IsRequired()
.HasColumnType("text");
b.Property<string>("ClientId")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("Consent")
.HasColumnType("boolean");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<DateTime>("EventDate")
.HasColumnType("timestamp with time zone");
b.Property<long?>("LocationId")
.HasColumnType("bigint");
b.Property<string>("PaymentId")
.HasColumnType("text");
b.Property<string>("PerformerId")
.IsRequired()
.HasColumnType("text");
b.Property<decimal?>("Provisional")
.HasColumnType("numeric");
b.Property<int>("Status")
.HasColumnType("integer");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.Property<DateTime?>("ValidationDate")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("ActivityCode");
b.HasIndex("ClientId");
b.HasIndex("LocationId");
b.HasIndex("PaymentId");
b.HasIndex("PerformerId");
b.ToTable("HairMultiCutQueries");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestation", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<bool>("Cares")
.HasColumnType("boolean");
b.Property<bool>("Cut")
.HasColumnType("boolean");
b.Property<int>("Dressing")
.HasColumnType("integer");
b.Property<int>("Gender")
.HasColumnType("integer");
b.Property<int>("Length")
.HasColumnType("integer");
b.Property<bool>("Shampoo")
.HasColumnType("boolean");
b.Property<int>("Tech")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("HairPrestation");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestationCollectionItem", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<long>("PrestationId")
.HasColumnType("bigint");
b.Property<long>("QueryId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("PrestationId");
b.HasIndex("QueryId");
b.ToTable("HairPrestationCollectionItem");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairTaint", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Brand")
.HasColumnType("text");
b.Property<long>("ColorId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("ColorId");
b.ToTable("HairTaint");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairTaintInstance", b =>
{
b.Property<long>("TaintId")
.HasColumnType("bigint");
b.Property<long>("PrestationId")
.HasColumnType("bigint");
b.HasKey("TaintId", "PrestationId");
b.HasIndex("PrestationId");
b.ToTable("HairTaintInstance");
});
modelBuilder.Entity("Yavsc.Models.IT.Evolution.Feature", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Description")
.HasColumnType("text");
b.Property<string>("ShortName")
.HasColumnType("text");
b.Property<int>("Status")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("Feature");
});
modelBuilder.Entity("Yavsc.Models.IT.Fixing.Bug", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Description")
.HasMaxLength(10240)
.HasColumnType("character varying(10240)");
b.Property<long?>("FeatureId")
.HasColumnType("bigint");
b.Property<int>("Status")
.HasColumnType("integer");
b.Property<string>("Title")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("FeatureId");
b.ToTable("Bug");
});
modelBuilder.Entity("Yavsc.Models.Identity.DeviceDeclaration", b =>
{
b.Property<string>("DeviceId")
.HasColumnType("text");
b.Property<DateTime>("DeclarationDate")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasDefaultValueSql("LOCALTIMESTAMP");
b.Property<string>("DeviceOwnerId")
.HasColumnType("text");
b.Property<DateTime?>("LatestActivityUpdate")
.HasColumnType("timestamp with time zone");
b.Property<string>("Model")
.HasColumnType("text");
b.Property<string>("Platform")
.HasColumnType("text");
b.Property<string>("Version")
.HasColumnType("text");
b.HasKey("DeviceId");
b.HasIndex("DeviceOwnerId");
b.ToTable("DeviceDeclaration");
});
modelBuilder.Entity("Yavsc.Models.Kyc.DeclarationFlag", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<long>("DeclarationId")
.HasColumnType("bigint");
b.Property<string>("MatchExcerpt")
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<int>("PatternId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("DeclarationId");
b.HasIndex("PatternId");
b.ToTable("DeclarationFlag");
});
modelBuilder.Entity("Yavsc.Models.Kyc.ModerationLog", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<int>("Action")
.HasColumnType("integer");
b.Property<long>("DeclarationId")
.HasColumnType("bigint");
b.Property<string>("ModeratorId")
.HasColumnType("text");
b.Property<int>("ScoreDelta")
.HasColumnType("integer");
b.Property<DateTime>("Timestamp")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("DeclarationId");
b.HasIndex("ModeratorId");
b.HasIndex("Timestamp");
b.ToTable("ModerationLogs", t =>
{
t.HasCheckConstraint("CK_ModerationLog_Immutable", "1=1");
});
});
modelBuilder.Entity("Yavsc.Models.Kyc.RegexAlertPattern", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Description")
.HasMaxLength(200)
.HasColumnType("character varying(200)");
b.Property<bool>("IsActive")
.HasColumnType("boolean");
b.Property<string>("Pattern")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("character varying(500)");
b.Property<int>("Severity")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("IsActive");
b.ToTable("RegexAlertPatterns");
});
modelBuilder.Entity("Yavsc.Models.Kyc.TrustDeclaration", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Content")
.HasMaxLength(2000)
.HasColumnType("character varying(2000)");
b.Property<Guid>("DeclarantTokenId")
.HasColumnType("uuid");
b.Property<int?>("ScoreDelta")
.HasColumnType("integer");
b.Property<int>("Sentiment")
.HasColumnType("integer");
b.Property<int>("Status")
.HasColumnType("integer");
b.Property<DateTime>("SubmittedAt")
.HasColumnType("timestamp with time zone");
b.Property<Guid>("TrustTokenId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("Status");
b.HasIndex("SubmittedAt");
b.HasIndex("TrustTokenId");
b.ToTable("TrustDeclarations");
});
modelBuilder.Entity("Yavsc.Models.Kyc.TrustToken", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone");
b.Property<string>("TokenHash")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)");
b.Property<string>("TokenSource")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)");
b.Property<int?>("TrustScore")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("TokenHash")
.IsUnique();
b.ToTable("TrustTokens");
});
modelBuilder.Entity("Yavsc.Models.Market.Product", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<decimal>("Depth")
.HasColumnType("numeric");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<decimal>("Height")
.HasColumnType("numeric");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<decimal?>("Price")
.HasColumnType("numeric");
b.Property<bool>("Public")
.HasColumnType("boolean");
b.Property<decimal>("Weight")
.HasColumnType("numeric");
b.Property<decimal>("Width")
.HasColumnType("numeric");
b.HasKey("Id");
b.ToTable("Products");
});
modelBuilder.Entity("Yavsc.Models.Market.Service", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("ContextId")
.HasColumnType("text");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<bool>("Public")
.HasColumnType("boolean");
b.HasKey("Id");
b.HasIndex("ContextId");
b.ToTable("Services");
});
modelBuilder.Entity("Yavsc.Models.Messaging.Announce", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<byte>("For")
.HasColumnType("smallint");
b.Property<string>("Message")
.HasColumnType("text");
b.Property<string>("OwnerId")
.HasColumnType("text");
b.Property<string>("Sender")
.HasColumnType("text");
b.Property<string>("Topic")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("OwnerId");
b.ToTable("Announce");
});
modelBuilder.Entity("Yavsc.Models.Messaging.DismissClicked", b =>
{
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<long>("NotificationId")
.HasColumnType("bigint");
b.HasKey("UserId", "NotificationId");
b.HasIndex("NotificationId");
b.ToTable("DismissClicked");
});
modelBuilder.Entity("Yavsc.Models.Musical.Instrument", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.HasKey("Id");
b.ToTable("Instrument");
});
modelBuilder.Entity("Yavsc.Models.Musical.InstrumentRating", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<long>("InstrumentId")
.HasColumnType("bigint");
b.Property<string>("OwnerId")
.IsRequired()
.HasColumnType("text");
b.Property<int>("Rate")
.HasColumnType("integer");
b.HasKey("Id");
b.HasAlternateKey("InstrumentId", "OwnerId");
b.HasIndex("OwnerId");
b.ToTable("InstrumentRating");
});
modelBuilder.Entity("Yavsc.Models.Musical.MusicalPreference", b =>
{
b.Property<string>("OwnerProfileId")
.HasColumnType("text");
b.Property<string>("DjSettingsUserId")
.HasColumnType("text");
b.Property<string>("MusicLoverSettingsUserId")
.HasColumnType("text");
b.Property<int>("Rate")
.HasColumnType("integer");
b.Property<long>("TendencyId")
.HasColumnType("bigint");
b.HasKey("OwnerProfileId");
b.HasIndex("DjSettingsUserId");
b.HasIndex("MusicLoverSettingsUserId");
b.HasIndex("TendencyId");
b.ToTable("MusicalPreference");
});
modelBuilder.Entity("Yavsc.Models.Musical.MusicalTendency", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.HasKey("Id");
b.ToTable("MusicalTendency");
});
modelBuilder.Entity("Yavsc.Models.Musical.Profiles.DjSettings", b =>
{
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<string>("SoundCloudId")
.HasColumnType("text");
b.HasKey("UserId");
b.ToTable("DjSettings");
});
modelBuilder.Entity("Yavsc.Models.Musical.Profiles.Instrumentation", b =>
{
b.Property<long>("InstrumentId")
.HasColumnType("bigint");
b.Property<string>("UserId")
.HasColumnType("text");
b.HasKey("InstrumentId", "UserId");
b.HasIndex("UserId");
b.ToTable("Instrumentation");
});
modelBuilder.Entity("Yavsc.Models.Musical.Profiles.MusicLoverSettings", b =>
{
b.Property<string>("UserId")
.HasColumnType("text");
b.HasKey("UserId");
b.ToTable("MusicLoverSettings");
});
modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b =>
{
b.Property<string>("CreationToken")
.HasColumnType("text");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("ExecutorId")
.IsRequired()
.HasColumnType("text");
b.Property<string>("OrderReference")
.HasColumnType("text");
b.Property<string>("PaypalPayerId")
.HasColumnType("text");
b.Property<string>("State")
.HasColumnType("text");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.HasKey("CreationToken");
b.HasIndex("ExecutorId");
b.ToTable("PayPalPayment");
});
modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("ApplicationUserId")
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<string>("OwnerId")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("Public")
.HasColumnType("boolean");
b.HasKey("Id");
b.HasIndex("ApplicationUserId");
b.ToTable("Circle");
});
modelBuilder.Entity("Yavsc.Models.Relationship.CircleMember", b =>
{
b.Property<string>("MemberId")
.HasColumnType("text");
b.Property<long>("CircleId")
.HasColumnType("bigint");
b.HasKey("MemberId", "CircleId");
b.HasIndex("CircleId");
b.ToTable("CircleMembers");
});
modelBuilder.Entity("Yavsc.Models.Relationship.Contact", b =>
{
b.Property<string>("OwnerId")
.HasColumnType("text");
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<long>("AddressId")
.HasColumnType("bigint");
b.Property<string>("ApplicationUserId")
.HasColumnType("text");
b.Property<string>("EMail")
.HasColumnType("text");
b.Property<string>("Name")
.HasColumnType("text");
b.HasKey("OwnerId", "UserId");
b.HasIndex("AddressId");
b.HasIndex("ApplicationUserId");
b.ToTable("Contact");
});
modelBuilder.Entity("Yavsc.Models.Relationship.HyperLink", b =>
{
b.Property<string>("HRef")
.HasColumnType("text");
b.Property<string>("Method")
.HasColumnType("text");
b.Property<string>("BrusherProfileUserId")
.HasColumnType("text");
b.Property<string>("ContentType")
.HasColumnType("text");
b.Property<string>("PayPalPaymentCreationToken")
.HasColumnType("text");
b.Property<string>("Rel")
.HasColumnType("text");
b.HasKey("HRef", "Method");
b.HasIndex("BrusherProfileUserId");
b.HasIndex("PayPalPaymentCreationToken");
b.ToTable("HyperLink");
});
modelBuilder.Entity("Yavsc.Models.Relationship.Location", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Address")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property<double>("Latitude")
.HasColumnType("double precision");
b.Property<double>("Longitude")
.HasColumnType("double precision");
b.HasKey("Id");
b.ToTable("Locations");
});
modelBuilder.Entity("Yavsc.Models.Relationship.PostalAddress", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("City")
.HasColumnType("text");
b.Property<string>("Country")
.HasColumnType("text");
b.Property<string>("PostalCode")
.HasColumnType("text");
b.Property<string>("Province")
.HasColumnType("text");
b.Property<string>("State")
.HasColumnType("text");
b.Property<string>("Street1")
.HasColumnType("text");
b.Property<string>("Street2")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("PostalAddress");
});
modelBuilder.Entity("Yavsc.Models.Relationship.Tag", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("Tags");
});
modelBuilder.Entity("Yavsc.Models.Skill", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Name")
.HasColumnType("text");
b.Property<int>("Rate")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("SiteSkills");
});
modelBuilder.Entity("Yavsc.Models.Streaming.LiveFlow", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("DifferedFileName")
.HasColumnType("text");
b.Property<string>("MediaType")
.HasColumnType("text");
b.Property<string>("OwnerId")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Pitch")
.HasColumnType("text");
b.Property<int>("SequenceNumber")
.HasColumnType("integer");
b.Property<string>("Title")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("OwnerId");
b.ToTable("LiveFlow");
});
modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b =>
{
b.Property<string>("Code")
.HasColumnType("text");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<bool>("Hidden")
.HasColumnType("boolean");
b.Property<bool>("Moderated")
.HasColumnType("boolean");
b.Property<string>("ModeratorGroupName")
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<string>("ParentCode")
.HasColumnType("text");
b.Property<string>("Photo")
.HasColumnType("text");
b.Property<int>("Rate")
.HasColumnType("integer");
b.Property<string>("SettingsClassName")
.HasColumnType("text");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.HasKey("Code");
b.HasIndex("ParentCode");
b.ToTable("Activities");
});
modelBuilder.Entity("Yavsc.Models.Workflow.CoWorking", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("FormationSettingsUserId")
.HasColumnType("text");
b.Property<string>("PerformerId")
.HasColumnType("text");
b.Property<string>("WorkingForId")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("FormationSettingsUserId");
b.HasIndex("PerformerId");
b.HasIndex("WorkingForId");
b.ToTable("CoWorking");
});
modelBuilder.Entity("Yavsc.Models.Workflow.CommandForm", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("ActionName")
.HasColumnType("text");
b.Property<string>("ActivityCode")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Title")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ActivityCode");
b.ToTable("CommandForm");
});
modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b =>
{
b.Property<string>("PerformerId")
.HasColumnType("text");
b.Property<bool>("AcceptNotifications")
.HasColumnType("boolean");
b.Property<bool>("AcceptPublicContact")
.HasColumnType("boolean");
b.Property<bool>("Active")
.HasColumnType("boolean");
b.Property<int?>("MaxDailyCost")
.HasColumnType("integer");
b.Property<int?>("MinDailyCost")
.HasColumnType("integer");
b.Property<long>("OrganizationAddressId")
.HasColumnType("bigint");
b.Property<int>("Rate")
.HasColumnType("integer");
b.Property<string>("SIREN")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("UseGeoLocalizationToReduceDistanceWithClients")
.HasColumnType("boolean");
b.Property<string>("WebSite")
.HasColumnType("text");
b.HasKey("PerformerId");
b.HasIndex("OrganizationAddressId");
b.ToTable("Performers");
});
modelBuilder.Entity("Yavsc.Models.Workflow.Profiles.FormationSettings", b =>
{
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<string>("DisplayName")
.HasColumnType("text");
b.HasKey("UserId");
b.ToTable("FormationSettings");
});
modelBuilder.Entity("Yavsc.Models.Workflow.RdvQuery", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("ActivityCode")
.IsRequired()
.HasColumnType("text");
b.Property<string>("ClientId")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("Consent")
.HasColumnType("boolean");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<DateTime>("EventDate")
.HasColumnType("timestamp with time zone");
b.Property<long?>("LocationId")
.HasColumnType("bigint");
b.Property<int>("LocationType")
.HasColumnType("integer");
b.Property<string>("PaymentId")
.HasColumnType("text");
b.Property<string>("PerformerId")
.IsRequired()
.HasColumnType("text");
b.Property<decimal?>("Provisional")
.HasColumnType("numeric");
b.Property<string>("Reason")
.HasColumnType("text");
b.Property<int>("Status")
.HasColumnType("integer");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.Property<DateTime?>("ValidationDate")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("ActivityCode");
b.HasIndex("ClientId");
b.HasIndex("LocationId");
b.HasIndex("PaymentId");
b.HasIndex("PerformerId");
b.ToTable("RdvQueries");
});
modelBuilder.Entity("Yavsc.Models.Workflow.UserActivity", b =>
{
b.Property<string>("DoesCode")
.HasColumnType("text");
b.Property<string>("UserId")
.HasColumnType("text");
b.Property<int>("Weight")
.HasColumnType("integer");
b.HasKey("DoesCode", "UserId");
b.HasIndex("UserId");
b.ToTable("UserActivities");
});
modelBuilder.Entity("Yavsc.Server.Models.Calendar.Period", b =>
{
b.Property<DateTime>("Start")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("End")
.HasColumnType("timestamp with time zone");
b.HasKey("Start", "End");
b.ToTable("Period");
});
modelBuilder.Entity("Yavsc.Server.Models.EMailing.MailingTemplate", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<string>("Body")
.HasMaxLength(65536)
.HasColumnType("character varying(65536)");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("ReplyToAddress")
.HasColumnType("text");
b.Property<int>("ToSend")
.HasColumnType("integer");
b.Property<string>("Topic")
.HasColumnType("text");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("MailingTemplate");
});
modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("ActivityCode")
.IsRequired()
.HasColumnType("text");
b.Property<string>("ClientId")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("Consent")
.HasColumnType("boolean");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.HasColumnType("text");
b.Property<long>("GitId")
.HasColumnType("bigint");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<string>("OwnerId")
.HasColumnType("text");
b.Property<string>("PaymentId")
.HasColumnType("text");
b.Property<string>("PerformerId")
.IsRequired()
.HasColumnType("text");
b.Property<decimal?>("Provisional")
.HasColumnType("numeric");
b.Property<int>("Status")
.HasColumnType("integer");
b.Property<string>("UserCreated")
.HasColumnType("text");
b.Property<string>("UserModified")
.HasColumnType("text");
b.Property<DateTime?>("ValidationDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("Version")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ActivityCode");
b.HasIndex("ClientId");
b.HasIndex("GitId");
b.HasIndex("PaymentId");
b.HasIndex("PerformerId");
b.ToTable("Project");
});
modelBuilder.Entity("Yavsc.Server.Models.IT.ProjectBuildConfiguration", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<long>("ProjectId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("ProjectId");
b.ToTable("ProjectBuildConfiguration");
});
modelBuilder.Entity("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("Branch")
.HasColumnType("text");
b.Property<string>("OwnerId")
.HasColumnType("text");
b.Property<string>("Path")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Url")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("OwnerId");
b.ToTable("GitRepositoryReference");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiResourceClaim", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiResource", null)
.WithMany("UserClaims")
.HasForeignKey("ApiResourceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiResource", "ApiResource")
.WithMany()
.HasForeignKey("ApiResourceId1");
b.Navigation("ApiResource");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiResourceProperty", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiResource", null)
.WithMany("Properties")
.HasForeignKey("ApiResourceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiResource", "ApiResource")
.WithMany()
.HasForeignKey("ApiResourceId1");
b.Navigation("ApiResource");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiResourceScope", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiResource", null)
.WithMany("Scopes")
.HasForeignKey("ApiResourceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiResource", "ApiResource")
.WithMany()
.HasForeignKey("ApiResourceId1");
b.Navigation("ApiResource");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiResourceSecret", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiResource", null)
.WithMany("Secrets")
.HasForeignKey("ApiResourceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiResource", "ApiResource")
.WithMany()
.HasForeignKey("ApiResourceId1");
b.Navigation("ApiResource");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiScopeClaim", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiScope", null)
.WithMany("UserClaims")
.HasForeignKey("ScopeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiScope", "Scope")
.WithMany()
.HasForeignKey("ScopeId1");
b.Navigation("Scope");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiScopeProperty", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiScope", null)
.WithMany("Properties")
.HasForeignKey("ScopeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.ApiScope", "Scope")
.WithMany()
.HasForeignKey("ScopeId1");
b.Navigation("Scope");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientClaim", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", "Client")
.WithMany("Claims")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Client");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientCorsOrigin", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", null)
.WithMany("AllowedCorsOrigins")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", "Client")
.WithMany()
.HasForeignKey("ClientId1");
b.Navigation("Client");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientGrantType", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", "Client")
.WithMany("AllowedGrantTypes")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Client");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientIdPRestriction", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", null)
.WithMany("IdentityProviderRestrictions")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", "Client")
.WithMany()
.HasForeignKey("ClientId1");
b.Navigation("Client");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientPostLogoutRedirectUri", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", null)
.WithMany("PostLogoutRedirectUris")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", "Client")
.WithMany()
.HasForeignKey("ClientId1");
b.Navigation("Client");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientProperty", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", null)
.WithMany("Properties")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", "Client")
.WithMany()
.HasForeignKey("ClientId1");
b.Navigation("Client");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientRedirectUri", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", "Client")
.WithMany("RedirectUris")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Client");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientScope", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", "Client")
.WithMany("AllowedScopes")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Client");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ClientSecret", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", null)
.WithMany("ClientSecrets")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("IdentityServer8.EntityFramework.Entities.Client", "Client")
.WithMany()
.HasForeignKey("ClientId1");
b.Navigation("Client");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.IdentityResourceClaim", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.IdentityResource", "IdentityResource")
.WithMany("UserClaims")
.HasForeignKey("IdentityResourceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("IdentityResource");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.IdentityResourceProperty", b =>
{
b.HasOne("IdentityServer8.EntityFramework.Entities.IdentityResource", "IdentityResource")
.WithMany("Properties")
.HasForeignKey("IdentityResourceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("IdentityResource");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Yavsc.Models.Access.Ban", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "TargetUser")
.WithMany()
.HasForeignKey("TargetId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("TargetUser");
});
modelBuilder.Entity("Yavsc.Models.Access.BlackListed", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
.WithMany("BlackList")
.HasForeignKey("OwnerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Owner");
b.Navigation("User");
});
modelBuilder.Entity("Yavsc.Models.Access.CircleAuthorizationToBlogPost", b =>
{
b.HasOne("Yavsc.Models.Blog.BlogPost", "Target")
.WithMany("ACL")
.HasForeignKey("BlogPostId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Relationship.Circle", "Allowed")
.WithMany()
.HasForeignKey("CircleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Allowed");
b.Navigation("Target");
});
modelBuilder.Entity("Yavsc.Models.AccountBalance", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
.WithOne("AccountBalance")
.HasForeignKey("Yavsc.Models.AccountBalance", "UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Owner");
});
modelBuilder.Entity("Yavsc.Models.ApplicationUser", b =>
{
b.HasOne("Yavsc.Models.Relationship.Location", "PostalAddress")
.WithMany()
.HasForeignKey("PostalAddressId");
b.Navigation("PostalAddress");
});
modelBuilder.Entity("Yavsc.Models.BalanceImpact", b =>
{
b.HasOne("Yavsc.Models.AccountBalance", "Balance")
.WithMany()
.HasForeignKey("BalanceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Balance");
});
modelBuilder.Entity("Yavsc.Models.Bank.BankIdentity", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "User")
.WithMany("BankInfo")
.HasForeignKey("UserId");
b.Navigation("User");
});
modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b =>
{
b.HasOne("Yavsc.Models.Billing.Estimate", null)
.WithMany("Bill")
.HasForeignKey("EstimateId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Billing.EstimateTemplate", null)
.WithMany("Bill")
.HasForeignKey("EstimateTemplateId");
});
modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Client")
.WithMany()
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Workflow.RdvQuery", "Query")
.WithMany()
.HasForeignKey("CommandId");
b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Owner")
.WithMany()
.HasForeignKey("OwnerId");
b.Navigation("Client");
b.Navigation("Owner");
b.Navigation("Query");
});
modelBuilder.Entity("Yavsc.Models.Billing.Signature", b =>
{
b.HasOne("Yavsc.Models.Billing.Estimate", "Estimate")
.WithMany("Signatures")
.HasForeignKey("EstimateId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", "Signer")
.WithMany()
.HasForeignKey("SignerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Estimate");
b.Navigation("Signer");
});
modelBuilder.Entity("Yavsc.Models.Blog.BlogAttachedFile", b =>
{
b.HasOne("Yavsc.Models.Blog.UploadedFile", "File")
.WithMany()
.HasForeignKey("FileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Blog.BlogPost", "Post")
.WithMany()
.HasForeignKey("PostId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("File");
b.Navigation("Post");
});
modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Author")
.WithMany("Posts")
.HasForeignKey("AuthorId")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("Author");
});
modelBuilder.Entity("Yavsc.Models.Blog.BlogTag", b =>
{
b.HasOne("Yavsc.Models.Blog.BlogPost", "Post")
.WithMany("Tags")
.HasForeignKey("PostId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Relationship.Tag", "Tag")
.WithMany()
.HasForeignKey("TagId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Post");
b.Navigation("Tag");
});
modelBuilder.Entity("Yavsc.Models.Blog.Comment", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Author")
.WithMany("BlogComments")
.HasForeignKey("AuthorId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("Yavsc.Models.Blog.Comment", "Parent")
.WithMany("Children")
.HasForeignKey("ParentId");
b.HasOne("Yavsc.Models.Blog.BlogPost", "Post")
.WithMany("Comments")
.HasForeignKey("ReceiverId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Author");
b.Navigation("Parent");
b.Navigation("Post");
});
modelBuilder.Entity("Yavsc.Models.BlogSpotPublication", b =>
{
b.HasOne("Yavsc.Models.Blog.BlogPost", "BlogPost")
.WithMany()
.HasForeignKey("BlogpostId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("BlogPost");
});
modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
.WithMany()
.HasForeignKey("OwnerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Owner");
});
modelBuilder.Entity("Yavsc.Models.Calendar.ScheduledEvent", b =>
{
b.HasOne("Yavsc.Models.Calendar.Schedule", null)
.WithMany("Events")
.HasForeignKey("ScheduleOwnerId");
b.HasOne("Yavsc.Server.Models.Calendar.Period", "Period")
.WithMany()
.HasForeignKey("PeriodStart", "PeriodEnd");
b.Navigation("Period");
});
modelBuilder.Entity("Yavsc.Models.Chat.ChatConnection", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
.WithMany("Connections")
.HasForeignKey("ApplicationUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Owner");
});
modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
.WithMany("Rooms")
.HasForeignKey("OwnerId");
b.Navigation("Owner");
});
modelBuilder.Entity("Yavsc.Models.Chat.ChatRoomAccess", b =>
{
b.HasOne("Yavsc.Models.Chat.ChatRoom", "Room")
.WithMany("Moderation")
.HasForeignKey("ChannelName")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", "User")
.WithMany("RoomAccess")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Room");
b.Navigation("User");
});
modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b =>
{
b.HasOne("Yavsc.Models.Calendar.Schedule", "Schedule")
.WithMany()
.HasForeignKey("ScheduleOwnerId");
b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "BaseProfile")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("BaseProfile");
b.Navigation("Schedule");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairCutQuery", b =>
{
b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
.WithMany()
.HasForeignKey("ActivityCode")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", "Client")
.WithMany()
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Relationship.Location", "Location")
.WithMany()
.HasForeignKey("LocationId");
b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularization")
.WithMany()
.HasForeignKey("PaymentId");
b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile")
.WithMany()
.HasForeignKey("PerformerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation")
.WithMany()
.HasForeignKey("PrestationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Haircut.BrusherProfile", "SelectedProfile")
.WithMany()
.HasForeignKey("SelectedProfileUserId");
b.Navigation("Client");
b.Navigation("Context");
b.Navigation("Location");
b.Navigation("PerformerProfile");
b.Navigation("Prestation");
b.Navigation("Regularization");
b.Navigation("SelectedProfile");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b =>
{
b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
.WithMany()
.HasForeignKey("ActivityCode")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", "Client")
.WithMany()
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Relationship.Location", "Location")
.WithMany()
.HasForeignKey("LocationId");
b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularization")
.WithMany()
.HasForeignKey("PaymentId");
b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile")
.WithMany()
.HasForeignKey("PerformerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Client");
b.Navigation("Context");
b.Navigation("Location");
b.Navigation("PerformerProfile");
b.Navigation("Regularization");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestationCollectionItem", b =>
{
b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation")
.WithMany()
.HasForeignKey("PrestationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Haircut.HairMultiCutQuery", "Query")
.WithMany("Prestations")
.HasForeignKey("QueryId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Prestation");
b.Navigation("Query");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairTaint", b =>
{
b.HasOne("Yavsc.Models.Drawing.Color", "Color")
.WithMany()
.HasForeignKey("ColorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Color");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairTaintInstance", b =>
{
b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation")
.WithMany("Taints")
.HasForeignKey("PrestationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Haircut.HairTaint", "Taint")
.WithMany()
.HasForeignKey("TaintId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Prestation");
b.Navigation("Taint");
});
modelBuilder.Entity("Yavsc.Models.IT.Fixing.Bug", b =>
{
b.HasOne("Yavsc.Models.IT.Evolution.Feature", "False")
.WithMany()
.HasForeignKey("FeatureId");
b.Navigation("False");
});
modelBuilder.Entity("Yavsc.Models.Identity.DeviceDeclaration", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "DeviceOwner")
.WithMany("DeviceDeclaration")
.HasForeignKey("DeviceOwnerId");
b.Navigation("DeviceOwner");
});
modelBuilder.Entity("Yavsc.Models.Kyc.DeclarationFlag", b =>
{
b.HasOne("Yavsc.Models.Kyc.TrustDeclaration", "Declaration")
.WithMany("Flags")
.HasForeignKey("DeclarationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Kyc.RegexAlertPattern", "Pattern")
.WithMany()
.HasForeignKey("PatternId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Declaration");
b.Navigation("Pattern");
});
modelBuilder.Entity("Yavsc.Models.Kyc.ModerationLog", b =>
{
b.HasOne("Yavsc.Models.Kyc.TrustDeclaration", "Declaration")
.WithMany()
.HasForeignKey("DeclarationId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Declaration");
});
modelBuilder.Entity("Yavsc.Models.Kyc.TrustDeclaration", b =>
{
b.HasOne("Yavsc.Models.Kyc.TrustToken", "Subject")
.WithMany("Declarations")
.HasForeignKey("TrustTokenId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Subject");
});
modelBuilder.Entity("Yavsc.Models.Market.Service", b =>
{
b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
.WithMany("Services")
.HasForeignKey("ContextId");
b.Navigation("Context");
});
modelBuilder.Entity("Yavsc.Models.Messaging.Announce", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
.WithMany()
.HasForeignKey("OwnerId");
b.Navigation("Owner");
});
modelBuilder.Entity("Yavsc.Models.Messaging.DismissClicked", b =>
{
b.HasOne("Yavsc.Abstract.Models.Messaging.Notification", "Notified")
.WithMany()
.HasForeignKey("NotificationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Notified");
b.Navigation("User");
});
modelBuilder.Entity("Yavsc.Models.Musical.InstrumentRating", b =>
{
b.HasOne("Yavsc.Models.Musical.Instrument", "Instrument")
.WithMany()
.HasForeignKey("InstrumentId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Profile")
.WithMany()
.HasForeignKey("OwnerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Instrument");
b.Navigation("Profile");
});
modelBuilder.Entity("Yavsc.Models.Musical.MusicalPreference", b =>
{
b.HasOne("Yavsc.Models.Musical.Profiles.DjSettings", null)
.WithMany("SoundColor")
.HasForeignKey("DjSettingsUserId");
b.HasOne("Yavsc.Models.Musical.Profiles.MusicLoverSettings", null)
.WithMany("SoundColor")
.HasForeignKey("MusicLoverSettingsUserId");
b.HasOne("Yavsc.Models.Musical.MusicalTendency", "MusicalTendency")
.WithMany()
.HasForeignKey("TendencyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MusicalTendency");
});
modelBuilder.Entity("Yavsc.Models.Musical.Profiles.Instrumentation", b =>
{
b.HasOne("Yavsc.Models.Musical.Instrument", "Tool")
.WithMany()
.HasForeignKey("InstrumentId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tool");
b.Navigation("User");
});
modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Executor")
.WithMany()
.HasForeignKey("ExecutorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Executor");
});
modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", null)
.WithMany("Circles")
.HasForeignKey("ApplicationUserId");
});
modelBuilder.Entity("Yavsc.Models.Relationship.CircleMember", b =>
{
b.HasOne("Yavsc.Models.Relationship.Circle", "Circle")
.WithMany("Members")
.HasForeignKey("CircleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", "Member")
.WithMany("Membership")
.HasForeignKey("MemberId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Circle");
b.Navigation("Member");
});
modelBuilder.Entity("Yavsc.Models.Relationship.Contact", b =>
{
b.HasOne("Yavsc.Models.Relationship.PostalAddress", "PostalAddress")
.WithMany()
.HasForeignKey("AddressId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", null)
.WithMany("Book")
.HasForeignKey("ApplicationUserId");
b.Navigation("PostalAddress");
});
modelBuilder.Entity("Yavsc.Models.Relationship.HyperLink", b =>
{
b.HasOne("Yavsc.Models.Haircut.BrusherProfile", null)
.WithMany("Links")
.HasForeignKey("BrusherProfileUserId");
b.HasOne("Yavsc.Models.Payment.PayPalPayment", null)
.WithMany("Links")
.HasForeignKey("PayPalPaymentCreationToken");
});
modelBuilder.Entity("Yavsc.Models.Streaming.LiveFlow", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
.WithMany()
.HasForeignKey("OwnerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Owner");
});
modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b =>
{
b.HasOne("Yavsc.Models.Workflow.Activity", "Parent")
.WithMany("Children")
.HasForeignKey("ParentCode");
b.Navigation("Parent");
});
modelBuilder.Entity("Yavsc.Models.Workflow.CoWorking", b =>
{
b.HasOne("Yavsc.Models.Workflow.Profiles.FormationSettings", null)
.WithMany("CoWorking")
.HasForeignKey("FormationSettingsUserId");
b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Performer")
.WithMany()
.HasForeignKey("PerformerId");
b.HasOne("Yavsc.Models.ApplicationUser", "WorkingFor")
.WithMany()
.HasForeignKey("WorkingForId");
b.Navigation("Performer");
b.Navigation("WorkingFor");
});
modelBuilder.Entity("Yavsc.Models.Workflow.CommandForm", b =>
{
b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
.WithMany("Forms")
.HasForeignKey("ActivityCode")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Context");
});
modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b =>
{
b.HasOne("Yavsc.Models.Relationship.Location", "OrganizationAddress")
.WithMany()
.HasForeignKey("OrganizationAddressId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", "Performer")
.WithMany()
.HasForeignKey("PerformerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("OrganizationAddress");
b.Navigation("Performer");
});
modelBuilder.Entity("Yavsc.Models.Workflow.RdvQuery", b =>
{
b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
.WithMany()
.HasForeignKey("ActivityCode")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", "Client")
.WithMany()
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Relationship.Location", "Location")
.WithMany()
.HasForeignKey("LocationId");
b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularization")
.WithMany()
.HasForeignKey("PaymentId");
b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile")
.WithMany()
.HasForeignKey("PerformerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Client");
b.Navigation("Context");
b.Navigation("Location");
b.Navigation("PerformerProfile");
b.Navigation("Regularization");
});
modelBuilder.Entity("Yavsc.Models.Workflow.UserActivity", b =>
{
b.HasOne("Yavsc.Models.Workflow.Activity", "Does")
.WithMany()
.HasForeignKey("DoesCode")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "User")
.WithMany("Activity")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Does");
b.Navigation("User");
});
modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b =>
{
b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
.WithMany()
.HasForeignKey("ActivityCode")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.ApplicationUser", "Client")
.WithMany()
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", "Repository")
.WithMany()
.HasForeignKey("GitId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularization")
.WithMany()
.HasForeignKey("PaymentId");
b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile")
.WithMany()
.HasForeignKey("PerformerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Client");
b.Navigation("Context");
b.Navigation("PerformerProfile");
b.Navigation("Regularization");
b.Navigation("Repository");
});
modelBuilder.Entity("Yavsc.Server.Models.IT.ProjectBuildConfiguration", b =>
{
b.HasOne("Yavsc.Server.Models.IT.Project", "TargetProject")
.WithMany("Configurations")
.HasForeignKey("ProjectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("TargetProject");
});
modelBuilder.Entity("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", b =>
{
b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
.WithMany()
.HasForeignKey("OwnerId");
b.Navigation("Owner");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiResource", b =>
{
b.Navigation("Properties");
b.Navigation("Scopes");
b.Navigation("Secrets");
b.Navigation("UserClaims");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.ApiScope", b =>
{
b.Navigation("Properties");
b.Navigation("UserClaims");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.Client", b =>
{
b.Navigation("AllowedCorsOrigins");
b.Navigation("AllowedGrantTypes");
b.Navigation("AllowedScopes");
b.Navigation("Claims");
b.Navigation("ClientSecrets");
b.Navigation("IdentityProviderRestrictions");
b.Navigation("PostLogoutRedirectUris");
b.Navigation("Properties");
b.Navigation("RedirectUris");
});
modelBuilder.Entity("IdentityServer8.EntityFramework.Entities.IdentityResource", b =>
{
b.Navigation("Properties");
b.Navigation("UserClaims");
});
modelBuilder.Entity("Yavsc.Models.ApplicationUser", b =>
{
b.Navigation("AccountBalance");
b.Navigation("BankInfo");
b.Navigation("BlackList");
b.Navigation("BlogComments");
b.Navigation("Book");
b.Navigation("Circles");
b.Navigation("Connections");
b.Navigation("DeviceDeclaration");
b.Navigation("Membership");
b.Navigation("Posts");
b.Navigation("RoomAccess");
b.Navigation("Rooms");
});
modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b =>
{
b.Navigation("Bill");
b.Navigation("Signatures");
});
modelBuilder.Entity("Yavsc.Models.Billing.EstimateTemplate", b =>
{
b.Navigation("Bill");
});
modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b =>
{
b.Navigation("ACL");
b.Navigation("Comments");
b.Navigation("Tags");
});
modelBuilder.Entity("Yavsc.Models.Blog.Comment", b =>
{
b.Navigation("Children");
});
modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b =>
{
b.Navigation("Events");
});
modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b =>
{
b.Navigation("Moderation");
});
modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b =>
{
b.Navigation("Links");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b =>
{
b.Navigation("Prestations");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestation", b =>
{
b.Navigation("Taints");
});
modelBuilder.Entity("Yavsc.Models.Kyc.TrustDeclaration", b =>
{
b.Navigation("Flags");
});
modelBuilder.Entity("Yavsc.Models.Kyc.TrustToken", b =>
{
b.Navigation("Declarations");
});
modelBuilder.Entity("Yavsc.Models.Musical.Profiles.DjSettings", b =>
{
b.Navigation("SoundColor");
});
modelBuilder.Entity("Yavsc.Models.Musical.Profiles.MusicLoverSettings", b =>
{
b.Navigation("SoundColor");
});
modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b =>
{
b.Navigation("Links");
});
modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b =>
{
b.Navigation("Members");
});
modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b =>
{
b.Navigation("Children");
b.Navigation("Forms");
b.Navigation("Services");
});
modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b =>
{
b.Navigation("Activity");
});
modelBuilder.Entity("Yavsc.Models.Workflow.Profiles.FormationSettings", b =>
{
b.Navigation("CoWorking");
});
modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b =>
{
b.Navigation("Configurations");
});
#pragma warning restore 612, 618
}
}
}