< Summary - Syki

Line coverage
99%
Covered lines: 2165
Uncovered lines: 5
Coverable lines: 2170
Total lines: 2301
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/20250712192321_AddCampusCapacityProp.cs

#LineLine coverage
 1using Microsoft.EntityFrameworkCore.Migrations;
 2
 3#nullable disable
 4
 5namespace Back.Migrations
 6{
 7    /// <inheritdoc />
 8    public partial class AddCampusCapacityProp : Migration
 9    {
 10        /// <inheritdoc />
 11        protected override void Up(MigrationBuilder migrationBuilder)
 12        {
 413            migrationBuilder.AddColumn<int>(
 414                name: "capacity",
 415                schema: "syki",
 416                table: "campi",
 417                type: "integer",
 418                nullable: false,
 419                defaultValue: 0);
 420        }
 21
 22        /// <inheritdoc />
 23        protected override void Down(MigrationBuilder migrationBuilder)
 24        {
 025            migrationBuilder.DropColumn(
 026                name: "capacity",
 027                schema: "syki",
 028                table: "campi");
 029        }
 30    }
 31}

/home/runner/work/syki/syki/Back/Migrations/20250712192321_AddCampusCapacityProp.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("20250712192321_AddCampusCapacityProp")]
 17    partial class AddCampusCapacityProp
 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<string>("ActivityId")
 2213                        .HasColumnType("text")
 2214                        .HasColumnName("activity_id");
 2215
 2216                    b.Property<Guid?>("BatchId")
 2217                        .HasColumnType("uuid")
 2218                        .HasColumnName("batch_id");
 2219
 2220                    b.Property<DateTime>("CreatedAt")
 2221                        .HasColumnType("timestamp with time zone")
 2222                        .HasColumnName("created_at");
 2223
 2224                    b.Property<string>("Data")
 2225                        .IsRequired()
 2226                        .HasColumnType("text")
 2227                        .HasColumnName("data");
 2228
 2229                    b.Property<int>("Duration")
 2230                        .HasColumnType("integer")
 2231                        .HasColumnName("duration");
 2232
 2233                    b.Property<string>("Error")
 2234                        .HasColumnType("text")
 2235                        .HasColumnName("error");
 2236
 2237                    b.Property<Guid?>("EventId")
 2238                        .HasColumnType("uuid")
 2239                        .HasColumnName("event_id");
 2240
 2241                    b.Property<Guid>("InstitutionId")
 2242                        .HasColumnType("uuid")
 2243                        .HasColumnName("institution_id");
 2244
 2245                    b.Property<DateTime?>("NotBefore")
 2246                        .HasColumnType("timestamp with time zone")
 2247                        .HasColumnName("not_before");
 2248
 2249                    b.Property<Guid?>("OriginalId")
 2250                        .HasColumnType("uuid")
 2251                        .HasColumnName("original_id");
 2252
 2253                    b.Property<Guid?>("ParentId")
 2254                        .HasColumnType("uuid")
 2255                        .HasColumnName("parent_id");
 2256
 2257                    b.Property<DateTime?>("ProcessedAt")
 2258                        .HasColumnType("timestamp with time zone")
 2259                        .HasColumnName("processed_at");
 2260
 2261                    b.Property<Guid?>("ProcessorId")
 2262                        .HasColumnType("uuid")
 2263                        .HasColumnName("processor_id");
 2264
 2265                    b.Property<string>("Status")
 2266                        .IsRequired()
 2267                        .HasColumnType("text")
 2268                        .HasColumnName("status");
 2269
 2270                    b.Property<string>("Type")
 2271                        .IsRequired()
 2272                        .HasColumnType("text")
 2273                        .HasColumnName("type");
 2274
 2275                    b.HasKey("Id")
 2276                        .HasName("pk_commands");
 2277
 2278                    b.ToTable("commands", "syki");
 4279                });
 280
 2281            modelBuilder.Entity("Syki.Back.Commands.CommandBatch", b =>
 2282                {
 2283                    b.Property<Guid>("Id")
 2284                        .HasColumnType("uuid")
 2285                        .HasColumnName("id");
 2286
 2287                    b.Property<DateTime>("CreatedAt")
 2288                        .HasColumnType("timestamp with time zone")
 2289                        .HasColumnName("created_at");
 2290
 2291                    b.Property<Guid?>("EventId")
 2292                        .HasColumnType("uuid")
 2293                        .HasColumnName("event_id");
 2294
 2295                    b.Property<Guid>("InstitutionId")
 2296                        .HasColumnType("uuid")
 2297                        .HasColumnName("institution_id");
 2298
 2299                    b.Property<Guid?>("NextCommandId")
 2300                        .HasColumnType("uuid")
 2301                        .HasColumnName("next_command_id");
 2302
 2303                    b.Property<DateTime?>("ProcessedAt")
 2304                        .HasColumnType("timestamp with time zone")
 2305                        .HasColumnName("processed_at");
 2306
 2307                    b.Property<int>("Size")
 2308                        .HasColumnType("integer")
 2309                        .HasColumnName("size");
 2310
 2311                    b.Property<Guid?>("SourceCommandId")
 2312                        .HasColumnType("uuid")
 2313                        .HasColumnName("source_command_id");
 2314
 2315                    b.Property<string>("Status")
 2316                        .IsRequired()
 2317                        .HasColumnType("text")
 2318                        .HasColumnName("status");
 2319
 2320                    b.Property<string>("Type")
 2321                        .IsRequired()
 2322                        .HasColumnType("text")
 2323                        .HasColumnName("type");
 2324
 2325                    b.HasKey("Id")
 2326                        .HasName("pk_command_batches");
 2327
 2328                    b.ToTable("command_batches", "syki");
 4329                });
 330
 2331            modelBuilder.Entity("Syki.Back.Events.DomainEvent", b =>
 2332                {
 2333                    b.Property<Guid>("Id")
 2334                        .HasColumnType("uuid")
 2335                        .HasColumnName("id");
 2336
 2337                    b.Property<string>("ActivityId")
 2338                        .HasColumnType("text")
 2339                        .HasColumnName("activity_id");
 2340
 2341                    b.Property<string>("Data")
 2342                        .IsRequired()
 2343                        .HasColumnType("text")
 2344                        .HasColumnName("data");
 2345
 2346                    b.Property<int>("Duration")
 2347                        .HasColumnType("integer")
 2348                        .HasColumnName("duration");
 2349
 2350                    b.Property<Guid>("EntityId")
 2351                        .HasColumnType("uuid")
 2352                        .HasColumnName("entity_id");
 2353
 2354                    b.Property<string>("Error")
 2355                        .HasColumnType("text")
 2356                        .HasColumnName("error");
 2357
 2358                    b.Property<Guid>("InstitutionId")
 2359                        .HasColumnType("uuid")
 2360                        .HasColumnName("institution_id");
 2361
 2362                    b.Property<DateTime>("OccurredAt")
 2363                        .HasColumnType("timestamp with time zone")
 2364                        .HasColumnName("occurred_at");
 2365
 2366                    b.Property<DateTime?>("ProcessedAt")
 2367                        .HasColumnType("timestamp with time zone")
 2368                        .HasColumnName("processed_at");
 2369
 2370                    b.Property<Guid?>("ProcessorId")
 2371                        .HasColumnType("uuid")
 2372                        .HasColumnName("processor_id");
 2373
 2374                    b.Property<string>("Status")
 2375                        .IsRequired()
 2376                        .HasColumnType("text")
 2377                        .HasColumnName("status");
 2378
 2379                    b.Property<string>("Type")
 2380                        .IsRequired()
 2381                        .HasColumnType("text")
 2382                        .HasColumnName("type");
 2383
 2384                    b.HasKey("Id")
 2385                        .HasName("pk_domain_events");
 2386
 2387                    b.ToTable("domain_events", "syki");
 4388                });
 389
 2390            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 2391                {
 2392                    b.Property<Guid>("Id")
 2393                        .HasColumnType("uuid")
 2394                        .HasColumnName("id");
 2395
 2396                    b.Property<int>("AttemptsCount")
 2397                        .HasColumnType("integer")
 2398                        .HasColumnName("attempts_count");
 2399
 2400                    b.Property<DateTime>("CreatedAt")
 2401                        .HasColumnType("timestamp with time zone")
 2402                        .HasColumnName("created_at");
 2403
 2404                    b.Property<string>("Event")
 2405                        .IsRequired()
 2406                        .HasColumnType("text")
 2407                        .HasColumnName("event");
 2408
 2409                    b.Property<Guid>("InstitutionId")
 2410                        .HasColumnType("uuid")
 2411                        .HasColumnName("institution_id");
 2412
 2413                    b.Property<string>("Payload")
 2414                        .IsRequired()
 2415                        .HasColumnType("text")
 2416                        .HasColumnName("payload");
 2417
 2418                    b.Property<string>("Status")
 2419                        .IsRequired()
 2420                        .HasColumnType("text")
 2421                        .HasColumnName("status");
 2422
 2423                    b.Property<Guid>("WebhookId")
 2424                        .HasColumnType("uuid")
 2425                        .HasColumnName("webhook_id");
 2426
 2427                    b.HasKey("Id")
 2428                        .HasName("pk_webhook_calls");
 2429
 2430                    b.HasIndex("InstitutionId")
 2431                        .HasDatabaseName("ix_webhook_calls_institution_id");
 2432
 2433                    b.HasIndex("WebhookId")
 2434                        .HasDatabaseName("ix_webhook_calls_webhook_id");
 2435
 2436                    b.ToTable("webhook_calls", "syki");
 4437                });
 438
 2439            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCallAttempt", b =>
 2440                {
 2441                    b.Property<Guid>("Id")
 2442                        .HasColumnType("uuid")
 2443                        .HasColumnName("id");
 2444
 2445                    b.Property<DateTime>("CreatedAt")
 2446                        .HasColumnType("timestamp with time zone")
 2447                        .HasColumnName("created_at");
 2448
 2449                    b.Property<string>("Response")
 2450                        .IsRequired()
 2451                        .HasColumnType("text")
 2452                        .HasColumnName("response");
 2453
 2454                    b.Property<string>("Status")
 2455                        .IsRequired()
 2456                        .HasColumnType("text")
 2457                        .HasColumnName("status");
 2458
 2459                    b.Property<int>("StatusCode")
 2460                        .HasColumnType("integer")
 2461                        .HasColumnName("status_code");
 2462
 2463                    b.Property<Guid>("WebhookCallId")
 2464                        .HasColumnType("uuid")
 2465                        .HasColumnName("webhook_call_id");
 2466
 2467                    b.HasKey("Id")
 2468                        .HasName("pk_webhook_call_attempts");
 2469
 2470                    b.HasIndex("WebhookCallId")
 2471                        .HasDatabaseName("ix_webhook_call_attempts_webhook_call_id");
 2472
 2473                    b.ToTable("webhook_call_attempts", "syki");
 4474                });
 475
 2476            modelBuilder.Entity("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", b =>
 2477                {
 2478                    b.Property<string>("Id")
 2479                        .HasColumnType("text")
 2480                        .HasColumnName("id");
 2481
 2482                    b.Property<Guid>("InstitutionId")
 2483                        .HasColumnType("uuid")
 2484                        .HasColumnName("institution_id");
 2485
 2486                    b.Property<DateOnly>("EndAt")
 2487                        .HasColumnType("date")
 2488                        .HasColumnName("end_at");
 2489
 2490                    b.Property<DateOnly>("StartAt")
 2491                        .HasColumnType("date")
 2492                        .HasColumnName("start_at");
 2493
 2494                    b.HasKey("Id", "InstitutionId")
 2495                        .HasName("pk_academic_periods");
 2496
 2497                    b.HasIndex("InstitutionId")
 2498                        .HasDatabaseName("ix_academic_periods_institution_id");
 2499
 2500                    b.ToTable("academic_periods", "syki");
 4501                });
 502
 2503            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCampus.Campus", b =>
 2504                {
 2505                    b.Property<Guid>("Id")
 2506                        .HasColumnType("uuid")
 2507                        .HasColumnName("id");
 2508
 2509                    b.Property<int>("Capacity")
 2510                        .HasColumnType("integer")
 2511                        .HasColumnName("capacity");
 2512
 2513                    b.Property<string>("City")
 2514                        .IsRequired()
 2515                        .HasColumnType("text")
 2516                        .HasColumnName("city");
 2517
 2518                    b.Property<Guid>("InstitutionId")
 2519                        .HasColumnType("uuid")
 2520                        .HasColumnName("institution_id");
 2521
 2522                    b.Property<string>("Name")
 2523                        .IsRequired()
 2524                        .HasColumnType("text")
 2525                        .HasColumnName("name");
 2526
 2527                    b.Property<string>("State")
 2528                        .IsRequired()
 2529                        .HasColumnType("text")
 2530                        .HasColumnName("state");
 2531
 2532                    b.HasKey("Id")
 2533                        .HasName("pk_campi");
 2534
 2535                    b.HasIndex("InstitutionId")
 2536                        .HasDatabaseName("ix_campi_institution_id");
 2537
 2538                    b.ToTable("campi", "syki");
 4539                });
 540
 2541            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 2542                {
 2543                    b.Property<Guid>("Id")
 2544                        .HasColumnType("uuid")
 2545                        .HasColumnName("id");
 2546
 2547                    b.Property<Guid>("DisciplineId")
 2548                        .HasColumnType("uuid")
 2549                        .HasColumnName("discipline_id");
 2550
 2551                    b.Property<Guid>("InstitutionId")
 2552                        .HasColumnType("uuid")
 2553                        .HasColumnName("institution_id");
 2554
 2555                    b.Property<string>("PeriodId")
 2556                        .IsRequired()
 2557                        .HasColumnType("text")
 2558                        .HasColumnName("period_id");
 2559
 2560                    b.Property<string>("Status")
 2561                        .IsRequired()
 2562                        .HasColumnType("text")
 2563                        .HasColumnName("status");
 2564
 2565                    b.Property<Guid>("TeacherId")
 2566                        .HasColumnType("uuid")
 2567                        .HasColumnName("teacher_id");
 2568
 2569                    b.Property<int>("Vacancies")
 2570                        .HasColumnType("integer")
 2571                        .HasColumnName("vacancies");
 2572
 2573                    b.Property<int>("Workload")
 2574                        .HasColumnType("integer")
 2575                        .HasColumnName("workload");
 2576
 2577                    b.HasKey("Id")
 2578                        .HasName("pk_classes");
 2579
 2580                    b.HasIndex("DisciplineId")
 2581                        .HasDatabaseName("ix_classes_discipline_id");
 2582
 2583                    b.HasIndex("TeacherId")
 2584                        .HasDatabaseName("ix_classes_teacher_id");
 2585
 2586                    b.HasIndex("PeriodId", "InstitutionId")
 2587                        .HasDatabaseName("ix_classes_period_id_institution_id");
 2588
 2589                    b.ToTable("classes", "syki");
 4590                });
 591
 2592            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 2593                {
 2594                    b.Property<Guid>("Id")
 2595                        .HasColumnType("uuid")
 2596                        .HasColumnName("id");
 2597
 2598                    b.Property<Guid>("ClassId")
 2599                        .HasColumnType("uuid")
 2600                        .HasColumnName("class_id");
 2601
 2602                    b.Property<DateOnly>("Date")
 2603                        .HasColumnType("date")
 2604                        .HasColumnName("date");
 2605
 2606                    b.Property<string>("EndAt")
 2607                        .IsRequired()
 2608                        .HasColumnType("text")
 2609                        .HasColumnName("end_at");
 2610
 2611                    b.Property<int>("Number")
 2612                        .HasColumnType("integer")
 2613                        .HasColumnName("number");
 2614
 2615                    b.Property<string>("StartAt")
 2616                        .IsRequired()
 2617                        .HasColumnType("text")
 2618                        .HasColumnName("start_at");
 2619
 2620                    b.Property<string>("Status")
 2621                        .IsRequired()
 2622                        .HasColumnType("text")
 2623                        .HasColumnName("status");
 2624
 2625                    b.HasKey("Id")
 2626                        .HasName("pk_class_lessons");
 2627
 2628                    b.HasIndex("ClassId")
 2629                        .HasDatabaseName("ix_class_lessons_class_id");
 2630
 2631                    b.ToTable("class_lessons", "syki");
 4632                });
 633
 2634            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Schedule", b =>
 2635                {
 2636                    b.Property<Guid>("Id")
 2637                        .HasColumnType("uuid")
 2638                        .HasColumnName("id");
 2639
 2640                    b.Property<Guid>("ClassId")
 2641                        .HasColumnType("uuid")
 2642                        .HasColumnName("class_id");
 2643
 2644                    b.Property<string>("Day")
 2645                        .IsRequired()
 2646                        .HasColumnType("text")
 2647                        .HasColumnName("day");
 2648
 2649                    b.Property<string>("EndAt")
 2650                        .IsRequired()
 2651                        .HasColumnType("text")
 2652                        .HasColumnName("end_at");
 2653
 2654                    b.Property<string>("StartAt")
 2655                        .IsRequired()
 2656                        .HasColumnType("text")
 2657                        .HasColumnName("start_at");
 2658
 2659                    b.HasKey("Id")
 2660                        .HasName("pk_schedules");
 2661
 2662                    b.HasIndex("ClassId")
 2663                        .HasDatabaseName("ix_schedules_class_id");
 2664
 2665                    b.ToTable("schedules", "syki");
 4666                });
 667
 2668            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 2669                {
 2670                    b.Property<Guid>("Id")
 2671                        .HasColumnType("uuid")
 2672                        .HasColumnName("id");
 2673
 2674                    b.Property<Guid>("InstitutionId")
 2675                        .HasColumnType("uuid")
 2676                        .HasColumnName("institution_id");
 2677
 2678                    b.Property<string>("Name")
 2679                        .IsRequired()
 2680                        .HasColumnType("text")
 2681                        .HasColumnName("name");
 2682
 2683                    b.Property<string>("Type")
 2684                        .IsRequired()
 2685                        .HasColumnType("text")
 2686                        .HasColumnName("type");
 2687
 2688                    b.HasKey("Id")
 2689                        .HasName("pk_courses");
 2690
 2691                    b.HasIndex("InstitutionId")
 2692                        .HasDatabaseName("ix_courses_institution_id");
 2693
 2694                    b.ToTable("courses", "syki");
 4695                });
 696
 2697            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 2698                {
 2699                    b.Property<Guid>("Id")
 2700                        .HasColumnType("uuid")
 2701                        .HasColumnName("id");
 2702
 2703                    b.Property<Guid>("CourseId")
 2704                        .HasColumnType("uuid")
 2705                        .HasColumnName("course_id");
 2706
 2707                    b.Property<Guid>("InstitutionId")
 2708                        .HasColumnType("uuid")
 2709                        .HasColumnName("institution_id");
 2710
 2711                    b.Property<string>("Name")
 2712                        .IsRequired()
 2713                        .HasColumnType("text")
 2714                        .HasColumnName("name");
 2715
 2716                    b.HasKey("Id")
 2717                        .HasName("pk_course_curriculums");
 2718
 2719                    b.HasIndex("CourseId")
 2720                        .HasDatabaseName("ix_course_curriculums_course_id");
 2721
 2722                    b.HasIndex("InstitutionId")
 2723                        .HasDatabaseName("ix_course_curriculums_institution_id");
 2724
 2725                    b.ToTable("course_curriculums", "syki");
 4726                });
 727
 2728            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculumDiscipline", b =>
 2729                {
 2730                    b.Property<Guid>("CourseCurriculumId")
 2731                        .HasColumnType("uuid")
 2732                        .HasColumnName("course_curriculum_id");
 2733
 2734                    b.Property<Guid>("DisciplineId")
 2735                        .HasColumnType("uuid")
 2736                        .HasColumnName("discipline_id");
 2737
 2738                    b.Property<byte>("Credits")
 2739                        .HasColumnType("smallint")
 2740                        .HasColumnName("credits");
 2741
 2742                    b.Property<byte>("Period")
 2743                        .HasColumnType("smallint")
 2744                        .HasColumnName("period");
 2745
 2746                    b.Property<int>("Workload")
 2747                        .HasColumnType("integer")
 2748                        .HasColumnName("workload");
 2749
 2750                    b.HasKey("CourseCurriculumId", "DisciplineId")
 2751                        .HasName("pk_course_curriculums__disciplines");
 2752
 2753                    b.HasIndex("DisciplineId")
 2754                        .HasDatabaseName("ix_course_curriculums__disciplines_discipline_id");
 2755
 2756                    b.ToTable("course_curriculums__disciplines", "syki");
 4757                });
 758
 2759            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", b =>
 2760                {
 2761                    b.Property<Guid>("Id")
 2762                        .HasColumnType("uuid")
 2763                        .HasColumnName("id");
 2764
 2765                    b.Property<Guid>("CampusId")
 2766                        .HasColumnType("uuid")
 2767                        .HasColumnName("campus_id");
 2768
 2769                    b.Property<Guid>("CourseCurriculumId")
 2770                        .HasColumnType("uuid")
 2771                        .HasColumnName("course_curriculum_id");
 2772
 2773                    b.Property<Guid>("CourseId")
 2774                        .HasColumnType("uuid")
 2775                        .HasColumnName("course_id");
 2776
 2777                    b.Property<Guid>("InstitutionId")
 2778                        .HasColumnType("uuid")
 2779                        .HasColumnName("institution_id");
 2780
 2781                    b.Property<string>("Period")
 2782                        .IsRequired()
 2783                        .HasColumnType("text")
 2784                        .HasColumnName("period");
 2785
 2786                    b.Property<string>("Shift")
 2787                        .IsRequired()
 2788                        .HasColumnType("text")
 2789                        .HasColumnName("shift");
 2790
 2791                    b.HasKey("Id")
 2792                        .HasName("pk_course_offerings");
 2793
 2794                    b.HasIndex("CampusId")
 2795                        .HasDatabaseName("ix_course_offerings_campus_id");
 2796
 2797                    b.HasIndex("CourseCurriculumId")
 2798                        .HasDatabaseName("ix_course_offerings_course_curriculum_id");
 2799
 2800                    b.HasIndex("CourseId")
 2801                        .HasDatabaseName("ix_course_offerings_course_id");
 2802
 2803                    b.HasIndex("InstitutionId")
 2804                        .HasDatabaseName("ix_course_offerings_institution_id");
 2805
 2806                    b.HasIndex("Period", "InstitutionId")
 2807                        .HasDatabaseName("ix_course_offerings_period_institution_id");
 2808
 2809                    b.ToTable("course_offerings", "syki");
 4810                });
 811
 2812            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.CourseDiscipline", b =>
 2813                {
 2814                    b.Property<Guid>("CourseId")
 2815                        .HasColumnType("uuid")
 2816                        .HasColumnName("course_id");
 2817
 2818                    b.Property<Guid>("DisciplineId")
 2819                        .HasColumnType("uuid")
 2820                        .HasColumnName("discipline_id");
 2821
 2822                    b.HasKey("CourseId", "DisciplineId")
 2823                        .HasName("pk_courses__disciplines");
 2824
 2825                    b.HasIndex("DisciplineId")
 2826                        .HasDatabaseName("ix_courses__disciplines_discipline_id");
 2827
 2828                    b.ToTable("courses__disciplines", "syki");
 4829                });
 830
 2831            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 2832                {
 2833                    b.Property<Guid>("Id")
 2834                        .HasColumnType("uuid")
 2835                        .HasColumnName("id");
 2836
 2837                    b.Property<string>("Code")
 2838                        .IsRequired()
 2839                        .HasColumnType("text")
 2840                        .HasColumnName("code");
 2841
 2842                    b.Property<Guid>("InstitutionId")
 2843                        .HasColumnType("uuid")
 2844                        .HasColumnName("institution_id");
 2845
 2846                    b.Property<string>("Name")
 2847                        .IsRequired()
 2848                        .HasColumnType("text")
 2849                        .HasColumnName("name");
 2850
 2851                    b.HasKey("Id")
 2852                        .HasName("pk_disciplines");
 2853
 2854                    b.HasIndex("InstitutionId")
 2855                        .HasDatabaseName("ix_disciplines_institution_id");
 2856
 2857                    b.ToTable("disciplines", "syki");
 4858                });
 859
 2860            modelBuilder.Entity("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", b =>
 2861                {
 2862                    b.Property<string>("Id")
 2863                        .HasColumnType("text")
 2864                        .HasColumnName("id");
 2865
 2866                    b.Property<Guid>("InstitutionId")
 2867                        .HasColumnType("uuid")
 2868                        .HasColumnName("institution_id");
 2869
 2870                    b.Property<DateOnly>("EndAt")
 2871                        .HasColumnType("date")
 2872                        .HasColumnName("end_at");
 2873
 2874                    b.Property<DateOnly>("StartAt")
 2875                        .HasColumnType("date")
 2876                        .HasColumnName("start_at");
 2877
 2878                    b.HasKey("Id", "InstitutionId")
 2879                        .HasName("pk_enrollment_periods");
 2880
 2881                    b.ToTable("enrollment_periods", "syki");
 4882                });
 883
 2884            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 2885                {
 2886                    b.Property<Guid>("Id")
 2887                        .HasColumnType("uuid")
 2888                        .HasColumnName("id");
 2889
 2890                    b.Property<DateTime>("CreatedAt")
 2891                        .HasColumnType("timestamp with time zone")
 2892                        .HasColumnName("created_at");
 2893
 2894                    b.Property<string>("Description")
 2895                        .IsRequired()
 2896                        .HasColumnType("text")
 2897                        .HasColumnName("description");
 2898
 2899                    b.Property<Guid>("InstitutionId")
 2900                        .HasColumnType("uuid")
 2901                        .HasColumnName("institution_id");
 2902
 2903                    b.Property<string>("Target")
 2904                        .IsRequired()
 2905                        .HasColumnType("text")
 2906                        .HasColumnName("target");
 2907
 2908                    b.Property<bool>("Timeless")
 2909                        .HasColumnType("boolean")
 2910                        .HasColumnName("timeless");
 2911
 2912                    b.Property<string>("Title")
 2913                        .IsRequired()
 2914                        .HasColumnType("text")
 2915                        .HasColumnName("title");
 2916
 2917                    b.HasKey("Id")
 2918                        .HasName("pk_notifications");
 2919
 2920                    b.HasIndex("InstitutionId")
 2921                        .HasDatabaseName("ix_notifications_institution_id");
 2922
 2923                    b.ToTable("notifications", "syki");
 4924                });
 925
 2926            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.UserNotification", b =>
 2927                {
 2928                    b.Property<Guid>("UserId")
 2929                        .HasColumnType("uuid")
 2930                        .HasColumnName("user_id");
 2931
 2932                    b.Property<Guid>("NotificationId")
 2933                        .HasColumnType("uuid")
 2934                        .HasColumnName("notification_id");
 2935
 2936                    b.Property<DateTime?>("ViewedAt")
 2937                        .HasColumnType("timestamp with time zone")
 2938                        .HasColumnName("viewed_at");
 2939
 2940                    b.HasKey("UserId", "NotificationId")
 2941                        .HasName("pk_users__notifications");
 2942
 2943                    b.HasIndex("NotificationId")
 2944                        .HasDatabaseName("ix_users__notifications_notification_id");
 2945
 2946                    b.ToTable("users__notifications", "syki");
 4947                });
 948
 2949            modelBuilder.Entity("Syki.Back.Features.Academic.CreateStudent.SykiStudent", b =>
 2950                {
 2951                    b.Property<Guid>("Id")
 2952                        .HasColumnType("uuid")
 2953                        .HasColumnName("id");
 2954
 2955                    b.Property<Guid>("CourseOfferingId")
 2956                        .HasColumnType("uuid")
 2957                        .HasColumnName("course_offering_id");
 2958
 2959                    b.Property<string>("EnrollmentCode")
 2960                        .IsRequired()
 2961                        .HasColumnType("text")
 2962                        .HasColumnName("enrollment_code");
 2963
 2964                    b.Property<Guid>("InstitutionId")
 2965                        .HasColumnType("uuid")
 2966                        .HasColumnName("institution_id");
 2967
 2968                    b.Property<string>("Name")
 2969                        .IsRequired()
 2970                        .HasColumnType("text")
 2971                        .HasColumnName("name");
 2972
 2973                    b.Property<string>("Status")
 2974                        .IsRequired()
 2975                        .HasColumnType("text")
 2976                        .HasColumnName("status");
 2977
 2978                    b.Property<decimal>("YieldCoefficient")
 2979                        .HasPrecision(4, 2)
 2980                        .HasColumnType("numeric(4,2)")
 2981                        .HasColumnName("yield_coefficient");
 2982
 2983                    b.HasKey("Id")
 2984                        .HasName("pk_students");
 2985
 2986                    b.HasIndex("CourseOfferingId")
 2987                        .HasDatabaseName("ix_students_course_offering_id");
 2988
 2989                    b.HasIndex("EnrollmentCode")
 2990                        .IsUnique()
 2991                        .HasDatabaseName("ix_students_enrollment_code");
 2992
 2993                    b.HasIndex("InstitutionId", "Id")
 2994                        .IsUnique()
 2995                        .HasDatabaseName("ix_students_institution_id_id");
 2996
 2997                    b.ToTable("students", "syki");
 4998                });
 999
 21000            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 21001                {
 21002                    b.Property<Guid>("Id")
 21003                        .HasColumnType("uuid")
 21004                        .HasColumnName("id");
 21005
 21006                    b.Property<Guid>("InstitutionId")
 21007                        .HasColumnType("uuid")
 21008                        .HasColumnName("institution_id");
 21009
 21010                    b.Property<string>("Name")
 21011                        .IsRequired()
 21012                        .HasColumnType("text")
 21013                        .HasColumnName("name");
 21014
 21015                    b.HasKey("Id")
 21016                        .HasName("pk_teachers");
 21017
 21018                    b.HasIndex("InstitutionId", "Id")
 21019                        .IsUnique()
 21020                        .HasDatabaseName("ix_teachers_institution_id_id");
 21021
 21022                    b.ToTable("teachers", "syki");
 41023                });
 1024
 21025            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", b =>
 21026                {
 21027                    b.Property<Guid>("Id")
 21028                        .HasColumnType("uuid")
 21029                        .HasColumnName("id");
 21030
 21031                    b.Property<string>("ApiKey")
 21032                        .IsRequired()
 21033                        .HasColumnType("text")
 21034                        .HasColumnName("api_key");
 21035
 21036                    b.Property<string>("Type")
 21037                        .IsRequired()
 21038                        .HasColumnType("text")
 21039                        .HasColumnName("type");
 21040
 21041                    b.Property<Guid>("WebhookId")
 21042                        .HasColumnType("uuid")
 21043                        .HasColumnName("webhook_id");
 21044
 21045                    b.HasKey("Id")
 21046                        .HasName("pk_webhook_authentications");
 21047
 21048                    b.HasIndex("WebhookId")
 21049                        .IsUnique()
 21050                        .HasDatabaseName("ix_webhook_authentications_webhook_id");
 21051
 21052                    b.ToTable("webhook_authentications", "syki");
 41053                });
 1054
 21055            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 21056                {
 21057                    b.Property<Guid>("Id")
 21058                        .HasColumnType("uuid")
 21059                        .HasColumnName("id");
 21060
 21061                    b.Property<DateTime>("CreatedAt")
 21062                        .HasColumnType("timestamp with time zone")
 21063                        .HasColumnName("created_at");
 21064
 21065                    b.PrimitiveCollection<string[]>("Events")
 21066                        .IsRequired()
 21067                        .HasColumnType("text[]")
 21068                        .HasColumnName("events");
 21069
 21070                    b.Property<Guid>("InstitutionId")
 21071                        .HasColumnType("uuid")
 21072                        .HasColumnName("institution_id");
 21073
 21074                    b.Property<string>("Name")
 21075                        .IsRequired()
 21076                        .HasColumnType("text")
 21077                        .HasColumnName("name");
 21078
 21079                    b.Property<string>("Url")
 21080                        .IsRequired()
 21081                        .HasColumnType("text")
 21082                        .HasColumnName("url");
 21083
 21084                    b.HasKey("Id")
 21085                        .HasName("pk_webhook_subscriptions");
 21086
 21087                    b.HasIndex("InstitutionId")
 21088                        .HasDatabaseName("ix_webhook_subscriptions_institution_id");
 21089
 21090                    b.ToTable("webhook_subscriptions", "syki");
 41091                });
 1092
 21093            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.Institution", b =>
 21094                {
 21095                    b.Property<Guid>("Id")
 21096                        .HasColumnType("uuid")
 21097                        .HasColumnName("id");
 21098
 21099                    b.Property<DateTime>("CreatedAt")
 21100                        .HasColumnType("timestamp with time zone")
 21101                        .HasColumnName("created_at");
 21102
 21103                    b.Property<string>("Name")
 21104                        .IsRequired()
 21105                        .HasColumnType("text")
 21106                        .HasColumnName("name");
 21107
 21108                    b.HasKey("Id")
 21109                        .HasName("pk_institutions");
 21110
 21111                    b.ToTable("institutions", "syki");
 41112                });
 1113
 21114            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", b =>
 21115                {
 21116                    b.Property<Guid>("InstitutionId")
 21117                        .HasColumnType("uuid")
 21118                        .HasColumnName("institution_id");
 21119
 21120                    b.Property<decimal>("FrequencyLimit")
 21121                        .HasPrecision(4, 2)
 21122                        .HasColumnType("numeric(4,2)")
 21123                        .HasColumnName("frequency_limit");
 21124
 21125                    b.Property<decimal>("NoteLimit")
 21126                        .HasColumnType("numeric")
 21127                        .HasColumnName("note_limit");
 21128
 21129                    b.HasKey("InstitutionId")
 21130                        .HasName("pk_institution_configs");
 21131
 21132                    b.ToTable("institution_configs", "syki");
 41133                });
 1134
 21135            modelBuilder.Entity("Syki.Back.Features.Cross.CreatePendingUserRegister.UserRegister", b =>
 21136                {
 21137                    b.Property<Guid>("Id")
 21138                        .HasColumnType("uuid")
 21139                        .HasColumnName("id");
 21140
 21141                    b.Property<string>("Email")
 21142                        .IsRequired()
 21143                        .HasColumnType("text")
 21144                        .HasColumnName("email");
 21145
 21146                    b.Property<Guid>("InstitutionId")
 21147                        .HasColumnType("uuid")
 21148                        .HasColumnName("institution_id");
 21149
 21150                    b.Property<string>("Status")
 21151                        .IsRequired()
 21152                        .HasColumnType("text")
 21153                        .HasColumnName("status");
 21154
 21155                    b.HasKey("Id")
 21156                        .HasName("pk_user_registers");
 21157
 21158                    b.HasIndex("Email")
 21159                        .IsUnique()
 21160                        .HasDatabaseName("ix_user_registers_email");
 21161
 21162                    b.ToTable("user_registers", "syki");
 41163                });
 1164
 21165            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiRole", b =>
 21166                {
 21167                    b.Property<Guid>("Id")
 21168                        .ValueGeneratedOnAdd()
 21169                        .HasColumnType("uuid")
 21170                        .HasColumnName("id");
 21171
 21172                    b.Property<string>("ConcurrencyStamp")
 21173                        .IsConcurrencyToken()
 21174                        .HasColumnType("text")
 21175                        .HasColumnName("concurrency_stamp");
 21176
 21177                    b.Property<string>("Name")
 21178                        .HasMaxLength(256)
 21179                        .HasColumnType("character varying(256)")
 21180                        .HasColumnName("name");
 21181
 21182                    b.Property<string>("NormalizedName")
 21183                        .HasMaxLength(256)
 21184                        .HasColumnType("character varying(256)")
 21185                        .HasColumnName("normalized_name");
 21186
 21187                    b.HasKey("Id")
 21188                        .HasName("pk_roles");
 21189
 21190                    b.HasIndex("NormalizedName")
 21191                        .IsUnique()
 21192                        .HasDatabaseName("role_name_index");
 21193
 21194                    b.ToTable("roles", "syki");
 21195
 21196                    b.HasData(
 21197                        new
 21198                        {
 21199                            Id = new Guid("5912ebe1-9e6a-4ce1-90bf-8490534fb4e1"),
 21200                            ConcurrencyStamp = "5912ebe1-9e6a-4ce1-90bf-8490534fb4e1",
 21201                            Name = "Adm",
 21202                            NormalizedName = "ADM"
 21203                        },
 21204                        new
 21205                        {
 21206                            Id = new Guid("78691a7a-f554-42d7-a5cf-8d474b6de0dd"),
 21207                            ConcurrencyStamp = "78691a7a-f554-42d7-a5cf-8d474b6de0dd",
 21208                            Name = "Academic",
 21209                            NormalizedName = "ACADEMIC"
 21210                        },
 21211                        new
 21212                        {
 21213                            Id = new Guid("ca6f394f-6fd9-48cc-90a8-b379636a24e7"),
 21214                            ConcurrencyStamp = "ca6f394f-6fd9-48cc-90a8-b379636a24e7",
 21215                            Name = "Teacher",
 21216                            NormalizedName = "TEACHER"
 21217                        },
 21218                        new
 21219                        {
 21220                            Id = new Guid("f9ad5139-06c3-4ce2-9748-ecc498b087c7"),
 21221                            ConcurrencyStamp = "f9ad5139-06c3-4ce2-9748-ecc498b087c7",
 21222                            Name = "Student",
 21223                            NormalizedName = "STUDENT"
 21224                        });
 41225                });
 1226
 21227            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiUser", b =>
 21228                {
 21229                    b.Property<Guid>("Id")
 21230                        .ValueGeneratedOnAdd()
 21231                        .HasColumnType("uuid")
 21232                        .HasColumnName("id");
 21233
 21234                    b.Property<int>("AccessFailedCount")
 21235                        .HasColumnType("integer")
 21236                        .HasColumnName("access_failed_count");
 21237
 21238                    b.Property<string>("ConcurrencyStamp")
 21239                        .IsConcurrencyToken()
 21240                        .HasColumnType("text")
 21241                        .HasColumnName("concurrency_stamp");
 21242
 21243                    b.Property<DateTime>("CreatedAt")
 21244                        .HasColumnType("timestamp with time zone")
 21245                        .HasColumnName("created_at");
 21246
 21247                    b.Property<string>("Email")
 21248                        .HasMaxLength(256)
 21249                        .HasColumnType("character varying(256)")
 21250                        .HasColumnName("email");
 21251
 21252                    b.Property<bool>("EmailConfirmed")
 21253                        .HasColumnType("boolean")
 21254                        .HasColumnName("email_confirmed");
 21255
 21256                    b.Property<Guid>("InstitutionId")
 21257                        .HasColumnType("uuid")
 21258                        .HasColumnName("institution_id");
 21259
 21260                    b.Property<bool>("LockoutEnabled")
 21261                        .HasColumnType("boolean")
 21262                        .HasColumnName("lockout_enabled");
 21263
 21264                    b.Property<DateTimeOffset?>("LockoutEnd")
 21265                        .HasColumnType("timestamp with time zone")
 21266                        .HasColumnName("lockout_end");
 21267
 21268                    b.Property<string>("Name")
 21269                        .IsRequired()
 21270                        .HasColumnType("text")
 21271                        .HasColumnName("name");
 21272
 21273                    b.Property<string>("NormalizedEmail")
 21274                        .HasMaxLength(256)
 21275                        .HasColumnType("character varying(256)")
 21276                        .HasColumnName("normalized_email");
 21277
 21278                    b.Property<string>("NormalizedUserName")
 21279                        .HasMaxLength(256)
 21280                        .HasColumnType("character varying(256)")
 21281                        .HasColumnName("normalized_user_name");
 21282
 21283                    b.Property<string>("PasswordHash")
 21284                        .HasColumnType("text")
 21285                        .HasColumnName("password_hash");
 21286
 21287                    b.Property<string>("PhoneNumber")
 21288                        .HasColumnType("text")
 21289                        .HasColumnName("phone_number");
 21290
 21291                    b.Property<bool>("PhoneNumberConfirmed")
 21292                        .HasColumnType("boolean")
 21293                        .HasColumnName("phone_number_confirmed");
 21294
 21295                    b.Property<string>("ProfilePhoto")
 21296                        .HasColumnType("text")
 21297                        .HasColumnName("profile_photo");
 21298
 21299                    b.Property<string>("SecurityStamp")
 21300                        .HasColumnType("text")
 21301                        .HasColumnName("security_stamp");
 21302
 21303                    b.Property<bool>("TwoFactorEnabled")
 21304                        .HasColumnType("boolean")
 21305                        .HasColumnName("two_factor_enabled");
 21306
 21307                    b.Property<string>("UserName")
 21308                        .HasMaxLength(256)
 21309                        .HasColumnType("character varying(256)")
 21310                        .HasColumnName("user_name");
 21311
 21312                    b.HasKey("Id")
 21313                        .HasName("pk_users");
 21314
 21315                    b.HasAlternateKey("InstitutionId", "Id")
 21316                        .HasName("ak_asp_net_users_institution_id_id");
 21317
 21318                    b.HasIndex("NormalizedEmail")
 21319                        .HasDatabaseName("email_index");
 21320
 21321                    b.HasIndex("NormalizedUserName")
 21322                        .IsUnique()
 21323                        .HasDatabaseName("user_name_index");
 21324
 21325                    b.ToTable("users", "syki");
 41326                });
 1327
 21328            modelBuilder.Entity("Syki.Back.Features.Cross.SendResetPasswordToken.ResetPasswordToken", b =>
 21329                {
 21330                    b.Property<Guid>("Id")
 21331                        .HasColumnType("uuid")
 21332                        .HasColumnName("id");
 21333
 21334                    b.Property<DateTime>("CreatedAt")
 21335                        .HasColumnType("timestamp with time zone")
 21336                        .HasColumnName("created_at");
 21337
 21338                    b.Property<Guid>("InstitutionId")
 21339                        .HasColumnType("uuid")
 21340                        .HasColumnName("institution_id");
 21341
 21342                    b.Property<string>("Token")
 21343                        .IsRequired()
 21344                        .HasColumnType("text")
 21345                        .HasColumnName("token");
 21346
 21347                    b.Property<DateTime?>("UsedAt")
 21348                        .HasColumnType("timestamp with time zone")
 21349                        .HasColumnName("used_at");
 21350
 21351                    b.Property<Guid>("UserId")
 21352                        .HasColumnType("uuid")
 21353                        .HasColumnName("user_id");
 21354
 21355                    b.HasKey("Id")
 21356                        .HasName("pk_reset_password_tokens");
 21357
 21358                    b.HasIndex("InstitutionId")
 21359                        .HasDatabaseName("ix_reset_password_tokens_institution_id");
 21360
 21361                    b.HasIndex("Token")
 21362                        .IsUnique()
 21363                        .HasDatabaseName("ix_reset_password_tokens_token");
 21364
 21365                    b.HasIndex("UserId")
 21366                        .HasDatabaseName("ix_reset_password_tokens_user_id");
 21367
 21368                    b.ToTable("reset_password_tokens", "syki");
 41369                });
 1370
 21371            modelBuilder.Entity("Syki.Back.Features.Cross.SetupFeatureFlags.FeatureFlags", b =>
 21372                {
 21373                    b.Property<Guid>("Id")
 21374                        .HasColumnType("uuid")
 21375                        .HasColumnName("id");
 21376
 21377                    b.Property<bool>("CrossLogin")
 21378                        .HasColumnType("boolean")
 21379                        .HasColumnName("cross_login");
 21380
 21381                    b.HasKey("Id")
 21382                        .HasName("pk_feature_flags");
 21383
 21384                    b.ToTable("feature_flags", "syki");
 41385                });
 1386
 21387            modelBuilder.Entity("Syki.Back.Features.Student.CreateClassActivityWork.ClassActivityWork", b =>
 21388                {
 21389                    b.Property<Guid>("Id")
 21390                        .HasColumnType("uuid")
 21391                        .HasColumnName("id");
 21392
 21393                    b.Property<Guid>("ClassActivityId")
 21394                        .HasColumnType("uuid")
 21395                        .HasColumnName("class_activity_id");
 21396
 21397                    b.Property<string>("Link")
 21398                        .HasColumnType("text")
 21399                        .HasColumnName("link");
 21400
 21401                    b.Property<decimal>("Note")
 21402                        .HasColumnType("numeric")
 21403                        .HasColumnName("note");
 21404
 21405                    b.Property<string>("Status")
 21406                        .IsRequired()
 21407                        .HasColumnType("text")
 21408                        .HasColumnName("status");
 21409
 21410                    b.Property<Guid>("SykiStudentId")
 21411                        .HasColumnType("uuid")
 21412                        .HasColumnName("syki_student_id");
 21413
 21414                    b.HasKey("Id")
 21415                        .HasName("pk_class_activity_works");
 21416
 21417                    b.HasIndex("ClassActivityId")
 21418                        .HasDatabaseName("ix_class_activity_works_class_activity_id");
 21419
 21420                    b.HasIndex("SykiStudentId")
 21421                        .HasDatabaseName("ix_class_activity_works_syki_student_id");
 21422
 21423                    b.ToTable("class_activity_works", "syki");
 41424                });
 1425
 21426            modelBuilder.Entity("Syki.Back.Features.Student.CreateStudentEnrollment.ClassStudent", b =>
 21427                {
 21428                    b.Property<Guid>("ClassId")
 21429                        .HasColumnType("uuid")
 21430                        .HasColumnName("class_id");
 21431
 21432                    b.Property<Guid>("SykiStudentId")
 21433                        .HasColumnType("uuid")
 21434                        .HasColumnName("syki_student_id");
 21435
 21436                    b.Property<string>("StudentDisciplineStatus")
 21437                        .IsRequired()
 21438                        .HasColumnType("text")
 21439                        .HasColumnName("student_discipline_status");
 21440
 21441                    b.HasKey("ClassId", "SykiStudentId")
 21442                        .HasName("pk_classes__students");
 21443
 21444                    b.HasIndex("SykiStudentId")
 21445                        .HasDatabaseName("ix_classes__students_syki_student_id");
 21446
 21447                    b.ToTable("classes__students", "syki");
 41448                });
 1449
 21450            modelBuilder.Entity("Syki.Back.Features.Teacher.AddClassActivityNote.StudentClassNote", b =>
 21451                {
 21452                    b.Property<Guid>("Id")
 21453                        .HasColumnType("uuid")
 21454                        .HasColumnName("id");
 21455
 21456                    b.Property<Guid>("ClassId")
 21457                        .HasColumnType("uuid")
 21458                        .HasColumnName("class_id");
 21459
 21460                    b.Property<decimal>("Note")
 21461                        .HasPrecision(4, 2)
 21462                        .HasColumnType("numeric(4,2)")
 21463                        .HasColumnName("note");
 21464
 21465                    b.Property<Guid>("StudentId")
 21466                        .HasColumnType("uuid")
 21467                        .HasColumnName("student_id");
 21468
 21469                    b.Property<string>("Type")
 21470                        .IsRequired()
 21471                        .HasColumnType("text")
 21472                        .HasColumnName("type");
 21473
 21474                    b.HasKey("Id")
 21475                        .HasName("pk_student_class_notes");
 21476
 21477                    b.HasIndex("StudentId")
 21478                        .HasDatabaseName("ix_student_class_notes_student_id");
 21479
 21480                    b.HasIndex("ClassId", "StudentId", "Type")
 21481                        .IsUnique()
 21482                        .HasDatabaseName("ix_student_class_notes_class_id_student_id_type");
 21483
 21484                    b.ToTable("student_class_notes", "syki");
 41485                });
 1486
 21487            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 21488                {
 21489                    b.Property<Guid>("Id")
 21490                        .HasColumnType("uuid")
 21491                        .HasColumnName("id");
 21492
 21493                    b.Property<Guid>("ClassId")
 21494                        .HasColumnType("uuid")
 21495                        .HasColumnName("class_id");
 21496
 21497                    b.Property<DateTime>("CreatedAt")
 21498                        .HasColumnType("timestamp with time zone")
 21499                        .HasColumnName("created_at");
 21500
 21501                    b.Property<string>("Description")
 21502                        .IsRequired()
 21503                        .HasColumnType("text")
 21504                        .HasColumnName("description");
 21505
 21506                    b.Property<DateOnly>("DueDate")
 21507                        .HasColumnType("date")
 21508                        .HasColumnName("due_date");
 21509
 21510                    b.Property<string>("DueHour")
 21511                        .IsRequired()
 21512                        .HasColumnType("text")
 21513                        .HasColumnName("due_hour");
 21514
 21515                    b.Property<string>("Note")
 21516                        .IsRequired()
 21517                        .HasColumnType("text")
 21518                        .HasColumnName("note");
 21519
 21520                    b.Property<string>("Status")
 21521                        .IsRequired()
 21522                        .HasColumnType("text")
 21523                        .HasColumnName("status");
 21524
 21525                    b.Property<string>("Title")
 21526                        .IsRequired()
 21527                        .HasColumnType("text")
 21528                        .HasColumnName("title");
 21529
 21530                    b.Property<string>("Type")
 21531                        .IsRequired()
 21532                        .HasColumnType("text")
 21533                        .HasColumnName("type");
 21534
 21535                    b.Property<int>("Weight")
 21536                        .HasColumnType("integer")
 21537                        .HasColumnName("weight");
 21538
 21539                    b.HasKey("Id")
 21540                        .HasName("pk_class_activities");
 21541
 21542                    b.HasIndex("ClassId")
 21543                        .HasDatabaseName("ix_class_activities_class_id");
 21544
 21545                    b.ToTable("class_activities", "syki");
 41546                });
 1547
 21548            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateLessonAttendance.ClassLessonAttendance", b =>
 21549                {
 21550                    b.Property<Guid>("Id")
 21551                        .HasColumnType("uuid")
 21552                        .HasColumnName("id");
 21553
 21554                    b.Property<Guid>("ClassId")
 21555                        .HasColumnType("uuid")
 21556                        .HasColumnName("class_id");
 21557
 21558                    b.Property<Guid>("LessonId")
 21559                        .HasColumnType("uuid")
 21560                        .HasColumnName("lesson_id");
 21561
 21562                    b.Property<bool>("Present")
 21563                        .HasColumnType("boolean")
 21564                        .HasColumnName("present");
 21565
 21566                    b.Property<Guid>("StudentId")
 21567                        .HasColumnType("uuid")
 21568                        .HasColumnName("student_id");
 21569
 21570                    b.HasKey("Id")
 21571                        .HasName("pk_class_lesson_attendances");
 21572
 21573                    b.HasIndex("ClassId")
 21574                        .HasDatabaseName("ix_class_lesson_attendances_class_id");
 21575
 21576                    b.HasIndex("StudentId")
 21577                        .HasDatabaseName("ix_class_lesson_attendances_student_id");
 21578
 21579                    b.HasIndex("LessonId", "StudentId")
 21580                        .IsUnique()
 21581                        .HasDatabaseName("ix_class_lesson_attendances_lesson_id_student_id");
 21582
 21583                    b.ToTable("class_lesson_attendances", "syki");
 41584                });
 1585
 21586            modelBuilder.Entity("Syki.Back.Metrics.RequestMetrics", b =>
 21587                {
 21588                    b.Property<Guid>("Id")
 21589                        .HasColumnType("uuid")
 21590                        .HasColumnName("id");
 21591
 21592                    b.Property<DateTime>("Start")
 21593                        .HasColumnType("timestamp with time zone")
 21594                        .HasColumnName("start");
 21595
 21596                    b.Property<DateTime>("Stop")
 21597                        .HasColumnType("timestamp with time zone")
 21598                        .HasColumnName("stop");
 21599
 21600                    b.HasKey("Id")
 21601                        .HasName("pk_request_metrics");
 21602
 21603                    b.ToTable("request_metrics", "syki");
 41604                });
 1605
 21606            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
 21607                {
 21608                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiRole", null)
 21609                        .WithMany()
 21610                        .HasForeignKey("RoleId")
 21611                        .OnDelete(DeleteBehavior.Cascade)
 21612                        .IsRequired()
 21613                        .HasConstraintName("fk_role_claims_asp_net_roles_role_id");
 41614                });
 1615
 21616            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
 21617                {
 21618                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21619                        .WithMany()
 21620                        .HasForeignKey("UserId")
 21621                        .OnDelete(DeleteBehavior.Cascade)
 21622                        .IsRequired()
 21623                        .HasConstraintName("fk_user_claims_asp_net_users_user_id");
 41624                });
 1625
 21626            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
 21627                {
 21628                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21629                        .WithMany()
 21630                        .HasForeignKey("UserId")
 21631                        .OnDelete(DeleteBehavior.Cascade)
 21632                        .IsRequired()
 21633                        .HasConstraintName("fk_user_logins_asp_net_users_user_id");
 41634                });
 1635
 21636            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
 21637                {
 21638                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiRole", null)
 21639                        .WithMany()
 21640                        .HasForeignKey("RoleId")
 21641                        .OnDelete(DeleteBehavior.Cascade)
 21642                        .IsRequired()
 21643                        .HasConstraintName("fk_user_roles_asp_net_roles_role_id");
 21644
 21645                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21646                        .WithMany()
 21647                        .HasForeignKey("UserId")
 21648                        .OnDelete(DeleteBehavior.Cascade)
 21649                        .IsRequired()
 21650                        .HasConstraintName("fk_user_roles_asp_net_users_user_id");
 41651                });
 1652
 21653            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
 21654                {
 21655                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21656                        .WithMany()
 21657                        .HasForeignKey("UserId")
 21658                        .OnDelete(DeleteBehavior.Cascade)
 21659                        .IsRequired()
 21660                        .HasConstraintName("fk_user_tokens_asp_net_users_user_id");
 41661                });
 1662
 21663            modelBuilder.Entity("Syki.Back.Audit.AuditLog", b =>
 21664                {
 21665                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21666                        .WithMany()
 21667                        .HasForeignKey("InstitutionId", "UserId")
 21668                        .HasPrincipalKey("InstitutionId", "Id")
 21669                        .OnDelete(DeleteBehavior.Cascade)
 21670                        .IsRequired()
 21671                        .HasConstraintName("fk_audit_logs_asp_net_users_institution_id_user_id");
 41672                });
 1673
 21674            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 21675                {
 21676                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21677                        .WithMany("WebhookCalls")
 21678                        .HasForeignKey("InstitutionId")
 21679                        .OnDelete(DeleteBehavior.Cascade)
 21680                        .IsRequired()
 21681                        .HasConstraintName("fk_webhook_calls_institutions_institution_id");
 21682
 21683                    b.HasOne("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", null)
 21684                        .WithMany("Calls")
 21685                        .HasForeignKey("WebhookId")
 21686                        .OnDelete(DeleteBehavior.Cascade)
 21687                        .IsRequired()
 21688                        .HasConstraintName("fk_webhook_calls_webhook_subscriptions_webhook_id");
 41689                });
 1690
 21691            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCallAttempt", b =>
 21692                {
 21693                    b.HasOne("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", null)
 21694                        .WithMany("Attempts")
 21695                        .HasForeignKey("WebhookCallId")
 21696                        .OnDelete(DeleteBehavior.Cascade)
 21697                        .IsRequired()
 21698                        .HasConstraintName("fk_webhook_call_attempts_webhook_calls_webhook_call_id");
 41699                });
 1700
 21701            modelBuilder.Entity("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", b =>
 21702                {
 21703                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21704                        .WithMany("AcademicPeriods")
 21705                        .HasForeignKey("InstitutionId")
 21706                        .OnDelete(DeleteBehavior.Cascade)
 21707                        .IsRequired()
 21708                        .HasConstraintName("fk_academic_periods_institutions_institution_id");
 41709                });
 1710
 21711            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCampus.Campus", b =>
 21712                {
 21713                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21714                        .WithMany("Campi")
 21715                        .HasForeignKey("InstitutionId")
 21716                        .OnDelete(DeleteBehavior.Cascade)
 21717                        .IsRequired()
 21718                        .HasConstraintName("fk_campi_institutions_institution_id");
 41719                });
 1720
 21721            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 21722                {
 21723                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", "Discipline")
 21724                        .WithMany()
 21725                        .HasForeignKey("DisciplineId")
 21726                        .OnDelete(DeleteBehavior.Cascade)
 21727                        .IsRequired()
 21728                        .HasConstraintName("fk_classes_disciplines_discipline_id");
 21729
 21730                    b.HasOne("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", "Teacher")
 21731                        .WithMany()
 21732                        .HasForeignKey("TeacherId")
 21733                        .OnDelete(DeleteBehavior.Cascade)
 21734                        .IsRequired()
 21735                        .HasConstraintName("fk_classes_teachers_teacher_id");
 21736
 21737                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", "Period")
 21738                        .WithMany()
 21739                        .HasForeignKey("PeriodId", "InstitutionId")
 21740                        .OnDelete(DeleteBehavior.Cascade)
 21741                        .IsRequired()
 21742                        .HasConstraintName("fk_classes_academic_periods_period_id_institution_id");
 21743
 21744                    b.Navigation("Discipline");
 21745
 21746                    b.Navigation("Period");
 21747
 21748                    b.Navigation("Teacher");
 41749                });
 1750
 21751            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 21752                {
 21753                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21754                        .WithMany("Lessons")
 21755                        .HasForeignKey("ClassId")
 21756                        .OnDelete(DeleteBehavior.Cascade)
 21757                        .IsRequired()
 21758                        .HasConstraintName("fk_class_lessons_classes_class_id");
 41759                });
 1760
 21761            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Schedule", b =>
 21762                {
 21763                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21764                        .WithMany("Schedules")
 21765                        .HasForeignKey("ClassId")
 21766                        .OnDelete(DeleteBehavior.Cascade)
 21767                        .IsRequired()
 21768                        .HasConstraintName("fk_schedules_classes_class_id");
 41769                });
 1770
 21771            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 21772                {
 21773                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21774                        .WithMany("Courses")
 21775                        .HasForeignKey("InstitutionId")
 21776                        .OnDelete(DeleteBehavior.Cascade)
 21777                        .IsRequired()
 21778                        .HasConstraintName("fk_courses_institutions_institution_id");
 41779                });
 1780
 21781            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 21782                {
 21783                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", "Course")
 21784                        .WithMany("CourseCurriculums")
 21785                        .HasForeignKey("CourseId")
 21786                        .OnDelete(DeleteBehavior.Cascade)
 21787                        .IsRequired()
 21788                        .HasConstraintName("fk_course_curriculums_courses_course_id");
 21789
 21790                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21791                        .WithMany("CourseCurriculums")
 21792                        .HasForeignKey("InstitutionId")
 21793                        .OnDelete(DeleteBehavior.Cascade)
 21794                        .IsRequired()
 21795                        .HasConstraintName("fk_course_curriculums_institutions_institution_id");
 21796
 21797                    b.Navigation("Course");
 41798                });
 1799
 21800            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculumDiscipline", b =>
 21801                {
 21802                    b.HasOne("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", null)
 21803                        .WithMany("Links")
 21804                        .HasForeignKey("CourseCurriculumId")
 21805                        .OnDelete(DeleteBehavior.Cascade)
 21806                        .IsRequired()
 21807                        .HasConstraintName("fk_course_curriculums__disciplines_course_curriculums_course_c");
 21808
 21809                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 21810                        .WithMany()
 21811                        .HasForeignKey("DisciplineId")
 21812                        .OnDelete(DeleteBehavior.Cascade)
 21813                        .IsRequired()
 21814                        .HasConstraintName("fk_course_curriculums__disciplines_disciplines_discipline_id");
 41815                });
 1816
 21817            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", b =>
 21818                {
 21819                    b.HasOne("Syki.Back.Features.Academic.CreateCampus.Campus", "Campus")
 21820                        .WithMany()
 21821                        .HasForeignKey("CampusId")
 21822                        .OnDelete(DeleteBehavior.Cascade)
 21823                        .IsRequired()
 21824                        .HasConstraintName("fk_course_offerings_campi_campus_id");
 21825
 21826                    b.HasOne("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", "CourseCurriculum")
 21827                        .WithMany()
 21828                        .HasForeignKey("CourseCurriculumId")
 21829                        .OnDelete(DeleteBehavior.Cascade)
 21830                        .IsRequired()
 21831                        .HasConstraintName("fk_course_offerings_course_curriculums_course_curriculum_id");
 21832
 21833                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", "Course")
 21834                        .WithMany()
 21835                        .HasForeignKey("CourseId")
 21836                        .OnDelete(DeleteBehavior.Cascade)
 21837                        .IsRequired()
 21838                        .HasConstraintName("fk_course_offerings_courses_course_id");
 21839
 21840                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21841                        .WithMany("CourseOfferings")
 21842                        .HasForeignKey("InstitutionId")
 21843                        .OnDelete(DeleteBehavior.Cascade)
 21844                        .IsRequired()
 21845                        .HasConstraintName("fk_course_offerings_institutions_institution_id");
 21846
 21847                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", null)
 21848                        .WithMany()
 21849                        .HasForeignKey("Period", "InstitutionId")
 21850                        .OnDelete(DeleteBehavior.Cascade)
 21851                        .IsRequired()
 21852                        .HasConstraintName("fk_course_offerings_academic_periods_period_institution_id");
 21853
 21854                    b.Navigation("Campus");
 21855
 21856                    b.Navigation("Course");
 21857
 21858                    b.Navigation("CourseCurriculum");
 41859                });
 1860
 21861            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.CourseDiscipline", b =>
 21862                {
 21863                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", null)
 21864                        .WithMany("Links")
 21865                        .HasForeignKey("CourseId")
 21866                        .OnDelete(DeleteBehavior.Cascade)
 21867                        .IsRequired()
 21868                        .HasConstraintName("fk_courses__disciplines_courses_course_id");
 21869
 21870                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 21871                        .WithMany("Links")
 21872                        .HasForeignKey("DisciplineId")
 21873                        .OnDelete(DeleteBehavior.Cascade)
 21874                        .IsRequired()
 21875                        .HasConstraintName("fk_courses__disciplines_disciplines_discipline_id");
 41876                });
 1877
 21878            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 21879                {
 21880                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21881                        .WithMany("Disciplines")
 21882                        .HasForeignKey("InstitutionId")
 21883                        .OnDelete(DeleteBehavior.Cascade)
 21884                        .IsRequired()
 21885                        .HasConstraintName("fk_disciplines_institutions_institution_id");
 41886                });
 1887
 21888            modelBuilder.Entity("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", b =>
 21889                {
 21890                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", null)
 21891                        .WithOne()
 21892                        .HasForeignKey("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", "Id", "Ins
 21893                        .OnDelete(DeleteBehavior.Cascade)
 21894                        .IsRequired()
 21895                        .HasConstraintName("fk_enrollment_periods_academic_periods_id_institution_id");
 41896                });
 1897
 21898            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 21899                {
 21900                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21901                        .WithMany("Notifications")
 21902                        .HasForeignKey("InstitutionId")
 21903                        .OnDelete(DeleteBehavior.Cascade)
 21904                        .IsRequired()
 21905                        .HasConstraintName("fk_notifications_institutions_institution_id");
 41906                });
 1907
 21908            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.UserNotification", b =>
 21909                {
 21910                    b.HasOne("Syki.Back.Features.Academic.CreateNotification.Notification", "Notification")
 21911                        .WithMany("Users")
 21912                        .HasForeignKey("NotificationId")
 21913                        .OnDelete(DeleteBehavior.Cascade)
 21914                        .IsRequired()
 21915                        .HasConstraintName("fk_users__notifications_notifications_notification_id");
 21916
 21917                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21918                        .WithMany()
 21919                        .HasForeignKey("UserId")
 21920                        .OnDelete(DeleteBehavior.Cascade)
 21921                        .IsRequired()
 21922                        .HasConstraintName("fk_users__notifications_asp_net_users_user_id");
 21923
 21924                    b.Navigation("Notification");
 41925                });
 1926
 21927            modelBuilder.Entity("Syki.Back.Features.Academic.CreateStudent.SykiStudent", b =>
 21928                {
 21929                    b.HasOne("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", "CourseOffering")
 21930                        .WithMany()
 21931                        .HasForeignKey("CourseOfferingId")
 21932                        .OnDelete(DeleteBehavior.Cascade)
 21933                        .IsRequired()
 21934                        .HasConstraintName("fk_students_course_offerings_course_offering_id");
 21935
 21936                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21937                        .WithMany("Students")
 21938                        .HasForeignKey("InstitutionId")
 21939                        .OnDelete(DeleteBehavior.Cascade)
 21940                        .IsRequired()
 21941                        .HasConstraintName("fk_students_institutions_institution_id");
 21942
 21943                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", "User")
 21944                        .WithOne()
 21945                        .HasForeignKey("Syki.Back.Features.Academic.CreateStudent.SykiStudent", "InstitutionId", "Id")
 21946                        .HasPrincipalKey("Syki.Back.Features.Cross.CreateUser.SykiUser", "InstitutionId", "Id")
 21947                        .OnDelete(DeleteBehavior.Cascade)
 21948                        .IsRequired()
 21949                        .HasConstraintName("fk_students_asp_net_users_institution_id_id");
 21950
 21951                    b.Navigation("CourseOffering");
 21952
 21953                    b.Navigation("User");
 41954                });
 1955
 21956            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 21957                {
 21958                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21959                        .WithMany("Teachers")
 21960                        .HasForeignKey("InstitutionId")
 21961                        .OnDelete(DeleteBehavior.Cascade)
 21962                        .IsRequired()
 21963                        .HasConstraintName("fk_teachers_institutions_institution_id");
 21964
 21965                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21966                        .WithOne()
 21967                        .HasForeignKey("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", "InstitutionId", "Id")
 21968                        .HasPrincipalKey("Syki.Back.Features.Cross.CreateUser.SykiUser", "InstitutionId", "Id")
 21969                        .OnDelete(DeleteBehavior.Cascade)
 21970                        .IsRequired()
 21971                        .HasConstraintName("fk_teachers_asp_net_users_institution_id_id");
 41972                });
 1973
 21974            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", b =>
 21975                {
 21976                    b.HasOne("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", null)
 21977                        .WithOne("Authentication")
 21978                        .HasForeignKey("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", "W
 21979                        .HasConstraintName("fk_webhook_authentications_webhook_subscriptions_webhook_id");
 41980                });
 1981
 21982            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 21983                {
 21984                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21985                        .WithMany("Webhooks")
 21986                        .HasForeignKey("InstitutionId")
 21987                        .OnDelete(DeleteBehavior.Cascade)
 21988                        .IsRequired()
 21989                        .HasConstraintName("fk_webhook_subscriptions_institutions_institution_id");
 41990                });
 1991
 21992            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", b =>
 21993                {
 21994                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21995                        .WithOne("Configs")
 21996                        .HasForeignKey("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", "InstitutionId")
 21997                        .OnDelete(DeleteBehavior.Cascade)
 21998                        .IsRequired()
 21999                        .HasConstraintName("fk_institution_configs_institutions_institution_id");
 42000                });
 2001
 22002            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiUser", b =>
 22003                {
 22004                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22005                        .WithMany("Users")
 22006                        .HasForeignKey("InstitutionId")
 22007                        .OnDelete(DeleteBehavior.Cascade)
 22008                        .IsRequired()
 22009                        .HasConstraintName("fk_users_institutions_institution_id");
 42010                });
 2011
 22012            modelBuilder.Entity("Syki.Back.Features.Cross.SendResetPasswordToken.ResetPasswordToken", b =>
 22013                {
 22014                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22015                        .WithMany()
 22016                        .HasForeignKey("InstitutionId")
 22017                        .OnDelete(DeleteBehavior.Cascade)
 22018                        .IsRequired()
 22019                        .HasConstraintName("fk_reset_password_tokens_institutions_institution_id");
 22020
 22021                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 22022                        .WithMany()
 22023                        .HasForeignKey("UserId")
 22024                        .OnDelete(DeleteBehavior.Cascade)
 22025                        .IsRequired()
 22026                        .HasConstraintName("fk_reset_password_tokens_asp_net_users_user_id");
 42027                });
 2028
 22029            modelBuilder.Entity("Syki.Back.Features.Student.CreateClassActivityWork.ClassActivityWork", b =>
 22030                {
 22031                    b.HasOne("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", null)
 22032                        .WithMany("Works")
 22033                        .HasForeignKey("ClassActivityId")
 22034                        .OnDelete(DeleteBehavior.Cascade)
 22035                        .IsRequired()
 22036                        .HasConstraintName("fk_class_activity_works_class_activities_class_activity_id");
 22037
 22038                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", "SykiStudent")
 22039                        .WithMany()
 22040                        .HasForeignKey("SykiStudentId")
 22041                        .OnDelete(DeleteBehavior.Cascade)
 22042                        .IsRequired()
 22043                        .HasConstraintName("fk_class_activity_works_students_syki_student_id");
 22044
 22045                    b.Navigation("SykiStudent");
 42046                });
 2047
 22048            modelBuilder.Entity("Syki.Back.Features.Student.CreateStudentEnrollment.ClassStudent", b =>
 22049                {
 22050                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22051                        .WithMany()
 22052                        .HasForeignKey("ClassId")
 22053                        .OnDelete(DeleteBehavior.Cascade)
 22054                        .IsRequired()
 22055                        .HasConstraintName("fk_classes__students_classes_class_id");
 22056
 22057                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22058                        .WithMany()
 22059                        .HasForeignKey("SykiStudentId")
 22060                        .OnDelete(DeleteBehavior.Cascade)
 22061                        .IsRequired()
 22062                        .HasConstraintName("fk_classes__students_students_syki_student_id");
 42063                });
 2064
 22065            modelBuilder.Entity("Syki.Back.Features.Teacher.AddClassActivityNote.StudentClassNote", b =>
 22066                {
 22067                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22068                        .WithMany("Notes")
 22069                        .HasForeignKey("ClassId")
 22070                        .OnDelete(DeleteBehavior.Cascade)
 22071                        .IsRequired()
 22072                        .HasConstraintName("fk_student_class_notes_classes_class_id");
 22073
 22074                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22075                        .WithMany()
 22076                        .HasForeignKey("StudentId")
 22077                        .OnDelete(DeleteBehavior.Cascade)
 22078                        .IsRequired()
 22079                        .HasConstraintName("fk_student_class_notes_students_student_id");
 42080                });
 2081
 22082            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 22083                {
 22084                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22085                        .WithMany("Activities")
 22086                        .HasForeignKey("ClassId")
 22087                        .OnDelete(DeleteBehavior.Cascade)
 22088                        .IsRequired()
 22089                        .HasConstraintName("fk_class_activities_classes_class_id");
 42090                });
 2091
 22092            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateLessonAttendance.ClassLessonAttendance", b =>
 22093                {
 22094                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22095                        .WithMany()
 22096                        .HasForeignKey("ClassId")
 22097                        .OnDelete(DeleteBehavior.Cascade)
 22098                        .IsRequired()
 22099                        .HasConstraintName("fk_class_lesson_attendances_classes_class_id");
 22100
 22101                    b.HasOne("Syki.Back.Features.Academic.CreateClass.ClassLesson", null)
 22102                        .WithMany("Attendances")
 22103                        .HasForeignKey("LessonId")
 22104                        .OnDelete(DeleteBehavior.Cascade)
 22105                        .IsRequired()
 22106                        .HasConstraintName("fk_class_lesson_attendances_class_lessons_lesson_id");
 22107
 22108                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22109                        .WithMany()
 22110                        .HasForeignKey("StudentId")
 22111                        .OnDelete(DeleteBehavior.Cascade)
 22112                        .IsRequired()
 22113                        .HasConstraintName("fk_class_lesson_attendances_students_student_id");
 42114                });
 2115
 22116            modelBuilder.Entity("Syki.Back.Metrics.RequestMetrics", b =>
 22117                {
 22118                    b.OwnsMany("Syki.Back.Metrics.RequestData", "Requests", b1 =>
 22119                        {
 22120                            b1.Property<Guid>("RequestMetricsId")
 22121                                .HasColumnType("uuid");
 22122
 22123                            b1.Property<int>("__synthesizedOrdinal")
 22124                                .ValueGeneratedOnAdd()
 22125                                .HasColumnType("integer");
 22126
 22127                            b1.Property<string>("Endpoint")
 22128                                .IsRequired()
 22129                                .HasColumnType("text");
 22130
 22131                            b1.Property<string>("Values")
 22132                                .IsRequired()
 22133                                .HasColumnType("text");
 22134
 22135                            b1.HasKey("RequestMetricsId", "__synthesizedOrdinal")
 22136                                .HasName("pk_request_metrics");
 22137
 22138                            b1.ToTable("request_metrics", "syki");
 22139
 22140                            b1.ToJson("requests");
 22141
 22142                            b1.WithOwner()
 22143                                .HasForeignKey("RequestMetricsId")
 22144                                .HasConstraintName("fk_request_metrics_request_metrics_request_metrics_id");
 42145                        });
 22146
 22147                    b.OwnsOne("Syki.Back.Metrics.ResumeData", "Resume", b1 =>
 22148                        {
 22149                            b1.Property<Guid>("RequestMetricsId")
 22150                                .HasColumnType("uuid");
 22151
 22152                            b1.Property<int>("Get")
 22153                                .HasColumnType("integer");
 22154
 22155                            b1.Property<int>("Post")
 22156                                .HasColumnType("integer");
 22157
 22158                            b1.Property<int>("Put")
 22159                                .HasColumnType("integer");
 22160
 22161                            b1.Property<int>("Total")
 22162                                .HasColumnType("integer");
 22163
 22164                            b1.HasKey("RequestMetricsId")
 22165                                .HasName("pk_request_metrics");
 22166
 22167                            b1.ToTable("request_metrics", "syki");
 22168
 22169                            b1.ToJson("resume");
 22170
 22171                            b1.WithOwner()
 22172                                .HasForeignKey("RequestMetricsId")
 22173                                .HasConstraintName("fk_request_metrics_request_metrics_request_metrics_id");
 42174                        });
 22175
 22176                    b.Navigation("Requests");
 22177
 22178                    b.Navigation("Resume")
 22179                        .IsRequired();
 42180                });
 2181
 22182            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 22183                {
 22184                    b.Navigation("Attempts");
 42185                });
 2186
 22187            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 22188                {
 22189                    b.Navigation("Activities");
 22190
 22191                    b.Navigation("Lessons");
 22192
 22193                    b.Navigation("Notes");
 22194
 22195                    b.Navigation("Schedules");
 42196                });
 2197
 22198            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 22199                {
 22200                    b.Navigation("Attendances");
 42201                });
 2202
 22203            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 22204                {
 22205                    b.Navigation("CourseCurriculums");
 22206
 22207                    b.Navigation("Links");
 42208                });
 2209
 22210            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 22211                {
 22212                    b.Navigation("Links");
 42213                });
 2214
 22215            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 22216                {
 22217                    b.Navigation("Links");
 42218                });
 2219
 22220            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 22221                {
 22222                    b.Navigation("Users");
 42223                });
 2224
 22225            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 22226                {
 22227                    b.Navigation("Authentication")
 22228                        .IsRequired();
 22229
 22230                    b.Navigation("Calls");
 42231                });
 2232
 22233            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.Institution", b =>
 22234                {
 22235                    b.Navigation("AcademicPeriods");
 22236
 22237                    b.Navigation("Campi");
 22238
 22239                    b.Navigation("Configs")
 22240                        .IsRequired();
 22241
 22242                    b.Navigation("CourseCurriculums");
 22243
 22244                    b.Navigation("CourseOfferings");
 22245
 22246                    b.Navigation("Courses");
 22247
 22248                    b.Navigation("Disciplines");
 22249
 22250                    b.Navigation("Notifications");
 22251
 22252                    b.Navigation("Students");
 22253
 22254                    b.Navigation("Teachers");
 22255
 22256                    b.Navigation("Users");
 22257
 22258                    b.Navigation("WebhookCalls");
 22259
 22260                    b.Navigation("Webhooks");
 42261                });
 2262
 22263            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 22264                {
 22265                    b.Navigation("Works");
 42266                });
 2267#pragma warning restore 612, 618
 22268        }
 2269    }
 2270}