< Summary - Syki

Line coverage
99%
Covered lines: 2156
Uncovered lines: 5
Coverable lines: 2161
Total lines: 2292
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/20250621184002_AddActivityIdToDomainEvents.cs

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

/home/runner/work/syki/syki/Back/Migrations/20250621184002_AddActivityIdToDomainEvents.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("20250621184002_AddActivityIdToDomainEvents")]
 17    partial class AddActivityIdToDomainEvents
 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>("ActivityId")
 2334                        .HasColumnType("text")
 2335                        .HasColumnName("activity_id");
 2336
 2337                    b.Property<string>("Data")
 2338                        .IsRequired()
 2339                        .HasColumnType("text")
 2340                        .HasColumnName("data");
 2341
 2342                    b.Property<int>("Duration")
 2343                        .HasColumnType("integer")
 2344                        .HasColumnName("duration");
 2345
 2346                    b.Property<Guid>("EntityId")
 2347                        .HasColumnType("uuid")
 2348                        .HasColumnName("entity_id");
 2349
 2350                    b.Property<string>("Error")
 2351                        .HasColumnType("text")
 2352                        .HasColumnName("error");
 2353
 2354                    b.Property<Guid>("InstitutionId")
 2355                        .HasColumnType("uuid")
 2356                        .HasColumnName("institution_id");
 2357
 2358                    b.Property<DateTime>("OccurredAt")
 2359                        .HasColumnType("timestamp with time zone")
 2360                        .HasColumnName("occurred_at");
 2361
 2362                    b.Property<DateTime?>("ProcessedAt")
 2363                        .HasColumnType("timestamp with time zone")
 2364                        .HasColumnName("processed_at");
 2365
 2366                    b.Property<Guid?>("ProcessorId")
 2367                        .HasColumnType("uuid")
 2368                        .HasColumnName("processor_id");
 2369
 2370                    b.Property<string>("Status")
 2371                        .IsRequired()
 2372                        .HasColumnType("text")
 2373                        .HasColumnName("status");
 2374
 2375                    b.Property<string>("Type")
 2376                        .IsRequired()
 2377                        .HasColumnType("text")
 2378                        .HasColumnName("type");
 2379
 2380                    b.HasKey("Id")
 2381                        .HasName("pk_domain_events");
 2382
 2383                    b.ToTable("domain_events", "syki");
 4384                });
 385
 2386            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 2387                {
 2388                    b.Property<Guid>("Id")
 2389                        .HasColumnType("uuid")
 2390                        .HasColumnName("id");
 2391
 2392                    b.Property<int>("AttemptsCount")
 2393                        .HasColumnType("integer")
 2394                        .HasColumnName("attempts_count");
 2395
 2396                    b.Property<DateTime>("CreatedAt")
 2397                        .HasColumnType("timestamp with time zone")
 2398                        .HasColumnName("created_at");
 2399
 2400                    b.Property<string>("Event")
 2401                        .IsRequired()
 2402                        .HasColumnType("text")
 2403                        .HasColumnName("event");
 2404
 2405                    b.Property<Guid>("InstitutionId")
 2406                        .HasColumnType("uuid")
 2407                        .HasColumnName("institution_id");
 2408
 2409                    b.Property<string>("Payload")
 2410                        .IsRequired()
 2411                        .HasColumnType("text")
 2412                        .HasColumnName("payload");
 2413
 2414                    b.Property<string>("Status")
 2415                        .IsRequired()
 2416                        .HasColumnType("text")
 2417                        .HasColumnName("status");
 2418
 2419                    b.Property<Guid>("WebhookId")
 2420                        .HasColumnType("uuid")
 2421                        .HasColumnName("webhook_id");
 2422
 2423                    b.HasKey("Id")
 2424                        .HasName("pk_webhook_calls");
 2425
 2426                    b.HasIndex("InstitutionId")
 2427                        .HasDatabaseName("ix_webhook_calls_institution_id");
 2428
 2429                    b.HasIndex("WebhookId")
 2430                        .HasDatabaseName("ix_webhook_calls_webhook_id");
 2431
 2432                    b.ToTable("webhook_calls", "syki");
 4433                });
 434
 2435            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCallAttempt", b =>
 2436                {
 2437                    b.Property<Guid>("Id")
 2438                        .HasColumnType("uuid")
 2439                        .HasColumnName("id");
 2440
 2441                    b.Property<DateTime>("CreatedAt")
 2442                        .HasColumnType("timestamp with time zone")
 2443                        .HasColumnName("created_at");
 2444
 2445                    b.Property<string>("Response")
 2446                        .IsRequired()
 2447                        .HasColumnType("text")
 2448                        .HasColumnName("response");
 2449
 2450                    b.Property<string>("Status")
 2451                        .IsRequired()
 2452                        .HasColumnType("text")
 2453                        .HasColumnName("status");
 2454
 2455                    b.Property<int>("StatusCode")
 2456                        .HasColumnType("integer")
 2457                        .HasColumnName("status_code");
 2458
 2459                    b.Property<Guid>("WebhookCallId")
 2460                        .HasColumnType("uuid")
 2461                        .HasColumnName("webhook_call_id");
 2462
 2463                    b.HasKey("Id")
 2464                        .HasName("pk_webhook_call_attempts");
 2465
 2466                    b.HasIndex("WebhookCallId")
 2467                        .HasDatabaseName("ix_webhook_call_attempts_webhook_call_id");
 2468
 2469                    b.ToTable("webhook_call_attempts", "syki");
 4470                });
 471
 2472            modelBuilder.Entity("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", b =>
 2473                {
 2474                    b.Property<string>("Id")
 2475                        .HasColumnType("text")
 2476                        .HasColumnName("id");
 2477
 2478                    b.Property<Guid>("InstitutionId")
 2479                        .HasColumnType("uuid")
 2480                        .HasColumnName("institution_id");
 2481
 2482                    b.Property<DateOnly>("EndAt")
 2483                        .HasColumnType("date")
 2484                        .HasColumnName("end_at");
 2485
 2486                    b.Property<DateOnly>("StartAt")
 2487                        .HasColumnType("date")
 2488                        .HasColumnName("start_at");
 2489
 2490                    b.HasKey("Id", "InstitutionId")
 2491                        .HasName("pk_academic_periods");
 2492
 2493                    b.HasIndex("InstitutionId")
 2494                        .HasDatabaseName("ix_academic_periods_institution_id");
 2495
 2496                    b.ToTable("academic_periods", "syki");
 4497                });
 498
 2499            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCampus.Campus", b =>
 2500                {
 2501                    b.Property<Guid>("Id")
 2502                        .HasColumnType("uuid")
 2503                        .HasColumnName("id");
 2504
 2505                    b.Property<string>("City")
 2506                        .IsRequired()
 2507                        .HasColumnType("text")
 2508                        .HasColumnName("city");
 2509
 2510                    b.Property<Guid>("InstitutionId")
 2511                        .HasColumnType("uuid")
 2512                        .HasColumnName("institution_id");
 2513
 2514                    b.Property<string>("Name")
 2515                        .IsRequired()
 2516                        .HasColumnType("text")
 2517                        .HasColumnName("name");
 2518
 2519                    b.Property<string>("State")
 2520                        .IsRequired()
 2521                        .HasColumnType("text")
 2522                        .HasColumnName("state");
 2523
 2524                    b.HasKey("Id")
 2525                        .HasName("pk_campi");
 2526
 2527                    b.HasIndex("InstitutionId")
 2528                        .HasDatabaseName("ix_campi_institution_id");
 2529
 2530                    b.ToTable("campi", "syki");
 4531                });
 532
 2533            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 2534                {
 2535                    b.Property<Guid>("Id")
 2536                        .HasColumnType("uuid")
 2537                        .HasColumnName("id");
 2538
 2539                    b.Property<Guid>("DisciplineId")
 2540                        .HasColumnType("uuid")
 2541                        .HasColumnName("discipline_id");
 2542
 2543                    b.Property<Guid>("InstitutionId")
 2544                        .HasColumnType("uuid")
 2545                        .HasColumnName("institution_id");
 2546
 2547                    b.Property<string>("PeriodId")
 2548                        .IsRequired()
 2549                        .HasColumnType("text")
 2550                        .HasColumnName("period_id");
 2551
 2552                    b.Property<string>("Status")
 2553                        .IsRequired()
 2554                        .HasColumnType("text")
 2555                        .HasColumnName("status");
 2556
 2557                    b.Property<Guid>("TeacherId")
 2558                        .HasColumnType("uuid")
 2559                        .HasColumnName("teacher_id");
 2560
 2561                    b.Property<int>("Vacancies")
 2562                        .HasColumnType("integer")
 2563                        .HasColumnName("vacancies");
 2564
 2565                    b.Property<int>("Workload")
 2566                        .HasColumnType("integer")
 2567                        .HasColumnName("workload");
 2568
 2569                    b.HasKey("Id")
 2570                        .HasName("pk_classes");
 2571
 2572                    b.HasIndex("DisciplineId")
 2573                        .HasDatabaseName("ix_classes_discipline_id");
 2574
 2575                    b.HasIndex("TeacherId")
 2576                        .HasDatabaseName("ix_classes_teacher_id");
 2577
 2578                    b.HasIndex("PeriodId", "InstitutionId")
 2579                        .HasDatabaseName("ix_classes_period_id_institution_id");
 2580
 2581                    b.ToTable("classes", "syki");
 4582                });
 583
 2584            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 2585                {
 2586                    b.Property<Guid>("Id")
 2587                        .HasColumnType("uuid")
 2588                        .HasColumnName("id");
 2589
 2590                    b.Property<Guid>("ClassId")
 2591                        .HasColumnType("uuid")
 2592                        .HasColumnName("class_id");
 2593
 2594                    b.Property<DateOnly>("Date")
 2595                        .HasColumnType("date")
 2596                        .HasColumnName("date");
 2597
 2598                    b.Property<string>("EndAt")
 2599                        .IsRequired()
 2600                        .HasColumnType("text")
 2601                        .HasColumnName("end_at");
 2602
 2603                    b.Property<int>("Number")
 2604                        .HasColumnType("integer")
 2605                        .HasColumnName("number");
 2606
 2607                    b.Property<string>("StartAt")
 2608                        .IsRequired()
 2609                        .HasColumnType("text")
 2610                        .HasColumnName("start_at");
 2611
 2612                    b.Property<string>("Status")
 2613                        .IsRequired()
 2614                        .HasColumnType("text")
 2615                        .HasColumnName("status");
 2616
 2617                    b.HasKey("Id")
 2618                        .HasName("pk_class_lessons");
 2619
 2620                    b.HasIndex("ClassId")
 2621                        .HasDatabaseName("ix_class_lessons_class_id");
 2622
 2623                    b.ToTable("class_lessons", "syki");
 4624                });
 625
 2626            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Schedule", b =>
 2627                {
 2628                    b.Property<Guid>("Id")
 2629                        .HasColumnType("uuid")
 2630                        .HasColumnName("id");
 2631
 2632                    b.Property<Guid>("ClassId")
 2633                        .HasColumnType("uuid")
 2634                        .HasColumnName("class_id");
 2635
 2636                    b.Property<string>("Day")
 2637                        .IsRequired()
 2638                        .HasColumnType("text")
 2639                        .HasColumnName("day");
 2640
 2641                    b.Property<string>("EndAt")
 2642                        .IsRequired()
 2643                        .HasColumnType("text")
 2644                        .HasColumnName("end_at");
 2645
 2646                    b.Property<string>("StartAt")
 2647                        .IsRequired()
 2648                        .HasColumnType("text")
 2649                        .HasColumnName("start_at");
 2650
 2651                    b.HasKey("Id")
 2652                        .HasName("pk_schedules");
 2653
 2654                    b.HasIndex("ClassId")
 2655                        .HasDatabaseName("ix_schedules_class_id");
 2656
 2657                    b.ToTable("schedules", "syki");
 4658                });
 659
 2660            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 2661                {
 2662                    b.Property<Guid>("Id")
 2663                        .HasColumnType("uuid")
 2664                        .HasColumnName("id");
 2665
 2666                    b.Property<Guid>("InstitutionId")
 2667                        .HasColumnType("uuid")
 2668                        .HasColumnName("institution_id");
 2669
 2670                    b.Property<string>("Name")
 2671                        .IsRequired()
 2672                        .HasColumnType("text")
 2673                        .HasColumnName("name");
 2674
 2675                    b.Property<string>("Type")
 2676                        .IsRequired()
 2677                        .HasColumnType("text")
 2678                        .HasColumnName("type");
 2679
 2680                    b.HasKey("Id")
 2681                        .HasName("pk_courses");
 2682
 2683                    b.HasIndex("InstitutionId")
 2684                        .HasDatabaseName("ix_courses_institution_id");
 2685
 2686                    b.ToTable("courses", "syki");
 4687                });
 688
 2689            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 2690                {
 2691                    b.Property<Guid>("Id")
 2692                        .HasColumnType("uuid")
 2693                        .HasColumnName("id");
 2694
 2695                    b.Property<Guid>("CourseId")
 2696                        .HasColumnType("uuid")
 2697                        .HasColumnName("course_id");
 2698
 2699                    b.Property<Guid>("InstitutionId")
 2700                        .HasColumnType("uuid")
 2701                        .HasColumnName("institution_id");
 2702
 2703                    b.Property<string>("Name")
 2704                        .IsRequired()
 2705                        .HasColumnType("text")
 2706                        .HasColumnName("name");
 2707
 2708                    b.HasKey("Id")
 2709                        .HasName("pk_course_curriculums");
 2710
 2711                    b.HasIndex("CourseId")
 2712                        .HasDatabaseName("ix_course_curriculums_course_id");
 2713
 2714                    b.HasIndex("InstitutionId")
 2715                        .HasDatabaseName("ix_course_curriculums_institution_id");
 2716
 2717                    b.ToTable("course_curriculums", "syki");
 4718                });
 719
 2720            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculumDiscipline", b =>
 2721                {
 2722                    b.Property<Guid>("CourseCurriculumId")
 2723                        .HasColumnType("uuid")
 2724                        .HasColumnName("course_curriculum_id");
 2725
 2726                    b.Property<Guid>("DisciplineId")
 2727                        .HasColumnType("uuid")
 2728                        .HasColumnName("discipline_id");
 2729
 2730                    b.Property<byte>("Credits")
 2731                        .HasColumnType("smallint")
 2732                        .HasColumnName("credits");
 2733
 2734                    b.Property<byte>("Period")
 2735                        .HasColumnType("smallint")
 2736                        .HasColumnName("period");
 2737
 2738                    b.Property<int>("Workload")
 2739                        .HasColumnType("integer")
 2740                        .HasColumnName("workload");
 2741
 2742                    b.HasKey("CourseCurriculumId", "DisciplineId")
 2743                        .HasName("pk_course_curriculums__disciplines");
 2744
 2745                    b.HasIndex("DisciplineId")
 2746                        .HasDatabaseName("ix_course_curriculums__disciplines_discipline_id");
 2747
 2748                    b.ToTable("course_curriculums__disciplines", "syki");
 4749                });
 750
 2751            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", b =>
 2752                {
 2753                    b.Property<Guid>("Id")
 2754                        .HasColumnType("uuid")
 2755                        .HasColumnName("id");
 2756
 2757                    b.Property<Guid>("CampusId")
 2758                        .HasColumnType("uuid")
 2759                        .HasColumnName("campus_id");
 2760
 2761                    b.Property<Guid>("CourseCurriculumId")
 2762                        .HasColumnType("uuid")
 2763                        .HasColumnName("course_curriculum_id");
 2764
 2765                    b.Property<Guid>("CourseId")
 2766                        .HasColumnType("uuid")
 2767                        .HasColumnName("course_id");
 2768
 2769                    b.Property<Guid>("InstitutionId")
 2770                        .HasColumnType("uuid")
 2771                        .HasColumnName("institution_id");
 2772
 2773                    b.Property<string>("Period")
 2774                        .IsRequired()
 2775                        .HasColumnType("text")
 2776                        .HasColumnName("period");
 2777
 2778                    b.Property<string>("Shift")
 2779                        .IsRequired()
 2780                        .HasColumnType("text")
 2781                        .HasColumnName("shift");
 2782
 2783                    b.HasKey("Id")
 2784                        .HasName("pk_course_offerings");
 2785
 2786                    b.HasIndex("CampusId")
 2787                        .HasDatabaseName("ix_course_offerings_campus_id");
 2788
 2789                    b.HasIndex("CourseCurriculumId")
 2790                        .HasDatabaseName("ix_course_offerings_course_curriculum_id");
 2791
 2792                    b.HasIndex("CourseId")
 2793                        .HasDatabaseName("ix_course_offerings_course_id");
 2794
 2795                    b.HasIndex("InstitutionId")
 2796                        .HasDatabaseName("ix_course_offerings_institution_id");
 2797
 2798                    b.HasIndex("Period", "InstitutionId")
 2799                        .HasDatabaseName("ix_course_offerings_period_institution_id");
 2800
 2801                    b.ToTable("course_offerings", "syki");
 4802                });
 803
 2804            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.CourseDiscipline", b =>
 2805                {
 2806                    b.Property<Guid>("CourseId")
 2807                        .HasColumnType("uuid")
 2808                        .HasColumnName("course_id");
 2809
 2810                    b.Property<Guid>("DisciplineId")
 2811                        .HasColumnType("uuid")
 2812                        .HasColumnName("discipline_id");
 2813
 2814                    b.HasKey("CourseId", "DisciplineId")
 2815                        .HasName("pk_courses__disciplines");
 2816
 2817                    b.HasIndex("DisciplineId")
 2818                        .HasDatabaseName("ix_courses__disciplines_discipline_id");
 2819
 2820                    b.ToTable("courses__disciplines", "syki");
 4821                });
 822
 2823            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 2824                {
 2825                    b.Property<Guid>("Id")
 2826                        .HasColumnType("uuid")
 2827                        .HasColumnName("id");
 2828
 2829                    b.Property<string>("Code")
 2830                        .IsRequired()
 2831                        .HasColumnType("text")
 2832                        .HasColumnName("code");
 2833
 2834                    b.Property<Guid>("InstitutionId")
 2835                        .HasColumnType("uuid")
 2836                        .HasColumnName("institution_id");
 2837
 2838                    b.Property<string>("Name")
 2839                        .IsRequired()
 2840                        .HasColumnType("text")
 2841                        .HasColumnName("name");
 2842
 2843                    b.HasKey("Id")
 2844                        .HasName("pk_disciplines");
 2845
 2846                    b.HasIndex("InstitutionId")
 2847                        .HasDatabaseName("ix_disciplines_institution_id");
 2848
 2849                    b.ToTable("disciplines", "syki");
 4850                });
 851
 2852            modelBuilder.Entity("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", b =>
 2853                {
 2854                    b.Property<string>("Id")
 2855                        .HasColumnType("text")
 2856                        .HasColumnName("id");
 2857
 2858                    b.Property<Guid>("InstitutionId")
 2859                        .HasColumnType("uuid")
 2860                        .HasColumnName("institution_id");
 2861
 2862                    b.Property<DateOnly>("EndAt")
 2863                        .HasColumnType("date")
 2864                        .HasColumnName("end_at");
 2865
 2866                    b.Property<DateOnly>("StartAt")
 2867                        .HasColumnType("date")
 2868                        .HasColumnName("start_at");
 2869
 2870                    b.HasKey("Id", "InstitutionId")
 2871                        .HasName("pk_enrollment_periods");
 2872
 2873                    b.ToTable("enrollment_periods", "syki");
 4874                });
 875
 2876            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 2877                {
 2878                    b.Property<Guid>("Id")
 2879                        .HasColumnType("uuid")
 2880                        .HasColumnName("id");
 2881
 2882                    b.Property<DateTime>("CreatedAt")
 2883                        .HasColumnType("timestamp with time zone")
 2884                        .HasColumnName("created_at");
 2885
 2886                    b.Property<string>("Description")
 2887                        .IsRequired()
 2888                        .HasColumnType("text")
 2889                        .HasColumnName("description");
 2890
 2891                    b.Property<Guid>("InstitutionId")
 2892                        .HasColumnType("uuid")
 2893                        .HasColumnName("institution_id");
 2894
 2895                    b.Property<string>("Target")
 2896                        .IsRequired()
 2897                        .HasColumnType("text")
 2898                        .HasColumnName("target");
 2899
 2900                    b.Property<bool>("Timeless")
 2901                        .HasColumnType("boolean")
 2902                        .HasColumnName("timeless");
 2903
 2904                    b.Property<string>("Title")
 2905                        .IsRequired()
 2906                        .HasColumnType("text")
 2907                        .HasColumnName("title");
 2908
 2909                    b.HasKey("Id")
 2910                        .HasName("pk_notifications");
 2911
 2912                    b.HasIndex("InstitutionId")
 2913                        .HasDatabaseName("ix_notifications_institution_id");
 2914
 2915                    b.ToTable("notifications", "syki");
 4916                });
 917
 2918            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.UserNotification", b =>
 2919                {
 2920                    b.Property<Guid>("UserId")
 2921                        .HasColumnType("uuid")
 2922                        .HasColumnName("user_id");
 2923
 2924                    b.Property<Guid>("NotificationId")
 2925                        .HasColumnType("uuid")
 2926                        .HasColumnName("notification_id");
 2927
 2928                    b.Property<DateTime?>("ViewedAt")
 2929                        .HasColumnType("timestamp with time zone")
 2930                        .HasColumnName("viewed_at");
 2931
 2932                    b.HasKey("UserId", "NotificationId")
 2933                        .HasName("pk_users__notifications");
 2934
 2935                    b.HasIndex("NotificationId")
 2936                        .HasDatabaseName("ix_users__notifications_notification_id");
 2937
 2938                    b.ToTable("users__notifications", "syki");
 4939                });
 940
 2941            modelBuilder.Entity("Syki.Back.Features.Academic.CreateStudent.SykiStudent", b =>
 2942                {
 2943                    b.Property<Guid>("Id")
 2944                        .HasColumnType("uuid")
 2945                        .HasColumnName("id");
 2946
 2947                    b.Property<Guid>("CourseOfferingId")
 2948                        .HasColumnType("uuid")
 2949                        .HasColumnName("course_offering_id");
 2950
 2951                    b.Property<string>("EnrollmentCode")
 2952                        .IsRequired()
 2953                        .HasColumnType("text")
 2954                        .HasColumnName("enrollment_code");
 2955
 2956                    b.Property<Guid>("InstitutionId")
 2957                        .HasColumnType("uuid")
 2958                        .HasColumnName("institution_id");
 2959
 2960                    b.Property<string>("Name")
 2961                        .IsRequired()
 2962                        .HasColumnType("text")
 2963                        .HasColumnName("name");
 2964
 2965                    b.Property<string>("Status")
 2966                        .IsRequired()
 2967                        .HasColumnType("text")
 2968                        .HasColumnName("status");
 2969
 2970                    b.Property<decimal>("YieldCoefficient")
 2971                        .HasPrecision(4, 2)
 2972                        .HasColumnType("numeric(4,2)")
 2973                        .HasColumnName("yield_coefficient");
 2974
 2975                    b.HasKey("Id")
 2976                        .HasName("pk_students");
 2977
 2978                    b.HasIndex("CourseOfferingId")
 2979                        .HasDatabaseName("ix_students_course_offering_id");
 2980
 2981                    b.HasIndex("EnrollmentCode")
 2982                        .IsUnique()
 2983                        .HasDatabaseName("ix_students_enrollment_code");
 2984
 2985                    b.HasIndex("InstitutionId", "Id")
 2986                        .IsUnique()
 2987                        .HasDatabaseName("ix_students_institution_id_id");
 2988
 2989                    b.ToTable("students", "syki");
 4990                });
 991
 2992            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 2993                {
 2994                    b.Property<Guid>("Id")
 2995                        .HasColumnType("uuid")
 2996                        .HasColumnName("id");
 2997
 2998                    b.Property<Guid>("InstitutionId")
 2999                        .HasColumnType("uuid")
 21000                        .HasColumnName("institution_id");
 21001
 21002                    b.Property<string>("Name")
 21003                        .IsRequired()
 21004                        .HasColumnType("text")
 21005                        .HasColumnName("name");
 21006
 21007                    b.HasKey("Id")
 21008                        .HasName("pk_teachers");
 21009
 21010                    b.HasIndex("InstitutionId", "Id")
 21011                        .IsUnique()
 21012                        .HasDatabaseName("ix_teachers_institution_id_id");
 21013
 21014                    b.ToTable("teachers", "syki");
 41015                });
 1016
 21017            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", b =>
 21018                {
 21019                    b.Property<Guid>("Id")
 21020                        .HasColumnType("uuid")
 21021                        .HasColumnName("id");
 21022
 21023                    b.Property<string>("ApiKey")
 21024                        .IsRequired()
 21025                        .HasColumnType("text")
 21026                        .HasColumnName("api_key");
 21027
 21028                    b.Property<string>("Type")
 21029                        .IsRequired()
 21030                        .HasColumnType("text")
 21031                        .HasColumnName("type");
 21032
 21033                    b.Property<Guid>("WebhookId")
 21034                        .HasColumnType("uuid")
 21035                        .HasColumnName("webhook_id");
 21036
 21037                    b.HasKey("Id")
 21038                        .HasName("pk_webhook_authentications");
 21039
 21040                    b.HasIndex("WebhookId")
 21041                        .IsUnique()
 21042                        .HasDatabaseName("ix_webhook_authentications_webhook_id");
 21043
 21044                    b.ToTable("webhook_authentications", "syki");
 41045                });
 1046
 21047            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 21048                {
 21049                    b.Property<Guid>("Id")
 21050                        .HasColumnType("uuid")
 21051                        .HasColumnName("id");
 21052
 21053                    b.Property<DateTime>("CreatedAt")
 21054                        .HasColumnType("timestamp with time zone")
 21055                        .HasColumnName("created_at");
 21056
 21057                    b.PrimitiveCollection<string[]>("Events")
 21058                        .IsRequired()
 21059                        .HasColumnType("text[]")
 21060                        .HasColumnName("events");
 21061
 21062                    b.Property<Guid>("InstitutionId")
 21063                        .HasColumnType("uuid")
 21064                        .HasColumnName("institution_id");
 21065
 21066                    b.Property<string>("Name")
 21067                        .IsRequired()
 21068                        .HasColumnType("text")
 21069                        .HasColumnName("name");
 21070
 21071                    b.Property<string>("Url")
 21072                        .IsRequired()
 21073                        .HasColumnType("text")
 21074                        .HasColumnName("url");
 21075
 21076                    b.HasKey("Id")
 21077                        .HasName("pk_webhook_subscriptions");
 21078
 21079                    b.HasIndex("InstitutionId")
 21080                        .HasDatabaseName("ix_webhook_subscriptions_institution_id");
 21081
 21082                    b.ToTable("webhook_subscriptions", "syki");
 41083                });
 1084
 21085            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.Institution", b =>
 21086                {
 21087                    b.Property<Guid>("Id")
 21088                        .HasColumnType("uuid")
 21089                        .HasColumnName("id");
 21090
 21091                    b.Property<DateTime>("CreatedAt")
 21092                        .HasColumnType("timestamp with time zone")
 21093                        .HasColumnName("created_at");
 21094
 21095                    b.Property<string>("Name")
 21096                        .IsRequired()
 21097                        .HasColumnType("text")
 21098                        .HasColumnName("name");
 21099
 21100                    b.HasKey("Id")
 21101                        .HasName("pk_institutions");
 21102
 21103                    b.ToTable("institutions", "syki");
 41104                });
 1105
 21106            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", b =>
 21107                {
 21108                    b.Property<Guid>("InstitutionId")
 21109                        .HasColumnType("uuid")
 21110                        .HasColumnName("institution_id");
 21111
 21112                    b.Property<decimal>("FrequencyLimit")
 21113                        .HasPrecision(4, 2)
 21114                        .HasColumnType("numeric(4,2)")
 21115                        .HasColumnName("frequency_limit");
 21116
 21117                    b.Property<decimal>("NoteLimit")
 21118                        .HasColumnType("numeric")
 21119                        .HasColumnName("note_limit");
 21120
 21121                    b.HasKey("InstitutionId")
 21122                        .HasName("pk_institution_configs");
 21123
 21124                    b.ToTable("institution_configs", "syki");
 41125                });
 1126
 21127            modelBuilder.Entity("Syki.Back.Features.Cross.CreatePendingUserRegister.UserRegister", b =>
 21128                {
 21129                    b.Property<Guid>("Id")
 21130                        .HasColumnType("uuid")
 21131                        .HasColumnName("id");
 21132
 21133                    b.Property<string>("Email")
 21134                        .IsRequired()
 21135                        .HasColumnType("text")
 21136                        .HasColumnName("email");
 21137
 21138                    b.Property<Guid>("InstitutionId")
 21139                        .HasColumnType("uuid")
 21140                        .HasColumnName("institution_id");
 21141
 21142                    b.Property<string>("Status")
 21143                        .IsRequired()
 21144                        .HasColumnType("text")
 21145                        .HasColumnName("status");
 21146
 21147                    b.HasKey("Id")
 21148                        .HasName("pk_user_registers");
 21149
 21150                    b.HasIndex("Email")
 21151                        .IsUnique()
 21152                        .HasDatabaseName("ix_user_registers_email");
 21153
 21154                    b.ToTable("user_registers", "syki");
 41155                });
 1156
 21157            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiRole", b =>
 21158                {
 21159                    b.Property<Guid>("Id")
 21160                        .ValueGeneratedOnAdd()
 21161                        .HasColumnType("uuid")
 21162                        .HasColumnName("id");
 21163
 21164                    b.Property<string>("ConcurrencyStamp")
 21165                        .IsConcurrencyToken()
 21166                        .HasColumnType("text")
 21167                        .HasColumnName("concurrency_stamp");
 21168
 21169                    b.Property<string>("Name")
 21170                        .HasMaxLength(256)
 21171                        .HasColumnType("character varying(256)")
 21172                        .HasColumnName("name");
 21173
 21174                    b.Property<string>("NormalizedName")
 21175                        .HasMaxLength(256)
 21176                        .HasColumnType("character varying(256)")
 21177                        .HasColumnName("normalized_name");
 21178
 21179                    b.HasKey("Id")
 21180                        .HasName("pk_roles");
 21181
 21182                    b.HasIndex("NormalizedName")
 21183                        .IsUnique()
 21184                        .HasDatabaseName("role_name_index");
 21185
 21186                    b.ToTable("roles", "syki");
 21187
 21188                    b.HasData(
 21189                        new
 21190                        {
 21191                            Id = new Guid("5912ebe1-9e6a-4ce1-90bf-8490534fb4e1"),
 21192                            ConcurrencyStamp = "5912ebe1-9e6a-4ce1-90bf-8490534fb4e1",
 21193                            Name = "Adm",
 21194                            NormalizedName = "ADM"
 21195                        },
 21196                        new
 21197                        {
 21198                            Id = new Guid("78691a7a-f554-42d7-a5cf-8d474b6de0dd"),
 21199                            ConcurrencyStamp = "78691a7a-f554-42d7-a5cf-8d474b6de0dd",
 21200                            Name = "Academic",
 21201                            NormalizedName = "ACADEMIC"
 21202                        },
 21203                        new
 21204                        {
 21205                            Id = new Guid("ca6f394f-6fd9-48cc-90a8-b379636a24e7"),
 21206                            ConcurrencyStamp = "ca6f394f-6fd9-48cc-90a8-b379636a24e7",
 21207                            Name = "Teacher",
 21208                            NormalizedName = "TEACHER"
 21209                        },
 21210                        new
 21211                        {
 21212                            Id = new Guid("f9ad5139-06c3-4ce2-9748-ecc498b087c7"),
 21213                            ConcurrencyStamp = "f9ad5139-06c3-4ce2-9748-ecc498b087c7",
 21214                            Name = "Student",
 21215                            NormalizedName = "STUDENT"
 21216                        });
 41217                });
 1218
 21219            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiUser", b =>
 21220                {
 21221                    b.Property<Guid>("Id")
 21222                        .ValueGeneratedOnAdd()
 21223                        .HasColumnType("uuid")
 21224                        .HasColumnName("id");
 21225
 21226                    b.Property<int>("AccessFailedCount")
 21227                        .HasColumnType("integer")
 21228                        .HasColumnName("access_failed_count");
 21229
 21230                    b.Property<string>("ConcurrencyStamp")
 21231                        .IsConcurrencyToken()
 21232                        .HasColumnType("text")
 21233                        .HasColumnName("concurrency_stamp");
 21234
 21235                    b.Property<DateTime>("CreatedAt")
 21236                        .HasColumnType("timestamp with time zone")
 21237                        .HasColumnName("created_at");
 21238
 21239                    b.Property<string>("Email")
 21240                        .HasMaxLength(256)
 21241                        .HasColumnType("character varying(256)")
 21242                        .HasColumnName("email");
 21243
 21244                    b.Property<bool>("EmailConfirmed")
 21245                        .HasColumnType("boolean")
 21246                        .HasColumnName("email_confirmed");
 21247
 21248                    b.Property<Guid>("InstitutionId")
 21249                        .HasColumnType("uuid")
 21250                        .HasColumnName("institution_id");
 21251
 21252                    b.Property<bool>("LockoutEnabled")
 21253                        .HasColumnType("boolean")
 21254                        .HasColumnName("lockout_enabled");
 21255
 21256                    b.Property<DateTimeOffset?>("LockoutEnd")
 21257                        .HasColumnType("timestamp with time zone")
 21258                        .HasColumnName("lockout_end");
 21259
 21260                    b.Property<string>("Name")
 21261                        .IsRequired()
 21262                        .HasColumnType("text")
 21263                        .HasColumnName("name");
 21264
 21265                    b.Property<string>("NormalizedEmail")
 21266                        .HasMaxLength(256)
 21267                        .HasColumnType("character varying(256)")
 21268                        .HasColumnName("normalized_email");
 21269
 21270                    b.Property<string>("NormalizedUserName")
 21271                        .HasMaxLength(256)
 21272                        .HasColumnType("character varying(256)")
 21273                        .HasColumnName("normalized_user_name");
 21274
 21275                    b.Property<string>("PasswordHash")
 21276                        .HasColumnType("text")
 21277                        .HasColumnName("password_hash");
 21278
 21279                    b.Property<string>("PhoneNumber")
 21280                        .HasColumnType("text")
 21281                        .HasColumnName("phone_number");
 21282
 21283                    b.Property<bool>("PhoneNumberConfirmed")
 21284                        .HasColumnType("boolean")
 21285                        .HasColumnName("phone_number_confirmed");
 21286
 21287                    b.Property<string>("ProfilePhoto")
 21288                        .HasColumnType("text")
 21289                        .HasColumnName("profile_photo");
 21290
 21291                    b.Property<string>("SecurityStamp")
 21292                        .HasColumnType("text")
 21293                        .HasColumnName("security_stamp");
 21294
 21295                    b.Property<bool>("TwoFactorEnabled")
 21296                        .HasColumnType("boolean")
 21297                        .HasColumnName("two_factor_enabled");
 21298
 21299                    b.Property<string>("UserName")
 21300                        .HasMaxLength(256)
 21301                        .HasColumnType("character varying(256)")
 21302                        .HasColumnName("user_name");
 21303
 21304                    b.HasKey("Id")
 21305                        .HasName("pk_users");
 21306
 21307                    b.HasAlternateKey("InstitutionId", "Id")
 21308                        .HasName("ak_asp_net_users_institution_id_id");
 21309
 21310                    b.HasIndex("NormalizedEmail")
 21311                        .HasDatabaseName("email_index");
 21312
 21313                    b.HasIndex("NormalizedUserName")
 21314                        .IsUnique()
 21315                        .HasDatabaseName("user_name_index");
 21316
 21317                    b.ToTable("users", "syki");
 41318                });
 1319
 21320            modelBuilder.Entity("Syki.Back.Features.Cross.SendResetPasswordToken.ResetPasswordToken", b =>
 21321                {
 21322                    b.Property<Guid>("Id")
 21323                        .HasColumnType("uuid")
 21324                        .HasColumnName("id");
 21325
 21326                    b.Property<DateTime>("CreatedAt")
 21327                        .HasColumnType("timestamp with time zone")
 21328                        .HasColumnName("created_at");
 21329
 21330                    b.Property<Guid>("InstitutionId")
 21331                        .HasColumnType("uuid")
 21332                        .HasColumnName("institution_id");
 21333
 21334                    b.Property<string>("Token")
 21335                        .IsRequired()
 21336                        .HasColumnType("text")
 21337                        .HasColumnName("token");
 21338
 21339                    b.Property<DateTime?>("UsedAt")
 21340                        .HasColumnType("timestamp with time zone")
 21341                        .HasColumnName("used_at");
 21342
 21343                    b.Property<Guid>("UserId")
 21344                        .HasColumnType("uuid")
 21345                        .HasColumnName("user_id");
 21346
 21347                    b.HasKey("Id")
 21348                        .HasName("pk_reset_password_tokens");
 21349
 21350                    b.HasIndex("InstitutionId")
 21351                        .HasDatabaseName("ix_reset_password_tokens_institution_id");
 21352
 21353                    b.HasIndex("Token")
 21354                        .IsUnique()
 21355                        .HasDatabaseName("ix_reset_password_tokens_token");
 21356
 21357                    b.HasIndex("UserId")
 21358                        .HasDatabaseName("ix_reset_password_tokens_user_id");
 21359
 21360                    b.ToTable("reset_password_tokens", "syki");
 41361                });
 1362
 21363            modelBuilder.Entity("Syki.Back.Features.Cross.SetupFeatureFlags.FeatureFlags", b =>
 21364                {
 21365                    b.Property<Guid>("Id")
 21366                        .HasColumnType("uuid")
 21367                        .HasColumnName("id");
 21368
 21369                    b.Property<bool>("CrossLogin")
 21370                        .HasColumnType("boolean")
 21371                        .HasColumnName("cross_login");
 21372
 21373                    b.HasKey("Id")
 21374                        .HasName("pk_feature_flags");
 21375
 21376                    b.ToTable("feature_flags", "syki");
 41377                });
 1378
 21379            modelBuilder.Entity("Syki.Back.Features.Student.CreateClassActivityWork.ClassActivityWork", b =>
 21380                {
 21381                    b.Property<Guid>("Id")
 21382                        .HasColumnType("uuid")
 21383                        .HasColumnName("id");
 21384
 21385                    b.Property<Guid>("ClassActivityId")
 21386                        .HasColumnType("uuid")
 21387                        .HasColumnName("class_activity_id");
 21388
 21389                    b.Property<string>("Link")
 21390                        .HasColumnType("text")
 21391                        .HasColumnName("link");
 21392
 21393                    b.Property<decimal>("Note")
 21394                        .HasColumnType("numeric")
 21395                        .HasColumnName("note");
 21396
 21397                    b.Property<string>("Status")
 21398                        .IsRequired()
 21399                        .HasColumnType("text")
 21400                        .HasColumnName("status");
 21401
 21402                    b.Property<Guid>("SykiStudentId")
 21403                        .HasColumnType("uuid")
 21404                        .HasColumnName("syki_student_id");
 21405
 21406                    b.HasKey("Id")
 21407                        .HasName("pk_class_activity_works");
 21408
 21409                    b.HasIndex("ClassActivityId")
 21410                        .HasDatabaseName("ix_class_activity_works_class_activity_id");
 21411
 21412                    b.HasIndex("SykiStudentId")
 21413                        .HasDatabaseName("ix_class_activity_works_syki_student_id");
 21414
 21415                    b.ToTable("class_activity_works", "syki");
 41416                });
 1417
 21418            modelBuilder.Entity("Syki.Back.Features.Student.CreateStudentEnrollment.ClassStudent", b =>
 21419                {
 21420                    b.Property<Guid>("ClassId")
 21421                        .HasColumnType("uuid")
 21422                        .HasColumnName("class_id");
 21423
 21424                    b.Property<Guid>("SykiStudentId")
 21425                        .HasColumnType("uuid")
 21426                        .HasColumnName("syki_student_id");
 21427
 21428                    b.Property<string>("StudentDisciplineStatus")
 21429                        .IsRequired()
 21430                        .HasColumnType("text")
 21431                        .HasColumnName("student_discipline_status");
 21432
 21433                    b.HasKey("ClassId", "SykiStudentId")
 21434                        .HasName("pk_classes__students");
 21435
 21436                    b.HasIndex("SykiStudentId")
 21437                        .HasDatabaseName("ix_classes__students_syki_student_id");
 21438
 21439                    b.ToTable("classes__students", "syki");
 41440                });
 1441
 21442            modelBuilder.Entity("Syki.Back.Features.Teacher.AddClassActivityNote.StudentClassNote", b =>
 21443                {
 21444                    b.Property<Guid>("Id")
 21445                        .HasColumnType("uuid")
 21446                        .HasColumnName("id");
 21447
 21448                    b.Property<Guid>("ClassId")
 21449                        .HasColumnType("uuid")
 21450                        .HasColumnName("class_id");
 21451
 21452                    b.Property<decimal>("Note")
 21453                        .HasPrecision(4, 2)
 21454                        .HasColumnType("numeric(4,2)")
 21455                        .HasColumnName("note");
 21456
 21457                    b.Property<Guid>("StudentId")
 21458                        .HasColumnType("uuid")
 21459                        .HasColumnName("student_id");
 21460
 21461                    b.Property<string>("Type")
 21462                        .IsRequired()
 21463                        .HasColumnType("text")
 21464                        .HasColumnName("type");
 21465
 21466                    b.HasKey("Id")
 21467                        .HasName("pk_student_class_notes");
 21468
 21469                    b.HasIndex("StudentId")
 21470                        .HasDatabaseName("ix_student_class_notes_student_id");
 21471
 21472                    b.HasIndex("ClassId", "StudentId", "Type")
 21473                        .IsUnique()
 21474                        .HasDatabaseName("ix_student_class_notes_class_id_student_id_type");
 21475
 21476                    b.ToTable("student_class_notes", "syki");
 41477                });
 1478
 21479            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 21480                {
 21481                    b.Property<Guid>("Id")
 21482                        .HasColumnType("uuid")
 21483                        .HasColumnName("id");
 21484
 21485                    b.Property<Guid>("ClassId")
 21486                        .HasColumnType("uuid")
 21487                        .HasColumnName("class_id");
 21488
 21489                    b.Property<DateTime>("CreatedAt")
 21490                        .HasColumnType("timestamp with time zone")
 21491                        .HasColumnName("created_at");
 21492
 21493                    b.Property<string>("Description")
 21494                        .IsRequired()
 21495                        .HasColumnType("text")
 21496                        .HasColumnName("description");
 21497
 21498                    b.Property<DateOnly>("DueDate")
 21499                        .HasColumnType("date")
 21500                        .HasColumnName("due_date");
 21501
 21502                    b.Property<string>("DueHour")
 21503                        .IsRequired()
 21504                        .HasColumnType("text")
 21505                        .HasColumnName("due_hour");
 21506
 21507                    b.Property<string>("Note")
 21508                        .IsRequired()
 21509                        .HasColumnType("text")
 21510                        .HasColumnName("note");
 21511
 21512                    b.Property<string>("Status")
 21513                        .IsRequired()
 21514                        .HasColumnType("text")
 21515                        .HasColumnName("status");
 21516
 21517                    b.Property<string>("Title")
 21518                        .IsRequired()
 21519                        .HasColumnType("text")
 21520                        .HasColumnName("title");
 21521
 21522                    b.Property<string>("Type")
 21523                        .IsRequired()
 21524                        .HasColumnType("text")
 21525                        .HasColumnName("type");
 21526
 21527                    b.Property<int>("Weight")
 21528                        .HasColumnType("integer")
 21529                        .HasColumnName("weight");
 21530
 21531                    b.HasKey("Id")
 21532                        .HasName("pk_class_activities");
 21533
 21534                    b.HasIndex("ClassId")
 21535                        .HasDatabaseName("ix_class_activities_class_id");
 21536
 21537                    b.ToTable("class_activities", "syki");
 41538                });
 1539
 21540            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateLessonAttendance.ClassLessonAttendance", b =>
 21541                {
 21542                    b.Property<Guid>("Id")
 21543                        .HasColumnType("uuid")
 21544                        .HasColumnName("id");
 21545
 21546                    b.Property<Guid>("ClassId")
 21547                        .HasColumnType("uuid")
 21548                        .HasColumnName("class_id");
 21549
 21550                    b.Property<Guid>("LessonId")
 21551                        .HasColumnType("uuid")
 21552                        .HasColumnName("lesson_id");
 21553
 21554                    b.Property<bool>("Present")
 21555                        .HasColumnType("boolean")
 21556                        .HasColumnName("present");
 21557
 21558                    b.Property<Guid>("StudentId")
 21559                        .HasColumnType("uuid")
 21560                        .HasColumnName("student_id");
 21561
 21562                    b.HasKey("Id")
 21563                        .HasName("pk_class_lesson_attendances");
 21564
 21565                    b.HasIndex("ClassId")
 21566                        .HasDatabaseName("ix_class_lesson_attendances_class_id");
 21567
 21568                    b.HasIndex("StudentId")
 21569                        .HasDatabaseName("ix_class_lesson_attendances_student_id");
 21570
 21571                    b.HasIndex("LessonId", "StudentId")
 21572                        .IsUnique()
 21573                        .HasDatabaseName("ix_class_lesson_attendances_lesson_id_student_id");
 21574
 21575                    b.ToTable("class_lesson_attendances", "syki");
 41576                });
 1577
 21578            modelBuilder.Entity("Syki.Back.Metrics.RequestMetrics", b =>
 21579                {
 21580                    b.Property<Guid>("Id")
 21581                        .HasColumnType("uuid")
 21582                        .HasColumnName("id");
 21583
 21584                    b.Property<DateTime>("Start")
 21585                        .HasColumnType("timestamp with time zone")
 21586                        .HasColumnName("start");
 21587
 21588                    b.Property<DateTime>("Stop")
 21589                        .HasColumnType("timestamp with time zone")
 21590                        .HasColumnName("stop");
 21591
 21592                    b.HasKey("Id")
 21593                        .HasName("pk_request_metrics");
 21594
 21595                    b.ToTable("request_metrics", "syki");
 41596                });
 1597
 21598            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
 21599                {
 21600                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiRole", null)
 21601                        .WithMany()
 21602                        .HasForeignKey("RoleId")
 21603                        .OnDelete(DeleteBehavior.Cascade)
 21604                        .IsRequired()
 21605                        .HasConstraintName("fk_role_claims_asp_net_roles_role_id");
 41606                });
 1607
 21608            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
 21609                {
 21610                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21611                        .WithMany()
 21612                        .HasForeignKey("UserId")
 21613                        .OnDelete(DeleteBehavior.Cascade)
 21614                        .IsRequired()
 21615                        .HasConstraintName("fk_user_claims_asp_net_users_user_id");
 41616                });
 1617
 21618            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
 21619                {
 21620                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21621                        .WithMany()
 21622                        .HasForeignKey("UserId")
 21623                        .OnDelete(DeleteBehavior.Cascade)
 21624                        .IsRequired()
 21625                        .HasConstraintName("fk_user_logins_asp_net_users_user_id");
 41626                });
 1627
 21628            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
 21629                {
 21630                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiRole", null)
 21631                        .WithMany()
 21632                        .HasForeignKey("RoleId")
 21633                        .OnDelete(DeleteBehavior.Cascade)
 21634                        .IsRequired()
 21635                        .HasConstraintName("fk_user_roles_asp_net_roles_role_id");
 21636
 21637                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21638                        .WithMany()
 21639                        .HasForeignKey("UserId")
 21640                        .OnDelete(DeleteBehavior.Cascade)
 21641                        .IsRequired()
 21642                        .HasConstraintName("fk_user_roles_asp_net_users_user_id");
 41643                });
 1644
 21645            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
 21646                {
 21647                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21648                        .WithMany()
 21649                        .HasForeignKey("UserId")
 21650                        .OnDelete(DeleteBehavior.Cascade)
 21651                        .IsRequired()
 21652                        .HasConstraintName("fk_user_tokens_asp_net_users_user_id");
 41653                });
 1654
 21655            modelBuilder.Entity("Syki.Back.Audit.AuditLog", b =>
 21656                {
 21657                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21658                        .WithMany()
 21659                        .HasForeignKey("InstitutionId", "UserId")
 21660                        .HasPrincipalKey("InstitutionId", "Id")
 21661                        .OnDelete(DeleteBehavior.Cascade)
 21662                        .IsRequired()
 21663                        .HasConstraintName("fk_audit_logs_asp_net_users_institution_id_user_id");
 41664                });
 1665
 21666            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 21667                {
 21668                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21669                        .WithMany("WebhookCalls")
 21670                        .HasForeignKey("InstitutionId")
 21671                        .OnDelete(DeleteBehavior.Cascade)
 21672                        .IsRequired()
 21673                        .HasConstraintName("fk_webhook_calls_institutions_institution_id");
 21674
 21675                    b.HasOne("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", null)
 21676                        .WithMany("Calls")
 21677                        .HasForeignKey("WebhookId")
 21678                        .OnDelete(DeleteBehavior.Cascade)
 21679                        .IsRequired()
 21680                        .HasConstraintName("fk_webhook_calls_webhook_subscriptions_webhook_id");
 41681                });
 1682
 21683            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCallAttempt", b =>
 21684                {
 21685                    b.HasOne("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", null)
 21686                        .WithMany("Attempts")
 21687                        .HasForeignKey("WebhookCallId")
 21688                        .OnDelete(DeleteBehavior.Cascade)
 21689                        .IsRequired()
 21690                        .HasConstraintName("fk_webhook_call_attempts_webhook_calls_webhook_call_id");
 41691                });
 1692
 21693            modelBuilder.Entity("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", b =>
 21694                {
 21695                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21696                        .WithMany("AcademicPeriods")
 21697                        .HasForeignKey("InstitutionId")
 21698                        .OnDelete(DeleteBehavior.Cascade)
 21699                        .IsRequired()
 21700                        .HasConstraintName("fk_academic_periods_institutions_institution_id");
 41701                });
 1702
 21703            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCampus.Campus", b =>
 21704                {
 21705                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21706                        .WithMany("Campi")
 21707                        .HasForeignKey("InstitutionId")
 21708                        .OnDelete(DeleteBehavior.Cascade)
 21709                        .IsRequired()
 21710                        .HasConstraintName("fk_campi_institutions_institution_id");
 41711                });
 1712
 21713            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 21714                {
 21715                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", "Discipline")
 21716                        .WithMany()
 21717                        .HasForeignKey("DisciplineId")
 21718                        .OnDelete(DeleteBehavior.Cascade)
 21719                        .IsRequired()
 21720                        .HasConstraintName("fk_classes_disciplines_discipline_id");
 21721
 21722                    b.HasOne("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", "Teacher")
 21723                        .WithMany()
 21724                        .HasForeignKey("TeacherId")
 21725                        .OnDelete(DeleteBehavior.Cascade)
 21726                        .IsRequired()
 21727                        .HasConstraintName("fk_classes_teachers_teacher_id");
 21728
 21729                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", "Period")
 21730                        .WithMany()
 21731                        .HasForeignKey("PeriodId", "InstitutionId")
 21732                        .OnDelete(DeleteBehavior.Cascade)
 21733                        .IsRequired()
 21734                        .HasConstraintName("fk_classes_academic_periods_period_id_institution_id");
 21735
 21736                    b.Navigation("Discipline");
 21737
 21738                    b.Navigation("Period");
 21739
 21740                    b.Navigation("Teacher");
 41741                });
 1742
 21743            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 21744                {
 21745                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21746                        .WithMany("Lessons")
 21747                        .HasForeignKey("ClassId")
 21748                        .OnDelete(DeleteBehavior.Cascade)
 21749                        .IsRequired()
 21750                        .HasConstraintName("fk_class_lessons_classes_class_id");
 41751                });
 1752
 21753            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Schedule", b =>
 21754                {
 21755                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21756                        .WithMany("Schedules")
 21757                        .HasForeignKey("ClassId")
 21758                        .OnDelete(DeleteBehavior.Cascade)
 21759                        .IsRequired()
 21760                        .HasConstraintName("fk_schedules_classes_class_id");
 41761                });
 1762
 21763            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 21764                {
 21765                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21766                        .WithMany("Courses")
 21767                        .HasForeignKey("InstitutionId")
 21768                        .OnDelete(DeleteBehavior.Cascade)
 21769                        .IsRequired()
 21770                        .HasConstraintName("fk_courses_institutions_institution_id");
 41771                });
 1772
 21773            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 21774                {
 21775                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", "Course")
 21776                        .WithMany("CourseCurriculums")
 21777                        .HasForeignKey("CourseId")
 21778                        .OnDelete(DeleteBehavior.Cascade)
 21779                        .IsRequired()
 21780                        .HasConstraintName("fk_course_curriculums_courses_course_id");
 21781
 21782                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21783                        .WithMany("CourseCurriculums")
 21784                        .HasForeignKey("InstitutionId")
 21785                        .OnDelete(DeleteBehavior.Cascade)
 21786                        .IsRequired()
 21787                        .HasConstraintName("fk_course_curriculums_institutions_institution_id");
 21788
 21789                    b.Navigation("Course");
 41790                });
 1791
 21792            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculumDiscipline", b =>
 21793                {
 21794                    b.HasOne("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", null)
 21795                        .WithMany("Links")
 21796                        .HasForeignKey("CourseCurriculumId")
 21797                        .OnDelete(DeleteBehavior.Cascade)
 21798                        .IsRequired()
 21799                        .HasConstraintName("fk_course_curriculums__disciplines_course_curriculums_course_c");
 21800
 21801                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 21802                        .WithMany()
 21803                        .HasForeignKey("DisciplineId")
 21804                        .OnDelete(DeleteBehavior.Cascade)
 21805                        .IsRequired()
 21806                        .HasConstraintName("fk_course_curriculums__disciplines_disciplines_discipline_id");
 41807                });
 1808
 21809            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", b =>
 21810                {
 21811                    b.HasOne("Syki.Back.Features.Academic.CreateCampus.Campus", "Campus")
 21812                        .WithMany()
 21813                        .HasForeignKey("CampusId")
 21814                        .OnDelete(DeleteBehavior.Cascade)
 21815                        .IsRequired()
 21816                        .HasConstraintName("fk_course_offerings_campi_campus_id");
 21817
 21818                    b.HasOne("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", "CourseCurriculum")
 21819                        .WithMany()
 21820                        .HasForeignKey("CourseCurriculumId")
 21821                        .OnDelete(DeleteBehavior.Cascade)
 21822                        .IsRequired()
 21823                        .HasConstraintName("fk_course_offerings_course_curriculums_course_curriculum_id");
 21824
 21825                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", "Course")
 21826                        .WithMany()
 21827                        .HasForeignKey("CourseId")
 21828                        .OnDelete(DeleteBehavior.Cascade)
 21829                        .IsRequired()
 21830                        .HasConstraintName("fk_course_offerings_courses_course_id");
 21831
 21832                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21833                        .WithMany("CourseOfferings")
 21834                        .HasForeignKey("InstitutionId")
 21835                        .OnDelete(DeleteBehavior.Cascade)
 21836                        .IsRequired()
 21837                        .HasConstraintName("fk_course_offerings_institutions_institution_id");
 21838
 21839                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", null)
 21840                        .WithMany()
 21841                        .HasForeignKey("Period", "InstitutionId")
 21842                        .OnDelete(DeleteBehavior.Cascade)
 21843                        .IsRequired()
 21844                        .HasConstraintName("fk_course_offerings_academic_periods_period_institution_id");
 21845
 21846                    b.Navigation("Campus");
 21847
 21848                    b.Navigation("Course");
 21849
 21850                    b.Navigation("CourseCurriculum");
 41851                });
 1852
 21853            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.CourseDiscipline", b =>
 21854                {
 21855                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", null)
 21856                        .WithMany("Links")
 21857                        .HasForeignKey("CourseId")
 21858                        .OnDelete(DeleteBehavior.Cascade)
 21859                        .IsRequired()
 21860                        .HasConstraintName("fk_courses__disciplines_courses_course_id");
 21861
 21862                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 21863                        .WithMany("Links")
 21864                        .HasForeignKey("DisciplineId")
 21865                        .OnDelete(DeleteBehavior.Cascade)
 21866                        .IsRequired()
 21867                        .HasConstraintName("fk_courses__disciplines_disciplines_discipline_id");
 41868                });
 1869
 21870            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 21871                {
 21872                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21873                        .WithMany("Disciplines")
 21874                        .HasForeignKey("InstitutionId")
 21875                        .OnDelete(DeleteBehavior.Cascade)
 21876                        .IsRequired()
 21877                        .HasConstraintName("fk_disciplines_institutions_institution_id");
 41878                });
 1879
 21880            modelBuilder.Entity("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", b =>
 21881                {
 21882                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", null)
 21883                        .WithOne()
 21884                        .HasForeignKey("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", "Id", "Ins
 21885                        .OnDelete(DeleteBehavior.Cascade)
 21886                        .IsRequired()
 21887                        .HasConstraintName("fk_enrollment_periods_academic_periods_id_institution_id");
 41888                });
 1889
 21890            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 21891                {
 21892                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21893                        .WithMany("Notifications")
 21894                        .HasForeignKey("InstitutionId")
 21895                        .OnDelete(DeleteBehavior.Cascade)
 21896                        .IsRequired()
 21897                        .HasConstraintName("fk_notifications_institutions_institution_id");
 41898                });
 1899
 21900            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.UserNotification", b =>
 21901                {
 21902                    b.HasOne("Syki.Back.Features.Academic.CreateNotification.Notification", "Notification")
 21903                        .WithMany("Users")
 21904                        .HasForeignKey("NotificationId")
 21905                        .OnDelete(DeleteBehavior.Cascade)
 21906                        .IsRequired()
 21907                        .HasConstraintName("fk_users__notifications_notifications_notification_id");
 21908
 21909                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21910                        .WithMany()
 21911                        .HasForeignKey("UserId")
 21912                        .OnDelete(DeleteBehavior.Cascade)
 21913                        .IsRequired()
 21914                        .HasConstraintName("fk_users__notifications_asp_net_users_user_id");
 21915
 21916                    b.Navigation("Notification");
 41917                });
 1918
 21919            modelBuilder.Entity("Syki.Back.Features.Academic.CreateStudent.SykiStudent", b =>
 21920                {
 21921                    b.HasOne("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", "CourseOffering")
 21922                        .WithMany()
 21923                        .HasForeignKey("CourseOfferingId")
 21924                        .OnDelete(DeleteBehavior.Cascade)
 21925                        .IsRequired()
 21926                        .HasConstraintName("fk_students_course_offerings_course_offering_id");
 21927
 21928                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21929                        .WithMany("Students")
 21930                        .HasForeignKey("InstitutionId")
 21931                        .OnDelete(DeleteBehavior.Cascade)
 21932                        .IsRequired()
 21933                        .HasConstraintName("fk_students_institutions_institution_id");
 21934
 21935                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", "User")
 21936                        .WithOne()
 21937                        .HasForeignKey("Syki.Back.Features.Academic.CreateStudent.SykiStudent", "InstitutionId", "Id")
 21938                        .HasPrincipalKey("Syki.Back.Features.Cross.CreateUser.SykiUser", "InstitutionId", "Id")
 21939                        .OnDelete(DeleteBehavior.Cascade)
 21940                        .IsRequired()
 21941                        .HasConstraintName("fk_students_asp_net_users_institution_id_id");
 21942
 21943                    b.Navigation("CourseOffering");
 21944
 21945                    b.Navigation("User");
 41946                });
 1947
 21948            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 21949                {
 21950                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21951                        .WithMany("Teachers")
 21952                        .HasForeignKey("InstitutionId")
 21953                        .OnDelete(DeleteBehavior.Cascade)
 21954                        .IsRequired()
 21955                        .HasConstraintName("fk_teachers_institutions_institution_id");
 21956
 21957                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21958                        .WithOne()
 21959                        .HasForeignKey("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", "InstitutionId", "Id")
 21960                        .HasPrincipalKey("Syki.Back.Features.Cross.CreateUser.SykiUser", "InstitutionId", "Id")
 21961                        .OnDelete(DeleteBehavior.Cascade)
 21962                        .IsRequired()
 21963                        .HasConstraintName("fk_teachers_asp_net_users_institution_id_id");
 41964                });
 1965
 21966            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", b =>
 21967                {
 21968                    b.HasOne("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", null)
 21969                        .WithOne("Authentication")
 21970                        .HasForeignKey("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", "W
 21971                        .HasConstraintName("fk_webhook_authentications_webhook_subscriptions_webhook_id");
 41972                });
 1973
 21974            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 21975                {
 21976                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21977                        .WithMany("Webhooks")
 21978                        .HasForeignKey("InstitutionId")
 21979                        .OnDelete(DeleteBehavior.Cascade)
 21980                        .IsRequired()
 21981                        .HasConstraintName("fk_webhook_subscriptions_institutions_institution_id");
 41982                });
 1983
 21984            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", b =>
 21985                {
 21986                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21987                        .WithOne("Configs")
 21988                        .HasForeignKey("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", "InstitutionId")
 21989                        .OnDelete(DeleteBehavior.Cascade)
 21990                        .IsRequired()
 21991                        .HasConstraintName("fk_institution_configs_institutions_institution_id");
 41992                });
 1993
 21994            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiUser", b =>
 21995                {
 21996                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21997                        .WithMany("Users")
 21998                        .HasForeignKey("InstitutionId")
 21999                        .OnDelete(DeleteBehavior.Cascade)
 22000                        .IsRequired()
 22001                        .HasConstraintName("fk_users_institutions_institution_id");
 42002                });
 2003
 22004            modelBuilder.Entity("Syki.Back.Features.Cross.SendResetPasswordToken.ResetPasswordToken", b =>
 22005                {
 22006                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22007                        .WithMany()
 22008                        .HasForeignKey("InstitutionId")
 22009                        .OnDelete(DeleteBehavior.Cascade)
 22010                        .IsRequired()
 22011                        .HasConstraintName("fk_reset_password_tokens_institutions_institution_id");
 22012
 22013                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 22014                        .WithMany()
 22015                        .HasForeignKey("UserId")
 22016                        .OnDelete(DeleteBehavior.Cascade)
 22017                        .IsRequired()
 22018                        .HasConstraintName("fk_reset_password_tokens_asp_net_users_user_id");
 42019                });
 2020
 22021            modelBuilder.Entity("Syki.Back.Features.Student.CreateClassActivityWork.ClassActivityWork", b =>
 22022                {
 22023                    b.HasOne("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", null)
 22024                        .WithMany("Works")
 22025                        .HasForeignKey("ClassActivityId")
 22026                        .OnDelete(DeleteBehavior.Cascade)
 22027                        .IsRequired()
 22028                        .HasConstraintName("fk_class_activity_works_class_activities_class_activity_id");
 22029
 22030                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", "SykiStudent")
 22031                        .WithMany()
 22032                        .HasForeignKey("SykiStudentId")
 22033                        .OnDelete(DeleteBehavior.Cascade)
 22034                        .IsRequired()
 22035                        .HasConstraintName("fk_class_activity_works_students_syki_student_id");
 22036
 22037                    b.Navigation("SykiStudent");
 42038                });
 2039
 22040            modelBuilder.Entity("Syki.Back.Features.Student.CreateStudentEnrollment.ClassStudent", b =>
 22041                {
 22042                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22043                        .WithMany()
 22044                        .HasForeignKey("ClassId")
 22045                        .OnDelete(DeleteBehavior.Cascade)
 22046                        .IsRequired()
 22047                        .HasConstraintName("fk_classes__students_classes_class_id");
 22048
 22049                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22050                        .WithMany()
 22051                        .HasForeignKey("SykiStudentId")
 22052                        .OnDelete(DeleteBehavior.Cascade)
 22053                        .IsRequired()
 22054                        .HasConstraintName("fk_classes__students_students_syki_student_id");
 42055                });
 2056
 22057            modelBuilder.Entity("Syki.Back.Features.Teacher.AddClassActivityNote.StudentClassNote", b =>
 22058                {
 22059                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22060                        .WithMany("Notes")
 22061                        .HasForeignKey("ClassId")
 22062                        .OnDelete(DeleteBehavior.Cascade)
 22063                        .IsRequired()
 22064                        .HasConstraintName("fk_student_class_notes_classes_class_id");
 22065
 22066                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22067                        .WithMany()
 22068                        .HasForeignKey("StudentId")
 22069                        .OnDelete(DeleteBehavior.Cascade)
 22070                        .IsRequired()
 22071                        .HasConstraintName("fk_student_class_notes_students_student_id");
 42072                });
 2073
 22074            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 22075                {
 22076                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22077                        .WithMany("Activities")
 22078                        .HasForeignKey("ClassId")
 22079                        .OnDelete(DeleteBehavior.Cascade)
 22080                        .IsRequired()
 22081                        .HasConstraintName("fk_class_activities_classes_class_id");
 42082                });
 2083
 22084            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateLessonAttendance.ClassLessonAttendance", b =>
 22085                {
 22086                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22087                        .WithMany()
 22088                        .HasForeignKey("ClassId")
 22089                        .OnDelete(DeleteBehavior.Cascade)
 22090                        .IsRequired()
 22091                        .HasConstraintName("fk_class_lesson_attendances_classes_class_id");
 22092
 22093                    b.HasOne("Syki.Back.Features.Academic.CreateClass.ClassLesson", null)
 22094                        .WithMany("Attendances")
 22095                        .HasForeignKey("LessonId")
 22096                        .OnDelete(DeleteBehavior.Cascade)
 22097                        .IsRequired()
 22098                        .HasConstraintName("fk_class_lesson_attendances_class_lessons_lesson_id");
 22099
 22100                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22101                        .WithMany()
 22102                        .HasForeignKey("StudentId")
 22103                        .OnDelete(DeleteBehavior.Cascade)
 22104                        .IsRequired()
 22105                        .HasConstraintName("fk_class_lesson_attendances_students_student_id");
 42106                });
 2107
 22108            modelBuilder.Entity("Syki.Back.Metrics.RequestMetrics", b =>
 22109                {
 22110                    b.OwnsMany("Syki.Back.Metrics.RequestData", "Requests", b1 =>
 22111                        {
 22112                            b1.Property<Guid>("RequestMetricsId")
 22113                                .HasColumnType("uuid");
 22114
 22115                            b1.Property<int>("__synthesizedOrdinal")
 22116                                .ValueGeneratedOnAdd()
 22117                                .HasColumnType("integer");
 22118
 22119                            b1.Property<string>("Endpoint")
 22120                                .IsRequired()
 22121                                .HasColumnType("text");
 22122
 22123                            b1.Property<string>("Values")
 22124                                .IsRequired()
 22125                                .HasColumnType("text");
 22126
 22127                            b1.HasKey("RequestMetricsId", "__synthesizedOrdinal")
 22128                                .HasName("pk_request_metrics");
 22129
 22130                            b1.ToTable("request_metrics", "syki");
 22131
 22132                            b1.ToJson("requests");
 22133
 22134                            b1.WithOwner()
 22135                                .HasForeignKey("RequestMetricsId")
 22136                                .HasConstraintName("fk_request_metrics_request_metrics_request_metrics_id");
 42137                        });
 22138
 22139                    b.OwnsOne("Syki.Back.Metrics.ResumeData", "Resume", b1 =>
 22140                        {
 22141                            b1.Property<Guid>("RequestMetricsId")
 22142                                .HasColumnType("uuid");
 22143
 22144                            b1.Property<int>("Get")
 22145                                .HasColumnType("integer");
 22146
 22147                            b1.Property<int>("Post")
 22148                                .HasColumnType("integer");
 22149
 22150                            b1.Property<int>("Put")
 22151                                .HasColumnType("integer");
 22152
 22153                            b1.Property<int>("Total")
 22154                                .HasColumnType("integer");
 22155
 22156                            b1.HasKey("RequestMetricsId")
 22157                                .HasName("pk_request_metrics");
 22158
 22159                            b1.ToTable("request_metrics", "syki");
 22160
 22161                            b1.ToJson("resume");
 22162
 22163                            b1.WithOwner()
 22164                                .HasForeignKey("RequestMetricsId")
 22165                                .HasConstraintName("fk_request_metrics_request_metrics_request_metrics_id");
 42166                        });
 22167
 22168                    b.Navigation("Requests");
 22169
 22170                    b.Navigation("Resume")
 22171                        .IsRequired();
 42172                });
 2173
 22174            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 22175                {
 22176                    b.Navigation("Attempts");
 42177                });
 2178
 22179            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 22180                {
 22181                    b.Navigation("Activities");
 22182
 22183                    b.Navigation("Lessons");
 22184
 22185                    b.Navigation("Notes");
 22186
 22187                    b.Navigation("Schedules");
 42188                });
 2189
 22190            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 22191                {
 22192                    b.Navigation("Attendances");
 42193                });
 2194
 22195            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 22196                {
 22197                    b.Navigation("CourseCurriculums");
 22198
 22199                    b.Navigation("Links");
 42200                });
 2201
 22202            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 22203                {
 22204                    b.Navigation("Links");
 42205                });
 2206
 22207            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 22208                {
 22209                    b.Navigation("Links");
 42210                });
 2211
 22212            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 22213                {
 22214                    b.Navigation("Users");
 42215                });
 2216
 22217            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 22218                {
 22219                    b.Navigation("Authentication")
 22220                        .IsRequired();
 22221
 22222                    b.Navigation("Calls");
 42223                });
 2224
 22225            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.Institution", b =>
 22226                {
 22227                    b.Navigation("AcademicPeriods");
 22228
 22229                    b.Navigation("Campi");
 22230
 22231                    b.Navigation("Configs")
 22232                        .IsRequired();
 22233
 22234                    b.Navigation("CourseCurriculums");
 22235
 22236                    b.Navigation("CourseOfferings");
 22237
 22238                    b.Navigation("Courses");
 22239
 22240                    b.Navigation("Disciplines");
 22241
 22242                    b.Navigation("Notifications");
 22243
 22244                    b.Navigation("Students");
 22245
 22246                    b.Navigation("Teachers");
 22247
 22248                    b.Navigation("Users");
 22249
 22250                    b.Navigation("WebhookCalls");
 22251
 22252                    b.Navigation("Webhooks");
 42253                });
 2254
 22255            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 22256                {
 22257                    b.Navigation("Works");
 42258                });
 2259#pragma warning restore 612, 618
 22260        }
 2261    }
 2262}