< Summary - Syki

Line coverage
99%
Covered lines: 2160
Uncovered lines: 5
Coverable lines: 2165
Total lines: 2296
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/20250628202359_AddCommandActivityId.cs

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

/home/runner/work/syki/syki/Back/Migrations/20250628202359_AddCommandActivityId.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("20250628202359_AddCommandActivityId")]
 17    partial class AddCommandActivityId
 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<string>("City")
 2510                        .IsRequired()
 2511                        .HasColumnType("text")
 2512                        .HasColumnName("city");
 2513
 2514                    b.Property<Guid>("InstitutionId")
 2515                        .HasColumnType("uuid")
 2516                        .HasColumnName("institution_id");
 2517
 2518                    b.Property<string>("Name")
 2519                        .IsRequired()
 2520                        .HasColumnType("text")
 2521                        .HasColumnName("name");
 2522
 2523                    b.Property<string>("State")
 2524                        .IsRequired()
 2525                        .HasColumnType("text")
 2526                        .HasColumnName("state");
 2527
 2528                    b.HasKey("Id")
 2529                        .HasName("pk_campi");
 2530
 2531                    b.HasIndex("InstitutionId")
 2532                        .HasDatabaseName("ix_campi_institution_id");
 2533
 2534                    b.ToTable("campi", "syki");
 4535                });
 536
 2537            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 2538                {
 2539                    b.Property<Guid>("Id")
 2540                        .HasColumnType("uuid")
 2541                        .HasColumnName("id");
 2542
 2543                    b.Property<Guid>("DisciplineId")
 2544                        .HasColumnType("uuid")
 2545                        .HasColumnName("discipline_id");
 2546
 2547                    b.Property<Guid>("InstitutionId")
 2548                        .HasColumnType("uuid")
 2549                        .HasColumnName("institution_id");
 2550
 2551                    b.Property<string>("PeriodId")
 2552                        .IsRequired()
 2553                        .HasColumnType("text")
 2554                        .HasColumnName("period_id");
 2555
 2556                    b.Property<string>("Status")
 2557                        .IsRequired()
 2558                        .HasColumnType("text")
 2559                        .HasColumnName("status");
 2560
 2561                    b.Property<Guid>("TeacherId")
 2562                        .HasColumnType("uuid")
 2563                        .HasColumnName("teacher_id");
 2564
 2565                    b.Property<int>("Vacancies")
 2566                        .HasColumnType("integer")
 2567                        .HasColumnName("vacancies");
 2568
 2569                    b.Property<int>("Workload")
 2570                        .HasColumnType("integer")
 2571                        .HasColumnName("workload");
 2572
 2573                    b.HasKey("Id")
 2574                        .HasName("pk_classes");
 2575
 2576                    b.HasIndex("DisciplineId")
 2577                        .HasDatabaseName("ix_classes_discipline_id");
 2578
 2579                    b.HasIndex("TeacherId")
 2580                        .HasDatabaseName("ix_classes_teacher_id");
 2581
 2582                    b.HasIndex("PeriodId", "InstitutionId")
 2583                        .HasDatabaseName("ix_classes_period_id_institution_id");
 2584
 2585                    b.ToTable("classes", "syki");
 4586                });
 587
 2588            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 2589                {
 2590                    b.Property<Guid>("Id")
 2591                        .HasColumnType("uuid")
 2592                        .HasColumnName("id");
 2593
 2594                    b.Property<Guid>("ClassId")
 2595                        .HasColumnType("uuid")
 2596                        .HasColumnName("class_id");
 2597
 2598                    b.Property<DateOnly>("Date")
 2599                        .HasColumnType("date")
 2600                        .HasColumnName("date");
 2601
 2602                    b.Property<string>("EndAt")
 2603                        .IsRequired()
 2604                        .HasColumnType("text")
 2605                        .HasColumnName("end_at");
 2606
 2607                    b.Property<int>("Number")
 2608                        .HasColumnType("integer")
 2609                        .HasColumnName("number");
 2610
 2611                    b.Property<string>("StartAt")
 2612                        .IsRequired()
 2613                        .HasColumnType("text")
 2614                        .HasColumnName("start_at");
 2615
 2616                    b.Property<string>("Status")
 2617                        .IsRequired()
 2618                        .HasColumnType("text")
 2619                        .HasColumnName("status");
 2620
 2621                    b.HasKey("Id")
 2622                        .HasName("pk_class_lessons");
 2623
 2624                    b.HasIndex("ClassId")
 2625                        .HasDatabaseName("ix_class_lessons_class_id");
 2626
 2627                    b.ToTable("class_lessons", "syki");
 4628                });
 629
 2630            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Schedule", b =>
 2631                {
 2632                    b.Property<Guid>("Id")
 2633                        .HasColumnType("uuid")
 2634                        .HasColumnName("id");
 2635
 2636                    b.Property<Guid>("ClassId")
 2637                        .HasColumnType("uuid")
 2638                        .HasColumnName("class_id");
 2639
 2640                    b.Property<string>("Day")
 2641                        .IsRequired()
 2642                        .HasColumnType("text")
 2643                        .HasColumnName("day");
 2644
 2645                    b.Property<string>("EndAt")
 2646                        .IsRequired()
 2647                        .HasColumnType("text")
 2648                        .HasColumnName("end_at");
 2649
 2650                    b.Property<string>("StartAt")
 2651                        .IsRequired()
 2652                        .HasColumnType("text")
 2653                        .HasColumnName("start_at");
 2654
 2655                    b.HasKey("Id")
 2656                        .HasName("pk_schedules");
 2657
 2658                    b.HasIndex("ClassId")
 2659                        .HasDatabaseName("ix_schedules_class_id");
 2660
 2661                    b.ToTable("schedules", "syki");
 4662                });
 663
 2664            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 2665                {
 2666                    b.Property<Guid>("Id")
 2667                        .HasColumnType("uuid")
 2668                        .HasColumnName("id");
 2669
 2670                    b.Property<Guid>("InstitutionId")
 2671                        .HasColumnType("uuid")
 2672                        .HasColumnName("institution_id");
 2673
 2674                    b.Property<string>("Name")
 2675                        .IsRequired()
 2676                        .HasColumnType("text")
 2677                        .HasColumnName("name");
 2678
 2679                    b.Property<string>("Type")
 2680                        .IsRequired()
 2681                        .HasColumnType("text")
 2682                        .HasColumnName("type");
 2683
 2684                    b.HasKey("Id")
 2685                        .HasName("pk_courses");
 2686
 2687                    b.HasIndex("InstitutionId")
 2688                        .HasDatabaseName("ix_courses_institution_id");
 2689
 2690                    b.ToTable("courses", "syki");
 4691                });
 692
 2693            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 2694                {
 2695                    b.Property<Guid>("Id")
 2696                        .HasColumnType("uuid")
 2697                        .HasColumnName("id");
 2698
 2699                    b.Property<Guid>("CourseId")
 2700                        .HasColumnType("uuid")
 2701                        .HasColumnName("course_id");
 2702
 2703                    b.Property<Guid>("InstitutionId")
 2704                        .HasColumnType("uuid")
 2705                        .HasColumnName("institution_id");
 2706
 2707                    b.Property<string>("Name")
 2708                        .IsRequired()
 2709                        .HasColumnType("text")
 2710                        .HasColumnName("name");
 2711
 2712                    b.HasKey("Id")
 2713                        .HasName("pk_course_curriculums");
 2714
 2715                    b.HasIndex("CourseId")
 2716                        .HasDatabaseName("ix_course_curriculums_course_id");
 2717
 2718                    b.HasIndex("InstitutionId")
 2719                        .HasDatabaseName("ix_course_curriculums_institution_id");
 2720
 2721                    b.ToTable("course_curriculums", "syki");
 4722                });
 723
 2724            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculumDiscipline", b =>
 2725                {
 2726                    b.Property<Guid>("CourseCurriculumId")
 2727                        .HasColumnType("uuid")
 2728                        .HasColumnName("course_curriculum_id");
 2729
 2730                    b.Property<Guid>("DisciplineId")
 2731                        .HasColumnType("uuid")
 2732                        .HasColumnName("discipline_id");
 2733
 2734                    b.Property<byte>("Credits")
 2735                        .HasColumnType("smallint")
 2736                        .HasColumnName("credits");
 2737
 2738                    b.Property<byte>("Period")
 2739                        .HasColumnType("smallint")
 2740                        .HasColumnName("period");
 2741
 2742                    b.Property<int>("Workload")
 2743                        .HasColumnType("integer")
 2744                        .HasColumnName("workload");
 2745
 2746                    b.HasKey("CourseCurriculumId", "DisciplineId")
 2747                        .HasName("pk_course_curriculums__disciplines");
 2748
 2749                    b.HasIndex("DisciplineId")
 2750                        .HasDatabaseName("ix_course_curriculums__disciplines_discipline_id");
 2751
 2752                    b.ToTable("course_curriculums__disciplines", "syki");
 4753                });
 754
 2755            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", b =>
 2756                {
 2757                    b.Property<Guid>("Id")
 2758                        .HasColumnType("uuid")
 2759                        .HasColumnName("id");
 2760
 2761                    b.Property<Guid>("CampusId")
 2762                        .HasColumnType("uuid")
 2763                        .HasColumnName("campus_id");
 2764
 2765                    b.Property<Guid>("CourseCurriculumId")
 2766                        .HasColumnType("uuid")
 2767                        .HasColumnName("course_curriculum_id");
 2768
 2769                    b.Property<Guid>("CourseId")
 2770                        .HasColumnType("uuid")
 2771                        .HasColumnName("course_id");
 2772
 2773                    b.Property<Guid>("InstitutionId")
 2774                        .HasColumnType("uuid")
 2775                        .HasColumnName("institution_id");
 2776
 2777                    b.Property<string>("Period")
 2778                        .IsRequired()
 2779                        .HasColumnType("text")
 2780                        .HasColumnName("period");
 2781
 2782                    b.Property<string>("Shift")
 2783                        .IsRequired()
 2784                        .HasColumnType("text")
 2785                        .HasColumnName("shift");
 2786
 2787                    b.HasKey("Id")
 2788                        .HasName("pk_course_offerings");
 2789
 2790                    b.HasIndex("CampusId")
 2791                        .HasDatabaseName("ix_course_offerings_campus_id");
 2792
 2793                    b.HasIndex("CourseCurriculumId")
 2794                        .HasDatabaseName("ix_course_offerings_course_curriculum_id");
 2795
 2796                    b.HasIndex("CourseId")
 2797                        .HasDatabaseName("ix_course_offerings_course_id");
 2798
 2799                    b.HasIndex("InstitutionId")
 2800                        .HasDatabaseName("ix_course_offerings_institution_id");
 2801
 2802                    b.HasIndex("Period", "InstitutionId")
 2803                        .HasDatabaseName("ix_course_offerings_period_institution_id");
 2804
 2805                    b.ToTable("course_offerings", "syki");
 4806                });
 807
 2808            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.CourseDiscipline", b =>
 2809                {
 2810                    b.Property<Guid>("CourseId")
 2811                        .HasColumnType("uuid")
 2812                        .HasColumnName("course_id");
 2813
 2814                    b.Property<Guid>("DisciplineId")
 2815                        .HasColumnType("uuid")
 2816                        .HasColumnName("discipline_id");
 2817
 2818                    b.HasKey("CourseId", "DisciplineId")
 2819                        .HasName("pk_courses__disciplines");
 2820
 2821                    b.HasIndex("DisciplineId")
 2822                        .HasDatabaseName("ix_courses__disciplines_discipline_id");
 2823
 2824                    b.ToTable("courses__disciplines", "syki");
 4825                });
 826
 2827            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 2828                {
 2829                    b.Property<Guid>("Id")
 2830                        .HasColumnType("uuid")
 2831                        .HasColumnName("id");
 2832
 2833                    b.Property<string>("Code")
 2834                        .IsRequired()
 2835                        .HasColumnType("text")
 2836                        .HasColumnName("code");
 2837
 2838                    b.Property<Guid>("InstitutionId")
 2839                        .HasColumnType("uuid")
 2840                        .HasColumnName("institution_id");
 2841
 2842                    b.Property<string>("Name")
 2843                        .IsRequired()
 2844                        .HasColumnType("text")
 2845                        .HasColumnName("name");
 2846
 2847                    b.HasKey("Id")
 2848                        .HasName("pk_disciplines");
 2849
 2850                    b.HasIndex("InstitutionId")
 2851                        .HasDatabaseName("ix_disciplines_institution_id");
 2852
 2853                    b.ToTable("disciplines", "syki");
 4854                });
 855
 2856            modelBuilder.Entity("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", b =>
 2857                {
 2858                    b.Property<string>("Id")
 2859                        .HasColumnType("text")
 2860                        .HasColumnName("id");
 2861
 2862                    b.Property<Guid>("InstitutionId")
 2863                        .HasColumnType("uuid")
 2864                        .HasColumnName("institution_id");
 2865
 2866                    b.Property<DateOnly>("EndAt")
 2867                        .HasColumnType("date")
 2868                        .HasColumnName("end_at");
 2869
 2870                    b.Property<DateOnly>("StartAt")
 2871                        .HasColumnType("date")
 2872                        .HasColumnName("start_at");
 2873
 2874                    b.HasKey("Id", "InstitutionId")
 2875                        .HasName("pk_enrollment_periods");
 2876
 2877                    b.ToTable("enrollment_periods", "syki");
 4878                });
 879
 2880            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 2881                {
 2882                    b.Property<Guid>("Id")
 2883                        .HasColumnType("uuid")
 2884                        .HasColumnName("id");
 2885
 2886                    b.Property<DateTime>("CreatedAt")
 2887                        .HasColumnType("timestamp with time zone")
 2888                        .HasColumnName("created_at");
 2889
 2890                    b.Property<string>("Description")
 2891                        .IsRequired()
 2892                        .HasColumnType("text")
 2893                        .HasColumnName("description");
 2894
 2895                    b.Property<Guid>("InstitutionId")
 2896                        .HasColumnType("uuid")
 2897                        .HasColumnName("institution_id");
 2898
 2899                    b.Property<string>("Target")
 2900                        .IsRequired()
 2901                        .HasColumnType("text")
 2902                        .HasColumnName("target");
 2903
 2904                    b.Property<bool>("Timeless")
 2905                        .HasColumnType("boolean")
 2906                        .HasColumnName("timeless");
 2907
 2908                    b.Property<string>("Title")
 2909                        .IsRequired()
 2910                        .HasColumnType("text")
 2911                        .HasColumnName("title");
 2912
 2913                    b.HasKey("Id")
 2914                        .HasName("pk_notifications");
 2915
 2916                    b.HasIndex("InstitutionId")
 2917                        .HasDatabaseName("ix_notifications_institution_id");
 2918
 2919                    b.ToTable("notifications", "syki");
 4920                });
 921
 2922            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.UserNotification", b =>
 2923                {
 2924                    b.Property<Guid>("UserId")
 2925                        .HasColumnType("uuid")
 2926                        .HasColumnName("user_id");
 2927
 2928                    b.Property<Guid>("NotificationId")
 2929                        .HasColumnType("uuid")
 2930                        .HasColumnName("notification_id");
 2931
 2932                    b.Property<DateTime?>("ViewedAt")
 2933                        .HasColumnType("timestamp with time zone")
 2934                        .HasColumnName("viewed_at");
 2935
 2936                    b.HasKey("UserId", "NotificationId")
 2937                        .HasName("pk_users__notifications");
 2938
 2939                    b.HasIndex("NotificationId")
 2940                        .HasDatabaseName("ix_users__notifications_notification_id");
 2941
 2942                    b.ToTable("users__notifications", "syki");
 4943                });
 944
 2945            modelBuilder.Entity("Syki.Back.Features.Academic.CreateStudent.SykiStudent", b =>
 2946                {
 2947                    b.Property<Guid>("Id")
 2948                        .HasColumnType("uuid")
 2949                        .HasColumnName("id");
 2950
 2951                    b.Property<Guid>("CourseOfferingId")
 2952                        .HasColumnType("uuid")
 2953                        .HasColumnName("course_offering_id");
 2954
 2955                    b.Property<string>("EnrollmentCode")
 2956                        .IsRequired()
 2957                        .HasColumnType("text")
 2958                        .HasColumnName("enrollment_code");
 2959
 2960                    b.Property<Guid>("InstitutionId")
 2961                        .HasColumnType("uuid")
 2962                        .HasColumnName("institution_id");
 2963
 2964                    b.Property<string>("Name")
 2965                        .IsRequired()
 2966                        .HasColumnType("text")
 2967                        .HasColumnName("name");
 2968
 2969                    b.Property<string>("Status")
 2970                        .IsRequired()
 2971                        .HasColumnType("text")
 2972                        .HasColumnName("status");
 2973
 2974                    b.Property<decimal>("YieldCoefficient")
 2975                        .HasPrecision(4, 2)
 2976                        .HasColumnType("numeric(4,2)")
 2977                        .HasColumnName("yield_coefficient");
 2978
 2979                    b.HasKey("Id")
 2980                        .HasName("pk_students");
 2981
 2982                    b.HasIndex("CourseOfferingId")
 2983                        .HasDatabaseName("ix_students_course_offering_id");
 2984
 2985                    b.HasIndex("EnrollmentCode")
 2986                        .IsUnique()
 2987                        .HasDatabaseName("ix_students_enrollment_code");
 2988
 2989                    b.HasIndex("InstitutionId", "Id")
 2990                        .IsUnique()
 2991                        .HasDatabaseName("ix_students_institution_id_id");
 2992
 2993                    b.ToTable("students", "syki");
 4994                });
 995
 2996            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 2997                {
 2998                    b.Property<Guid>("Id")
 2999                        .HasColumnType("uuid")
 21000                        .HasColumnName("id");
 21001
 21002                    b.Property<Guid>("InstitutionId")
 21003                        .HasColumnType("uuid")
 21004                        .HasColumnName("institution_id");
 21005
 21006                    b.Property<string>("Name")
 21007                        .IsRequired()
 21008                        .HasColumnType("text")
 21009                        .HasColumnName("name");
 21010
 21011                    b.HasKey("Id")
 21012                        .HasName("pk_teachers");
 21013
 21014                    b.HasIndex("InstitutionId", "Id")
 21015                        .IsUnique()
 21016                        .HasDatabaseName("ix_teachers_institution_id_id");
 21017
 21018                    b.ToTable("teachers", "syki");
 41019                });
 1020
 21021            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", b =>
 21022                {
 21023                    b.Property<Guid>("Id")
 21024                        .HasColumnType("uuid")
 21025                        .HasColumnName("id");
 21026
 21027                    b.Property<string>("ApiKey")
 21028                        .IsRequired()
 21029                        .HasColumnType("text")
 21030                        .HasColumnName("api_key");
 21031
 21032                    b.Property<string>("Type")
 21033                        .IsRequired()
 21034                        .HasColumnType("text")
 21035                        .HasColumnName("type");
 21036
 21037                    b.Property<Guid>("WebhookId")
 21038                        .HasColumnType("uuid")
 21039                        .HasColumnName("webhook_id");
 21040
 21041                    b.HasKey("Id")
 21042                        .HasName("pk_webhook_authentications");
 21043
 21044                    b.HasIndex("WebhookId")
 21045                        .IsUnique()
 21046                        .HasDatabaseName("ix_webhook_authentications_webhook_id");
 21047
 21048                    b.ToTable("webhook_authentications", "syki");
 41049                });
 1050
 21051            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 21052                {
 21053                    b.Property<Guid>("Id")
 21054                        .HasColumnType("uuid")
 21055                        .HasColumnName("id");
 21056
 21057                    b.Property<DateTime>("CreatedAt")
 21058                        .HasColumnType("timestamp with time zone")
 21059                        .HasColumnName("created_at");
 21060
 21061                    b.PrimitiveCollection<string[]>("Events")
 21062                        .IsRequired()
 21063                        .HasColumnType("text[]")
 21064                        .HasColumnName("events");
 21065
 21066                    b.Property<Guid>("InstitutionId")
 21067                        .HasColumnType("uuid")
 21068                        .HasColumnName("institution_id");
 21069
 21070                    b.Property<string>("Name")
 21071                        .IsRequired()
 21072                        .HasColumnType("text")
 21073                        .HasColumnName("name");
 21074
 21075                    b.Property<string>("Url")
 21076                        .IsRequired()
 21077                        .HasColumnType("text")
 21078                        .HasColumnName("url");
 21079
 21080                    b.HasKey("Id")
 21081                        .HasName("pk_webhook_subscriptions");
 21082
 21083                    b.HasIndex("InstitutionId")
 21084                        .HasDatabaseName("ix_webhook_subscriptions_institution_id");
 21085
 21086                    b.ToTable("webhook_subscriptions", "syki");
 41087                });
 1088
 21089            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.Institution", b =>
 21090                {
 21091                    b.Property<Guid>("Id")
 21092                        .HasColumnType("uuid")
 21093                        .HasColumnName("id");
 21094
 21095                    b.Property<DateTime>("CreatedAt")
 21096                        .HasColumnType("timestamp with time zone")
 21097                        .HasColumnName("created_at");
 21098
 21099                    b.Property<string>("Name")
 21100                        .IsRequired()
 21101                        .HasColumnType("text")
 21102                        .HasColumnName("name");
 21103
 21104                    b.HasKey("Id")
 21105                        .HasName("pk_institutions");
 21106
 21107                    b.ToTable("institutions", "syki");
 41108                });
 1109
 21110            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", b =>
 21111                {
 21112                    b.Property<Guid>("InstitutionId")
 21113                        .HasColumnType("uuid")
 21114                        .HasColumnName("institution_id");
 21115
 21116                    b.Property<decimal>("FrequencyLimit")
 21117                        .HasPrecision(4, 2)
 21118                        .HasColumnType("numeric(4,2)")
 21119                        .HasColumnName("frequency_limit");
 21120
 21121                    b.Property<decimal>("NoteLimit")
 21122                        .HasColumnType("numeric")
 21123                        .HasColumnName("note_limit");
 21124
 21125                    b.HasKey("InstitutionId")
 21126                        .HasName("pk_institution_configs");
 21127
 21128                    b.ToTable("institution_configs", "syki");
 41129                });
 1130
 21131            modelBuilder.Entity("Syki.Back.Features.Cross.CreatePendingUserRegister.UserRegister", b =>
 21132                {
 21133                    b.Property<Guid>("Id")
 21134                        .HasColumnType("uuid")
 21135                        .HasColumnName("id");
 21136
 21137                    b.Property<string>("Email")
 21138                        .IsRequired()
 21139                        .HasColumnType("text")
 21140                        .HasColumnName("email");
 21141
 21142                    b.Property<Guid>("InstitutionId")
 21143                        .HasColumnType("uuid")
 21144                        .HasColumnName("institution_id");
 21145
 21146                    b.Property<string>("Status")
 21147                        .IsRequired()
 21148                        .HasColumnType("text")
 21149                        .HasColumnName("status");
 21150
 21151                    b.HasKey("Id")
 21152                        .HasName("pk_user_registers");
 21153
 21154                    b.HasIndex("Email")
 21155                        .IsUnique()
 21156                        .HasDatabaseName("ix_user_registers_email");
 21157
 21158                    b.ToTable("user_registers", "syki");
 41159                });
 1160
 21161            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiRole", b =>
 21162                {
 21163                    b.Property<Guid>("Id")
 21164                        .ValueGeneratedOnAdd()
 21165                        .HasColumnType("uuid")
 21166                        .HasColumnName("id");
 21167
 21168                    b.Property<string>("ConcurrencyStamp")
 21169                        .IsConcurrencyToken()
 21170                        .HasColumnType("text")
 21171                        .HasColumnName("concurrency_stamp");
 21172
 21173                    b.Property<string>("Name")
 21174                        .HasMaxLength(256)
 21175                        .HasColumnType("character varying(256)")
 21176                        .HasColumnName("name");
 21177
 21178                    b.Property<string>("NormalizedName")
 21179                        .HasMaxLength(256)
 21180                        .HasColumnType("character varying(256)")
 21181                        .HasColumnName("normalized_name");
 21182
 21183                    b.HasKey("Id")
 21184                        .HasName("pk_roles");
 21185
 21186                    b.HasIndex("NormalizedName")
 21187                        .IsUnique()
 21188                        .HasDatabaseName("role_name_index");
 21189
 21190                    b.ToTable("roles", "syki");
 21191
 21192                    b.HasData(
 21193                        new
 21194                        {
 21195                            Id = new Guid("5912ebe1-9e6a-4ce1-90bf-8490534fb4e1"),
 21196                            ConcurrencyStamp = "5912ebe1-9e6a-4ce1-90bf-8490534fb4e1",
 21197                            Name = "Adm",
 21198                            NormalizedName = "ADM"
 21199                        },
 21200                        new
 21201                        {
 21202                            Id = new Guid("78691a7a-f554-42d7-a5cf-8d474b6de0dd"),
 21203                            ConcurrencyStamp = "78691a7a-f554-42d7-a5cf-8d474b6de0dd",
 21204                            Name = "Academic",
 21205                            NormalizedName = "ACADEMIC"
 21206                        },
 21207                        new
 21208                        {
 21209                            Id = new Guid("ca6f394f-6fd9-48cc-90a8-b379636a24e7"),
 21210                            ConcurrencyStamp = "ca6f394f-6fd9-48cc-90a8-b379636a24e7",
 21211                            Name = "Teacher",
 21212                            NormalizedName = "TEACHER"
 21213                        },
 21214                        new
 21215                        {
 21216                            Id = new Guid("f9ad5139-06c3-4ce2-9748-ecc498b087c7"),
 21217                            ConcurrencyStamp = "f9ad5139-06c3-4ce2-9748-ecc498b087c7",
 21218                            Name = "Student",
 21219                            NormalizedName = "STUDENT"
 21220                        });
 41221                });
 1222
 21223            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiUser", b =>
 21224                {
 21225                    b.Property<Guid>("Id")
 21226                        .ValueGeneratedOnAdd()
 21227                        .HasColumnType("uuid")
 21228                        .HasColumnName("id");
 21229
 21230                    b.Property<int>("AccessFailedCount")
 21231                        .HasColumnType("integer")
 21232                        .HasColumnName("access_failed_count");
 21233
 21234                    b.Property<string>("ConcurrencyStamp")
 21235                        .IsConcurrencyToken()
 21236                        .HasColumnType("text")
 21237                        .HasColumnName("concurrency_stamp");
 21238
 21239                    b.Property<DateTime>("CreatedAt")
 21240                        .HasColumnType("timestamp with time zone")
 21241                        .HasColumnName("created_at");
 21242
 21243                    b.Property<string>("Email")
 21244                        .HasMaxLength(256)
 21245                        .HasColumnType("character varying(256)")
 21246                        .HasColumnName("email");
 21247
 21248                    b.Property<bool>("EmailConfirmed")
 21249                        .HasColumnType("boolean")
 21250                        .HasColumnName("email_confirmed");
 21251
 21252                    b.Property<Guid>("InstitutionId")
 21253                        .HasColumnType("uuid")
 21254                        .HasColumnName("institution_id");
 21255
 21256                    b.Property<bool>("LockoutEnabled")
 21257                        .HasColumnType("boolean")
 21258                        .HasColumnName("lockout_enabled");
 21259
 21260                    b.Property<DateTimeOffset?>("LockoutEnd")
 21261                        .HasColumnType("timestamp with time zone")
 21262                        .HasColumnName("lockout_end");
 21263
 21264                    b.Property<string>("Name")
 21265                        .IsRequired()
 21266                        .HasColumnType("text")
 21267                        .HasColumnName("name");
 21268
 21269                    b.Property<string>("NormalizedEmail")
 21270                        .HasMaxLength(256)
 21271                        .HasColumnType("character varying(256)")
 21272                        .HasColumnName("normalized_email");
 21273
 21274                    b.Property<string>("NormalizedUserName")
 21275                        .HasMaxLength(256)
 21276                        .HasColumnType("character varying(256)")
 21277                        .HasColumnName("normalized_user_name");
 21278
 21279                    b.Property<string>("PasswordHash")
 21280                        .HasColumnType("text")
 21281                        .HasColumnName("password_hash");
 21282
 21283                    b.Property<string>("PhoneNumber")
 21284                        .HasColumnType("text")
 21285                        .HasColumnName("phone_number");
 21286
 21287                    b.Property<bool>("PhoneNumberConfirmed")
 21288                        .HasColumnType("boolean")
 21289                        .HasColumnName("phone_number_confirmed");
 21290
 21291                    b.Property<string>("ProfilePhoto")
 21292                        .HasColumnType("text")
 21293                        .HasColumnName("profile_photo");
 21294
 21295                    b.Property<string>("SecurityStamp")
 21296                        .HasColumnType("text")
 21297                        .HasColumnName("security_stamp");
 21298
 21299                    b.Property<bool>("TwoFactorEnabled")
 21300                        .HasColumnType("boolean")
 21301                        .HasColumnName("two_factor_enabled");
 21302
 21303                    b.Property<string>("UserName")
 21304                        .HasMaxLength(256)
 21305                        .HasColumnType("character varying(256)")
 21306                        .HasColumnName("user_name");
 21307
 21308                    b.HasKey("Id")
 21309                        .HasName("pk_users");
 21310
 21311                    b.HasAlternateKey("InstitutionId", "Id")
 21312                        .HasName("ak_asp_net_users_institution_id_id");
 21313
 21314                    b.HasIndex("NormalizedEmail")
 21315                        .HasDatabaseName("email_index");
 21316
 21317                    b.HasIndex("NormalizedUserName")
 21318                        .IsUnique()
 21319                        .HasDatabaseName("user_name_index");
 21320
 21321                    b.ToTable("users", "syki");
 41322                });
 1323
 21324            modelBuilder.Entity("Syki.Back.Features.Cross.SendResetPasswordToken.ResetPasswordToken", b =>
 21325                {
 21326                    b.Property<Guid>("Id")
 21327                        .HasColumnType("uuid")
 21328                        .HasColumnName("id");
 21329
 21330                    b.Property<DateTime>("CreatedAt")
 21331                        .HasColumnType("timestamp with time zone")
 21332                        .HasColumnName("created_at");
 21333
 21334                    b.Property<Guid>("InstitutionId")
 21335                        .HasColumnType("uuid")
 21336                        .HasColumnName("institution_id");
 21337
 21338                    b.Property<string>("Token")
 21339                        .IsRequired()
 21340                        .HasColumnType("text")
 21341                        .HasColumnName("token");
 21342
 21343                    b.Property<DateTime?>("UsedAt")
 21344                        .HasColumnType("timestamp with time zone")
 21345                        .HasColumnName("used_at");
 21346
 21347                    b.Property<Guid>("UserId")
 21348                        .HasColumnType("uuid")
 21349                        .HasColumnName("user_id");
 21350
 21351                    b.HasKey("Id")
 21352                        .HasName("pk_reset_password_tokens");
 21353
 21354                    b.HasIndex("InstitutionId")
 21355                        .HasDatabaseName("ix_reset_password_tokens_institution_id");
 21356
 21357                    b.HasIndex("Token")
 21358                        .IsUnique()
 21359                        .HasDatabaseName("ix_reset_password_tokens_token");
 21360
 21361                    b.HasIndex("UserId")
 21362                        .HasDatabaseName("ix_reset_password_tokens_user_id");
 21363
 21364                    b.ToTable("reset_password_tokens", "syki");
 41365                });
 1366
 21367            modelBuilder.Entity("Syki.Back.Features.Cross.SetupFeatureFlags.FeatureFlags", b =>
 21368                {
 21369                    b.Property<Guid>("Id")
 21370                        .HasColumnType("uuid")
 21371                        .HasColumnName("id");
 21372
 21373                    b.Property<bool>("CrossLogin")
 21374                        .HasColumnType("boolean")
 21375                        .HasColumnName("cross_login");
 21376
 21377                    b.HasKey("Id")
 21378                        .HasName("pk_feature_flags");
 21379
 21380                    b.ToTable("feature_flags", "syki");
 41381                });
 1382
 21383            modelBuilder.Entity("Syki.Back.Features.Student.CreateClassActivityWork.ClassActivityWork", b =>
 21384                {
 21385                    b.Property<Guid>("Id")
 21386                        .HasColumnType("uuid")
 21387                        .HasColumnName("id");
 21388
 21389                    b.Property<Guid>("ClassActivityId")
 21390                        .HasColumnType("uuid")
 21391                        .HasColumnName("class_activity_id");
 21392
 21393                    b.Property<string>("Link")
 21394                        .HasColumnType("text")
 21395                        .HasColumnName("link");
 21396
 21397                    b.Property<decimal>("Note")
 21398                        .HasColumnType("numeric")
 21399                        .HasColumnName("note");
 21400
 21401                    b.Property<string>("Status")
 21402                        .IsRequired()
 21403                        .HasColumnType("text")
 21404                        .HasColumnName("status");
 21405
 21406                    b.Property<Guid>("SykiStudentId")
 21407                        .HasColumnType("uuid")
 21408                        .HasColumnName("syki_student_id");
 21409
 21410                    b.HasKey("Id")
 21411                        .HasName("pk_class_activity_works");
 21412
 21413                    b.HasIndex("ClassActivityId")
 21414                        .HasDatabaseName("ix_class_activity_works_class_activity_id");
 21415
 21416                    b.HasIndex("SykiStudentId")
 21417                        .HasDatabaseName("ix_class_activity_works_syki_student_id");
 21418
 21419                    b.ToTable("class_activity_works", "syki");
 41420                });
 1421
 21422            modelBuilder.Entity("Syki.Back.Features.Student.CreateStudentEnrollment.ClassStudent", b =>
 21423                {
 21424                    b.Property<Guid>("ClassId")
 21425                        .HasColumnType("uuid")
 21426                        .HasColumnName("class_id");
 21427
 21428                    b.Property<Guid>("SykiStudentId")
 21429                        .HasColumnType("uuid")
 21430                        .HasColumnName("syki_student_id");
 21431
 21432                    b.Property<string>("StudentDisciplineStatus")
 21433                        .IsRequired()
 21434                        .HasColumnType("text")
 21435                        .HasColumnName("student_discipline_status");
 21436
 21437                    b.HasKey("ClassId", "SykiStudentId")
 21438                        .HasName("pk_classes__students");
 21439
 21440                    b.HasIndex("SykiStudentId")
 21441                        .HasDatabaseName("ix_classes__students_syki_student_id");
 21442
 21443                    b.ToTable("classes__students", "syki");
 41444                });
 1445
 21446            modelBuilder.Entity("Syki.Back.Features.Teacher.AddClassActivityNote.StudentClassNote", b =>
 21447                {
 21448                    b.Property<Guid>("Id")
 21449                        .HasColumnType("uuid")
 21450                        .HasColumnName("id");
 21451
 21452                    b.Property<Guid>("ClassId")
 21453                        .HasColumnType("uuid")
 21454                        .HasColumnName("class_id");
 21455
 21456                    b.Property<decimal>("Note")
 21457                        .HasPrecision(4, 2)
 21458                        .HasColumnType("numeric(4,2)")
 21459                        .HasColumnName("note");
 21460
 21461                    b.Property<Guid>("StudentId")
 21462                        .HasColumnType("uuid")
 21463                        .HasColumnName("student_id");
 21464
 21465                    b.Property<string>("Type")
 21466                        .IsRequired()
 21467                        .HasColumnType("text")
 21468                        .HasColumnName("type");
 21469
 21470                    b.HasKey("Id")
 21471                        .HasName("pk_student_class_notes");
 21472
 21473                    b.HasIndex("StudentId")
 21474                        .HasDatabaseName("ix_student_class_notes_student_id");
 21475
 21476                    b.HasIndex("ClassId", "StudentId", "Type")
 21477                        .IsUnique()
 21478                        .HasDatabaseName("ix_student_class_notes_class_id_student_id_type");
 21479
 21480                    b.ToTable("student_class_notes", "syki");
 41481                });
 1482
 21483            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 21484                {
 21485                    b.Property<Guid>("Id")
 21486                        .HasColumnType("uuid")
 21487                        .HasColumnName("id");
 21488
 21489                    b.Property<Guid>("ClassId")
 21490                        .HasColumnType("uuid")
 21491                        .HasColumnName("class_id");
 21492
 21493                    b.Property<DateTime>("CreatedAt")
 21494                        .HasColumnType("timestamp with time zone")
 21495                        .HasColumnName("created_at");
 21496
 21497                    b.Property<string>("Description")
 21498                        .IsRequired()
 21499                        .HasColumnType("text")
 21500                        .HasColumnName("description");
 21501
 21502                    b.Property<DateOnly>("DueDate")
 21503                        .HasColumnType("date")
 21504                        .HasColumnName("due_date");
 21505
 21506                    b.Property<string>("DueHour")
 21507                        .IsRequired()
 21508                        .HasColumnType("text")
 21509                        .HasColumnName("due_hour");
 21510
 21511                    b.Property<string>("Note")
 21512                        .IsRequired()
 21513                        .HasColumnType("text")
 21514                        .HasColumnName("note");
 21515
 21516                    b.Property<string>("Status")
 21517                        .IsRequired()
 21518                        .HasColumnType("text")
 21519                        .HasColumnName("status");
 21520
 21521                    b.Property<string>("Title")
 21522                        .IsRequired()
 21523                        .HasColumnType("text")
 21524                        .HasColumnName("title");
 21525
 21526                    b.Property<string>("Type")
 21527                        .IsRequired()
 21528                        .HasColumnType("text")
 21529                        .HasColumnName("type");
 21530
 21531                    b.Property<int>("Weight")
 21532                        .HasColumnType("integer")
 21533                        .HasColumnName("weight");
 21534
 21535                    b.HasKey("Id")
 21536                        .HasName("pk_class_activities");
 21537
 21538                    b.HasIndex("ClassId")
 21539                        .HasDatabaseName("ix_class_activities_class_id");
 21540
 21541                    b.ToTable("class_activities", "syki");
 41542                });
 1543
 21544            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateLessonAttendance.ClassLessonAttendance", b =>
 21545                {
 21546                    b.Property<Guid>("Id")
 21547                        .HasColumnType("uuid")
 21548                        .HasColumnName("id");
 21549
 21550                    b.Property<Guid>("ClassId")
 21551                        .HasColumnType("uuid")
 21552                        .HasColumnName("class_id");
 21553
 21554                    b.Property<Guid>("LessonId")
 21555                        .HasColumnType("uuid")
 21556                        .HasColumnName("lesson_id");
 21557
 21558                    b.Property<bool>("Present")
 21559                        .HasColumnType("boolean")
 21560                        .HasColumnName("present");
 21561
 21562                    b.Property<Guid>("StudentId")
 21563                        .HasColumnType("uuid")
 21564                        .HasColumnName("student_id");
 21565
 21566                    b.HasKey("Id")
 21567                        .HasName("pk_class_lesson_attendances");
 21568
 21569                    b.HasIndex("ClassId")
 21570                        .HasDatabaseName("ix_class_lesson_attendances_class_id");
 21571
 21572                    b.HasIndex("StudentId")
 21573                        .HasDatabaseName("ix_class_lesson_attendances_student_id");
 21574
 21575                    b.HasIndex("LessonId", "StudentId")
 21576                        .IsUnique()
 21577                        .HasDatabaseName("ix_class_lesson_attendances_lesson_id_student_id");
 21578
 21579                    b.ToTable("class_lesson_attendances", "syki");
 41580                });
 1581
 21582            modelBuilder.Entity("Syki.Back.Metrics.RequestMetrics", b =>
 21583                {
 21584                    b.Property<Guid>("Id")
 21585                        .HasColumnType("uuid")
 21586                        .HasColumnName("id");
 21587
 21588                    b.Property<DateTime>("Start")
 21589                        .HasColumnType("timestamp with time zone")
 21590                        .HasColumnName("start");
 21591
 21592                    b.Property<DateTime>("Stop")
 21593                        .HasColumnType("timestamp with time zone")
 21594                        .HasColumnName("stop");
 21595
 21596                    b.HasKey("Id")
 21597                        .HasName("pk_request_metrics");
 21598
 21599                    b.ToTable("request_metrics", "syki");
 41600                });
 1601
 21602            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
 21603                {
 21604                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiRole", null)
 21605                        .WithMany()
 21606                        .HasForeignKey("RoleId")
 21607                        .OnDelete(DeleteBehavior.Cascade)
 21608                        .IsRequired()
 21609                        .HasConstraintName("fk_role_claims_asp_net_roles_role_id");
 41610                });
 1611
 21612            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
 21613                {
 21614                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21615                        .WithMany()
 21616                        .HasForeignKey("UserId")
 21617                        .OnDelete(DeleteBehavior.Cascade)
 21618                        .IsRequired()
 21619                        .HasConstraintName("fk_user_claims_asp_net_users_user_id");
 41620                });
 1621
 21622            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
 21623                {
 21624                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21625                        .WithMany()
 21626                        .HasForeignKey("UserId")
 21627                        .OnDelete(DeleteBehavior.Cascade)
 21628                        .IsRequired()
 21629                        .HasConstraintName("fk_user_logins_asp_net_users_user_id");
 41630                });
 1631
 21632            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
 21633                {
 21634                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiRole", null)
 21635                        .WithMany()
 21636                        .HasForeignKey("RoleId")
 21637                        .OnDelete(DeleteBehavior.Cascade)
 21638                        .IsRequired()
 21639                        .HasConstraintName("fk_user_roles_asp_net_roles_role_id");
 21640
 21641                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21642                        .WithMany()
 21643                        .HasForeignKey("UserId")
 21644                        .OnDelete(DeleteBehavior.Cascade)
 21645                        .IsRequired()
 21646                        .HasConstraintName("fk_user_roles_asp_net_users_user_id");
 41647                });
 1648
 21649            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
 21650                {
 21651                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21652                        .WithMany()
 21653                        .HasForeignKey("UserId")
 21654                        .OnDelete(DeleteBehavior.Cascade)
 21655                        .IsRequired()
 21656                        .HasConstraintName("fk_user_tokens_asp_net_users_user_id");
 41657                });
 1658
 21659            modelBuilder.Entity("Syki.Back.Audit.AuditLog", b =>
 21660                {
 21661                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21662                        .WithMany()
 21663                        .HasForeignKey("InstitutionId", "UserId")
 21664                        .HasPrincipalKey("InstitutionId", "Id")
 21665                        .OnDelete(DeleteBehavior.Cascade)
 21666                        .IsRequired()
 21667                        .HasConstraintName("fk_audit_logs_asp_net_users_institution_id_user_id");
 41668                });
 1669
 21670            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 21671                {
 21672                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21673                        .WithMany("WebhookCalls")
 21674                        .HasForeignKey("InstitutionId")
 21675                        .OnDelete(DeleteBehavior.Cascade)
 21676                        .IsRequired()
 21677                        .HasConstraintName("fk_webhook_calls_institutions_institution_id");
 21678
 21679                    b.HasOne("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", null)
 21680                        .WithMany("Calls")
 21681                        .HasForeignKey("WebhookId")
 21682                        .OnDelete(DeleteBehavior.Cascade)
 21683                        .IsRequired()
 21684                        .HasConstraintName("fk_webhook_calls_webhook_subscriptions_webhook_id");
 41685                });
 1686
 21687            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCallAttempt", b =>
 21688                {
 21689                    b.HasOne("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", null)
 21690                        .WithMany("Attempts")
 21691                        .HasForeignKey("WebhookCallId")
 21692                        .OnDelete(DeleteBehavior.Cascade)
 21693                        .IsRequired()
 21694                        .HasConstraintName("fk_webhook_call_attempts_webhook_calls_webhook_call_id");
 41695                });
 1696
 21697            modelBuilder.Entity("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", b =>
 21698                {
 21699                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21700                        .WithMany("AcademicPeriods")
 21701                        .HasForeignKey("InstitutionId")
 21702                        .OnDelete(DeleteBehavior.Cascade)
 21703                        .IsRequired()
 21704                        .HasConstraintName("fk_academic_periods_institutions_institution_id");
 41705                });
 1706
 21707            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCampus.Campus", b =>
 21708                {
 21709                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21710                        .WithMany("Campi")
 21711                        .HasForeignKey("InstitutionId")
 21712                        .OnDelete(DeleteBehavior.Cascade)
 21713                        .IsRequired()
 21714                        .HasConstraintName("fk_campi_institutions_institution_id");
 41715                });
 1716
 21717            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 21718                {
 21719                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", "Discipline")
 21720                        .WithMany()
 21721                        .HasForeignKey("DisciplineId")
 21722                        .OnDelete(DeleteBehavior.Cascade)
 21723                        .IsRequired()
 21724                        .HasConstraintName("fk_classes_disciplines_discipline_id");
 21725
 21726                    b.HasOne("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", "Teacher")
 21727                        .WithMany()
 21728                        .HasForeignKey("TeacherId")
 21729                        .OnDelete(DeleteBehavior.Cascade)
 21730                        .IsRequired()
 21731                        .HasConstraintName("fk_classes_teachers_teacher_id");
 21732
 21733                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", "Period")
 21734                        .WithMany()
 21735                        .HasForeignKey("PeriodId", "InstitutionId")
 21736                        .OnDelete(DeleteBehavior.Cascade)
 21737                        .IsRequired()
 21738                        .HasConstraintName("fk_classes_academic_periods_period_id_institution_id");
 21739
 21740                    b.Navigation("Discipline");
 21741
 21742                    b.Navigation("Period");
 21743
 21744                    b.Navigation("Teacher");
 41745                });
 1746
 21747            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 21748                {
 21749                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21750                        .WithMany("Lessons")
 21751                        .HasForeignKey("ClassId")
 21752                        .OnDelete(DeleteBehavior.Cascade)
 21753                        .IsRequired()
 21754                        .HasConstraintName("fk_class_lessons_classes_class_id");
 41755                });
 1756
 21757            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Schedule", b =>
 21758                {
 21759                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21760                        .WithMany("Schedules")
 21761                        .HasForeignKey("ClassId")
 21762                        .OnDelete(DeleteBehavior.Cascade)
 21763                        .IsRequired()
 21764                        .HasConstraintName("fk_schedules_classes_class_id");
 41765                });
 1766
 21767            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 21768                {
 21769                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21770                        .WithMany("Courses")
 21771                        .HasForeignKey("InstitutionId")
 21772                        .OnDelete(DeleteBehavior.Cascade)
 21773                        .IsRequired()
 21774                        .HasConstraintName("fk_courses_institutions_institution_id");
 41775                });
 1776
 21777            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 21778                {
 21779                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", "Course")
 21780                        .WithMany("CourseCurriculums")
 21781                        .HasForeignKey("CourseId")
 21782                        .OnDelete(DeleteBehavior.Cascade)
 21783                        .IsRequired()
 21784                        .HasConstraintName("fk_course_curriculums_courses_course_id");
 21785
 21786                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21787                        .WithMany("CourseCurriculums")
 21788                        .HasForeignKey("InstitutionId")
 21789                        .OnDelete(DeleteBehavior.Cascade)
 21790                        .IsRequired()
 21791                        .HasConstraintName("fk_course_curriculums_institutions_institution_id");
 21792
 21793                    b.Navigation("Course");
 41794                });
 1795
 21796            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculumDiscipline", b =>
 21797                {
 21798                    b.HasOne("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", null)
 21799                        .WithMany("Links")
 21800                        .HasForeignKey("CourseCurriculumId")
 21801                        .OnDelete(DeleteBehavior.Cascade)
 21802                        .IsRequired()
 21803                        .HasConstraintName("fk_course_curriculums__disciplines_course_curriculums_course_c");
 21804
 21805                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 21806                        .WithMany()
 21807                        .HasForeignKey("DisciplineId")
 21808                        .OnDelete(DeleteBehavior.Cascade)
 21809                        .IsRequired()
 21810                        .HasConstraintName("fk_course_curriculums__disciplines_disciplines_discipline_id");
 41811                });
 1812
 21813            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", b =>
 21814                {
 21815                    b.HasOne("Syki.Back.Features.Academic.CreateCampus.Campus", "Campus")
 21816                        .WithMany()
 21817                        .HasForeignKey("CampusId")
 21818                        .OnDelete(DeleteBehavior.Cascade)
 21819                        .IsRequired()
 21820                        .HasConstraintName("fk_course_offerings_campi_campus_id");
 21821
 21822                    b.HasOne("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", "CourseCurriculum")
 21823                        .WithMany()
 21824                        .HasForeignKey("CourseCurriculumId")
 21825                        .OnDelete(DeleteBehavior.Cascade)
 21826                        .IsRequired()
 21827                        .HasConstraintName("fk_course_offerings_course_curriculums_course_curriculum_id");
 21828
 21829                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", "Course")
 21830                        .WithMany()
 21831                        .HasForeignKey("CourseId")
 21832                        .OnDelete(DeleteBehavior.Cascade)
 21833                        .IsRequired()
 21834                        .HasConstraintName("fk_course_offerings_courses_course_id");
 21835
 21836                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21837                        .WithMany("CourseOfferings")
 21838                        .HasForeignKey("InstitutionId")
 21839                        .OnDelete(DeleteBehavior.Cascade)
 21840                        .IsRequired()
 21841                        .HasConstraintName("fk_course_offerings_institutions_institution_id");
 21842
 21843                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", null)
 21844                        .WithMany()
 21845                        .HasForeignKey("Period", "InstitutionId")
 21846                        .OnDelete(DeleteBehavior.Cascade)
 21847                        .IsRequired()
 21848                        .HasConstraintName("fk_course_offerings_academic_periods_period_institution_id");
 21849
 21850                    b.Navigation("Campus");
 21851
 21852                    b.Navigation("Course");
 21853
 21854                    b.Navigation("CourseCurriculum");
 41855                });
 1856
 21857            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.CourseDiscipline", b =>
 21858                {
 21859                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", null)
 21860                        .WithMany("Links")
 21861                        .HasForeignKey("CourseId")
 21862                        .OnDelete(DeleteBehavior.Cascade)
 21863                        .IsRequired()
 21864                        .HasConstraintName("fk_courses__disciplines_courses_course_id");
 21865
 21866                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 21867                        .WithMany("Links")
 21868                        .HasForeignKey("DisciplineId")
 21869                        .OnDelete(DeleteBehavior.Cascade)
 21870                        .IsRequired()
 21871                        .HasConstraintName("fk_courses__disciplines_disciplines_discipline_id");
 41872                });
 1873
 21874            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 21875                {
 21876                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21877                        .WithMany("Disciplines")
 21878                        .HasForeignKey("InstitutionId")
 21879                        .OnDelete(DeleteBehavior.Cascade)
 21880                        .IsRequired()
 21881                        .HasConstraintName("fk_disciplines_institutions_institution_id");
 41882                });
 1883
 21884            modelBuilder.Entity("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", b =>
 21885                {
 21886                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", null)
 21887                        .WithOne()
 21888                        .HasForeignKey("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", "Id", "Ins
 21889                        .OnDelete(DeleteBehavior.Cascade)
 21890                        .IsRequired()
 21891                        .HasConstraintName("fk_enrollment_periods_academic_periods_id_institution_id");
 41892                });
 1893
 21894            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 21895                {
 21896                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21897                        .WithMany("Notifications")
 21898                        .HasForeignKey("InstitutionId")
 21899                        .OnDelete(DeleteBehavior.Cascade)
 21900                        .IsRequired()
 21901                        .HasConstraintName("fk_notifications_institutions_institution_id");
 41902                });
 1903
 21904            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.UserNotification", b =>
 21905                {
 21906                    b.HasOne("Syki.Back.Features.Academic.CreateNotification.Notification", "Notification")
 21907                        .WithMany("Users")
 21908                        .HasForeignKey("NotificationId")
 21909                        .OnDelete(DeleteBehavior.Cascade)
 21910                        .IsRequired()
 21911                        .HasConstraintName("fk_users__notifications_notifications_notification_id");
 21912
 21913                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21914                        .WithMany()
 21915                        .HasForeignKey("UserId")
 21916                        .OnDelete(DeleteBehavior.Cascade)
 21917                        .IsRequired()
 21918                        .HasConstraintName("fk_users__notifications_asp_net_users_user_id");
 21919
 21920                    b.Navigation("Notification");
 41921                });
 1922
 21923            modelBuilder.Entity("Syki.Back.Features.Academic.CreateStudent.SykiStudent", b =>
 21924                {
 21925                    b.HasOne("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", "CourseOffering")
 21926                        .WithMany()
 21927                        .HasForeignKey("CourseOfferingId")
 21928                        .OnDelete(DeleteBehavior.Cascade)
 21929                        .IsRequired()
 21930                        .HasConstraintName("fk_students_course_offerings_course_offering_id");
 21931
 21932                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21933                        .WithMany("Students")
 21934                        .HasForeignKey("InstitutionId")
 21935                        .OnDelete(DeleteBehavior.Cascade)
 21936                        .IsRequired()
 21937                        .HasConstraintName("fk_students_institutions_institution_id");
 21938
 21939                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", "User")
 21940                        .WithOne()
 21941                        .HasForeignKey("Syki.Back.Features.Academic.CreateStudent.SykiStudent", "InstitutionId", "Id")
 21942                        .HasPrincipalKey("Syki.Back.Features.Cross.CreateUser.SykiUser", "InstitutionId", "Id")
 21943                        .OnDelete(DeleteBehavior.Cascade)
 21944                        .IsRequired()
 21945                        .HasConstraintName("fk_students_asp_net_users_institution_id_id");
 21946
 21947                    b.Navigation("CourseOffering");
 21948
 21949                    b.Navigation("User");
 41950                });
 1951
 21952            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 21953                {
 21954                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21955                        .WithMany("Teachers")
 21956                        .HasForeignKey("InstitutionId")
 21957                        .OnDelete(DeleteBehavior.Cascade)
 21958                        .IsRequired()
 21959                        .HasConstraintName("fk_teachers_institutions_institution_id");
 21960
 21961                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21962                        .WithOne()
 21963                        .HasForeignKey("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", "InstitutionId", "Id")
 21964                        .HasPrincipalKey("Syki.Back.Features.Cross.CreateUser.SykiUser", "InstitutionId", "Id")
 21965                        .OnDelete(DeleteBehavior.Cascade)
 21966                        .IsRequired()
 21967                        .HasConstraintName("fk_teachers_asp_net_users_institution_id_id");
 41968                });
 1969
 21970            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", b =>
 21971                {
 21972                    b.HasOne("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", null)
 21973                        .WithOne("Authentication")
 21974                        .HasForeignKey("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", "W
 21975                        .HasConstraintName("fk_webhook_authentications_webhook_subscriptions_webhook_id");
 41976                });
 1977
 21978            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 21979                {
 21980                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21981                        .WithMany("Webhooks")
 21982                        .HasForeignKey("InstitutionId")
 21983                        .OnDelete(DeleteBehavior.Cascade)
 21984                        .IsRequired()
 21985                        .HasConstraintName("fk_webhook_subscriptions_institutions_institution_id");
 41986                });
 1987
 21988            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", b =>
 21989                {
 21990                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21991                        .WithOne("Configs")
 21992                        .HasForeignKey("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", "InstitutionId")
 21993                        .OnDelete(DeleteBehavior.Cascade)
 21994                        .IsRequired()
 21995                        .HasConstraintName("fk_institution_configs_institutions_institution_id");
 41996                });
 1997
 21998            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiUser", b =>
 21999                {
 22000                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22001                        .WithMany("Users")
 22002                        .HasForeignKey("InstitutionId")
 22003                        .OnDelete(DeleteBehavior.Cascade)
 22004                        .IsRequired()
 22005                        .HasConstraintName("fk_users_institutions_institution_id");
 42006                });
 2007
 22008            modelBuilder.Entity("Syki.Back.Features.Cross.SendResetPasswordToken.ResetPasswordToken", b =>
 22009                {
 22010                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22011                        .WithMany()
 22012                        .HasForeignKey("InstitutionId")
 22013                        .OnDelete(DeleteBehavior.Cascade)
 22014                        .IsRequired()
 22015                        .HasConstraintName("fk_reset_password_tokens_institutions_institution_id");
 22016
 22017                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 22018                        .WithMany()
 22019                        .HasForeignKey("UserId")
 22020                        .OnDelete(DeleteBehavior.Cascade)
 22021                        .IsRequired()
 22022                        .HasConstraintName("fk_reset_password_tokens_asp_net_users_user_id");
 42023                });
 2024
 22025            modelBuilder.Entity("Syki.Back.Features.Student.CreateClassActivityWork.ClassActivityWork", b =>
 22026                {
 22027                    b.HasOne("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", null)
 22028                        .WithMany("Works")
 22029                        .HasForeignKey("ClassActivityId")
 22030                        .OnDelete(DeleteBehavior.Cascade)
 22031                        .IsRequired()
 22032                        .HasConstraintName("fk_class_activity_works_class_activities_class_activity_id");
 22033
 22034                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", "SykiStudent")
 22035                        .WithMany()
 22036                        .HasForeignKey("SykiStudentId")
 22037                        .OnDelete(DeleteBehavior.Cascade)
 22038                        .IsRequired()
 22039                        .HasConstraintName("fk_class_activity_works_students_syki_student_id");
 22040
 22041                    b.Navigation("SykiStudent");
 42042                });
 2043
 22044            modelBuilder.Entity("Syki.Back.Features.Student.CreateStudentEnrollment.ClassStudent", b =>
 22045                {
 22046                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22047                        .WithMany()
 22048                        .HasForeignKey("ClassId")
 22049                        .OnDelete(DeleteBehavior.Cascade)
 22050                        .IsRequired()
 22051                        .HasConstraintName("fk_classes__students_classes_class_id");
 22052
 22053                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22054                        .WithMany()
 22055                        .HasForeignKey("SykiStudentId")
 22056                        .OnDelete(DeleteBehavior.Cascade)
 22057                        .IsRequired()
 22058                        .HasConstraintName("fk_classes__students_students_syki_student_id");
 42059                });
 2060
 22061            modelBuilder.Entity("Syki.Back.Features.Teacher.AddClassActivityNote.StudentClassNote", b =>
 22062                {
 22063                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22064                        .WithMany("Notes")
 22065                        .HasForeignKey("ClassId")
 22066                        .OnDelete(DeleteBehavior.Cascade)
 22067                        .IsRequired()
 22068                        .HasConstraintName("fk_student_class_notes_classes_class_id");
 22069
 22070                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22071                        .WithMany()
 22072                        .HasForeignKey("StudentId")
 22073                        .OnDelete(DeleteBehavior.Cascade)
 22074                        .IsRequired()
 22075                        .HasConstraintName("fk_student_class_notes_students_student_id");
 42076                });
 2077
 22078            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 22079                {
 22080                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22081                        .WithMany("Activities")
 22082                        .HasForeignKey("ClassId")
 22083                        .OnDelete(DeleteBehavior.Cascade)
 22084                        .IsRequired()
 22085                        .HasConstraintName("fk_class_activities_classes_class_id");
 42086                });
 2087
 22088            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateLessonAttendance.ClassLessonAttendance", b =>
 22089                {
 22090                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22091                        .WithMany()
 22092                        .HasForeignKey("ClassId")
 22093                        .OnDelete(DeleteBehavior.Cascade)
 22094                        .IsRequired()
 22095                        .HasConstraintName("fk_class_lesson_attendances_classes_class_id");
 22096
 22097                    b.HasOne("Syki.Back.Features.Academic.CreateClass.ClassLesson", null)
 22098                        .WithMany("Attendances")
 22099                        .HasForeignKey("LessonId")
 22100                        .OnDelete(DeleteBehavior.Cascade)
 22101                        .IsRequired()
 22102                        .HasConstraintName("fk_class_lesson_attendances_class_lessons_lesson_id");
 22103
 22104                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22105                        .WithMany()
 22106                        .HasForeignKey("StudentId")
 22107                        .OnDelete(DeleteBehavior.Cascade)
 22108                        .IsRequired()
 22109                        .HasConstraintName("fk_class_lesson_attendances_students_student_id");
 42110                });
 2111
 22112            modelBuilder.Entity("Syki.Back.Metrics.RequestMetrics", b =>
 22113                {
 22114                    b.OwnsMany("Syki.Back.Metrics.RequestData", "Requests", b1 =>
 22115                        {
 22116                            b1.Property<Guid>("RequestMetricsId")
 22117                                .HasColumnType("uuid");
 22118
 22119                            b1.Property<int>("__synthesizedOrdinal")
 22120                                .ValueGeneratedOnAdd()
 22121                                .HasColumnType("integer");
 22122
 22123                            b1.Property<string>("Endpoint")
 22124                                .IsRequired()
 22125                                .HasColumnType("text");
 22126
 22127                            b1.Property<string>("Values")
 22128                                .IsRequired()
 22129                                .HasColumnType("text");
 22130
 22131                            b1.HasKey("RequestMetricsId", "__synthesizedOrdinal")
 22132                                .HasName("pk_request_metrics");
 22133
 22134                            b1.ToTable("request_metrics", "syki");
 22135
 22136                            b1.ToJson("requests");
 22137
 22138                            b1.WithOwner()
 22139                                .HasForeignKey("RequestMetricsId")
 22140                                .HasConstraintName("fk_request_metrics_request_metrics_request_metrics_id");
 42141                        });
 22142
 22143                    b.OwnsOne("Syki.Back.Metrics.ResumeData", "Resume", b1 =>
 22144                        {
 22145                            b1.Property<Guid>("RequestMetricsId")
 22146                                .HasColumnType("uuid");
 22147
 22148                            b1.Property<int>("Get")
 22149                                .HasColumnType("integer");
 22150
 22151                            b1.Property<int>("Post")
 22152                                .HasColumnType("integer");
 22153
 22154                            b1.Property<int>("Put")
 22155                                .HasColumnType("integer");
 22156
 22157                            b1.Property<int>("Total")
 22158                                .HasColumnType("integer");
 22159
 22160                            b1.HasKey("RequestMetricsId")
 22161                                .HasName("pk_request_metrics");
 22162
 22163                            b1.ToTable("request_metrics", "syki");
 22164
 22165                            b1.ToJson("resume");
 22166
 22167                            b1.WithOwner()
 22168                                .HasForeignKey("RequestMetricsId")
 22169                                .HasConstraintName("fk_request_metrics_request_metrics_request_metrics_id");
 42170                        });
 22171
 22172                    b.Navigation("Requests");
 22173
 22174                    b.Navigation("Resume")
 22175                        .IsRequired();
 42176                });
 2177
 22178            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 22179                {
 22180                    b.Navigation("Attempts");
 42181                });
 2182
 22183            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 22184                {
 22185                    b.Navigation("Activities");
 22186
 22187                    b.Navigation("Lessons");
 22188
 22189                    b.Navigation("Notes");
 22190
 22191                    b.Navigation("Schedules");
 42192                });
 2193
 22194            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 22195                {
 22196                    b.Navigation("Attendances");
 42197                });
 2198
 22199            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 22200                {
 22201                    b.Navigation("CourseCurriculums");
 22202
 22203                    b.Navigation("Links");
 42204                });
 2205
 22206            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 22207                {
 22208                    b.Navigation("Links");
 42209                });
 2210
 22211            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 22212                {
 22213                    b.Navigation("Links");
 42214                });
 2215
 22216            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 22217                {
 22218                    b.Navigation("Users");
 42219                });
 2220
 22221            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 22222                {
 22223                    b.Navigation("Authentication")
 22224                        .IsRequired();
 22225
 22226                    b.Navigation("Calls");
 42227                });
 2228
 22229            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.Institution", b =>
 22230                {
 22231                    b.Navigation("AcademicPeriods");
 22232
 22233                    b.Navigation("Campi");
 22234
 22235                    b.Navigation("Configs")
 22236                        .IsRequired();
 22237
 22238                    b.Navigation("CourseCurriculums");
 22239
 22240                    b.Navigation("CourseOfferings");
 22241
 22242                    b.Navigation("Courses");
 22243
 22244                    b.Navigation("Disciplines");
 22245
 22246                    b.Navigation("Notifications");
 22247
 22248                    b.Navigation("Students");
 22249
 22250                    b.Navigation("Teachers");
 22251
 22252                    b.Navigation("Users");
 22253
 22254                    b.Navigation("WebhookCalls");
 22255
 22256                    b.Navigation("Webhooks");
 42257                });
 2258
 22259            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 22260                {
 22261                    b.Navigation("Works");
 42262                });
 2263#pragma warning restore 612, 618
 22264        }
 2265    }
 2266}