< Summary - Syki

Information
Class: Back.Migrations.SykiDbContextModelSnapshot
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Migrations/SykiDbContextModelSnapshot.cs
Tag: 56_26538939494
Line coverage
100%
Covered lines: 1595
Uncovered lines: 0
Coverable lines: 1595
Total lines: 1682
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
BuildModel(...)100%11100%

File(s)

/home/runner/work/syki/syki/Back/Migrations/SykiDbContextModelSnapshot.cs

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using System.Collections.Generic;
 4using System.Text.Json;
 5using Microsoft.EntityFrameworkCore;
 6using Microsoft.EntityFrameworkCore.Infrastructure;
 7using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 8using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
 9using Syki.Back.Database;
 10
 11#nullable disable
 12
 13namespace Back.Migrations
 14{
 15    [DbContext(typeof(SykiDbContext))]
 16    partial class SykiDbContextModelSnapshot : ModelSnapshot
 17    {
 18        protected override void BuildModel(ModelBuilder modelBuilder)
 19        {
 20#pragma warning disable 612, 618
 221            modelBuilder
 222                .HasAnnotation("ProductVersion", "10.0.7")
 223                .HasAnnotation("Relational:MaxIdentifierLength", 63);
 24
 225            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
 26
 227            modelBuilder.Entity("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b =>
 228                {
 229                    b.Property<int>("Id")
 230                        .ValueGeneratedOnAdd()
 231                        .HasColumnType("integer")
 232                        .HasColumnName("id");
 233
 234                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 235
 236                    b.Property<string>("FriendlyName")
 237                        .HasColumnType("text")
 238                        .HasColumnName("friendly_name");
 239
 240                    b.Property<string>("Xml")
 241                        .HasColumnType("text")
 242                        .HasColumnName("xml");
 243
 244                    b.HasKey("Id")
 245                        .HasName("pk_data_protection_keys");
 246
 247                    b.ToTable("data_protection_keys", (string)null);
 448                });
 49
 250            modelBuilder.Entity("Syki.Back.Audit.AuditTrail", b =>
 251                {
 252                    b.Property<int>("Id")
 253                        .ValueGeneratedOnAdd()
 254                        .HasColumnType("integer")
 255                        .HasColumnName("id");
 256
 257                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 258
 259                    b.Property<string>("Action")
 260                        .IsRequired()
 261                        .HasColumnType("text")
 262                        .HasColumnName("action");
 263
 264                    b.Property<string>("ActivityId")
 265                        .IsRequired()
 266                        .HasColumnType("text")
 267                        .HasColumnName("activity_id");
 268
 269                    b.Property<DateTime>("CreatedAt")
 270                        .HasColumnType("timestamp with time zone")
 271                        .HasColumnName("created_at");
 272
 273                    b.Property<JsonDocument>("Data")
 274                        .IsRequired()
 275                        .HasColumnType("jsonb")
 276                        .HasColumnName("data");
 277
 278                    b.Property<string>("EntityId")
 279                        .IsRequired()
 280                        .HasColumnType("text")
 281                        .HasColumnName("entity_id");
 282
 283                    b.Property<string>("EntityType")
 284                        .IsRequired()
 285                        .HasColumnType("text")
 286                        .HasColumnName("entity_type");
 287
 288                    b.Property<int>("InstitutionId")
 289                        .HasColumnType("integer")
 290                        .HasColumnName("institution_id");
 291
 292                    b.Property<string>("Operation")
 293                        .IsRequired()
 294                        .HasColumnType("text")
 295                        .HasColumnName("operation");
 296
 297                    b.Property<int>("UserId")
 298                        .HasColumnType("integer")
 299                        .HasColumnName("user_id");
 2100
 2101                    b.HasKey("Id")
 2102                        .HasName("pk_audit_trails");
 2103
 2104                    b.ToTable("audit_trails", "syki");
 4105                });
 106
 2107            modelBuilder.Entity("Syki.Back.Commands.Domain.Commands.Command", b =>
 2108                {
 2109                    b.Property<int>("Id")
 2110                        .ValueGeneratedOnAdd()
 2111                        .HasColumnType("integer")
 2112                        .HasColumnName("id");
 2113
 2114                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2115
 2116                    b.Property<string>("ActivityId")
 2117                        .HasColumnType("text")
 2118                        .HasColumnName("activity_id");
 2119
 2120                    b.Property<int>("BackoffStrategy")
 2121                        .HasColumnType("integer")
 2122                        .HasColumnName("backoff_strategy");
 2123
 2124                    b.Property<int>("BaseDelaySeconds")
 2125                        .HasColumnType("integer")
 2126                        .HasColumnName("base_delay_seconds");
 2127
 2128                    b.Property<int?>("BatchId")
 2129                        .HasColumnType("integer")
 2130                        .HasColumnName("batch_id");
 2131
 2132                    b.Property<DateTime>("CreatedAt")
 2133                        .HasColumnType("timestamp with time zone")
 2134                        .HasColumnName("created_at");
 2135
 2136                    b.Property<string>("Data")
 2137                        .IsRequired()
 2138                        .HasColumnType("text")
 2139                        .HasColumnName("data");
 2140
 2141                    b.Property<int>("Duration")
 2142                        .HasColumnType("integer")
 2143                        .HasColumnName("duration");
 2144
 2145                    b.Property<string>("Error")
 2146                        .HasColumnType("text")
 2147                        .HasColumnName("error");
 2148
 2149                    b.Property<int>("InstitutionId")
 2150                        .HasColumnType("integer")
 2151                        .HasColumnName("institution_id");
 2152
 2153                    b.PrimitiveCollection<List<string>>("Logs")
 2154                        .IsRequired()
 2155                        .HasColumnType("text[]")
 2156                        .HasColumnName("logs");
 2157
 2158                    b.Property<int>("MaxRetries")
 2159                        .HasColumnType("integer")
 2160                        .HasColumnName("max_retries");
 2161
 2162                    b.Property<DateTime?>("NotBefore")
 2163                        .HasColumnType("timestamp with time zone")
 2164                        .HasColumnName("not_before");
 2165
 2166                    b.Property<int?>("OriginalId")
 2167                        .HasColumnType("integer")
 2168                        .HasColumnName("original_id");
 2169
 2170                    b.Property<int?>("ParentId")
 2171                        .HasColumnType("integer")
 2172                        .HasColumnName("parent_id");
 2173
 2174                    b.Property<DateTime?>("ProcessedAt")
 2175                        .HasColumnType("timestamp with time zone")
 2176                        .HasColumnName("processed_at");
 2177
 2178                    b.Property<Guid?>("ProcessorId")
 2179                        .HasColumnType("uuid")
 2180                        .HasColumnName("processor_id");
 2181
 2182                    b.Property<int>("RetryAttempt")
 2183                        .HasColumnType("integer")
 2184                        .HasColumnName("retry_attempt");
 2185
 2186                    b.Property<int>("Status")
 2187                        .HasColumnType("integer")
 2188                        .HasColumnName("status");
 2189
 2190                    b.Property<string>("Type")
 2191                        .IsRequired()
 2192                        .HasColumnType("text")
 2193                        .HasColumnName("type");
 2194
 2195                    b.HasKey("Id")
 2196                        .HasName("pk_commands");
 2197
 2198                    b.HasIndex("InstitutionId")
 2199                        .HasDatabaseName("ix_commands_institution_id");
 2200
 2201                    b.ToTable("commands", "syki");
 4202                });
 203
 2204            modelBuilder.Entity("Syki.Back.Commands.Domain.Commands.CommandBatch", b =>
 2205                {
 2206                    b.Property<int>("Id")
 2207                        .ValueGeneratedOnAdd()
 2208                        .HasColumnType("integer")
 2209                        .HasColumnName("id");
 2210
 2211                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2212
 2213                    b.Property<DateTime>("CreatedAt")
 2214                        .HasColumnType("timestamp with time zone")
 2215                        .HasColumnName("created_at");
 2216
 2217                    b.Property<int>("InstitutionId")
 2218                        .HasColumnType("integer")
 2219                        .HasColumnName("institution_id");
 2220
 2221                    b.Property<int?>("NextCommandId")
 2222                        .HasColumnType("integer")
 2223                        .HasColumnName("next_command_id");
 2224
 2225                    b.Property<DateTime?>("ProcessedAt")
 2226                        .HasColumnType("timestamp with time zone")
 2227                        .HasColumnName("processed_at");
 2228
 2229                    b.Property<int>("Size")
 2230                        .HasColumnType("integer")
 2231                        .HasColumnName("size");
 2232
 2233                    b.Property<int?>("SourceCommandId")
 2234                        .HasColumnType("integer")
 2235                        .HasColumnName("source_command_id");
 2236
 2237                    b.Property<int>("Status")
 2238                        .HasColumnType("integer")
 2239                        .HasColumnName("status");
 2240
 2241                    b.Property<int>("Type")
 2242                        .HasColumnType("integer")
 2243                        .HasColumnName("type");
 2244
 2245                    b.HasKey("Id")
 2246                        .HasName("pk_command_batches");
 2247
 2248                    b.ToTable("command_batches", "syki");
 4249                });
 250
 2251            modelBuilder.Entity("Syki.Back.Domain.Campi.Campus", b =>
 2252                {
 2253                    b.Property<int>("Id")
 2254                        .ValueGeneratedOnAdd()
 2255                        .HasColumnType("integer")
 2256                        .HasColumnName("id");
 2257
 2258                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2259
 2260                    b.Property<int>("Capacity")
 2261                        .HasColumnType("integer")
 2262                        .HasColumnName("capacity");
 2263
 2264                    b.Property<string>("City")
 2265                        .IsRequired()
 2266                        .HasColumnType("text")
 2267                        .HasColumnName("city");
 2268
 2269                    b.Property<int>("InstitutionId")
 2270                        .HasColumnType("integer")
 2271                        .HasColumnName("institution_id");
 2272
 2273                    b.Property<string>("Name")
 2274                        .IsRequired()
 2275                        .HasColumnType("text")
 2276                        .HasColumnName("name");
 2277
 2278                    b.Property<int>("State")
 2279                        .HasColumnType("integer")
 2280                        .HasColumnName("state");
 2281
 2282                    b.HasKey("Id")
 2283                        .HasName("pk_campi");
 2284
 2285                    b.HasIndex("InstitutionId")
 2286                        .HasDatabaseName("ix_campi_institution_id");
 2287
 2288                    b.ToTable("campi", "syki");
 4289                });
 290
 2291            modelBuilder.Entity("Syki.Back.Domain.CourseCurriculums.CourseCurriculum", b =>
 2292                {
 2293                    b.Property<int>("Id")
 2294                        .ValueGeneratedOnAdd()
 2295                        .HasColumnType("integer")
 2296                        .HasColumnName("id");
 2297
 2298                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2299
 2300                    b.Property<int>("CourseId")
 2301                        .HasColumnType("integer")
 2302                        .HasColumnName("course_id");
 2303
 2304                    b.Property<int>("InstitutionId")
 2305                        .HasColumnType("integer")
 2306                        .HasColumnName("institution_id");
 2307
 2308                    b.Property<string>("Name")
 2309                        .IsRequired()
 2310                        .HasColumnType("text")
 2311                        .HasColumnName("name");
 2312
 2313                    b.HasKey("Id")
 2314                        .HasName("pk_course_curriculums");
 2315
 2316                    b.HasIndex("CourseId")
 2317                        .HasDatabaseName("ix_course_curriculums_course_id");
 2318
 2319                    b.HasIndex("InstitutionId")
 2320                        .HasDatabaseName("ix_course_curriculums_institution_id");
 2321
 2322                    b.ToTable("course_curriculums", "syki");
 4323                });
 324
 2325            modelBuilder.Entity("Syki.Back.Domain.CourseCurriculums.CourseCurriculumDiscipline", b =>
 2326                {
 2327                    b.Property<int>("CourseCurriculumId")
 2328                        .HasColumnType("integer")
 2329                        .HasColumnName("course_curriculum_id");
 2330
 2331                    b.Property<int>("DisciplineId")
 2332                        .HasColumnType("integer")
 2333                        .HasColumnName("discipline_id");
 2334
 2335                    b.Property<byte>("Credits")
 2336                        .HasColumnType("smallint")
 2337                        .HasColumnName("credits");
 2338
 2339                    b.Property<byte>("Period")
 2340                        .HasColumnType("smallint")
 2341                        .HasColumnName("period");
 2342
 2343                    b.Property<int>("Workload")
 2344                        .HasColumnType("integer")
 2345                        .HasColumnName("workload");
 2346
 2347                    b.HasKey("CourseCurriculumId", "DisciplineId")
 2348                        .HasName("pk_course_curriculums_disciplines");
 2349
 2350                    b.HasIndex("DisciplineId")
 2351                        .HasDatabaseName("ix_course_curriculums_disciplines_discipline_id");
 2352
 2353                    b.ToTable("course_curriculums_disciplines", "syki");
 4354                });
 355
 2356            modelBuilder.Entity("Syki.Back.Domain.CourseOfferings.CourseOffering", b =>
 2357                {
 2358                    b.Property<int>("Id")
 2359                        .ValueGeneratedOnAdd()
 2360                        .HasColumnType("integer")
 2361                        .HasColumnName("id");
 2362
 2363                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2364
 2365                    b.Property<int>("AcademicPeriodId")
 2366                        .HasColumnType("integer")
 2367                        .HasColumnName("academic_period_id");
 2368
 2369                    b.Property<int>("CampusId")
 2370                        .HasColumnType("integer")
 2371                        .HasColumnName("campus_id");
 2372
 2373                    b.Property<int>("CourseCurriculumId")
 2374                        .HasColumnType("integer")
 2375                        .HasColumnName("course_curriculum_id");
 2376
 2377                    b.Property<int>("CourseId")
 2378                        .HasColumnType("integer")
 2379                        .HasColumnName("course_id");
 2380
 2381                    b.Property<int>("InstitutionId")
 2382                        .HasColumnType("integer")
 2383                        .HasColumnName("institution_id");
 2384
 2385                    b.Property<int>("Session")
 2386                        .HasColumnType("integer")
 2387                        .HasColumnName("session");
 2388
 2389                    b.HasKey("Id")
 2390                        .HasName("pk_course_offerings");
 2391
 2392                    b.HasIndex("AcademicPeriodId")
 2393                        .HasDatabaseName("ix_course_offerings_academic_period_id");
 2394
 2395                    b.HasIndex("CampusId")
 2396                        .HasDatabaseName("ix_course_offerings_campus_id");
 2397
 2398                    b.HasIndex("CourseCurriculumId")
 2399                        .HasDatabaseName("ix_course_offerings_course_curriculum_id");
 2400
 2401                    b.HasIndex("CourseId")
 2402                        .HasDatabaseName("ix_course_offerings_course_id");
 2403
 2404                    b.HasIndex("InstitutionId")
 2405                        .HasDatabaseName("ix_course_offerings_institution_id");
 2406
 2407                    b.ToTable("course_offerings", "syki");
 4408                });
 409
 2410            modelBuilder.Entity("Syki.Back.Domain.Courses.Course", b =>
 2411                {
 2412                    b.Property<int>("Id")
 2413                        .ValueGeneratedOnAdd()
 2414                        .HasColumnType("integer")
 2415                        .HasColumnName("id");
 2416
 2417                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2418
 2419                    b.Property<int>("CourseType")
 2420                        .HasColumnType("integer")
 2421                        .HasColumnName("course_type");
 2422
 2423                    b.Property<int>("InstitutionId")
 2424                        .HasColumnType("integer")
 2425                        .HasColumnName("institution_id");
 2426
 2427                    b.Property<string>("Name")
 2428                        .IsRequired()
 2429                        .HasColumnType("text")
 2430                        .HasColumnName("name");
 2431
 2432                    b.HasKey("Id")
 2433                        .HasName("pk_courses");
 2434
 2435                    b.HasIndex("InstitutionId")
 2436                        .HasDatabaseName("ix_courses_institution_id");
 2437
 2438                    b.ToTable("courses", "syki");
 4439                });
 440
 2441            modelBuilder.Entity("Syki.Back.Domain.Courses.CourseDiscipline", b =>
 2442                {
 2443                    b.Property<int>("CourseId")
 2444                        .HasColumnType("integer")
 2445                        .HasColumnName("course_id");
 2446
 2447                    b.Property<int>("DisciplineId")
 2448                        .HasColumnType("integer")
 2449                        .HasColumnName("discipline_id");
 2450
 2451                    b.HasKey("CourseId", "DisciplineId")
 2452                        .HasName("pk_courses_disciplines");
 2453
 2454                    b.HasIndex("DisciplineId")
 2455                        .HasDatabaseName("ix_courses_disciplines_discipline_id");
 2456
 2457                    b.ToTable("courses_disciplines", "syki");
 4458                });
 459
 2460            modelBuilder.Entity("Syki.Back.Domain.Disciplines.Discipline", b =>
 2461                {
 2462                    b.Property<int>("Id")
 2463                        .ValueGeneratedOnAdd()
 2464                        .HasColumnType("integer")
 2465                        .HasColumnName("id");
 2466
 2467                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2468
 2469                    b.Property<string>("Code")
 2470                        .IsRequired()
 2471                        .HasColumnType("text")
 2472                        .HasColumnName("code");
 2473
 2474                    b.Property<int>("InstitutionId")
 2475                        .HasColumnType("integer")
 2476                        .HasColumnName("institution_id");
 2477
 2478                    b.Property<string>("Name")
 2479                        .IsRequired()
 2480                        .HasColumnType("text")
 2481                        .HasColumnName("name");
 2482
 2483                    b.HasKey("Id")
 2484                        .HasName("pk_disciplines");
 2485
 2486                    b.HasIndex("Code")
 2487                        .IsUnique()
 2488                        .HasDatabaseName("ix_disciplines_code");
 2489
 2490                    b.HasIndex("InstitutionId")
 2491                        .HasDatabaseName("ix_disciplines_institution_id");
 2492
 2493                    b.ToTable("disciplines", "syki");
 4494                });
 495
 2496            modelBuilder.Entity("Syki.Back.Domain.Identity.InstitutionRole", b =>
 2497                {
 2498                    b.Property<int>("InstitutionId")
 2499                        .HasColumnType("integer")
 2500                        .HasColumnName("institution_id");
 2501
 2502                    b.Property<int>("RoleId")
 2503                        .HasColumnType("integer")
 2504                        .HasColumnName("role_id");
 2505
 2506                    b.HasKey("InstitutionId", "RoleId")
 2507                        .HasName("pk_institution_roles");
 2508
 2509                    b.HasIndex("RoleId")
 2510                        .HasDatabaseName("ix_institution_roles_role_id");
 2511
 2512                    b.ToTable("institution_roles", "syki");
 4513                });
 514
 2515            modelBuilder.Entity("Syki.Back.Domain.Identity.MagicLink", b =>
 2516                {
 2517                    b.Property<Guid>("Id")
 2518                        .HasColumnType("uuid")
 2519                        .HasColumnName("id");
 2520
 2521                    b.Property<DateTime>("CreatedAt")
 2522                        .HasColumnType("timestamp with time zone")
 2523                        .HasColumnName("created_at");
 2524
 2525                    b.Property<DateTime>("ExpiresAt")
 2526                        .HasColumnType("timestamp with time zone")
 2527                        .HasColumnName("expires_at");
 2528
 2529                    b.Property<DateTime?>("UsedAt")
 2530                        .HasColumnType("timestamp with time zone")
 2531                        .HasColumnName("used_at");
 2532
 2533                    b.Property<int>("UserId")
 2534                        .HasColumnType("integer")
 2535                        .HasColumnName("user_id");
 2536
 2537                    b.HasKey("Id")
 2538                        .HasName("pk_magic_links");
 2539
 2540                    b.HasIndex("UserId")
 2541                        .HasDatabaseName("ix_magic_links_user_id");
 2542
 2543                    b.ToTable("magic_links", "syki");
 4544                });
 545
 2546            modelBuilder.Entity("Syki.Back.Domain.Identity.ResetPasswordToken", b =>
 2547                {
 2548                    b.Property<Guid>("Id")
 2549                        .HasColumnType("uuid")
 2550                        .HasColumnName("id");
 2551
 2552                    b.Property<DateTime>("CreatedAt")
 2553                        .HasColumnType("timestamp with time zone")
 2554                        .HasColumnName("created_at");
 2555
 2556                    b.Property<DateTime>("ExpiresAt")
 2557                        .HasColumnType("timestamp with time zone")
 2558                        .HasColumnName("expires_at");
 2559
 2560                    b.Property<int>("InstitutionId")
 2561                        .HasColumnType("integer")
 2562                        .HasColumnName("institution_id");
 2563
 2564                    b.Property<string>("Token")
 2565                        .IsRequired()
 2566                        .HasColumnType("text")
 2567                        .HasColumnName("token");
 2568
 2569                    b.Property<DateTime?>("UsedAt")
 2570                        .HasColumnType("timestamp with time zone")
 2571                        .HasColumnName("used_at");
 2572
 2573                    b.Property<int>("UserId")
 2574                        .HasColumnType("integer")
 2575                        .HasColumnName("user_id");
 2576
 2577                    b.HasKey("Id")
 2578                        .HasName("pk_reset_password_tokens");
 2579
 2580                    b.HasIndex("InstitutionId")
 2581                        .HasDatabaseName("ix_reset_password_tokens_institution_id");
 2582
 2583                    b.HasIndex("Token")
 2584                        .IsUnique()
 2585                        .HasDatabaseName("ix_reset_password_tokens_token");
 2586
 2587                    b.HasIndex("UserId")
 2588                        .HasDatabaseName("ix_reset_password_tokens_user_id");
 2589
 2590                    b.ToTable("reset_password_tokens", (string)null);
 4591                });
 592
 2593            modelBuilder.Entity("Syki.Back.Domain.Identity.SsoAllowedDomain", b =>
 2594                {
 2595                    b.Property<string>("Domain")
 2596                        .HasColumnType("text")
 2597                        .HasColumnName("domain");
 2598
 2599                    b.Property<int>("SsoConfigurationId")
 2600                        .HasColumnType("integer")
 2601                        .HasColumnName("sso_configuration_id");
 2602
 2603                    b.HasKey("Domain")
 2604                        .HasName("pk_sso_allowed_domains");
 2605
 2606                    b.HasIndex("SsoConfigurationId")
 2607                        .HasDatabaseName("ix_sso_allowed_domains_sso_configuration_id");
 2608
 2609                    b.ToTable("sso_allowed_domains", "syki");
 4610                });
 611
 2612            modelBuilder.Entity("Syki.Back.Domain.Identity.SsoConfiguration", b =>
 2613                {
 2614                    b.Property<int>("Id")
 2615                        .ValueGeneratedOnAdd()
 2616                        .HasColumnType("integer")
 2617                        .HasColumnName("id");
 2618
 2619                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2620
 2621                    b.Property<string>("Authority")
 2622                        .IsRequired()
 2623                        .HasColumnType("text")
 2624                        .HasColumnName("authority");
 2625
 2626                    b.Property<string>("ClientId")
 2627                        .IsRequired()
 2628                        .HasColumnType("text")
 2629                        .HasColumnName("client_id");
 2630
 2631                    b.Property<string>("ClientSecret")
 2632                        .IsRequired()
 2633                        .HasColumnType("text")
 2634                        .HasColumnName("client_secret");
 2635
 2636                    b.Property<DateTime>("CreatedAt")
 2637                        .HasColumnType("timestamp with time zone")
 2638                        .HasColumnName("created_at");
 2639
 2640                    b.Property<int>("InstitutionId")
 2641                        .HasColumnType("integer")
 2642                        .HasColumnName("institution_id");
 2643
 2644                    b.Property<bool>("IsActive")
 2645                        .HasColumnType("boolean")
 2646                        .HasColumnName("is_active");
 2647
 2648                    b.Property<int>("ProviderType")
 2649                        .HasColumnType("integer")
 2650                        .HasColumnName("provider_type");
 2651
 2652                    b.Property<Guid>("PublicId")
 2653                        .HasColumnType("uuid")
 2654                        .HasColumnName("public_id");
 2655
 2656                    b.Property<bool>("RequireSso")
 2657                        .HasColumnType("boolean")
 2658                        .HasColumnName("require_sso");
 2659
 2660                    b.Property<DateTime>("UpdatedAt")
 2661                        .HasColumnType("timestamp with time zone")
 2662                        .HasColumnName("updated_at");
 2663
 2664                    b.HasKey("Id")
 2665                        .HasName("pk_sso_configurations");
 2666
 2667                    b.HasIndex("InstitutionId")
 2668                        .HasDatabaseName("ix_sso_configurations_institution_id");
 2669
 2670                    b.HasIndex("PublicId")
 2671                        .IsUnique()
 2672                        .HasDatabaseName("ix_sso_configurations_public_id");
 2673
 2674                    b.ToTable("sso_configurations", "syki");
 4675                });
 676
 2677            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiRole", b =>
 2678                {
 2679                    b.Property<int>("Id")
 2680                        .ValueGeneratedOnAdd()
 2681                        .HasColumnType("integer")
 2682                        .HasColumnName("id");
 2683
 2684                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2685
 2686                    b.Property<string>("ConcurrencyStamp")
 2687                        .IsConcurrencyToken()
 2688                        .HasColumnType("text")
 2689                        .HasColumnName("concurrency_stamp");
 2690
 2691                    b.Property<string>("Description")
 2692                        .IsRequired()
 2693                        .HasColumnType("text")
 2694                        .HasColumnName("description");
 2695
 2696                    b.Property<string>("Name")
 2697                        .HasMaxLength(256)
 2698                        .HasColumnType("character varying(256)")
 2699                        .HasColumnName("name");
 2700
 2701                    b.Property<string>("NormalizedName")
 2702                        .HasMaxLength(256)
 2703                        .HasColumnType("character varying(256)")
 2704                        .HasColumnName("normalized_name");
 2705
 2706                    b.Property<int?>("OwnerId")
 2707                        .HasColumnType("integer")
 2708                        .HasColumnName("owner_id");
 2709
 2710                    b.PrimitiveCollection<List<int>>("Permissions")
 2711                        .IsRequired()
 2712                        .HasColumnType("integer[]")
 2713                        .HasColumnName("permissions");
 2714
 2715                    b.HasKey("Id")
 2716                        .HasName("pk_roles");
 2717
 2718                    b.HasIndex("NormalizedName")
 2719                        .HasDatabaseName("role_name_index");
 2720
 2721                    b.HasIndex("OwnerId", "NormalizedName")
 2722                        .IsUnique()
 2723                        .HasDatabaseName("ix_roles_owner_id_normalized_name");
 2724
 2725                    NpgsqlIndexBuilderExtensions.AreNullsDistinct(b.HasIndex("OwnerId", "NormalizedName"), false);
 2726
 2727                    b.ToTable("roles", "syki");
 4728                });
 729
 2730            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiRoleClaim", b =>
 2731                {
 2732                    b.Property<int>("Id")
 2733                        .ValueGeneratedOnAdd()
 2734                        .HasColumnType("integer")
 2735                        .HasColumnName("id");
 2736
 2737                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2738
 2739                    b.Property<string>("ClaimType")
 2740                        .HasColumnType("text")
 2741                        .HasColumnName("claim_type");
 2742
 2743                    b.Property<string>("ClaimValue")
 2744                        .HasColumnType("text")
 2745                        .HasColumnName("claim_value");
 2746
 2747                    b.Property<int>("RoleId")
 2748                        .HasColumnType("integer")
 2749                        .HasColumnName("role_id");
 2750
 2751                    b.HasKey("Id")
 2752                        .HasName("pk_role_claims");
 2753
 2754                    b.HasIndex("RoleId")
 2755                        .HasDatabaseName("ix_role_claims_role_id");
 2756
 2757                    b.ToTable("role_claims", "syki");
 4758                });
 759
 2760            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiUser", b =>
 2761                {
 2762                    b.Property<int>("Id")
 2763                        .ValueGeneratedOnAdd()
 2764                        .HasColumnType("integer")
 2765                        .HasColumnName("id");
 2766
 2767                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2768
 2769                    b.Property<int>("AccessFailedCount")
 2770                        .HasColumnType("integer")
 2771                        .HasColumnName("access_failed_count");
 2772
 2773                    b.Property<string>("ConcurrencyStamp")
 2774                        .IsConcurrencyToken()
 2775                        .HasColumnType("text")
 2776                        .HasColumnName("concurrency_stamp");
 2777
 2778                    b.Property<DateTime>("CreatedAt")
 2779                        .HasColumnType("timestamp with time zone")
 2780                        .HasColumnName("created_at");
 2781
 2782                    b.Property<string>("Email")
 2783                        .HasMaxLength(256)
 2784                        .HasColumnType("character varying(256)")
 2785                        .HasColumnName("email");
 2786
 2787                    b.Property<bool>("EmailConfirmed")
 2788                        .HasColumnType("boolean")
 2789                        .HasColumnName("email_confirmed");
 2790
 2791                    b.Property<int>("InstitutionId")
 2792                        .HasColumnType("integer")
 2793                        .HasColumnName("institution_id");
 2794
 2795                    b.Property<bool>("LockoutEnabled")
 2796                        .HasColumnType("boolean")
 2797                        .HasColumnName("lockout_enabled");
 2798
 2799                    b.Property<DateTimeOffset?>("LockoutEnd")
 2800                        .HasColumnType("timestamp with time zone")
 2801                        .HasColumnName("lockout_end");
 2802
 2803                    b.Property<string>("Name")
 2804                        .IsRequired()
 2805                        .HasColumnType("text")
 2806                        .HasColumnName("name");
 2807
 2808                    b.Property<string>("NormalizedEmail")
 2809                        .HasMaxLength(256)
 2810                        .HasColumnType("character varying(256)")
 2811                        .HasColumnName("normalized_email");
 2812
 2813                    b.Property<string>("NormalizedUserName")
 2814                        .HasMaxLength(256)
 2815                        .HasColumnType("character varying(256)")
 2816                        .HasColumnName("normalized_user_name");
 2817
 2818                    b.Property<string>("PasswordHash")
 2819                        .HasColumnType("text")
 2820                        .HasColumnName("password_hash");
 2821
 2822                    b.Property<string>("PhoneNumber")
 2823                        .HasColumnType("text")
 2824                        .HasColumnName("phone_number");
 2825
 2826                    b.Property<bool>("PhoneNumberConfirmed")
 2827                        .HasColumnType("boolean")
 2828                        .HasColumnName("phone_number_confirmed");
 2829
 2830                    b.Property<string>("ProfilePhoto")
 2831                        .HasColumnType("text")
 2832                        .HasColumnName("profile_photo");
 2833
 2834                    b.Property<string>("SecurityStamp")
 2835                        .HasColumnType("text")
 2836                        .HasColumnName("security_stamp");
 2837
 2838                    b.Property<bool>("TwoFactorEnabled")
 2839                        .HasColumnType("boolean")
 2840                        .HasColumnName("two_factor_enabled");
 2841
 2842                    b.Property<string>("UserName")
 2843                        .HasMaxLength(256)
 2844                        .HasColumnType("character varying(256)")
 2845                        .HasColumnName("user_name");
 2846
 2847                    b.HasKey("Id")
 2848                        .HasName("pk_users");
 2849
 2850                    b.HasAlternateKey("InstitutionId", "Id")
 2851                        .HasName("ak_asp_net_users_institution_id_id");
 2852
 2853                    b.HasIndex("NormalizedEmail")
 2854                        .HasDatabaseName("email_index");
 2855
 2856                    b.HasIndex("NormalizedUserName")
 2857                        .IsUnique()
 2858                        .HasDatabaseName("user_name_index");
 2859
 2860                    b.ToTable("users", "syki");
 4861                });
 862
 2863            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiUserClaim", b =>
 2864                {
 2865                    b.Property<int>("Id")
 2866                        .ValueGeneratedOnAdd()
 2867                        .HasColumnType("integer")
 2868                        .HasColumnName("id");
 2869
 2870                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2871
 2872                    b.Property<string>("ClaimType")
 2873                        .HasColumnType("text")
 2874                        .HasColumnName("claim_type");
 2875
 2876                    b.Property<string>("ClaimValue")
 2877                        .HasColumnType("text")
 2878                        .HasColumnName("claim_value");
 2879
 2880                    b.Property<int>("UserId")
 2881                        .HasColumnType("integer")
 2882                        .HasColumnName("user_id");
 2883
 2884                    b.HasKey("Id")
 2885                        .HasName("pk_user_claims");
 2886
 2887                    b.HasIndex("UserId")
 2888                        .HasDatabaseName("ix_user_claims_user_id");
 2889
 2890                    b.ToTable("user_claims", "syki");
 4891                });
 892
 2893            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiUserLogin", b =>
 2894                {
 2895                    b.Property<string>("LoginProvider")
 2896                        .HasColumnType("text")
 2897                        .HasColumnName("login_provider");
 2898
 2899                    b.Property<string>("ProviderKey")
 2900                        .HasColumnType("text")
 2901                        .HasColumnName("provider_key");
 2902
 2903                    b.Property<string>("ProviderDisplayName")
 2904                        .HasColumnType("text")
 2905                        .HasColumnName("provider_display_name");
 2906
 2907                    b.Property<int>("UserId")
 2908                        .HasColumnType("integer")
 2909                        .HasColumnName("user_id");
 2910
 2911                    b.HasKey("LoginProvider", "ProviderKey")
 2912                        .HasName("pk_user_logins");
 2913
 2914                    b.HasIndex("UserId")
 2915                        .HasDatabaseName("ix_user_logins_user_id");
 2916
 2917                    b.ToTable("user_logins", "syki");
 4918                });
 919
 2920            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiUserRole", b =>
 2921                {
 2922                    b.Property<int>("InstitutionId")
 2923                        .HasColumnType("integer")
 2924                        .HasColumnName("institution_id");
 2925
 2926                    b.Property<int>("UserId")
 2927                        .HasColumnType("integer")
 2928                        .HasColumnName("user_id");
 2929
 2930                    b.Property<int>("RoleId")
 2931                        .HasColumnType("integer")
 2932                        .HasColumnName("role_id");
 2933
 2934                    b.HasKey("InstitutionId", "UserId", "RoleId")
 2935                        .HasName("pk_user_roles");
 2936
 2937                    b.HasIndex("RoleId")
 2938                        .HasDatabaseName("ix_user_roles_role_id");
 2939
 2940                    b.HasIndex("UserId")
 2941                        .HasDatabaseName("ix_user_roles_user_id");
 2942
 2943                    b.HasIndex("InstitutionId", "UserId")
 2944                        .IsUnique()
 2945                        .HasDatabaseName("ix_user_roles_institution_id_user_id");
 2946
 2947                    b.ToTable("user_roles", "syki");
 4948                });
 949
 2950            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiUserToken", b =>
 2951                {
 2952                    b.Property<int>("UserId")
 2953                        .HasColumnType("integer")
 2954                        .HasColumnName("user_id");
 2955
 2956                    b.Property<string>("LoginProvider")
 2957                        .HasColumnType("text")
 2958                        .HasColumnName("login_provider");
 2959
 2960                    b.Property<string>("Name")
 2961                        .HasColumnType("text")
 2962                        .HasColumnName("name");
 2963
 2964                    b.Property<string>("Value")
 2965                        .HasColumnType("text")
 2966                        .HasColumnName("value");
 2967
 2968                    b.HasKey("UserId", "LoginProvider", "Name")
 2969                        .HasName("pk_user_tokens");
 2970
 2971                    b.ToTable("user_tokens", "syki");
 4972                });
 973
 2974            modelBuilder.Entity("Syki.Back.Domain.Institutions.Institution", b =>
 2975                {
 2976                    b.Property<int>("Id")
 2977                        .ValueGeneratedOnAdd()
 2978                        .HasColumnType("integer")
 2979                        .HasColumnName("id");
 2980
 2981                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 2982
 2983                    b.Property<DateTime>("CreatedAt")
 2984                        .HasColumnType("timestamp with time zone")
 2985                        .HasColumnName("created_at");
 2986
 2987                    b.Property<string>("Name")
 2988                        .IsRequired()
 2989                        .HasColumnType("text")
 2990                        .HasColumnName("name");
 2991
 2992                    b.HasKey("Id")
 2993                        .HasName("pk_institutions");
 2994
 2995                    b.ToTable("institutions", "syki");
 4996                });
 997
 2998            modelBuilder.Entity("Syki.Back.Domain.Periods.AcademicPeriod", b =>
 2999                {
 21000                    b.Property<int>("Id")
 21001                        .ValueGeneratedOnAdd()
 21002                        .HasColumnType("integer")
 21003                        .HasColumnName("id");
 21004
 21005                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 21006
 21007                    b.Property<DateOnly>("EndAt")
 21008                        .HasColumnType("date")
 21009                        .HasColumnName("end_at");
 21010
 21011                    b.Property<int>("InstitutionId")
 21012                        .HasColumnType("integer")
 21013                        .HasColumnName("institution_id");
 21014
 21015                    b.Property<string>("Name")
 21016                        .IsRequired()
 21017                        .HasColumnType("text")
 21018                        .HasColumnName("name");
 21019
 21020                    b.Property<DateOnly>("StartAt")
 21021                        .HasColumnType("date")
 21022                        .HasColumnName("start_at");
 21023
 21024                    b.HasKey("Id")
 21025                        .HasName("pk_academic_periods");
 21026
 21027                    b.HasIndex("InstitutionId")
 21028                        .HasDatabaseName("ix_academic_periods_institution_id");
 21029
 21030                    b.ToTable("academic_periods", "syki");
 41031                });
 1032
 21033            modelBuilder.Entity("Syki.Back.Domain.Periods.EnrollmentPeriod", b =>
 21034                {
 21035                    b.Property<int>("Id")
 21036                        .ValueGeneratedOnAdd()
 21037                        .HasColumnType("integer")
 21038                        .HasColumnName("id");
 21039
 21040                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 21041
 21042                    b.Property<DateOnly>("EndAt")
 21043                        .HasColumnType("date")
 21044                        .HasColumnName("end_at");
 21045
 21046                    b.Property<int>("InstitutionId")
 21047                        .HasColumnType("integer")
 21048                        .HasColumnName("institution_id");
 21049
 21050                    b.Property<string>("Name")
 21051                        .IsRequired()
 21052                        .HasColumnType("text")
 21053                        .HasColumnName("name");
 21054
 21055                    b.Property<DateOnly>("StartAt")
 21056                        .HasColumnType("date")
 21057                        .HasColumnName("start_at");
 21058
 21059                    b.HasKey("Id")
 21060                        .HasName("pk_enrollment_periods");
 21061
 21062                    b.HasIndex("InstitutionId")
 21063                        .HasDatabaseName("ix_enrollment_periods_institution_id");
 21064
 21065                    b.ToTable("enrollment_periods", "syki");
 41066                });
 1067
 21068            modelBuilder.Entity("Syki.Back.Domain.Students.StudentCourseEnrollment", b =>
 21069                {
 21070                    b.Property<int>("Id")
 21071                        .ValueGeneratedOnAdd()
 21072                        .HasColumnType("integer")
 21073                        .HasColumnName("id");
 21074
 21075                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 21076
 21077                    b.Property<int>("CourseOfferingId")
 21078                        .HasColumnType("integer")
 21079                        .HasColumnName("course_offering_id");
 21080
 21081                    b.Property<DateTime>("EnrolledAt")
 21082                        .HasColumnType("timestamp with time zone")
 21083                        .HasColumnName("enrolled_at");
 21084
 21085                    b.Property<DateTime?>("LeftAt")
 21086                        .HasColumnType("timestamp with time zone")
 21087                        .HasColumnName("left_at");
 21088
 21089                    b.Property<int>("StudentId")
 21090                        .HasColumnType("integer")
 21091                        .HasColumnName("student_id");
 21092
 21093                    b.HasKey("Id")
 21094                        .HasName("pk_student_course_enrollments");
 21095
 21096                    b.HasIndex("CourseOfferingId")
 21097                        .HasDatabaseName("ix_student_course_enrollments_course_offering_id");
 21098
 21099                    b.HasIndex("StudentId")
 21100                        .HasDatabaseName("ix_student_course_enrollments_student_id");
 21101
 21102                    b.ToTable("student_course_enrollments", "syki");
 41103                });
 1104
 21105            modelBuilder.Entity("Syki.Back.Domain.Students.SykiStudent", b =>
 21106                {
 21107                    b.Property<int>("Id")
 21108                        .ValueGeneratedOnAdd()
 21109                        .HasColumnType("integer")
 21110                        .HasColumnName("id");
 21111
 21112                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 21113
 21114                    b.Property<string>("EnrollmentCode")
 21115                        .IsRequired()
 21116                        .HasColumnType("text")
 21117                        .HasColumnName("enrollment_code");
 21118
 21119                    b.Property<int>("InstitutionId")
 21120                        .HasColumnType("integer")
 21121                        .HasColumnName("institution_id");
 21122
 21123                    b.Property<string>("Name")
 21124                        .IsRequired()
 21125                        .HasColumnType("text")
 21126                        .HasColumnName("name");
 21127
 21128                    b.Property<int>("Status")
 21129                        .HasColumnType("integer")
 21130                        .HasColumnName("status");
 21131
 21132                    b.Property<int>("UserId")
 21133                        .HasColumnType("integer")
 21134                        .HasColumnName("user_id");
 21135
 21136                    b.Property<decimal>("YieldCoefficient")
 21137                        .HasPrecision(4, 2)
 21138                        .HasColumnType("numeric(4,2)")
 21139                        .HasColumnName("yield_coefficient");
 21140
 21141                    b.HasKey("Id")
 21142                        .HasName("pk_students");
 21143
 21144                    b.HasIndex("EnrollmentCode")
 21145                        .IsUnique()
 21146                        .HasDatabaseName("ix_students_enrollment_code");
 21147
 21148                    b.HasIndex("InstitutionId", "UserId")
 21149                        .IsUnique()
 21150                        .HasDatabaseName("ix_students_institution_id_user_id");
 21151
 21152                    b.ToTable("students", "syki");
 41153                });
 1154
 21155            modelBuilder.Entity("Syki.Back.Domain.Teachers.SykiTeacher", b =>
 21156                {
 21157                    b.Property<int>("Id")
 21158                        .ValueGeneratedOnAdd()
 21159                        .HasColumnType("integer")
 21160                        .HasColumnName("id");
 21161
 21162                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 21163
 21164                    b.Property<int>("InstitutionId")
 21165                        .HasColumnType("integer")
 21166                        .HasColumnName("institution_id");
 21167
 21168                    b.Property<string>("Name")
 21169                        .IsRequired()
 21170                        .HasColumnType("text")
 21171                        .HasColumnName("name");
 21172
 21173                    b.Property<int>("UserId")
 21174                        .HasColumnType("integer")
 21175                        .HasColumnName("user_id");
 21176
 21177                    b.HasKey("Id")
 21178                        .HasName("pk_teachers");
 21179
 21180                    b.HasIndex("InstitutionId", "UserId")
 21181                        .IsUnique()
 21182                        .HasDatabaseName("ix_teachers_institution_id_user_id");
 21183
 21184                    b.ToTable("teachers", "syki");
 41185                });
 1186
 21187            modelBuilder.Entity("Syki.Back.Domain.Teachers.TeacherCampus", b =>
 21188                {
 21189                    b.Property<int>("TeacherId")
 21190                        .HasColumnType("integer")
 21191                        .HasColumnName("teacher_id");
 21192
 21193                    b.Property<int>("CampusId")
 21194                        .HasColumnType("integer")
 21195                        .HasColumnName("campus_id");
 21196
 21197                    b.HasKey("TeacherId", "CampusId")
 21198                        .HasName("pk_teachers_campi");
 21199
 21200                    b.HasIndex("CampusId")
 21201                        .HasDatabaseName("ix_teachers_campi_campus_id");
 21202
 21203                    b.ToTable("teachers_campi", "syki");
 41204                });
 1205
 21206            modelBuilder.Entity("Syki.Back.Domain.Teachers.TeacherDiscipline", b =>
 21207                {
 21208                    b.Property<int>("TeacherId")
 21209                        .HasColumnType("integer")
 21210                        .HasColumnName("teacher_id");
 21211
 21212                    b.Property<int>("DisciplineId")
 21213                        .HasColumnType("integer")
 21214                        .HasColumnName("discipline_id");
 21215
 21216                    b.HasKey("TeacherId", "DisciplineId")
 21217                        .HasName("pk_teachers_disciplines");
 21218
 21219                    b.HasIndex("DisciplineId")
 21220                        .HasDatabaseName("ix_teachers_disciplines_discipline_id");
 21221
 21222                    b.ToTable("teachers_disciplines", "syki");
 41223                });
 1224
 21225            modelBuilder.Entity("Syki.Back.Commands.Domain.Commands.Command", b =>
 21226                {
 21227                    b.HasOne("Syki.Back.Domain.Institutions.Institution", "Institution")
 21228                        .WithMany()
 21229                        .HasForeignKey("InstitutionId")
 21230                        .OnDelete(DeleteBehavior.Cascade)
 21231                        .IsRequired()
 21232                        .HasConstraintName("fk_commands_institutions_institution_id");
 21233
 21234                    b.Navigation("Institution");
 41235                });
 1236
 21237            modelBuilder.Entity("Syki.Back.Domain.Campi.Campus", b =>
 21238                {
 21239                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21240                        .WithMany("Campi")
 21241                        .HasForeignKey("InstitutionId")
 21242                        .OnDelete(DeleteBehavior.Cascade)
 21243                        .IsRequired()
 21244                        .HasConstraintName("fk_campi_institutions_institution_id");
 41245                });
 1246
 21247            modelBuilder.Entity("Syki.Back.Domain.CourseCurriculums.CourseCurriculum", b =>
 21248                {
 21249                    b.HasOne("Syki.Back.Domain.Courses.Course", "Course")
 21250                        .WithMany("CourseCurriculums")
 21251                        .HasForeignKey("CourseId")
 21252                        .OnDelete(DeleteBehavior.Cascade)
 21253                        .IsRequired()
 21254                        .HasConstraintName("fk_course_curriculums_courses_course_id");
 21255
 21256                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21257                        .WithMany("CourseCurriculums")
 21258                        .HasForeignKey("InstitutionId")
 21259                        .OnDelete(DeleteBehavior.Cascade)
 21260                        .IsRequired()
 21261                        .HasConstraintName("fk_course_curriculums_institutions_institution_id");
 21262
 21263                    b.Navigation("Course");
 41264                });
 1265
 21266            modelBuilder.Entity("Syki.Back.Domain.CourseCurriculums.CourseCurriculumDiscipline", b =>
 21267                {
 21268                    b.HasOne("Syki.Back.Domain.CourseCurriculums.CourseCurriculum", null)
 21269                        .WithMany("Links")
 21270                        .HasForeignKey("CourseCurriculumId")
 21271                        .OnDelete(DeleteBehavior.Cascade)
 21272                        .IsRequired()
 21273                        .HasConstraintName("fk_course_curriculums_disciplines_course_curriculums_course_cu");
 21274
 21275                    b.HasOne("Syki.Back.Domain.Disciplines.Discipline", null)
 21276                        .WithMany()
 21277                        .HasForeignKey("DisciplineId")
 21278                        .OnDelete(DeleteBehavior.Cascade)
 21279                        .IsRequired()
 21280                        .HasConstraintName("fk_course_curriculums_disciplines_disciplines_discipline_id");
 41281                });
 1282
 21283            modelBuilder.Entity("Syki.Back.Domain.CourseOfferings.CourseOffering", b =>
 21284                {
 21285                    b.HasOne("Syki.Back.Domain.Periods.AcademicPeriod", "AcademicPeriod")
 21286                        .WithMany()
 21287                        .HasForeignKey("AcademicPeriodId")
 21288                        .OnDelete(DeleteBehavior.Cascade)
 21289                        .IsRequired()
 21290                        .HasConstraintName("fk_course_offerings_academic_periods_academic_period_id");
 21291
 21292                    b.HasOne("Syki.Back.Domain.Campi.Campus", "Campus")
 21293                        .WithMany()
 21294                        .HasForeignKey("CampusId")
 21295                        .OnDelete(DeleteBehavior.Cascade)
 21296                        .IsRequired()
 21297                        .HasConstraintName("fk_course_offerings_campi_campus_id");
 21298
 21299                    b.HasOne("Syki.Back.Domain.CourseCurriculums.CourseCurriculum", "CourseCurriculum")
 21300                        .WithMany()
 21301                        .HasForeignKey("CourseCurriculumId")
 21302                        .OnDelete(DeleteBehavior.Cascade)
 21303                        .IsRequired()
 21304                        .HasConstraintName("fk_course_offerings_course_curriculums_course_curriculum_id");
 21305
 21306                    b.HasOne("Syki.Back.Domain.Courses.Course", "Course")
 21307                        .WithMany()
 21308                        .HasForeignKey("CourseId")
 21309                        .OnDelete(DeleteBehavior.Cascade)
 21310                        .IsRequired()
 21311                        .HasConstraintName("fk_course_offerings_courses_course_id");
 21312
 21313                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21314                        .WithMany("CourseOfferings")
 21315                        .HasForeignKey("InstitutionId")
 21316                        .OnDelete(DeleteBehavior.Cascade)
 21317                        .IsRequired()
 21318                        .HasConstraintName("fk_course_offerings_institutions_institution_id");
 21319
 21320                    b.Navigation("AcademicPeriod");
 21321
 21322                    b.Navigation("Campus");
 21323
 21324                    b.Navigation("Course");
 21325
 21326                    b.Navigation("CourseCurriculum");
 41327                });
 1328
 21329            modelBuilder.Entity("Syki.Back.Domain.Courses.Course", b =>
 21330                {
 21331                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21332                        .WithMany("Courses")
 21333                        .HasForeignKey("InstitutionId")
 21334                        .OnDelete(DeleteBehavior.Cascade)
 21335                        .IsRequired()
 21336                        .HasConstraintName("fk_courses_institutions_institution_id");
 41337                });
 1338
 21339            modelBuilder.Entity("Syki.Back.Domain.Courses.CourseDiscipline", b =>
 21340                {
 21341                    b.HasOne("Syki.Back.Domain.Courses.Course", null)
 21342                        .WithMany("Links")
 21343                        .HasForeignKey("CourseId")
 21344                        .OnDelete(DeleteBehavior.Cascade)
 21345                        .IsRequired()
 21346                        .HasConstraintName("fk_courses_disciplines_courses_course_id");
 21347
 21348                    b.HasOne("Syki.Back.Domain.Disciplines.Discipline", null)
 21349                        .WithMany("Links")
 21350                        .HasForeignKey("DisciplineId")
 21351                        .OnDelete(DeleteBehavior.Cascade)
 21352                        .IsRequired()
 21353                        .HasConstraintName("fk_courses_disciplines_disciplines_discipline_id");
 41354                });
 1355
 21356            modelBuilder.Entity("Syki.Back.Domain.Disciplines.Discipline", b =>
 21357                {
 21358                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21359                        .WithMany("Disciplines")
 21360                        .HasForeignKey("InstitutionId")
 21361                        .OnDelete(DeleteBehavior.Cascade)
 21362                        .IsRequired()
 21363                        .HasConstraintName("fk_disciplines_institutions_institution_id");
 41364                });
 1365
 21366            modelBuilder.Entity("Syki.Back.Domain.Identity.InstitutionRole", b =>
 21367                {
 21368                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21369                        .WithMany()
 21370                        .HasForeignKey("InstitutionId")
 21371                        .OnDelete(DeleteBehavior.Cascade)
 21372                        .IsRequired()
 21373                        .HasConstraintName("fk_institution_roles_institutions_institution_id");
 21374
 21375                    b.HasOne("Syki.Back.Domain.Identity.SykiRole", "Role")
 21376                        .WithMany()
 21377                        .HasForeignKey("RoleId")
 21378                        .OnDelete(DeleteBehavior.Cascade)
 21379                        .IsRequired()
 21380                        .HasConstraintName("fk_institution_roles_roles_role_id");
 21381
 21382                    b.Navigation("Role");
 41383                });
 1384
 21385            modelBuilder.Entity("Syki.Back.Domain.Identity.MagicLink", b =>
 21386                {
 21387                    b.HasOne("Syki.Back.Domain.Identity.SykiUser", "User")
 21388                        .WithMany()
 21389                        .HasForeignKey("UserId")
 21390                        .OnDelete(DeleteBehavior.Cascade)
 21391                        .IsRequired()
 21392                        .HasConstraintName("fk_magic_links_asp_net_users_user_id");
 21393
 21394                    b.Navigation("User");
 41395                });
 1396
 21397            modelBuilder.Entity("Syki.Back.Domain.Identity.ResetPasswordToken", b =>
 21398                {
 21399                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21400                        .WithMany()
 21401                        .HasForeignKey("InstitutionId")
 21402                        .OnDelete(DeleteBehavior.Cascade)
 21403                        .IsRequired()
 21404                        .HasConstraintName("fk_reset_password_tokens_institutions_institution_id");
 21405
 21406                    b.HasOne("Syki.Back.Domain.Identity.SykiUser", null)
 21407                        .WithMany()
 21408                        .HasForeignKey("UserId")
 21409                        .OnDelete(DeleteBehavior.Cascade)
 21410                        .IsRequired()
 21411                        .HasConstraintName("fk_reset_password_tokens_asp_net_users_user_id");
 41412                });
 1413
 21414            modelBuilder.Entity("Syki.Back.Domain.Identity.SsoAllowedDomain", b =>
 21415                {
 21416                    b.HasOne("Syki.Back.Domain.Identity.SsoConfiguration", null)
 21417                        .WithMany("AllowedDomains")
 21418                        .HasForeignKey("SsoConfigurationId")
 21419                        .OnDelete(DeleteBehavior.Cascade)
 21420                        .IsRequired()
 21421                        .HasConstraintName("fk_sso_allowed_domains_sso_configurations_sso_configuration_id");
 41422                });
 1423
 21424            modelBuilder.Entity("Syki.Back.Domain.Identity.SsoConfiguration", b =>
 21425                {
 21426                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21427                        .WithMany()
 21428                        .HasForeignKey("InstitutionId")
 21429                        .OnDelete(DeleteBehavior.Cascade)
 21430                        .IsRequired()
 21431                        .HasConstraintName("fk_sso_configurations_institutions_institution_id");
 41432                });
 1433
 21434            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiRole", b =>
 21435                {
 21436                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21437                        .WithMany()
 21438                        .HasForeignKey("OwnerId")
 21439                        .HasConstraintName("fk_roles_institutions_owner_id");
 41440                });
 1441
 21442            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiRoleClaim", b =>
 21443                {
 21444                    b.HasOne("Syki.Back.Domain.Identity.SykiRole", null)
 21445                        .WithMany()
 21446                        .HasForeignKey("RoleId")
 21447                        .OnDelete(DeleteBehavior.Cascade)
 21448                        .IsRequired()
 21449                        .HasConstraintName("fk_role_claims_roles_role_id");
 41450                });
 1451
 21452            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiUser", b =>
 21453                {
 21454                    b.HasOne("Syki.Back.Domain.Institutions.Institution", "Institution")
 21455                        .WithMany("Users")
 21456                        .HasForeignKey("InstitutionId")
 21457                        .OnDelete(DeleteBehavior.Cascade)
 21458                        .IsRequired()
 21459                        .HasConstraintName("fk_users_institutions_institution_id");
 21460
 21461                    b.Navigation("Institution");
 41462                });
 1463
 21464            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiUserClaim", b =>
 21465                {
 21466                    b.HasOne("Syki.Back.Domain.Identity.SykiUser", null)
 21467                        .WithMany()
 21468                        .HasForeignKey("UserId")
 21469                        .OnDelete(DeleteBehavior.Cascade)
 21470                        .IsRequired()
 21471                        .HasConstraintName("fk_user_claims_users_user_id");
 41472                });
 1473
 21474            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiUserLogin", b =>
 21475                {
 21476                    b.HasOne("Syki.Back.Domain.Identity.SykiUser", null)
 21477                        .WithMany()
 21478                        .HasForeignKey("UserId")
 21479                        .OnDelete(DeleteBehavior.Cascade)
 21480                        .IsRequired()
 21481                        .HasConstraintName("fk_user_logins_users_user_id");
 41482                });
 1483
 21484            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiUserRole", b =>
 21485                {
 21486                    b.HasOne("Syki.Back.Domain.Institutions.Institution", "Institution")
 21487                        .WithMany()
 21488                        .HasForeignKey("InstitutionId")
 21489                        .OnDelete(DeleteBehavior.Cascade)
 21490                        .IsRequired()
 21491                        .HasConstraintName("fk_user_roles_institutions_institution_id");
 21492
 21493                    b.HasOne("Syki.Back.Domain.Identity.SykiRole", "Role")
 21494                        .WithMany()
 21495                        .HasForeignKey("RoleId")
 21496                        .OnDelete(DeleteBehavior.Cascade)
 21497                        .IsRequired()
 21498                        .HasConstraintName("fk_user_roles_roles_role_id");
 21499
 21500                    b.HasOne("Syki.Back.Domain.Identity.SykiUser", "User")
 21501                        .WithMany()
 21502                        .HasForeignKey("UserId")
 21503                        .OnDelete(DeleteBehavior.Cascade)
 21504                        .IsRequired()
 21505                        .HasConstraintName("fk_user_roles_users_user_id");
 21506
 21507                    b.Navigation("Institution");
 21508
 21509                    b.Navigation("Role");
 21510
 21511                    b.Navigation("User");
 41512                });
 1513
 21514            modelBuilder.Entity("Syki.Back.Domain.Identity.SykiUserToken", b =>
 21515                {
 21516                    b.HasOne("Syki.Back.Domain.Identity.SykiUser", null)
 21517                        .WithMany()
 21518                        .HasForeignKey("UserId")
 21519                        .OnDelete(DeleteBehavior.Cascade)
 21520                        .IsRequired()
 21521                        .HasConstraintName("fk_user_tokens_users_user_id");
 41522                });
 1523
 21524            modelBuilder.Entity("Syki.Back.Domain.Periods.AcademicPeriod", b =>
 21525                {
 21526                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21527                        .WithMany("AcademicPeriods")
 21528                        .HasForeignKey("InstitutionId")
 21529                        .OnDelete(DeleteBehavior.Cascade)
 21530                        .IsRequired()
 21531                        .HasConstraintName("fk_academic_periods_institutions_institution_id");
 41532                });
 1533
 21534            modelBuilder.Entity("Syki.Back.Domain.Periods.EnrollmentPeriod", b =>
 21535                {
 21536                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21537                        .WithMany("EnrollmentPeriods")
 21538                        .HasForeignKey("InstitutionId")
 21539                        .OnDelete(DeleteBehavior.Cascade)
 21540                        .IsRequired()
 21541                        .HasConstraintName("fk_enrollment_periods_institutions_institution_id");
 41542                });
 1543
 21544            modelBuilder.Entity("Syki.Back.Domain.Students.StudentCourseEnrollment", b =>
 21545                {
 21546                    b.HasOne("Syki.Back.Domain.CourseOfferings.CourseOffering", null)
 21547                        .WithMany()
 21548                        .HasForeignKey("CourseOfferingId")
 21549                        .OnDelete(DeleteBehavior.Cascade)
 21550                        .IsRequired()
 21551                        .HasConstraintName("fk_student_course_enrollments_course_offerings_course_offering");
 21552
 21553                    b.HasOne("Syki.Back.Domain.Students.SykiStudent", null)
 21554                        .WithMany()
 21555                        .HasForeignKey("StudentId")
 21556                        .OnDelete(DeleteBehavior.Cascade)
 21557                        .IsRequired()
 21558                        .HasConstraintName("fk_student_course_enrollments_students_student_id");
 41559                });
 1560
 21561            modelBuilder.Entity("Syki.Back.Domain.Students.SykiStudent", b =>
 21562                {
 21563                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21564                        .WithMany("Students")
 21565                        .HasForeignKey("InstitutionId")
 21566                        .OnDelete(DeleteBehavior.Cascade)
 21567                        .IsRequired()
 21568                        .HasConstraintName("fk_students_institutions_institution_id");
 21569
 21570                    b.HasOne("Syki.Back.Domain.Identity.SykiUser", "User")
 21571                        .WithOne()
 21572                        .HasForeignKey("Syki.Back.Domain.Students.SykiStudent", "InstitutionId", "UserId")
 21573                        .HasPrincipalKey("Syki.Back.Domain.Identity.SykiUser", "InstitutionId", "Id")
 21574                        .OnDelete(DeleteBehavior.Cascade)
 21575                        .IsRequired()
 21576                        .HasConstraintName("fk_students_asp_net_users_institution_id_user_id");
 21577
 21578                    b.Navigation("User");
 41579                });
 1580
 21581            modelBuilder.Entity("Syki.Back.Domain.Teachers.SykiTeacher", b =>
 21582                {
 21583                    b.HasOne("Syki.Back.Domain.Institutions.Institution", null)
 21584                        .WithMany("Teachers")
 21585                        .HasForeignKey("InstitutionId")
 21586                        .OnDelete(DeleteBehavior.Cascade)
 21587                        .IsRequired()
 21588                        .HasConstraintName("fk_teachers_institutions_institution_id");
 21589
 21590                    b.HasOne("Syki.Back.Domain.Identity.SykiUser", "User")
 21591                        .WithOne()
 21592                        .HasForeignKey("Syki.Back.Domain.Teachers.SykiTeacher", "InstitutionId", "UserId")
 21593                        .HasPrincipalKey("Syki.Back.Domain.Identity.SykiUser", "InstitutionId", "Id")
 21594                        .OnDelete(DeleteBehavior.Cascade)
 21595                        .IsRequired()
 21596                        .HasConstraintName("fk_teachers_asp_net_users_institution_id_user_id");
 21597
 21598                    b.Navigation("User");
 41599                });
 1600
 21601            modelBuilder.Entity("Syki.Back.Domain.Teachers.TeacherCampus", b =>
 21602                {
 21603                    b.HasOne("Syki.Back.Domain.Campi.Campus", null)
 21604                        .WithMany()
 21605                        .HasForeignKey("CampusId")
 21606                        .OnDelete(DeleteBehavior.Cascade)
 21607                        .IsRequired()
 21608                        .HasConstraintName("fk_teachers_campi_campi_campus_id");
 21609
 21610                    b.HasOne("Syki.Back.Domain.Teachers.SykiTeacher", null)
 21611                        .WithMany()
 21612                        .HasForeignKey("TeacherId")
 21613                        .OnDelete(DeleteBehavior.Cascade)
 21614                        .IsRequired()
 21615                        .HasConstraintName("fk_teachers_campi_teachers_teacher_id");
 41616                });
 1617
 21618            modelBuilder.Entity("Syki.Back.Domain.Teachers.TeacherDiscipline", b =>
 21619                {
 21620                    b.HasOne("Syki.Back.Domain.Disciplines.Discipline", null)
 21621                        .WithMany()
 21622                        .HasForeignKey("DisciplineId")
 21623                        .OnDelete(DeleteBehavior.Cascade)
 21624                        .IsRequired()
 21625                        .HasConstraintName("fk_teachers_disciplines_disciplines_discipline_id");
 21626
 21627                    b.HasOne("Syki.Back.Domain.Teachers.SykiTeacher", null)
 21628                        .WithMany()
 21629                        .HasForeignKey("TeacherId")
 21630                        .OnDelete(DeleteBehavior.Cascade)
 21631                        .IsRequired()
 21632                        .HasConstraintName("fk_teachers_disciplines_teachers_teacher_id");
 41633                });
 1634
 21635            modelBuilder.Entity("Syki.Back.Domain.CourseCurriculums.CourseCurriculum", b =>
 21636                {
 21637                    b.Navigation("Links");
 41638                });
 1639
 21640            modelBuilder.Entity("Syki.Back.Domain.Courses.Course", b =>
 21641                {
 21642                    b.Navigation("CourseCurriculums");
 21643
 21644                    b.Navigation("Links");
 41645                });
 1646
 21647            modelBuilder.Entity("Syki.Back.Domain.Disciplines.Discipline", b =>
 21648                {
 21649                    b.Navigation("Links");
 41650                });
 1651
 21652            modelBuilder.Entity("Syki.Back.Domain.Identity.SsoConfiguration", b =>
 21653                {
 21654                    b.Navigation("AllowedDomains");
 41655                });
 1656
 21657            modelBuilder.Entity("Syki.Back.Domain.Institutions.Institution", b =>
 21658                {
 21659                    b.Navigation("AcademicPeriods");
 21660
 21661                    b.Navigation("Campi");
 21662
 21663                    b.Navigation("CourseCurriculums");
 21664
 21665                    b.Navigation("CourseOfferings");
 21666
 21667                    b.Navigation("Courses");
 21668
 21669                    b.Navigation("Disciplines");
 21670
 21671                    b.Navigation("EnrollmentPeriods");
 21672
 21673                    b.Navigation("Students");
 21674
 21675                    b.Navigation("Teachers");
 21676
 21677                    b.Navigation("Users");
 41678                });
 1679#pragma warning restore 612, 618
 21680        }
 1681    }
 1682}