< Summary - Syki

Line coverage
99%
Covered lines: 2068
Uncovered lines: 5
Coverable lines: 2073
Total lines: 2202
Line coverage: 99.7%
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
File 1: Up(...)100%11100%
File 1: Down(...)100%210%
File 2: BuildTargetModel(...)100%11100%

File(s)

/home/runner/work/syki/syki/Back/Migrations/20250610232100_AddUserProfilePhoto.cs

#LineLine coverage
 1using Microsoft.EntityFrameworkCore.Migrations;
 2
 3#nullable disable
 4
 5namespace Back.Migrations
 6{
 7    /// <inheritdoc />
 8    public partial class AddUserProfilePhoto : Migration
 9    {
 10        /// <inheritdoc />
 11        protected override void Up(MigrationBuilder migrationBuilder)
 12        {
 413            migrationBuilder.AddColumn<string>(
 414                name: "profile_photo",
 415                schema: "syki",
 416                table: "users",
 417                type: "text",
 418                nullable: true);
 419        }
 20
 21        /// <inheritdoc />
 22        protected override void Down(MigrationBuilder migrationBuilder)
 23        {
 024            migrationBuilder.DropColumn(
 025                name: "profile_photo",
 026                schema: "syki",
 027                table: "users");
 028        }
 29    }
 30}

/home/runner/work/syki/syki/Back/Migrations/20250610232100_AddUserProfilePhoto.Designer.cs

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using System.Text.Json;
 4using Microsoft.EntityFrameworkCore;
 5using Microsoft.EntityFrameworkCore.Infrastructure;
 6using Microsoft.EntityFrameworkCore.Migrations;
 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    [Migration("20250610232100_AddUserProfilePhoto")]
 17    partial class AddUserProfilePhoto
 18    {
 19        /// <inheritdoc />
 20        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 21        {
 22#pragma warning disable 612, 618
 223            modelBuilder
 224                .HasDefaultSchema("syki")
 225                .HasAnnotation("ProductVersion", "9.0.0")
 226                .HasAnnotation("Relational:MaxIdentifierLength", 63);
 27
 228            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
 29
 230            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
 231                {
 232                    b.Property<int>("Id")
 233                        .ValueGeneratedOnAdd()
 234                        .HasColumnType("integer")
 235                        .HasColumnName("id");
 236
 237                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 238
 239                    b.Property<string>("ClaimType")
 240                        .HasColumnType("text")
 241                        .HasColumnName("claim_type");
 242
 243                    b.Property<string>("ClaimValue")
 244                        .HasColumnType("text")
 245                        .HasColumnName("claim_value");
 246
 247                    b.Property<Guid>("RoleId")
 248                        .HasColumnType("uuid")
 249                        .HasColumnName("role_id");
 250
 251                    b.HasKey("Id")
 252                        .HasName("pk_role_claims");
 253
 254                    b.HasIndex("RoleId")
 255                        .HasDatabaseName("ix_role_claims_role_id");
 256
 257                    b.ToTable("role_claims", "syki");
 458                });
 59
 260            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
 261                {
 262                    b.Property<int>("Id")
 263                        .ValueGeneratedOnAdd()
 264                        .HasColumnType("integer")
 265                        .HasColumnName("id");
 266
 267                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 268
 269                    b.Property<string>("ClaimType")
 270                        .HasColumnType("text")
 271                        .HasColumnName("claim_type");
 272
 273                    b.Property<string>("ClaimValue")
 274                        .HasColumnType("text")
 275                        .HasColumnName("claim_value");
 276
 277                    b.Property<Guid>("UserId")
 278                        .HasColumnType("uuid")
 279                        .HasColumnName("user_id");
 280
 281                    b.HasKey("Id")
 282                        .HasName("pk_user_claims");
 283
 284                    b.HasIndex("UserId")
 285                        .HasDatabaseName("ix_user_claims_user_id");
 286
 287                    b.ToTable("user_claims", "syki");
 488                });
 89
 290            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
 291                {
 292                    b.Property<string>("LoginProvider")
 293                        .HasColumnType("text")
 294                        .HasColumnName("login_provider");
 295
 296                    b.Property<string>("ProviderKey")
 297                        .HasColumnType("text")
 298                        .HasColumnName("provider_key");
 299
 2100                    b.Property<string>("ProviderDisplayName")
 2101                        .HasColumnType("text")
 2102                        .HasColumnName("provider_display_name");
 2103
 2104                    b.Property<Guid>("UserId")
 2105                        .HasColumnType("uuid")
 2106                        .HasColumnName("user_id");
 2107
 2108                    b.HasKey("LoginProvider", "ProviderKey")
 2109                        .HasName("pk_user_logins");
 2110
 2111                    b.HasIndex("UserId")
 2112                        .HasDatabaseName("ix_user_logins_user_id");
 2113
 2114                    b.ToTable("user_logins", "syki");
 4115                });
 116
 2117            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
 2118                {
 2119                    b.Property<Guid>("UserId")
 2120                        .HasColumnType("uuid")
 2121                        .HasColumnName("user_id");
 2122
 2123                    b.Property<Guid>("RoleId")
 2124                        .HasColumnType("uuid")
 2125                        .HasColumnName("role_id");
 2126
 2127                    b.HasKey("UserId", "RoleId")
 2128                        .HasName("pk_user_roles");
 2129
 2130                    b.HasIndex("RoleId")
 2131                        .HasDatabaseName("ix_user_roles_role_id");
 2132
 2133                    b.ToTable("user_roles", "syki");
 4134                });
 135
 2136            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
 2137                {
 2138                    b.Property<Guid>("UserId")
 2139                        .HasColumnType("uuid")
 2140                        .HasColumnName("user_id");
 2141
 2142                    b.Property<string>("LoginProvider")
 2143                        .HasColumnType("text")
 2144                        .HasColumnName("login_provider");
 2145
 2146                    b.Property<string>("Name")
 2147                        .HasColumnType("text")
 2148                        .HasColumnName("name");
 2149
 2150                    b.Property<string>("Value")
 2151                        .HasColumnType("text")
 2152                        .HasColumnName("value");
 2153
 2154                    b.HasKey("UserId", "LoginProvider", "Name")
 2155                        .HasName("pk_user_tokens");
 2156
 2157                    b.ToTable("user_tokens", "syki");
 4158                });
 159
 2160            modelBuilder.Entity("Syki.Back.Audit.AuditLog", b =>
 2161                {
 2162                    b.Property<Guid>("Id")
 2163                        .HasColumnType("uuid")
 2164                        .HasColumnName("id");
 2165
 2166                    b.Property<string>("Action")
 2167                        .IsRequired()
 2168                        .HasColumnType("text")
 2169                        .HasColumnName("action");
 2170
 2171                    b.Property<DateTime>("CreatedAt")
 2172                        .HasColumnType("timestamp with time zone")
 2173                        .HasColumnName("created_at");
 2174
 2175                    b.Property<JsonDocument>("Data")
 2176                        .IsRequired()
 2177                        .HasColumnType("jsonb")
 2178                        .HasColumnName("data");
 2179
 2180                    b.Property<Guid>("EntityId")
 2181                        .HasColumnType("uuid")
 2182                        .HasColumnName("entity_id");
 2183
 2184                    b.Property<string>("EntityType")
 2185                        .IsRequired()
 2186                        .HasColumnType("text")
 2187                        .HasColumnName("entity_type");
 2188
 2189                    b.Property<Guid>("InstitutionId")
 2190                        .HasColumnType("uuid")
 2191                        .HasColumnName("institution_id");
 2192
 2193                    b.Property<Guid>("UserId")
 2194                        .HasColumnType("uuid")
 2195                        .HasColumnName("user_id");
 2196
 2197                    b.HasKey("Id")
 2198                        .HasName("pk_audit_logs");
 2199
 2200                    b.HasIndex("InstitutionId", "UserId")
 2201                        .HasDatabaseName("ix_audit_logs_institution_id_user_id");
 2202
 2203                    b.ToTable("audit_logs", "syki");
 4204                });
 205
 2206            modelBuilder.Entity("Syki.Back.Commands.Command", b =>
 2207                {
 2208                    b.Property<Guid>("Id")
 2209                        .HasColumnType("uuid")
 2210                        .HasColumnName("id");
 2211
 2212                    b.Property<Guid?>("BatchId")
 2213                        .HasColumnType("uuid")
 2214                        .HasColumnName("batch_id");
 2215
 2216                    b.Property<DateTime>("CreatedAt")
 2217                        .HasColumnType("timestamp with time zone")
 2218                        .HasColumnName("created_at");
 2219
 2220                    b.Property<string>("Data")
 2221                        .IsRequired()
 2222                        .HasColumnType("text")
 2223                        .HasColumnName("data");
 2224
 2225                    b.Property<int>("Duration")
 2226                        .HasColumnType("integer")
 2227                        .HasColumnName("duration");
 2228
 2229                    b.Property<string>("Error")
 2230                        .HasColumnType("text")
 2231                        .HasColumnName("error");
 2232
 2233                    b.Property<Guid?>("EventId")
 2234                        .HasColumnType("uuid")
 2235                        .HasColumnName("event_id");
 2236
 2237                    b.Property<Guid>("InstitutionId")
 2238                        .HasColumnType("uuid")
 2239                        .HasColumnName("institution_id");
 2240
 2241                    b.Property<DateTime?>("NotBefore")
 2242                        .HasColumnType("timestamp with time zone")
 2243                        .HasColumnName("not_before");
 2244
 2245                    b.Property<Guid?>("OriginalId")
 2246                        .HasColumnType("uuid")
 2247                        .HasColumnName("original_id");
 2248
 2249                    b.Property<Guid?>("ParentId")
 2250                        .HasColumnType("uuid")
 2251                        .HasColumnName("parent_id");
 2252
 2253                    b.Property<DateTime?>("ProcessedAt")
 2254                        .HasColumnType("timestamp with time zone")
 2255                        .HasColumnName("processed_at");
 2256
 2257                    b.Property<Guid?>("ProcessorId")
 2258                        .HasColumnType("uuid")
 2259                        .HasColumnName("processor_id");
 2260
 2261                    b.Property<string>("Status")
 2262                        .IsRequired()
 2263                        .HasColumnType("text")
 2264                        .HasColumnName("status");
 2265
 2266                    b.Property<string>("Type")
 2267                        .IsRequired()
 2268                        .HasColumnType("text")
 2269                        .HasColumnName("type");
 2270
 2271                    b.HasKey("Id")
 2272                        .HasName("pk_commands");
 2273
 2274                    b.ToTable("commands", "syki");
 4275                });
 276
 2277            modelBuilder.Entity("Syki.Back.Commands.CommandBatch", b =>
 2278                {
 2279                    b.Property<Guid>("Id")
 2280                        .HasColumnType("uuid")
 2281                        .HasColumnName("id");
 2282
 2283                    b.Property<DateTime>("CreatedAt")
 2284                        .HasColumnType("timestamp with time zone")
 2285                        .HasColumnName("created_at");
 2286
 2287                    b.Property<Guid?>("EventId")
 2288                        .HasColumnType("uuid")
 2289                        .HasColumnName("event_id");
 2290
 2291                    b.Property<Guid>("InstitutionId")
 2292                        .HasColumnType("uuid")
 2293                        .HasColumnName("institution_id");
 2294
 2295                    b.Property<Guid?>("NextCommandId")
 2296                        .HasColumnType("uuid")
 2297                        .HasColumnName("next_command_id");
 2298
 2299                    b.Property<DateTime?>("ProcessedAt")
 2300                        .HasColumnType("timestamp with time zone")
 2301                        .HasColumnName("processed_at");
 2302
 2303                    b.Property<int>("Size")
 2304                        .HasColumnType("integer")
 2305                        .HasColumnName("size");
 2306
 2307                    b.Property<Guid?>("SourceCommandId")
 2308                        .HasColumnType("uuid")
 2309                        .HasColumnName("source_command_id");
 2310
 2311                    b.Property<string>("Status")
 2312                        .IsRequired()
 2313                        .HasColumnType("text")
 2314                        .HasColumnName("status");
 2315
 2316                    b.Property<string>("Type")
 2317                        .IsRequired()
 2318                        .HasColumnType("text")
 2319                        .HasColumnName("type");
 2320
 2321                    b.HasKey("Id")
 2322                        .HasName("pk_command_batches");
 2323
 2324                    b.ToTable("command_batches", "syki");
 4325                });
 326
 2327            modelBuilder.Entity("Syki.Back.Events.DomainEvent", b =>
 2328                {
 2329                    b.Property<Guid>("Id")
 2330                        .HasColumnType("uuid")
 2331                        .HasColumnName("id");
 2332
 2333                    b.Property<string>("Data")
 2334                        .IsRequired()
 2335                        .HasColumnType("text")
 2336                        .HasColumnName("data");
 2337
 2338                    b.Property<int>("Duration")
 2339                        .HasColumnType("integer")
 2340                        .HasColumnName("duration");
 2341
 2342                    b.Property<Guid>("EntityId")
 2343                        .HasColumnType("uuid")
 2344                        .HasColumnName("entity_id");
 2345
 2346                    b.Property<string>("Error")
 2347                        .HasColumnType("text")
 2348                        .HasColumnName("error");
 2349
 2350                    b.Property<Guid>("InstitutionId")
 2351                        .HasColumnType("uuid")
 2352                        .HasColumnName("institution_id");
 2353
 2354                    b.Property<DateTime>("OccurredAt")
 2355                        .HasColumnType("timestamp with time zone")
 2356                        .HasColumnName("occurred_at");
 2357
 2358                    b.Property<DateTime?>("ProcessedAt")
 2359                        .HasColumnType("timestamp with time zone")
 2360                        .HasColumnName("processed_at");
 2361
 2362                    b.Property<Guid?>("ProcessorId")
 2363                        .HasColumnType("uuid")
 2364                        .HasColumnName("processor_id");
 2365
 2366                    b.Property<string>("Status")
 2367                        .IsRequired()
 2368                        .HasColumnType("text")
 2369                        .HasColumnName("status");
 2370
 2371                    b.Property<string>("Type")
 2372                        .IsRequired()
 2373                        .HasColumnType("text")
 2374                        .HasColumnName("type");
 2375
 2376                    b.HasKey("Id")
 2377                        .HasName("pk_domain_events");
 2378
 2379                    b.ToTable("domain_events", "syki");
 4380                });
 381
 2382            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 2383                {
 2384                    b.Property<Guid>("Id")
 2385                        .HasColumnType("uuid")
 2386                        .HasColumnName("id");
 2387
 2388                    b.Property<int>("AttemptsCount")
 2389                        .HasColumnType("integer")
 2390                        .HasColumnName("attempts_count");
 2391
 2392                    b.Property<DateTime>("CreatedAt")
 2393                        .HasColumnType("timestamp with time zone")
 2394                        .HasColumnName("created_at");
 2395
 2396                    b.Property<string>("Event")
 2397                        .IsRequired()
 2398                        .HasColumnType("text")
 2399                        .HasColumnName("event");
 2400
 2401                    b.Property<Guid>("InstitutionId")
 2402                        .HasColumnType("uuid")
 2403                        .HasColumnName("institution_id");
 2404
 2405                    b.Property<string>("Payload")
 2406                        .IsRequired()
 2407                        .HasColumnType("text")
 2408                        .HasColumnName("payload");
 2409
 2410                    b.Property<string>("Status")
 2411                        .IsRequired()
 2412                        .HasColumnType("text")
 2413                        .HasColumnName("status");
 2414
 2415                    b.Property<Guid>("WebhookId")
 2416                        .HasColumnType("uuid")
 2417                        .HasColumnName("webhook_id");
 2418
 2419                    b.HasKey("Id")
 2420                        .HasName("pk_webhook_calls");
 2421
 2422                    b.HasIndex("InstitutionId")
 2423                        .HasDatabaseName("ix_webhook_calls_institution_id");
 2424
 2425                    b.HasIndex("WebhookId")
 2426                        .HasDatabaseName("ix_webhook_calls_webhook_id");
 2427
 2428                    b.ToTable("webhook_calls", "syki");
 4429                });
 430
 2431            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCallAttempt", b =>
 2432                {
 2433                    b.Property<Guid>("Id")
 2434                        .HasColumnType("uuid")
 2435                        .HasColumnName("id");
 2436
 2437                    b.Property<DateTime>("CreatedAt")
 2438                        .HasColumnType("timestamp with time zone")
 2439                        .HasColumnName("created_at");
 2440
 2441                    b.Property<string>("Response")
 2442                        .IsRequired()
 2443                        .HasColumnType("text")
 2444                        .HasColumnName("response");
 2445
 2446                    b.Property<string>("Status")
 2447                        .IsRequired()
 2448                        .HasColumnType("text")
 2449                        .HasColumnName("status");
 2450
 2451                    b.Property<int>("StatusCode")
 2452                        .HasColumnType("integer")
 2453                        .HasColumnName("status_code");
 2454
 2455                    b.Property<Guid>("WebhookCallId")
 2456                        .HasColumnType("uuid")
 2457                        .HasColumnName("webhook_call_id");
 2458
 2459                    b.HasKey("Id")
 2460                        .HasName("pk_webhook_call_attempts");
 2461
 2462                    b.HasIndex("WebhookCallId")
 2463                        .HasDatabaseName("ix_webhook_call_attempts_webhook_call_id");
 2464
 2465                    b.ToTable("webhook_call_attempts", "syki");
 4466                });
 467
 2468            modelBuilder.Entity("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", b =>
 2469                {
 2470                    b.Property<string>("Id")
 2471                        .HasColumnType("text")
 2472                        .HasColumnName("id");
 2473
 2474                    b.Property<Guid>("InstitutionId")
 2475                        .HasColumnType("uuid")
 2476                        .HasColumnName("institution_id");
 2477
 2478                    b.Property<DateOnly>("EndAt")
 2479                        .HasColumnType("date")
 2480                        .HasColumnName("end_at");
 2481
 2482                    b.Property<DateOnly>("StartAt")
 2483                        .HasColumnType("date")
 2484                        .HasColumnName("start_at");
 2485
 2486                    b.HasKey("Id", "InstitutionId")
 2487                        .HasName("pk_academic_periods");
 2488
 2489                    b.HasIndex("InstitutionId")
 2490                        .HasDatabaseName("ix_academic_periods_institution_id");
 2491
 2492                    b.ToTable("academic_periods", "syki");
 4493                });
 494
 2495            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCampus.Campus", b =>
 2496                {
 2497                    b.Property<Guid>("Id")
 2498                        .HasColumnType("uuid")
 2499                        .HasColumnName("id");
 2500
 2501                    b.Property<string>("City")
 2502                        .IsRequired()
 2503                        .HasColumnType("text")
 2504                        .HasColumnName("city");
 2505
 2506                    b.Property<Guid>("InstitutionId")
 2507                        .HasColumnType("uuid")
 2508                        .HasColumnName("institution_id");
 2509
 2510                    b.Property<string>("Name")
 2511                        .IsRequired()
 2512                        .HasColumnType("text")
 2513                        .HasColumnName("name");
 2514
 2515                    b.Property<string>("State")
 2516                        .IsRequired()
 2517                        .HasColumnType("text")
 2518                        .HasColumnName("state");
 2519
 2520                    b.HasKey("Id")
 2521                        .HasName("pk_campi");
 2522
 2523                    b.HasIndex("InstitutionId")
 2524                        .HasDatabaseName("ix_campi_institution_id");
 2525
 2526                    b.ToTable("campi", "syki");
 4527                });
 528
 2529            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 2530                {
 2531                    b.Property<Guid>("Id")
 2532                        .HasColumnType("uuid")
 2533                        .HasColumnName("id");
 2534
 2535                    b.Property<Guid>("DisciplineId")
 2536                        .HasColumnType("uuid")
 2537                        .HasColumnName("discipline_id");
 2538
 2539                    b.Property<Guid>("InstitutionId")
 2540                        .HasColumnType("uuid")
 2541                        .HasColumnName("institution_id");
 2542
 2543                    b.Property<string>("PeriodId")
 2544                        .IsRequired()
 2545                        .HasColumnType("text")
 2546                        .HasColumnName("period_id");
 2547
 2548                    b.Property<string>("Status")
 2549                        .IsRequired()
 2550                        .HasColumnType("text")
 2551                        .HasColumnName("status");
 2552
 2553                    b.Property<Guid>("TeacherId")
 2554                        .HasColumnType("uuid")
 2555                        .HasColumnName("teacher_id");
 2556
 2557                    b.Property<int>("Vacancies")
 2558                        .HasColumnType("integer")
 2559                        .HasColumnName("vacancies");
 2560
 2561                    b.Property<int>("Workload")
 2562                        .HasColumnType("integer")
 2563                        .HasColumnName("workload");
 2564
 2565                    b.HasKey("Id")
 2566                        .HasName("pk_classes");
 2567
 2568                    b.HasIndex("DisciplineId")
 2569                        .HasDatabaseName("ix_classes_discipline_id");
 2570
 2571                    b.HasIndex("TeacherId")
 2572                        .HasDatabaseName("ix_classes_teacher_id");
 2573
 2574                    b.HasIndex("PeriodId", "InstitutionId")
 2575                        .HasDatabaseName("ix_classes_period_id_institution_id");
 2576
 2577                    b.ToTable("classes", "syki");
 4578                });
 579
 2580            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 2581                {
 2582                    b.Property<Guid>("Id")
 2583                        .HasColumnType("uuid")
 2584                        .HasColumnName("id");
 2585
 2586                    b.Property<Guid>("ClassId")
 2587                        .HasColumnType("uuid")
 2588                        .HasColumnName("class_id");
 2589
 2590                    b.Property<DateOnly>("Date")
 2591                        .HasColumnType("date")
 2592                        .HasColumnName("date");
 2593
 2594                    b.Property<string>("EndAt")
 2595                        .IsRequired()
 2596                        .HasColumnType("text")
 2597                        .HasColumnName("end_at");
 2598
 2599                    b.Property<int>("Number")
 2600                        .HasColumnType("integer")
 2601                        .HasColumnName("number");
 2602
 2603                    b.Property<string>("StartAt")
 2604                        .IsRequired()
 2605                        .HasColumnType("text")
 2606                        .HasColumnName("start_at");
 2607
 2608                    b.Property<string>("Status")
 2609                        .IsRequired()
 2610                        .HasColumnType("text")
 2611                        .HasColumnName("status");
 2612
 2613                    b.HasKey("Id")
 2614                        .HasName("pk_class_lessons");
 2615
 2616                    b.HasIndex("ClassId")
 2617                        .HasDatabaseName("ix_class_lessons_class_id");
 2618
 2619                    b.ToTable("class_lessons", "syki");
 4620                });
 621
 2622            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Schedule", b =>
 2623                {
 2624                    b.Property<Guid>("Id")
 2625                        .HasColumnType("uuid")
 2626                        .HasColumnName("id");
 2627
 2628                    b.Property<Guid>("ClassId")
 2629                        .HasColumnType("uuid")
 2630                        .HasColumnName("class_id");
 2631
 2632                    b.Property<string>("Day")
 2633                        .IsRequired()
 2634                        .HasColumnType("text")
 2635                        .HasColumnName("day");
 2636
 2637                    b.Property<string>("EndAt")
 2638                        .IsRequired()
 2639                        .HasColumnType("text")
 2640                        .HasColumnName("end_at");
 2641
 2642                    b.Property<string>("StartAt")
 2643                        .IsRequired()
 2644                        .HasColumnType("text")
 2645                        .HasColumnName("start_at");
 2646
 2647                    b.HasKey("Id")
 2648                        .HasName("pk_schedules");
 2649
 2650                    b.HasIndex("ClassId")
 2651                        .HasDatabaseName("ix_schedules_class_id");
 2652
 2653                    b.ToTable("schedules", "syki");
 4654                });
 655
 2656            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 2657                {
 2658                    b.Property<Guid>("Id")
 2659                        .HasColumnType("uuid")
 2660                        .HasColumnName("id");
 2661
 2662                    b.Property<Guid>("InstitutionId")
 2663                        .HasColumnType("uuid")
 2664                        .HasColumnName("institution_id");
 2665
 2666                    b.Property<string>("Name")
 2667                        .IsRequired()
 2668                        .HasColumnType("text")
 2669                        .HasColumnName("name");
 2670
 2671                    b.Property<string>("Type")
 2672                        .IsRequired()
 2673                        .HasColumnType("text")
 2674                        .HasColumnName("type");
 2675
 2676                    b.HasKey("Id")
 2677                        .HasName("pk_courses");
 2678
 2679                    b.HasIndex("InstitutionId")
 2680                        .HasDatabaseName("ix_courses_institution_id");
 2681
 2682                    b.ToTable("courses", "syki");
 4683                });
 684
 2685            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 2686                {
 2687                    b.Property<Guid>("Id")
 2688                        .HasColumnType("uuid")
 2689                        .HasColumnName("id");
 2690
 2691                    b.Property<Guid>("CourseId")
 2692                        .HasColumnType("uuid")
 2693                        .HasColumnName("course_id");
 2694
 2695                    b.Property<Guid>("InstitutionId")
 2696                        .HasColumnType("uuid")
 2697                        .HasColumnName("institution_id");
 2698
 2699                    b.Property<string>("Name")
 2700                        .IsRequired()
 2701                        .HasColumnType("text")
 2702                        .HasColumnName("name");
 2703
 2704                    b.HasKey("Id")
 2705                        .HasName("pk_course_curriculums");
 2706
 2707                    b.HasIndex("CourseId")
 2708                        .HasDatabaseName("ix_course_curriculums_course_id");
 2709
 2710                    b.HasIndex("InstitutionId")
 2711                        .HasDatabaseName("ix_course_curriculums_institution_id");
 2712
 2713                    b.ToTable("course_curriculums", "syki");
 4714                });
 715
 2716            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculumDiscipline", b =>
 2717                {
 2718                    b.Property<Guid>("CourseCurriculumId")
 2719                        .HasColumnType("uuid")
 2720                        .HasColumnName("course_curriculum_id");
 2721
 2722                    b.Property<Guid>("DisciplineId")
 2723                        .HasColumnType("uuid")
 2724                        .HasColumnName("discipline_id");
 2725
 2726                    b.Property<byte>("Credits")
 2727                        .HasColumnType("smallint")
 2728                        .HasColumnName("credits");
 2729
 2730                    b.Property<byte>("Period")
 2731                        .HasColumnType("smallint")
 2732                        .HasColumnName("period");
 2733
 2734                    b.Property<int>("Workload")
 2735                        .HasColumnType("integer")
 2736                        .HasColumnName("workload");
 2737
 2738                    b.HasKey("CourseCurriculumId", "DisciplineId")
 2739                        .HasName("pk_course_curriculums__disciplines");
 2740
 2741                    b.HasIndex("DisciplineId")
 2742                        .HasDatabaseName("ix_course_curriculums__disciplines_discipline_id");
 2743
 2744                    b.ToTable("course_curriculums__disciplines", "syki");
 4745                });
 746
 2747            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", b =>
 2748                {
 2749                    b.Property<Guid>("Id")
 2750                        .HasColumnType("uuid")
 2751                        .HasColumnName("id");
 2752
 2753                    b.Property<Guid>("CampusId")
 2754                        .HasColumnType("uuid")
 2755                        .HasColumnName("campus_id");
 2756
 2757                    b.Property<Guid>("CourseCurriculumId")
 2758                        .HasColumnType("uuid")
 2759                        .HasColumnName("course_curriculum_id");
 2760
 2761                    b.Property<Guid>("CourseId")
 2762                        .HasColumnType("uuid")
 2763                        .HasColumnName("course_id");
 2764
 2765                    b.Property<Guid>("InstitutionId")
 2766                        .HasColumnType("uuid")
 2767                        .HasColumnName("institution_id");
 2768
 2769                    b.Property<string>("Period")
 2770                        .IsRequired()
 2771                        .HasColumnType("text")
 2772                        .HasColumnName("period");
 2773
 2774                    b.Property<string>("Shift")
 2775                        .IsRequired()
 2776                        .HasColumnType("text")
 2777                        .HasColumnName("shift");
 2778
 2779                    b.HasKey("Id")
 2780                        .HasName("pk_course_offerings");
 2781
 2782                    b.HasIndex("CampusId")
 2783                        .HasDatabaseName("ix_course_offerings_campus_id");
 2784
 2785                    b.HasIndex("CourseCurriculumId")
 2786                        .HasDatabaseName("ix_course_offerings_course_curriculum_id");
 2787
 2788                    b.HasIndex("CourseId")
 2789                        .HasDatabaseName("ix_course_offerings_course_id");
 2790
 2791                    b.HasIndex("InstitutionId")
 2792                        .HasDatabaseName("ix_course_offerings_institution_id");
 2793
 2794                    b.HasIndex("Period", "InstitutionId")
 2795                        .HasDatabaseName("ix_course_offerings_period_institution_id");
 2796
 2797                    b.ToTable("course_offerings", "syki");
 4798                });
 799
 2800            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.CourseDiscipline", b =>
 2801                {
 2802                    b.Property<Guid>("CourseId")
 2803                        .HasColumnType("uuid")
 2804                        .HasColumnName("course_id");
 2805
 2806                    b.Property<Guid>("DisciplineId")
 2807                        .HasColumnType("uuid")
 2808                        .HasColumnName("discipline_id");
 2809
 2810                    b.HasKey("CourseId", "DisciplineId")
 2811                        .HasName("pk_courses__disciplines");
 2812
 2813                    b.HasIndex("DisciplineId")
 2814                        .HasDatabaseName("ix_courses__disciplines_discipline_id");
 2815
 2816                    b.ToTable("courses__disciplines", "syki");
 4817                });
 818
 2819            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 2820                {
 2821                    b.Property<Guid>("Id")
 2822                        .HasColumnType("uuid")
 2823                        .HasColumnName("id");
 2824
 2825                    b.Property<string>("Code")
 2826                        .IsRequired()
 2827                        .HasColumnType("text")
 2828                        .HasColumnName("code");
 2829
 2830                    b.Property<Guid>("InstitutionId")
 2831                        .HasColumnType("uuid")
 2832                        .HasColumnName("institution_id");
 2833
 2834                    b.Property<string>("Name")
 2835                        .IsRequired()
 2836                        .HasColumnType("text")
 2837                        .HasColumnName("name");
 2838
 2839                    b.HasKey("Id")
 2840                        .HasName("pk_disciplines");
 2841
 2842                    b.HasIndex("InstitutionId")
 2843                        .HasDatabaseName("ix_disciplines_institution_id");
 2844
 2845                    b.ToTable("disciplines", "syki");
 4846                });
 847
 2848            modelBuilder.Entity("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", b =>
 2849                {
 2850                    b.Property<string>("Id")
 2851                        .HasColumnType("text")
 2852                        .HasColumnName("id");
 2853
 2854                    b.Property<Guid>("InstitutionId")
 2855                        .HasColumnType("uuid")
 2856                        .HasColumnName("institution_id");
 2857
 2858                    b.Property<DateOnly>("EndAt")
 2859                        .HasColumnType("date")
 2860                        .HasColumnName("end_at");
 2861
 2862                    b.Property<DateOnly>("StartAt")
 2863                        .HasColumnType("date")
 2864                        .HasColumnName("start_at");
 2865
 2866                    b.HasKey("Id", "InstitutionId")
 2867                        .HasName("pk_enrollment_periods");
 2868
 2869                    b.ToTable("enrollment_periods", "syki");
 4870                });
 871
 2872            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 2873                {
 2874                    b.Property<Guid>("Id")
 2875                        .HasColumnType("uuid")
 2876                        .HasColumnName("id");
 2877
 2878                    b.Property<DateTime>("CreatedAt")
 2879                        .HasColumnType("timestamp with time zone")
 2880                        .HasColumnName("created_at");
 2881
 2882                    b.Property<string>("Description")
 2883                        .IsRequired()
 2884                        .HasColumnType("text")
 2885                        .HasColumnName("description");
 2886
 2887                    b.Property<Guid>("InstitutionId")
 2888                        .HasColumnType("uuid")
 2889                        .HasColumnName("institution_id");
 2890
 2891                    b.Property<string>("Target")
 2892                        .IsRequired()
 2893                        .HasColumnType("text")
 2894                        .HasColumnName("target");
 2895
 2896                    b.Property<bool>("Timeless")
 2897                        .HasColumnType("boolean")
 2898                        .HasColumnName("timeless");
 2899
 2900                    b.Property<string>("Title")
 2901                        .IsRequired()
 2902                        .HasColumnType("text")
 2903                        .HasColumnName("title");
 2904
 2905                    b.HasKey("Id")
 2906                        .HasName("pk_notifications");
 2907
 2908                    b.HasIndex("InstitutionId")
 2909                        .HasDatabaseName("ix_notifications_institution_id");
 2910
 2911                    b.ToTable("notifications", "syki");
 4912                });
 913
 2914            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.UserNotification", b =>
 2915                {
 2916                    b.Property<Guid>("UserId")
 2917                        .HasColumnType("uuid")
 2918                        .HasColumnName("user_id");
 2919
 2920                    b.Property<Guid>("NotificationId")
 2921                        .HasColumnType("uuid")
 2922                        .HasColumnName("notification_id");
 2923
 2924                    b.Property<DateTime?>("ViewedAt")
 2925                        .HasColumnType("timestamp with time zone")
 2926                        .HasColumnName("viewed_at");
 2927
 2928                    b.HasKey("UserId", "NotificationId")
 2929                        .HasName("pk_users__notifications");
 2930
 2931                    b.HasIndex("NotificationId")
 2932                        .HasDatabaseName("ix_users__notifications_notification_id");
 2933
 2934                    b.ToTable("users__notifications", "syki");
 4935                });
 936
 2937            modelBuilder.Entity("Syki.Back.Features.Academic.CreateStudent.SykiStudent", b =>
 2938                {
 2939                    b.Property<Guid>("Id")
 2940                        .HasColumnType("uuid")
 2941                        .HasColumnName("id");
 2942
 2943                    b.Property<Guid>("CourseOfferingId")
 2944                        .HasColumnType("uuid")
 2945                        .HasColumnName("course_offering_id");
 2946
 2947                    b.Property<string>("EnrollmentCode")
 2948                        .IsRequired()
 2949                        .HasColumnType("text")
 2950                        .HasColumnName("enrollment_code");
 2951
 2952                    b.Property<Guid>("InstitutionId")
 2953                        .HasColumnType("uuid")
 2954                        .HasColumnName("institution_id");
 2955
 2956                    b.Property<string>("Name")
 2957                        .IsRequired()
 2958                        .HasColumnType("text")
 2959                        .HasColumnName("name");
 2960
 2961                    b.Property<string>("Status")
 2962                        .IsRequired()
 2963                        .HasColumnType("text")
 2964                        .HasColumnName("status");
 2965
 2966                    b.Property<decimal>("YieldCoefficient")
 2967                        .HasPrecision(4, 2)
 2968                        .HasColumnType("numeric(4,2)")
 2969                        .HasColumnName("yield_coefficient");
 2970
 2971                    b.HasKey("Id")
 2972                        .HasName("pk_students");
 2973
 2974                    b.HasIndex("CourseOfferingId")
 2975                        .HasDatabaseName("ix_students_course_offering_id");
 2976
 2977                    b.HasIndex("EnrollmentCode")
 2978                        .IsUnique()
 2979                        .HasDatabaseName("ix_students_enrollment_code");
 2980
 2981                    b.HasIndex("InstitutionId", "Id")
 2982                        .IsUnique()
 2983                        .HasDatabaseName("ix_students_institution_id_id");
 2984
 2985                    b.ToTable("students", "syki");
 4986                });
 987
 2988            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 2989                {
 2990                    b.Property<Guid>("Id")
 2991                        .HasColumnType("uuid")
 2992                        .HasColumnName("id");
 2993
 2994                    b.Property<Guid>("InstitutionId")
 2995                        .HasColumnType("uuid")
 2996                        .HasColumnName("institution_id");
 2997
 2998                    b.Property<string>("Name")
 2999                        .IsRequired()
 21000                        .HasColumnType("text")
 21001                        .HasColumnName("name");
 21002
 21003                    b.HasKey("Id")
 21004                        .HasName("pk_teachers");
 21005
 21006                    b.HasIndex("InstitutionId", "Id")
 21007                        .IsUnique()
 21008                        .HasDatabaseName("ix_teachers_institution_id_id");
 21009
 21010                    b.ToTable("teachers", "syki");
 41011                });
 1012
 21013            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", b =>
 21014                {
 21015                    b.Property<Guid>("Id")
 21016                        .HasColumnType("uuid")
 21017                        .HasColumnName("id");
 21018
 21019                    b.Property<string>("ApiKey")
 21020                        .IsRequired()
 21021                        .HasColumnType("text")
 21022                        .HasColumnName("api_key");
 21023
 21024                    b.Property<string>("Type")
 21025                        .IsRequired()
 21026                        .HasColumnType("text")
 21027                        .HasColumnName("type");
 21028
 21029                    b.Property<Guid>("WebhookId")
 21030                        .HasColumnType("uuid")
 21031                        .HasColumnName("webhook_id");
 21032
 21033                    b.HasKey("Id")
 21034                        .HasName("pk_webhook_authentications");
 21035
 21036                    b.HasIndex("WebhookId")
 21037                        .IsUnique()
 21038                        .HasDatabaseName("ix_webhook_authentications_webhook_id");
 21039
 21040                    b.ToTable("webhook_authentications", "syki");
 41041                });
 1042
 21043            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 21044                {
 21045                    b.Property<Guid>("Id")
 21046                        .HasColumnType("uuid")
 21047                        .HasColumnName("id");
 21048
 21049                    b.Property<DateTime>("CreatedAt")
 21050                        .HasColumnType("timestamp with time zone")
 21051                        .HasColumnName("created_at");
 21052
 21053                    b.PrimitiveCollection<string[]>("Events")
 21054                        .IsRequired()
 21055                        .HasColumnType("text[]")
 21056                        .HasColumnName("events");
 21057
 21058                    b.Property<Guid>("InstitutionId")
 21059                        .HasColumnType("uuid")
 21060                        .HasColumnName("institution_id");
 21061
 21062                    b.Property<string>("Name")
 21063                        .IsRequired()
 21064                        .HasColumnType("text")
 21065                        .HasColumnName("name");
 21066
 21067                    b.Property<string>("Url")
 21068                        .IsRequired()
 21069                        .HasColumnType("text")
 21070                        .HasColumnName("url");
 21071
 21072                    b.HasKey("Id")
 21073                        .HasName("pk_webhook_subscriptions");
 21074
 21075                    b.HasIndex("InstitutionId")
 21076                        .HasDatabaseName("ix_webhook_subscriptions_institution_id");
 21077
 21078                    b.ToTable("webhook_subscriptions", "syki");
 41079                });
 1080
 21081            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.Institution", b =>
 21082                {
 21083                    b.Property<Guid>("Id")
 21084                        .HasColumnType("uuid")
 21085                        .HasColumnName("id");
 21086
 21087                    b.Property<DateTime>("CreatedAt")
 21088                        .HasColumnType("timestamp with time zone")
 21089                        .HasColumnName("created_at");
 21090
 21091                    b.Property<string>("Name")
 21092                        .IsRequired()
 21093                        .HasColumnType("text")
 21094                        .HasColumnName("name");
 21095
 21096                    b.HasKey("Id")
 21097                        .HasName("pk_institutions");
 21098
 21099                    b.ToTable("institutions", "syki");
 41100                });
 1101
 21102            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", b =>
 21103                {
 21104                    b.Property<Guid>("InstitutionId")
 21105                        .HasColumnType("uuid")
 21106                        .HasColumnName("institution_id");
 21107
 21108                    b.Property<decimal>("FrequencyLimit")
 21109                        .HasPrecision(4, 2)
 21110                        .HasColumnType("numeric(4,2)")
 21111                        .HasColumnName("frequency_limit");
 21112
 21113                    b.Property<decimal>("NoteLimit")
 21114                        .HasColumnType("numeric")
 21115                        .HasColumnName("note_limit");
 21116
 21117                    b.HasKey("InstitutionId")
 21118                        .HasName("pk_institution_configs");
 21119
 21120                    b.ToTable("institution_configs", "syki");
 41121                });
 1122
 21123            modelBuilder.Entity("Syki.Back.Features.Cross.CreatePendingUserRegister.UserRegister", b =>
 21124                {
 21125                    b.Property<Guid>("Id")
 21126                        .HasColumnType("uuid")
 21127                        .HasColumnName("id");
 21128
 21129                    b.Property<string>("Email")
 21130                        .IsRequired()
 21131                        .HasColumnType("text")
 21132                        .HasColumnName("email");
 21133
 21134                    b.Property<Guid>("InstitutionId")
 21135                        .HasColumnType("uuid")
 21136                        .HasColumnName("institution_id");
 21137
 21138                    b.Property<string>("Status")
 21139                        .IsRequired()
 21140                        .HasColumnType("text")
 21141                        .HasColumnName("status");
 21142
 21143                    b.HasKey("Id")
 21144                        .HasName("pk_user_registers");
 21145
 21146                    b.HasIndex("Email")
 21147                        .IsUnique()
 21148                        .HasDatabaseName("ix_user_registers_email");
 21149
 21150                    b.ToTable("user_registers", "syki");
 41151                });
 1152
 21153            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiRole", b =>
 21154                {
 21155                    b.Property<Guid>("Id")
 21156                        .ValueGeneratedOnAdd()
 21157                        .HasColumnType("uuid")
 21158                        .HasColumnName("id");
 21159
 21160                    b.Property<string>("ConcurrencyStamp")
 21161                        .IsConcurrencyToken()
 21162                        .HasColumnType("text")
 21163                        .HasColumnName("concurrency_stamp");
 21164
 21165                    b.Property<string>("Name")
 21166                        .HasMaxLength(256)
 21167                        .HasColumnType("character varying(256)")
 21168                        .HasColumnName("name");
 21169
 21170                    b.Property<string>("NormalizedName")
 21171                        .HasMaxLength(256)
 21172                        .HasColumnType("character varying(256)")
 21173                        .HasColumnName("normalized_name");
 21174
 21175                    b.HasKey("Id")
 21176                        .HasName("pk_roles");
 21177
 21178                    b.HasIndex("NormalizedName")
 21179                        .IsUnique()
 21180                        .HasDatabaseName("role_name_index");
 21181
 21182                    b.ToTable("roles", "syki");
 21183
 21184                    b.HasData(
 21185                        new
 21186                        {
 21187                            Id = new Guid("5912ebe1-9e6a-4ce1-90bf-8490534fb4e1"),
 21188                            ConcurrencyStamp = "5912ebe1-9e6a-4ce1-90bf-8490534fb4e1",
 21189                            Name = "Adm",
 21190                            NormalizedName = "ADM"
 21191                        },
 21192                        new
 21193                        {
 21194                            Id = new Guid("78691a7a-f554-42d7-a5cf-8d474b6de0dd"),
 21195                            ConcurrencyStamp = "78691a7a-f554-42d7-a5cf-8d474b6de0dd",
 21196                            Name = "Academic",
 21197                            NormalizedName = "ACADEMIC"
 21198                        },
 21199                        new
 21200                        {
 21201                            Id = new Guid("ca6f394f-6fd9-48cc-90a8-b379636a24e7"),
 21202                            ConcurrencyStamp = "ca6f394f-6fd9-48cc-90a8-b379636a24e7",
 21203                            Name = "Teacher",
 21204                            NormalizedName = "TEACHER"
 21205                        },
 21206                        new
 21207                        {
 21208                            Id = new Guid("f9ad5139-06c3-4ce2-9748-ecc498b087c7"),
 21209                            ConcurrencyStamp = "f9ad5139-06c3-4ce2-9748-ecc498b087c7",
 21210                            Name = "Student",
 21211                            NormalizedName = "STUDENT"
 21212                        });
 41213                });
 1214
 21215            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiUser", b =>
 21216                {
 21217                    b.Property<Guid>("Id")
 21218                        .ValueGeneratedOnAdd()
 21219                        .HasColumnType("uuid")
 21220                        .HasColumnName("id");
 21221
 21222                    b.Property<int>("AccessFailedCount")
 21223                        .HasColumnType("integer")
 21224                        .HasColumnName("access_failed_count");
 21225
 21226                    b.Property<string>("ConcurrencyStamp")
 21227                        .IsConcurrencyToken()
 21228                        .HasColumnType("text")
 21229                        .HasColumnName("concurrency_stamp");
 21230
 21231                    b.Property<DateTime>("CreatedAt")
 21232                        .HasColumnType("timestamp with time zone")
 21233                        .HasColumnName("created_at");
 21234
 21235                    b.Property<string>("Email")
 21236                        .HasMaxLength(256)
 21237                        .HasColumnType("character varying(256)")
 21238                        .HasColumnName("email");
 21239
 21240                    b.Property<bool>("EmailConfirmed")
 21241                        .HasColumnType("boolean")
 21242                        .HasColumnName("email_confirmed");
 21243
 21244                    b.Property<Guid>("InstitutionId")
 21245                        .HasColumnType("uuid")
 21246                        .HasColumnName("institution_id");
 21247
 21248                    b.Property<bool>("LockoutEnabled")
 21249                        .HasColumnType("boolean")
 21250                        .HasColumnName("lockout_enabled");
 21251
 21252                    b.Property<DateTimeOffset?>("LockoutEnd")
 21253                        .HasColumnType("timestamp with time zone")
 21254                        .HasColumnName("lockout_end");
 21255
 21256                    b.Property<string>("Name")
 21257                        .IsRequired()
 21258                        .HasColumnType("text")
 21259                        .HasColumnName("name");
 21260
 21261                    b.Property<string>("NormalizedEmail")
 21262                        .HasMaxLength(256)
 21263                        .HasColumnType("character varying(256)")
 21264                        .HasColumnName("normalized_email");
 21265
 21266                    b.Property<string>("NormalizedUserName")
 21267                        .HasMaxLength(256)
 21268                        .HasColumnType("character varying(256)")
 21269                        .HasColumnName("normalized_user_name");
 21270
 21271                    b.Property<string>("PasswordHash")
 21272                        .HasColumnType("text")
 21273                        .HasColumnName("password_hash");
 21274
 21275                    b.Property<string>("PhoneNumber")
 21276                        .HasColumnType("text")
 21277                        .HasColumnName("phone_number");
 21278
 21279                    b.Property<bool>("PhoneNumberConfirmed")
 21280                        .HasColumnType("boolean")
 21281                        .HasColumnName("phone_number_confirmed");
 21282
 21283                    b.Property<string>("ProfilePhoto")
 21284                        .HasColumnType("text")
 21285                        .HasColumnName("profile_photo");
 21286
 21287                    b.Property<string>("SecurityStamp")
 21288                        .HasColumnType("text")
 21289                        .HasColumnName("security_stamp");
 21290
 21291                    b.Property<bool>("TwoFactorEnabled")
 21292                        .HasColumnType("boolean")
 21293                        .HasColumnName("two_factor_enabled");
 21294
 21295                    b.Property<string>("UserName")
 21296                        .HasMaxLength(256)
 21297                        .HasColumnType("character varying(256)")
 21298                        .HasColumnName("user_name");
 21299
 21300                    b.HasKey("Id")
 21301                        .HasName("pk_users");
 21302
 21303                    b.HasAlternateKey("InstitutionId", "Id")
 21304                        .HasName("ak_asp_net_users_institution_id_id");
 21305
 21306                    b.HasIndex("NormalizedEmail")
 21307                        .HasDatabaseName("email_index");
 21308
 21309                    b.HasIndex("NormalizedUserName")
 21310                        .IsUnique()
 21311                        .HasDatabaseName("user_name_index");
 21312
 21313                    b.ToTable("users", "syki");
 41314                });
 1315
 21316            modelBuilder.Entity("Syki.Back.Features.Cross.SendResetPasswordToken.ResetPasswordToken", b =>
 21317                {
 21318                    b.Property<Guid>("Id")
 21319                        .HasColumnType("uuid")
 21320                        .HasColumnName("id");
 21321
 21322                    b.Property<DateTime>("CreatedAt")
 21323                        .HasColumnType("timestamp with time zone")
 21324                        .HasColumnName("created_at");
 21325
 21326                    b.Property<Guid>("InstitutionId")
 21327                        .HasColumnType("uuid")
 21328                        .HasColumnName("institution_id");
 21329
 21330                    b.Property<string>("Token")
 21331                        .IsRequired()
 21332                        .HasColumnType("text")
 21333                        .HasColumnName("token");
 21334
 21335                    b.Property<DateTime?>("UsedAt")
 21336                        .HasColumnType("timestamp with time zone")
 21337                        .HasColumnName("used_at");
 21338
 21339                    b.Property<Guid>("UserId")
 21340                        .HasColumnType("uuid")
 21341                        .HasColumnName("user_id");
 21342
 21343                    b.HasKey("Id")
 21344                        .HasName("pk_reset_password_tokens");
 21345
 21346                    b.HasIndex("InstitutionId")
 21347                        .HasDatabaseName("ix_reset_password_tokens_institution_id");
 21348
 21349                    b.HasIndex("Token")
 21350                        .IsUnique()
 21351                        .HasDatabaseName("ix_reset_password_tokens_token");
 21352
 21353                    b.HasIndex("UserId")
 21354                        .HasDatabaseName("ix_reset_password_tokens_user_id");
 21355
 21356                    b.ToTable("reset_password_tokens", "syki");
 41357                });
 1358
 21359            modelBuilder.Entity("Syki.Back.Features.Cross.SetupFeatureFlags.FeatureFlags", b =>
 21360                {
 21361                    b.Property<Guid>("Id")
 21362                        .HasColumnType("uuid")
 21363                        .HasColumnName("id");
 21364
 21365                    b.Property<bool>("CrossLogin")
 21366                        .HasColumnType("boolean")
 21367                        .HasColumnName("cross_login");
 21368
 21369                    b.HasKey("Id")
 21370                        .HasName("pk_feature_flags");
 21371
 21372                    b.ToTable("feature_flags", "syki");
 41373                });
 1374
 21375            modelBuilder.Entity("Syki.Back.Features.Student.CreateClassActivityWork.ClassActivityWork", b =>
 21376                {
 21377                    b.Property<Guid>("Id")
 21378                        .HasColumnType("uuid")
 21379                        .HasColumnName("id");
 21380
 21381                    b.Property<Guid>("ClassActivityId")
 21382                        .HasColumnType("uuid")
 21383                        .HasColumnName("class_activity_id");
 21384
 21385                    b.Property<string>("Link")
 21386                        .HasColumnType("text")
 21387                        .HasColumnName("link");
 21388
 21389                    b.Property<decimal>("Note")
 21390                        .HasColumnType("numeric")
 21391                        .HasColumnName("note");
 21392
 21393                    b.Property<string>("Status")
 21394                        .IsRequired()
 21395                        .HasColumnType("text")
 21396                        .HasColumnName("status");
 21397
 21398                    b.Property<Guid>("SykiStudentId")
 21399                        .HasColumnType("uuid")
 21400                        .HasColumnName("syki_student_id");
 21401
 21402                    b.HasKey("Id")
 21403                        .HasName("pk_class_activity_works");
 21404
 21405                    b.HasIndex("ClassActivityId")
 21406                        .HasDatabaseName("ix_class_activity_works_class_activity_id");
 21407
 21408                    b.HasIndex("SykiStudentId")
 21409                        .HasDatabaseName("ix_class_activity_works_syki_student_id");
 21410
 21411                    b.ToTable("class_activity_works", "syki");
 41412                });
 1413
 21414            modelBuilder.Entity("Syki.Back.Features.Student.CreateStudentEnrollment.ClassStudent", b =>
 21415                {
 21416                    b.Property<Guid>("ClassId")
 21417                        .HasColumnType("uuid")
 21418                        .HasColumnName("class_id");
 21419
 21420                    b.Property<Guid>("SykiStudentId")
 21421                        .HasColumnType("uuid")
 21422                        .HasColumnName("syki_student_id");
 21423
 21424                    b.Property<string>("StudentDisciplineStatus")
 21425                        .IsRequired()
 21426                        .HasColumnType("text")
 21427                        .HasColumnName("student_discipline_status");
 21428
 21429                    b.HasKey("ClassId", "SykiStudentId")
 21430                        .HasName("pk_classes__students");
 21431
 21432                    b.HasIndex("SykiStudentId")
 21433                        .HasDatabaseName("ix_classes__students_syki_student_id");
 21434
 21435                    b.ToTable("classes__students", "syki");
 41436                });
 1437
 21438            modelBuilder.Entity("Syki.Back.Features.Teacher.AddClassActivityNote.StudentClassNote", b =>
 21439                {
 21440                    b.Property<Guid>("Id")
 21441                        .HasColumnType("uuid")
 21442                        .HasColumnName("id");
 21443
 21444                    b.Property<Guid>("ClassId")
 21445                        .HasColumnType("uuid")
 21446                        .HasColumnName("class_id");
 21447
 21448                    b.Property<decimal>("Note")
 21449                        .HasPrecision(4, 2)
 21450                        .HasColumnType("numeric(4,2)")
 21451                        .HasColumnName("note");
 21452
 21453                    b.Property<Guid>("StudentId")
 21454                        .HasColumnType("uuid")
 21455                        .HasColumnName("student_id");
 21456
 21457                    b.Property<string>("Type")
 21458                        .IsRequired()
 21459                        .HasColumnType("text")
 21460                        .HasColumnName("type");
 21461
 21462                    b.HasKey("Id")
 21463                        .HasName("pk_student_class_notes");
 21464
 21465                    b.HasIndex("StudentId")
 21466                        .HasDatabaseName("ix_student_class_notes_student_id");
 21467
 21468                    b.HasIndex("ClassId", "StudentId", "Type")
 21469                        .IsUnique()
 21470                        .HasDatabaseName("ix_student_class_notes_class_id_student_id_type");
 21471
 21472                    b.ToTable("student_class_notes", "syki");
 41473                });
 1474
 21475            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 21476                {
 21477                    b.Property<Guid>("Id")
 21478                        .HasColumnType("uuid")
 21479                        .HasColumnName("id");
 21480
 21481                    b.Property<Guid>("ClassId")
 21482                        .HasColumnType("uuid")
 21483                        .HasColumnName("class_id");
 21484
 21485                    b.Property<DateTime>("CreatedAt")
 21486                        .HasColumnType("timestamp with time zone")
 21487                        .HasColumnName("created_at");
 21488
 21489                    b.Property<string>("Description")
 21490                        .IsRequired()
 21491                        .HasColumnType("text")
 21492                        .HasColumnName("description");
 21493
 21494                    b.Property<DateOnly>("DueDate")
 21495                        .HasColumnType("date")
 21496                        .HasColumnName("due_date");
 21497
 21498                    b.Property<string>("DueHour")
 21499                        .IsRequired()
 21500                        .HasColumnType("text")
 21501                        .HasColumnName("due_hour");
 21502
 21503                    b.Property<string>("Note")
 21504                        .IsRequired()
 21505                        .HasColumnType("text")
 21506                        .HasColumnName("note");
 21507
 21508                    b.Property<string>("Status")
 21509                        .IsRequired()
 21510                        .HasColumnType("text")
 21511                        .HasColumnName("status");
 21512
 21513                    b.Property<string>("Title")
 21514                        .IsRequired()
 21515                        .HasColumnType("text")
 21516                        .HasColumnName("title");
 21517
 21518                    b.Property<string>("Type")
 21519                        .IsRequired()
 21520                        .HasColumnType("text")
 21521                        .HasColumnName("type");
 21522
 21523                    b.Property<int>("Weight")
 21524                        .HasColumnType("integer")
 21525                        .HasColumnName("weight");
 21526
 21527                    b.HasKey("Id")
 21528                        .HasName("pk_class_activities");
 21529
 21530                    b.HasIndex("ClassId")
 21531                        .HasDatabaseName("ix_class_activities_class_id");
 21532
 21533                    b.ToTable("class_activities", "syki");
 41534                });
 1535
 21536            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateLessonAttendance.ClassLessonAttendance", b =>
 21537                {
 21538                    b.Property<Guid>("Id")
 21539                        .HasColumnType("uuid")
 21540                        .HasColumnName("id");
 21541
 21542                    b.Property<Guid>("ClassId")
 21543                        .HasColumnType("uuid")
 21544                        .HasColumnName("class_id");
 21545
 21546                    b.Property<Guid>("LessonId")
 21547                        .HasColumnType("uuid")
 21548                        .HasColumnName("lesson_id");
 21549
 21550                    b.Property<bool>("Present")
 21551                        .HasColumnType("boolean")
 21552                        .HasColumnName("present");
 21553
 21554                    b.Property<Guid>("StudentId")
 21555                        .HasColumnType("uuid")
 21556                        .HasColumnName("student_id");
 21557
 21558                    b.HasKey("Id")
 21559                        .HasName("pk_class_lesson_attendances");
 21560
 21561                    b.HasIndex("ClassId")
 21562                        .HasDatabaseName("ix_class_lesson_attendances_class_id");
 21563
 21564                    b.HasIndex("StudentId")
 21565                        .HasDatabaseName("ix_class_lesson_attendances_student_id");
 21566
 21567                    b.HasIndex("LessonId", "StudentId")
 21568                        .IsUnique()
 21569                        .HasDatabaseName("ix_class_lesson_attendances_lesson_id_student_id");
 21570
 21571                    b.ToTable("class_lesson_attendances", "syki");
 41572                });
 1573
 21574            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
 21575                {
 21576                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiRole", null)
 21577                        .WithMany()
 21578                        .HasForeignKey("RoleId")
 21579                        .OnDelete(DeleteBehavior.Cascade)
 21580                        .IsRequired()
 21581                        .HasConstraintName("fk_role_claims_asp_net_roles_role_id");
 41582                });
 1583
 21584            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
 21585                {
 21586                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21587                        .WithMany()
 21588                        .HasForeignKey("UserId")
 21589                        .OnDelete(DeleteBehavior.Cascade)
 21590                        .IsRequired()
 21591                        .HasConstraintName("fk_user_claims_asp_net_users_user_id");
 41592                });
 1593
 21594            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
 21595                {
 21596                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21597                        .WithMany()
 21598                        .HasForeignKey("UserId")
 21599                        .OnDelete(DeleteBehavior.Cascade)
 21600                        .IsRequired()
 21601                        .HasConstraintName("fk_user_logins_asp_net_users_user_id");
 41602                });
 1603
 21604            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
 21605                {
 21606                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiRole", null)
 21607                        .WithMany()
 21608                        .HasForeignKey("RoleId")
 21609                        .OnDelete(DeleteBehavior.Cascade)
 21610                        .IsRequired()
 21611                        .HasConstraintName("fk_user_roles_asp_net_roles_role_id");
 21612
 21613                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21614                        .WithMany()
 21615                        .HasForeignKey("UserId")
 21616                        .OnDelete(DeleteBehavior.Cascade)
 21617                        .IsRequired()
 21618                        .HasConstraintName("fk_user_roles_asp_net_users_user_id");
 41619                });
 1620
 21621            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
 21622                {
 21623                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21624                        .WithMany()
 21625                        .HasForeignKey("UserId")
 21626                        .OnDelete(DeleteBehavior.Cascade)
 21627                        .IsRequired()
 21628                        .HasConstraintName("fk_user_tokens_asp_net_users_user_id");
 41629                });
 1630
 21631            modelBuilder.Entity("Syki.Back.Audit.AuditLog", b =>
 21632                {
 21633                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21634                        .WithMany()
 21635                        .HasForeignKey("InstitutionId", "UserId")
 21636                        .HasPrincipalKey("InstitutionId", "Id")
 21637                        .OnDelete(DeleteBehavior.Cascade)
 21638                        .IsRequired()
 21639                        .HasConstraintName("fk_audit_logs_asp_net_users_institution_id_user_id");
 41640                });
 1641
 21642            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 21643                {
 21644                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21645                        .WithMany("WebhookCalls")
 21646                        .HasForeignKey("InstitutionId")
 21647                        .OnDelete(DeleteBehavior.Cascade)
 21648                        .IsRequired()
 21649                        .HasConstraintName("fk_webhook_calls_institutions_institution_id");
 21650
 21651                    b.HasOne("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", null)
 21652                        .WithMany("Calls")
 21653                        .HasForeignKey("WebhookId")
 21654                        .OnDelete(DeleteBehavior.Cascade)
 21655                        .IsRequired()
 21656                        .HasConstraintName("fk_webhook_calls_webhook_subscriptions_webhook_id");
 41657                });
 1658
 21659            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCallAttempt", b =>
 21660                {
 21661                    b.HasOne("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", null)
 21662                        .WithMany("Attempts")
 21663                        .HasForeignKey("WebhookCallId")
 21664                        .OnDelete(DeleteBehavior.Cascade)
 21665                        .IsRequired()
 21666                        .HasConstraintName("fk_webhook_call_attempts_webhook_calls_webhook_call_id");
 41667                });
 1668
 21669            modelBuilder.Entity("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", b =>
 21670                {
 21671                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21672                        .WithMany("AcademicPeriods")
 21673                        .HasForeignKey("InstitutionId")
 21674                        .OnDelete(DeleteBehavior.Cascade)
 21675                        .IsRequired()
 21676                        .HasConstraintName("fk_academic_periods_institutions_institution_id");
 41677                });
 1678
 21679            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCampus.Campus", b =>
 21680                {
 21681                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21682                        .WithMany("Campi")
 21683                        .HasForeignKey("InstitutionId")
 21684                        .OnDelete(DeleteBehavior.Cascade)
 21685                        .IsRequired()
 21686                        .HasConstraintName("fk_campi_institutions_institution_id");
 41687                });
 1688
 21689            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 21690                {
 21691                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", "Discipline")
 21692                        .WithMany()
 21693                        .HasForeignKey("DisciplineId")
 21694                        .OnDelete(DeleteBehavior.Cascade)
 21695                        .IsRequired()
 21696                        .HasConstraintName("fk_classes_disciplines_discipline_id");
 21697
 21698                    b.HasOne("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", "Teacher")
 21699                        .WithMany()
 21700                        .HasForeignKey("TeacherId")
 21701                        .OnDelete(DeleteBehavior.Cascade)
 21702                        .IsRequired()
 21703                        .HasConstraintName("fk_classes_teachers_teacher_id");
 21704
 21705                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", "Period")
 21706                        .WithMany()
 21707                        .HasForeignKey("PeriodId", "InstitutionId")
 21708                        .OnDelete(DeleteBehavior.Cascade)
 21709                        .IsRequired()
 21710                        .HasConstraintName("fk_classes_academic_periods_period_id_institution_id");
 21711
 21712                    b.Navigation("Discipline");
 21713
 21714                    b.Navigation("Period");
 21715
 21716                    b.Navigation("Teacher");
 41717                });
 1718
 21719            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 21720                {
 21721                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21722                        .WithMany("Lessons")
 21723                        .HasForeignKey("ClassId")
 21724                        .OnDelete(DeleteBehavior.Cascade)
 21725                        .IsRequired()
 21726                        .HasConstraintName("fk_class_lessons_classes_class_id");
 41727                });
 1728
 21729            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Schedule", b =>
 21730                {
 21731                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21732                        .WithMany("Schedules")
 21733                        .HasForeignKey("ClassId")
 21734                        .OnDelete(DeleteBehavior.Cascade)
 21735                        .IsRequired()
 21736                        .HasConstraintName("fk_schedules_classes_class_id");
 41737                });
 1738
 21739            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 21740                {
 21741                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21742                        .WithMany("Courses")
 21743                        .HasForeignKey("InstitutionId")
 21744                        .OnDelete(DeleteBehavior.Cascade)
 21745                        .IsRequired()
 21746                        .HasConstraintName("fk_courses_institutions_institution_id");
 41747                });
 1748
 21749            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 21750                {
 21751                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", "Course")
 21752                        .WithMany("CourseCurriculums")
 21753                        .HasForeignKey("CourseId")
 21754                        .OnDelete(DeleteBehavior.Cascade)
 21755                        .IsRequired()
 21756                        .HasConstraintName("fk_course_curriculums_courses_course_id");
 21757
 21758                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21759                        .WithMany("CourseCurriculums")
 21760                        .HasForeignKey("InstitutionId")
 21761                        .OnDelete(DeleteBehavior.Cascade)
 21762                        .IsRequired()
 21763                        .HasConstraintName("fk_course_curriculums_institutions_institution_id");
 21764
 21765                    b.Navigation("Course");
 41766                });
 1767
 21768            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculumDiscipline", b =>
 21769                {
 21770                    b.HasOne("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", null)
 21771                        .WithMany("Links")
 21772                        .HasForeignKey("CourseCurriculumId")
 21773                        .OnDelete(DeleteBehavior.Cascade)
 21774                        .IsRequired()
 21775                        .HasConstraintName("fk_course_curriculums__disciplines_course_curriculums_course_c");
 21776
 21777                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 21778                        .WithMany()
 21779                        .HasForeignKey("DisciplineId")
 21780                        .OnDelete(DeleteBehavior.Cascade)
 21781                        .IsRequired()
 21782                        .HasConstraintName("fk_course_curriculums__disciplines_disciplines_discipline_id");
 41783                });
 1784
 21785            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", b =>
 21786                {
 21787                    b.HasOne("Syki.Back.Features.Academic.CreateCampus.Campus", "Campus")
 21788                        .WithMany()
 21789                        .HasForeignKey("CampusId")
 21790                        .OnDelete(DeleteBehavior.Cascade)
 21791                        .IsRequired()
 21792                        .HasConstraintName("fk_course_offerings_campi_campus_id");
 21793
 21794                    b.HasOne("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", "CourseCurriculum")
 21795                        .WithMany()
 21796                        .HasForeignKey("CourseCurriculumId")
 21797                        .OnDelete(DeleteBehavior.Cascade)
 21798                        .IsRequired()
 21799                        .HasConstraintName("fk_course_offerings_course_curriculums_course_curriculum_id");
 21800
 21801                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", "Course")
 21802                        .WithMany()
 21803                        .HasForeignKey("CourseId")
 21804                        .OnDelete(DeleteBehavior.Cascade)
 21805                        .IsRequired()
 21806                        .HasConstraintName("fk_course_offerings_courses_course_id");
 21807
 21808                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21809                        .WithMany("CourseOfferings")
 21810                        .HasForeignKey("InstitutionId")
 21811                        .OnDelete(DeleteBehavior.Cascade)
 21812                        .IsRequired()
 21813                        .HasConstraintName("fk_course_offerings_institutions_institution_id");
 21814
 21815                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", null)
 21816                        .WithMany()
 21817                        .HasForeignKey("Period", "InstitutionId")
 21818                        .OnDelete(DeleteBehavior.Cascade)
 21819                        .IsRequired()
 21820                        .HasConstraintName("fk_course_offerings_academic_periods_period_institution_id");
 21821
 21822                    b.Navigation("Campus");
 21823
 21824                    b.Navigation("Course");
 21825
 21826                    b.Navigation("CourseCurriculum");
 41827                });
 1828
 21829            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.CourseDiscipline", b =>
 21830                {
 21831                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", null)
 21832                        .WithMany("Links")
 21833                        .HasForeignKey("CourseId")
 21834                        .OnDelete(DeleteBehavior.Cascade)
 21835                        .IsRequired()
 21836                        .HasConstraintName("fk_courses__disciplines_courses_course_id");
 21837
 21838                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 21839                        .WithMany("Links")
 21840                        .HasForeignKey("DisciplineId")
 21841                        .OnDelete(DeleteBehavior.Cascade)
 21842                        .IsRequired()
 21843                        .HasConstraintName("fk_courses__disciplines_disciplines_discipline_id");
 41844                });
 1845
 21846            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 21847                {
 21848                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21849                        .WithMany("Disciplines")
 21850                        .HasForeignKey("InstitutionId")
 21851                        .OnDelete(DeleteBehavior.Cascade)
 21852                        .IsRequired()
 21853                        .HasConstraintName("fk_disciplines_institutions_institution_id");
 41854                });
 1855
 21856            modelBuilder.Entity("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", b =>
 21857                {
 21858                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", null)
 21859                        .WithOne()
 21860                        .HasForeignKey("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", "Id", "Ins
 21861                        .OnDelete(DeleteBehavior.Cascade)
 21862                        .IsRequired()
 21863                        .HasConstraintName("fk_enrollment_periods_academic_periods_id_institution_id");
 41864                });
 1865
 21866            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 21867                {
 21868                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21869                        .WithMany("Notifications")
 21870                        .HasForeignKey("InstitutionId")
 21871                        .OnDelete(DeleteBehavior.Cascade)
 21872                        .IsRequired()
 21873                        .HasConstraintName("fk_notifications_institutions_institution_id");
 41874                });
 1875
 21876            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.UserNotification", b =>
 21877                {
 21878                    b.HasOne("Syki.Back.Features.Academic.CreateNotification.Notification", "Notification")
 21879                        .WithMany("Users")
 21880                        .HasForeignKey("NotificationId")
 21881                        .OnDelete(DeleteBehavior.Cascade)
 21882                        .IsRequired()
 21883                        .HasConstraintName("fk_users__notifications_notifications_notification_id");
 21884
 21885                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21886                        .WithMany()
 21887                        .HasForeignKey("UserId")
 21888                        .OnDelete(DeleteBehavior.Cascade)
 21889                        .IsRequired()
 21890                        .HasConstraintName("fk_users__notifications_asp_net_users_user_id");
 21891
 21892                    b.Navigation("Notification");
 41893                });
 1894
 21895            modelBuilder.Entity("Syki.Back.Features.Academic.CreateStudent.SykiStudent", b =>
 21896                {
 21897                    b.HasOne("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", "CourseOffering")
 21898                        .WithMany()
 21899                        .HasForeignKey("CourseOfferingId")
 21900                        .OnDelete(DeleteBehavior.Cascade)
 21901                        .IsRequired()
 21902                        .HasConstraintName("fk_students_course_offerings_course_offering_id");
 21903
 21904                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21905                        .WithMany("Students")
 21906                        .HasForeignKey("InstitutionId")
 21907                        .OnDelete(DeleteBehavior.Cascade)
 21908                        .IsRequired()
 21909                        .HasConstraintName("fk_students_institutions_institution_id");
 21910
 21911                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", "User")
 21912                        .WithOne()
 21913                        .HasForeignKey("Syki.Back.Features.Academic.CreateStudent.SykiStudent", "InstitutionId", "Id")
 21914                        .HasPrincipalKey("Syki.Back.Features.Cross.CreateUser.SykiUser", "InstitutionId", "Id")
 21915                        .OnDelete(DeleteBehavior.Cascade)
 21916                        .IsRequired()
 21917                        .HasConstraintName("fk_students_asp_net_users_institution_id_id");
 21918
 21919                    b.Navigation("CourseOffering");
 21920
 21921                    b.Navigation("User");
 41922                });
 1923
 21924            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 21925                {
 21926                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21927                        .WithMany("Teachers")
 21928                        .HasForeignKey("InstitutionId")
 21929                        .OnDelete(DeleteBehavior.Cascade)
 21930                        .IsRequired()
 21931                        .HasConstraintName("fk_teachers_institutions_institution_id");
 21932
 21933                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21934                        .WithOne()
 21935                        .HasForeignKey("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", "InstitutionId", "Id")
 21936                        .HasPrincipalKey("Syki.Back.Features.Cross.CreateUser.SykiUser", "InstitutionId", "Id")
 21937                        .OnDelete(DeleteBehavior.Cascade)
 21938                        .IsRequired()
 21939                        .HasConstraintName("fk_teachers_asp_net_users_institution_id_id");
 41940                });
 1941
 21942            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", b =>
 21943                {
 21944                    b.HasOne("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", null)
 21945                        .WithOne("Authentication")
 21946                        .HasForeignKey("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", "W
 21947                        .HasConstraintName("fk_webhook_authentications_webhook_subscriptions_webhook_id");
 41948                });
 1949
 21950            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 21951                {
 21952                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21953                        .WithMany("Webhooks")
 21954                        .HasForeignKey("InstitutionId")
 21955                        .OnDelete(DeleteBehavior.Cascade)
 21956                        .IsRequired()
 21957                        .HasConstraintName("fk_webhook_subscriptions_institutions_institution_id");
 41958                });
 1959
 21960            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", b =>
 21961                {
 21962                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21963                        .WithOne("Configs")
 21964                        .HasForeignKey("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", "InstitutionId")
 21965                        .OnDelete(DeleteBehavior.Cascade)
 21966                        .IsRequired()
 21967                        .HasConstraintName("fk_institution_configs_institutions_institution_id");
 41968                });
 1969
 21970            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiUser", b =>
 21971                {
 21972                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21973                        .WithMany("Users")
 21974                        .HasForeignKey("InstitutionId")
 21975                        .OnDelete(DeleteBehavior.Cascade)
 21976                        .IsRequired()
 21977                        .HasConstraintName("fk_users_institutions_institution_id");
 41978                });
 1979
 21980            modelBuilder.Entity("Syki.Back.Features.Cross.SendResetPasswordToken.ResetPasswordToken", b =>
 21981                {
 21982                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21983                        .WithMany()
 21984                        .HasForeignKey("InstitutionId")
 21985                        .OnDelete(DeleteBehavior.Cascade)
 21986                        .IsRequired()
 21987                        .HasConstraintName("fk_reset_password_tokens_institutions_institution_id");
 21988
 21989                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21990                        .WithMany()
 21991                        .HasForeignKey("UserId")
 21992                        .OnDelete(DeleteBehavior.Cascade)
 21993                        .IsRequired()
 21994                        .HasConstraintName("fk_reset_password_tokens_asp_net_users_user_id");
 41995                });
 1996
 21997            modelBuilder.Entity("Syki.Back.Features.Student.CreateClassActivityWork.ClassActivityWork", b =>
 21998                {
 21999                    b.HasOne("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", null)
 22000                        .WithMany("Works")
 22001                        .HasForeignKey("ClassActivityId")
 22002                        .OnDelete(DeleteBehavior.Cascade)
 22003                        .IsRequired()
 22004                        .HasConstraintName("fk_class_activity_works_class_activities_class_activity_id");
 22005
 22006                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", "SykiStudent")
 22007                        .WithMany()
 22008                        .HasForeignKey("SykiStudentId")
 22009                        .OnDelete(DeleteBehavior.Cascade)
 22010                        .IsRequired()
 22011                        .HasConstraintName("fk_class_activity_works_students_syki_student_id");
 22012
 22013                    b.Navigation("SykiStudent");
 42014                });
 2015
 22016            modelBuilder.Entity("Syki.Back.Features.Student.CreateStudentEnrollment.ClassStudent", b =>
 22017                {
 22018                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22019                        .WithMany()
 22020                        .HasForeignKey("ClassId")
 22021                        .OnDelete(DeleteBehavior.Cascade)
 22022                        .IsRequired()
 22023                        .HasConstraintName("fk_classes__students_classes_class_id");
 22024
 22025                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22026                        .WithMany()
 22027                        .HasForeignKey("SykiStudentId")
 22028                        .OnDelete(DeleteBehavior.Cascade)
 22029                        .IsRequired()
 22030                        .HasConstraintName("fk_classes__students_students_syki_student_id");
 42031                });
 2032
 22033            modelBuilder.Entity("Syki.Back.Features.Teacher.AddClassActivityNote.StudentClassNote", b =>
 22034                {
 22035                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22036                        .WithMany("Notes")
 22037                        .HasForeignKey("ClassId")
 22038                        .OnDelete(DeleteBehavior.Cascade)
 22039                        .IsRequired()
 22040                        .HasConstraintName("fk_student_class_notes_classes_class_id");
 22041
 22042                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22043                        .WithMany()
 22044                        .HasForeignKey("StudentId")
 22045                        .OnDelete(DeleteBehavior.Cascade)
 22046                        .IsRequired()
 22047                        .HasConstraintName("fk_student_class_notes_students_student_id");
 42048                });
 2049
 22050            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 22051                {
 22052                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22053                        .WithMany("Activities")
 22054                        .HasForeignKey("ClassId")
 22055                        .OnDelete(DeleteBehavior.Cascade)
 22056                        .IsRequired()
 22057                        .HasConstraintName("fk_class_activities_classes_class_id");
 42058                });
 2059
 22060            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateLessonAttendance.ClassLessonAttendance", b =>
 22061                {
 22062                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22063                        .WithMany()
 22064                        .HasForeignKey("ClassId")
 22065                        .OnDelete(DeleteBehavior.Cascade)
 22066                        .IsRequired()
 22067                        .HasConstraintName("fk_class_lesson_attendances_classes_class_id");
 22068
 22069                    b.HasOne("Syki.Back.Features.Academic.CreateClass.ClassLesson", null)
 22070                        .WithMany("Attendances")
 22071                        .HasForeignKey("LessonId")
 22072                        .OnDelete(DeleteBehavior.Cascade)
 22073                        .IsRequired()
 22074                        .HasConstraintName("fk_class_lesson_attendances_class_lessons_lesson_id");
 22075
 22076                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22077                        .WithMany()
 22078                        .HasForeignKey("StudentId")
 22079                        .OnDelete(DeleteBehavior.Cascade)
 22080                        .IsRequired()
 22081                        .HasConstraintName("fk_class_lesson_attendances_students_student_id");
 42082                });
 2083
 22084            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 22085                {
 22086                    b.Navigation("Attempts");
 42087                });
 2088
 22089            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 22090                {
 22091                    b.Navigation("Activities");
 22092
 22093                    b.Navigation("Lessons");
 22094
 22095                    b.Navigation("Notes");
 22096
 22097                    b.Navigation("Schedules");
 42098                });
 2099
 22100            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 22101                {
 22102                    b.Navigation("Attendances");
 42103                });
 2104
 22105            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 22106                {
 22107                    b.Navigation("CourseCurriculums");
 22108
 22109                    b.Navigation("Links");
 42110                });
 2111
 22112            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 22113                {
 22114                    b.Navigation("Links");
 42115                });
 2116
 22117            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 22118                {
 22119                    b.Navigation("Links");
 42120                });
 2121
 22122            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 22123                {
 22124                    b.Navigation("Users");
 42125                });
 2126
 22127            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 22128                {
 22129                    b.Navigation("Authentication")
 22130                        .IsRequired();
 22131
 22132                    b.Navigation("Calls");
 42133                });
 2134
 22135            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.Institution", b =>
 22136                {
 22137                    b.Navigation("AcademicPeriods");
 22138
 22139                    b.Navigation("Campi");
 22140
 22141                    b.Navigation("Configs")
 22142                        .IsRequired();
 22143
 22144                    b.Navigation("CourseCurriculums");
 22145
 22146                    b.Navigation("CourseOfferings");
 22147
 22148                    b.Navigation("Courses");
 22149
 22150                    b.Navigation("Disciplines");
 22151
 22152                    b.Navigation("Notifications");
 22153
 22154                    b.Navigation("Students");
 22155
 22156                    b.Navigation("Teachers");
 22157
 22158                    b.Navigation("Users");
 22159
 22160                    b.Navigation("WebhookCalls");
 22161
 22162                    b.Navigation("Webhooks");
 42163                });
 2164
 22165            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 22166                {
 22167                    b.Navigation("Works");
 42168                });
 2169#pragma warning restore 612, 618
 22170        }
 2171    }
 2172}