< Summary - Syki

Line coverage
99%
Covered lines: 2381
Uncovered lines: 13
Coverable lines: 2394
Total lines: 2541
Line coverage: 99.4%
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/20250818230802_AddScheduleClassroomId.cs

#LineLine coverage
 1using System;
 2using Microsoft.EntityFrameworkCore.Migrations;
 3
 4#nullable disable
 5
 6namespace Back.Migrations
 7{
 8    /// <inheritdoc />
 9    public partial class AddScheduleClassroomId : Migration
 10    {
 11        /// <inheritdoc />
 12        protected override void Up(MigrationBuilder migrationBuilder)
 13        {
 414            migrationBuilder.AddColumn<Guid>(
 415                name: "classroom_id",
 416                schema: "syki",
 417                table: "schedules",
 418                type: "uuid",
 419                nullable: true);
 20
 421            migrationBuilder.CreateIndex(
 422                name: "ix_schedules_classroom_id",
 423                schema: "syki",
 424                table: "schedules",
 425                column: "classroom_id");
 26
 427            migrationBuilder.AddForeignKey(
 428                name: "fk_schedules_classrooms_classroom_id",
 429                schema: "syki",
 430                table: "schedules",
 431                column: "classroom_id",
 432                principalSchema: "syki",
 433                principalTable: "classrooms",
 434                principalColumn: "id");
 435        }
 36
 37        /// <inheritdoc />
 38        protected override void Down(MigrationBuilder migrationBuilder)
 39        {
 040            migrationBuilder.DropForeignKey(
 041                name: "fk_schedules_classrooms_classroom_id",
 042                schema: "syki",
 043                table: "schedules");
 44
 045            migrationBuilder.DropIndex(
 046                name: "ix_schedules_classroom_id",
 047                schema: "syki",
 048                table: "schedules");
 49
 050            migrationBuilder.DropColumn(
 051                name: "classroom_id",
 052                schema: "syki",
 053                table: "schedules");
 054        }
 55    }
 56}

/home/runner/work/syki/syki/Back/Migrations/20250818230802_AddScheduleClassroomId.Designer.cs

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using System.Collections.Generic;
 4using System.Text.Json;
 5using Microsoft.EntityFrameworkCore;
 6using Microsoft.EntityFrameworkCore.Infrastructure;
 7using Microsoft.EntityFrameworkCore.Migrations;
 8using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 9using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
 10using Syki.Back.Database;
 11
 12#nullable disable
 13
 14namespace Back.Migrations
 15{
 16    [DbContext(typeof(SykiDbContext))]
 17    [Migration("20250818230802_AddScheduleClassroomId")]
 18    partial class AddScheduleClassroomId
 19    {
 20        /// <inheritdoc />
 21        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 22        {
 23#pragma warning disable 612, 618
 224            modelBuilder
 225                .HasDefaultSchema("syki")
 226                .HasAnnotation("ProductVersion", "9.0.8")
 227                .HasAnnotation("Relational:MaxIdentifierLength", 63);
 28
 229            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
 30
 231            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
 232                {
 233                    b.Property<int>("Id")
 234                        .ValueGeneratedOnAdd()
 235                        .HasColumnType("integer")
 236                        .HasColumnName("id");
 237
 238                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 239
 240                    b.Property<string>("ClaimType")
 241                        .HasColumnType("text")
 242                        .HasColumnName("claim_type");
 243
 244                    b.Property<string>("ClaimValue")
 245                        .HasColumnType("text")
 246                        .HasColumnName("claim_value");
 247
 248                    b.Property<Guid>("RoleId")
 249                        .HasColumnType("uuid")
 250                        .HasColumnName("role_id");
 251
 252                    b.HasKey("Id")
 253                        .HasName("pk_role_claims");
 254
 255                    b.HasIndex("RoleId")
 256                        .HasDatabaseName("ix_role_claims_role_id");
 257
 258                    b.ToTable("role_claims", "syki");
 459                });
 60
 261            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
 262                {
 263                    b.Property<int>("Id")
 264                        .ValueGeneratedOnAdd()
 265                        .HasColumnType("integer")
 266                        .HasColumnName("id");
 267
 268                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 269
 270                    b.Property<string>("ClaimType")
 271                        .HasColumnType("text")
 272                        .HasColumnName("claim_type");
 273
 274                    b.Property<string>("ClaimValue")
 275                        .HasColumnType("text")
 276                        .HasColumnName("claim_value");
 277
 278                    b.Property<Guid>("UserId")
 279                        .HasColumnType("uuid")
 280                        .HasColumnName("user_id");
 281
 282                    b.HasKey("Id")
 283                        .HasName("pk_user_claims");
 284
 285                    b.HasIndex("UserId")
 286                        .HasDatabaseName("ix_user_claims_user_id");
 287
 288                    b.ToTable("user_claims", "syki");
 489                });
 90
 291            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
 292                {
 293                    b.Property<string>("LoginProvider")
 294                        .HasColumnType("text")
 295                        .HasColumnName("login_provider");
 296
 297                    b.Property<string>("ProviderKey")
 298                        .HasColumnType("text")
 299                        .HasColumnName("provider_key");
 2100
 2101                    b.Property<string>("ProviderDisplayName")
 2102                        .HasColumnType("text")
 2103                        .HasColumnName("provider_display_name");
 2104
 2105                    b.Property<Guid>("UserId")
 2106                        .HasColumnType("uuid")
 2107                        .HasColumnName("user_id");
 2108
 2109                    b.HasKey("LoginProvider", "ProviderKey")
 2110                        .HasName("pk_user_logins");
 2111
 2112                    b.HasIndex("UserId")
 2113                        .HasDatabaseName("ix_user_logins_user_id");
 2114
 2115                    b.ToTable("user_logins", "syki");
 4116                });
 117
 2118            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
 2119                {
 2120                    b.Property<Guid>("UserId")
 2121                        .HasColumnType("uuid")
 2122                        .HasColumnName("user_id");
 2123
 2124                    b.Property<Guid>("RoleId")
 2125                        .HasColumnType("uuid")
 2126                        .HasColumnName("role_id");
 2127
 2128                    b.HasKey("UserId", "RoleId")
 2129                        .HasName("pk_user_roles");
 2130
 2131                    b.HasIndex("RoleId")
 2132                        .HasDatabaseName("ix_user_roles_role_id");
 2133
 2134                    b.ToTable("user_roles", "syki");
 4135                });
 136
 2137            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
 2138                {
 2139                    b.Property<Guid>("UserId")
 2140                        .HasColumnType("uuid")
 2141                        .HasColumnName("user_id");
 2142
 2143                    b.Property<string>("LoginProvider")
 2144                        .HasColumnType("text")
 2145                        .HasColumnName("login_provider");
 2146
 2147                    b.Property<string>("Name")
 2148                        .HasColumnType("text")
 2149                        .HasColumnName("name");
 2150
 2151                    b.Property<string>("Value")
 2152                        .HasColumnType("text")
 2153                        .HasColumnName("value");
 2154
 2155                    b.HasKey("UserId", "LoginProvider", "Name")
 2156                        .HasName("pk_user_tokens");
 2157
 2158                    b.ToTable("user_tokens", "syki");
 4159                });
 160
 2161            modelBuilder.Entity("Syki.Back.Audit.AuditLog", b =>
 2162                {
 2163                    b.Property<Guid>("Id")
 2164                        .HasColumnType("uuid")
 2165                        .HasColumnName("id");
 2166
 2167                    b.Property<string>("Action")
 2168                        .IsRequired()
 2169                        .HasColumnType("text")
 2170                        .HasColumnName("action");
 2171
 2172                    b.Property<DateTime>("CreatedAt")
 2173                        .HasColumnType("timestamp with time zone")
 2174                        .HasColumnName("created_at");
 2175
 2176                    b.Property<JsonDocument>("Data")
 2177                        .IsRequired()
 2178                        .HasColumnType("jsonb")
 2179                        .HasColumnName("data");
 2180
 2181                    b.Property<Guid>("EntityId")
 2182                        .HasColumnType("uuid")
 2183                        .HasColumnName("entity_id");
 2184
 2185                    b.Property<string>("EntityType")
 2186                        .IsRequired()
 2187                        .HasColumnType("text")
 2188                        .HasColumnName("entity_type");
 2189
 2190                    b.Property<Guid>("InstitutionId")
 2191                        .HasColumnType("uuid")
 2192                        .HasColumnName("institution_id");
 2193
 2194                    b.Property<Guid>("UserId")
 2195                        .HasColumnType("uuid")
 2196                        .HasColumnName("user_id");
 2197
 2198                    b.HasKey("Id")
 2199                        .HasName("pk_audit_logs");
 2200
 2201                    b.HasIndex("InstitutionId", "UserId")
 2202                        .HasDatabaseName("ix_audit_logs_institution_id_user_id");
 2203
 2204                    b.ToTable("audit_logs", "syki");
 4205                });
 206
 2207            modelBuilder.Entity("Syki.Back.Commands.Command", b =>
 2208                {
 2209                    b.Property<Guid>("Id")
 2210                        .HasColumnType("uuid")
 2211                        .HasColumnName("id");
 2212
 2213                    b.Property<string>("ActivityId")
 2214                        .HasColumnType("text")
 2215                        .HasColumnName("activity_id");
 2216
 2217                    b.Property<Guid?>("BatchId")
 2218                        .HasColumnType("uuid")
 2219                        .HasColumnName("batch_id");
 2220
 2221                    b.Property<DateTime>("CreatedAt")
 2222                        .HasColumnType("timestamp with time zone")
 2223                        .HasColumnName("created_at");
 2224
 2225                    b.Property<string>("Data")
 2226                        .IsRequired()
 2227                        .HasColumnType("text")
 2228                        .HasColumnName("data");
 2229
 2230                    b.Property<int>("Duration")
 2231                        .HasColumnType("integer")
 2232                        .HasColumnName("duration");
 2233
 2234                    b.Property<string>("Error")
 2235                        .HasColumnType("text")
 2236                        .HasColumnName("error");
 2237
 2238                    b.Property<Guid?>("EventId")
 2239                        .HasColumnType("uuid")
 2240                        .HasColumnName("event_id");
 2241
 2242                    b.Property<Guid>("InstitutionId")
 2243                        .HasColumnType("uuid")
 2244                        .HasColumnName("institution_id");
 2245
 2246                    b.Property<DateTime?>("NotBefore")
 2247                        .HasColumnType("timestamp with time zone")
 2248                        .HasColumnName("not_before");
 2249
 2250                    b.Property<Guid?>("OriginalId")
 2251                        .HasColumnType("uuid")
 2252                        .HasColumnName("original_id");
 2253
 2254                    b.Property<Guid?>("ParentId")
 2255                        .HasColumnType("uuid")
 2256                        .HasColumnName("parent_id");
 2257
 2258                    b.Property<DateTime?>("ProcessedAt")
 2259                        .HasColumnType("timestamp with time zone")
 2260                        .HasColumnName("processed_at");
 2261
 2262                    b.Property<Guid?>("ProcessorId")
 2263                        .HasColumnType("uuid")
 2264                        .HasColumnName("processor_id");
 2265
 2266                    b.Property<string>("Status")
 2267                        .IsRequired()
 2268                        .HasColumnType("text")
 2269                        .HasColumnName("status");
 2270
 2271                    b.Property<string>("Type")
 2272                        .IsRequired()
 2273                        .HasColumnType("text")
 2274                        .HasColumnName("type");
 2275
 2276                    b.HasKey("Id")
 2277                        .HasName("pk_commands");
 2278
 2279                    b.ToTable("commands", "syki");
 4280                });
 281
 2282            modelBuilder.Entity("Syki.Back.Commands.CommandBatch", b =>
 2283                {
 2284                    b.Property<Guid>("Id")
 2285                        .HasColumnType("uuid")
 2286                        .HasColumnName("id");
 2287
 2288                    b.Property<DateTime>("CreatedAt")
 2289                        .HasColumnType("timestamp with time zone")
 2290                        .HasColumnName("created_at");
 2291
 2292                    b.Property<Guid?>("EventId")
 2293                        .HasColumnType("uuid")
 2294                        .HasColumnName("event_id");
 2295
 2296                    b.Property<Guid>("InstitutionId")
 2297                        .HasColumnType("uuid")
 2298                        .HasColumnName("institution_id");
 2299
 2300                    b.Property<Guid?>("NextCommandId")
 2301                        .HasColumnType("uuid")
 2302                        .HasColumnName("next_command_id");
 2303
 2304                    b.Property<DateTime?>("ProcessedAt")
 2305                        .HasColumnType("timestamp with time zone")
 2306                        .HasColumnName("processed_at");
 2307
 2308                    b.Property<int>("Size")
 2309                        .HasColumnType("integer")
 2310                        .HasColumnName("size");
 2311
 2312                    b.Property<Guid?>("SourceCommandId")
 2313                        .HasColumnType("uuid")
 2314                        .HasColumnName("source_command_id");
 2315
 2316                    b.Property<string>("Status")
 2317                        .IsRequired()
 2318                        .HasColumnType("text")
 2319                        .HasColumnName("status");
 2320
 2321                    b.Property<string>("Type")
 2322                        .IsRequired()
 2323                        .HasColumnType("text")
 2324                        .HasColumnName("type");
 2325
 2326                    b.HasKey("Id")
 2327                        .HasName("pk_command_batches");
 2328
 2329                    b.ToTable("command_batches", "syki");
 4330                });
 331
 2332            modelBuilder.Entity("Syki.Back.Events.DomainEvent", b =>
 2333                {
 2334                    b.Property<Guid>("Id")
 2335                        .HasColumnType("uuid")
 2336                        .HasColumnName("id");
 2337
 2338                    b.Property<string>("ActivityId")
 2339                        .HasColumnType("text")
 2340                        .HasColumnName("activity_id");
 2341
 2342                    b.Property<string>("Data")
 2343                        .IsRequired()
 2344                        .HasColumnType("text")
 2345                        .HasColumnName("data");
 2346
 2347                    b.Property<int>("Duration")
 2348                        .HasColumnType("integer")
 2349                        .HasColumnName("duration");
 2350
 2351                    b.Property<Guid>("EntityId")
 2352                        .HasColumnType("uuid")
 2353                        .HasColumnName("entity_id");
 2354
 2355                    b.Property<string>("Error")
 2356                        .HasColumnType("text")
 2357                        .HasColumnName("error");
 2358
 2359                    b.Property<Guid>("InstitutionId")
 2360                        .HasColumnType("uuid")
 2361                        .HasColumnName("institution_id");
 2362
 2363                    b.Property<DateTime>("OccurredAt")
 2364                        .HasColumnType("timestamp with time zone")
 2365                        .HasColumnName("occurred_at");
 2366
 2367                    b.Property<DateTime?>("ProcessedAt")
 2368                        .HasColumnType("timestamp with time zone")
 2369                        .HasColumnName("processed_at");
 2370
 2371                    b.Property<Guid?>("ProcessorId")
 2372                        .HasColumnType("uuid")
 2373                        .HasColumnName("processor_id");
 2374
 2375                    b.Property<string>("Status")
 2376                        .IsRequired()
 2377                        .HasColumnType("text")
 2378                        .HasColumnName("status");
 2379
 2380                    b.Property<string>("Type")
 2381                        .IsRequired()
 2382                        .HasColumnType("text")
 2383                        .HasColumnName("type");
 2384
 2385                    b.HasKey("Id")
 2386                        .HasName("pk_domain_events");
 2387
 2388                    b.ToTable("domain_events", "syki");
 4389                });
 390
 2391            modelBuilder.Entity("Syki.Back.Features.Academic.AssignClassToClassroom.ClassroomClass", b =>
 2392                {
 2393                    b.Property<Guid>("ClassroomId")
 2394                        .HasColumnType("uuid")
 2395                        .HasColumnName("classroom_id");
 2396
 2397                    b.Property<Guid>("ClassId")
 2398                        .HasColumnType("uuid")
 2399                        .HasColumnName("class_id");
 2400
 2401                    b.Property<bool>("IsActive")
 2402                        .HasColumnType("boolean")
 2403                        .HasColumnName("is_active");
 2404
 2405                    b.HasKey("ClassroomId", "ClassId")
 2406                        .HasName("pk_classrooms__classes");
 2407
 2408                    b.HasIndex("ClassId")
 2409                        .HasDatabaseName("ix_classrooms__classes_class_id");
 2410
 2411                    b.ToTable("classrooms__classes", "syki");
 4412                });
 413
 2414            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 2415                {
 2416                    b.Property<Guid>("Id")
 2417                        .HasColumnType("uuid")
 2418                        .HasColumnName("id");
 2419
 2420                    b.Property<int>("AttemptsCount")
 2421                        .HasColumnType("integer")
 2422                        .HasColumnName("attempts_count");
 2423
 2424                    b.Property<DateTime>("CreatedAt")
 2425                        .HasColumnType("timestamp with time zone")
 2426                        .HasColumnName("created_at");
 2427
 2428                    b.Property<string>("Event")
 2429                        .IsRequired()
 2430                        .HasColumnType("text")
 2431                        .HasColumnName("event");
 2432
 2433                    b.Property<Guid>("InstitutionId")
 2434                        .HasColumnType("uuid")
 2435                        .HasColumnName("institution_id");
 2436
 2437                    b.Property<string>("Payload")
 2438                        .IsRequired()
 2439                        .HasColumnType("text")
 2440                        .HasColumnName("payload");
 2441
 2442                    b.Property<string>("Status")
 2443                        .IsRequired()
 2444                        .HasColumnType("text")
 2445                        .HasColumnName("status");
 2446
 2447                    b.Property<Guid>("WebhookId")
 2448                        .HasColumnType("uuid")
 2449                        .HasColumnName("webhook_id");
 2450
 2451                    b.HasKey("Id")
 2452                        .HasName("pk_webhook_calls");
 2453
 2454                    b.HasIndex("InstitutionId")
 2455                        .HasDatabaseName("ix_webhook_calls_institution_id");
 2456
 2457                    b.HasIndex("WebhookId")
 2458                        .HasDatabaseName("ix_webhook_calls_webhook_id");
 2459
 2460                    b.ToTable("webhook_calls", "syki");
 4461                });
 462
 2463            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCallAttempt", b =>
 2464                {
 2465                    b.Property<Guid>("Id")
 2466                        .HasColumnType("uuid")
 2467                        .HasColumnName("id");
 2468
 2469                    b.Property<DateTime>("CreatedAt")
 2470                        .HasColumnType("timestamp with time zone")
 2471                        .HasColumnName("created_at");
 2472
 2473                    b.Property<string>("Response")
 2474                        .IsRequired()
 2475                        .HasColumnType("text")
 2476                        .HasColumnName("response");
 2477
 2478                    b.Property<string>("Status")
 2479                        .IsRequired()
 2480                        .HasColumnType("text")
 2481                        .HasColumnName("status");
 2482
 2483                    b.Property<int>("StatusCode")
 2484                        .HasColumnType("integer")
 2485                        .HasColumnName("status_code");
 2486
 2487                    b.Property<Guid>("WebhookCallId")
 2488                        .HasColumnType("uuid")
 2489                        .HasColumnName("webhook_call_id");
 2490
 2491                    b.HasKey("Id")
 2492                        .HasName("pk_webhook_call_attempts");
 2493
 2494                    b.HasIndex("WebhookCallId")
 2495                        .HasDatabaseName("ix_webhook_call_attempts_webhook_call_id");
 2496
 2497                    b.ToTable("webhook_call_attempts", "syki");
 4498                });
 499
 2500            modelBuilder.Entity("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", b =>
 2501                {
 2502                    b.Property<string>("Id")
 2503                        .HasColumnType("text")
 2504                        .HasColumnName("id");
 2505
 2506                    b.Property<Guid>("InstitutionId")
 2507                        .HasColumnType("uuid")
 2508                        .HasColumnName("institution_id");
 2509
 2510                    b.Property<DateOnly>("EndAt")
 2511                        .HasColumnType("date")
 2512                        .HasColumnName("end_at");
 2513
 2514                    b.Property<DateOnly>("StartAt")
 2515                        .HasColumnType("date")
 2516                        .HasColumnName("start_at");
 2517
 2518                    b.HasKey("Id", "InstitutionId")
 2519                        .HasName("pk_academic_periods");
 2520
 2521                    b.HasIndex("InstitutionId")
 2522                        .HasDatabaseName("ix_academic_periods_institution_id");
 2523
 2524                    b.ToTable("academic_periods", "syki");
 4525                });
 526
 2527            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCampus.Campus", b =>
 2528                {
 2529                    b.Property<Guid>("Id")
 2530                        .HasColumnType("uuid")
 2531                        .HasColumnName("id");
 2532
 2533                    b.Property<int>("Capacity")
 2534                        .HasColumnType("integer")
 2535                        .HasColumnName("capacity");
 2536
 2537                    b.Property<string>("City")
 2538                        .IsRequired()
 2539                        .HasColumnType("text")
 2540                        .HasColumnName("city");
 2541
 2542                    b.Property<Guid>("InstitutionId")
 2543                        .HasColumnType("uuid")
 2544                        .HasColumnName("institution_id");
 2545
 2546                    b.Property<string>("Name")
 2547                        .IsRequired()
 2548                        .HasColumnType("text")
 2549                        .HasColumnName("name");
 2550
 2551                    b.Property<string>("State")
 2552                        .IsRequired()
 2553                        .HasColumnType("text")
 2554                        .HasColumnName("state");
 2555
 2556                    b.HasKey("Id")
 2557                        .HasName("pk_campi");
 2558
 2559                    b.HasIndex("InstitutionId")
 2560                        .HasDatabaseName("ix_campi_institution_id");
 2561
 2562                    b.ToTable("campi", "syki");
 4563                });
 564
 2565            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 2566                {
 2567                    b.Property<Guid>("Id")
 2568                        .HasColumnType("uuid")
 2569                        .HasColumnName("id");
 2570
 2571                    b.Property<Guid?>("CampusId")
 2572                        .HasColumnType("uuid")
 2573                        .HasColumnName("campus_id");
 2574
 2575                    b.Property<Guid>("DisciplineId")
 2576                        .HasColumnType("uuid")
 2577                        .HasColumnName("discipline_id");
 2578
 2579                    b.Property<Guid>("InstitutionId")
 2580                        .HasColumnType("uuid")
 2581                        .HasColumnName("institution_id");
 2582
 2583                    b.Property<string>("PeriodId")
 2584                        .IsRequired()
 2585                        .HasColumnType("text")
 2586                        .HasColumnName("period_id");
 2587
 2588                    b.Property<string>("Status")
 2589                        .IsRequired()
 2590                        .HasColumnType("text")
 2591                        .HasColumnName("status");
 2592
 2593                    b.Property<Guid?>("TeacherId")
 2594                        .HasColumnType("uuid")
 2595                        .HasColumnName("teacher_id");
 2596
 2597                    b.Property<int>("Vacancies")
 2598                        .HasColumnType("integer")
 2599                        .HasColumnName("vacancies");
 2600
 2601                    b.Property<int>("Workload")
 2602                        .HasColumnType("integer")
 2603                        .HasColumnName("workload");
 2604
 2605                    b.HasKey("Id")
 2606                        .HasName("pk_classes");
 2607
 2608                    b.HasIndex("CampusId")
 2609                        .HasDatabaseName("ix_classes_campus_id");
 2610
 2611                    b.HasIndex("DisciplineId")
 2612                        .HasDatabaseName("ix_classes_discipline_id");
 2613
 2614                    b.HasIndex("TeacherId")
 2615                        .HasDatabaseName("ix_classes_teacher_id");
 2616
 2617                    b.HasIndex("PeriodId", "InstitutionId")
 2618                        .HasDatabaseName("ix_classes_period_id_institution_id");
 2619
 2620                    b.ToTable("classes", "syki");
 4621                });
 622
 2623            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 2624                {
 2625                    b.Property<Guid>("Id")
 2626                        .HasColumnType("uuid")
 2627                        .HasColumnName("id");
 2628
 2629                    b.Property<Guid>("ClassId")
 2630                        .HasColumnType("uuid")
 2631                        .HasColumnName("class_id");
 2632
 2633                    b.Property<DateOnly>("Date")
 2634                        .HasColumnType("date")
 2635                        .HasColumnName("date");
 2636
 2637                    b.Property<string>("EndAt")
 2638                        .IsRequired()
 2639                        .HasColumnType("text")
 2640                        .HasColumnName("end_at");
 2641
 2642                    b.Property<int>("Number")
 2643                        .HasColumnType("integer")
 2644                        .HasColumnName("number");
 2645
 2646                    b.Property<string>("StartAt")
 2647                        .IsRequired()
 2648                        .HasColumnType("text")
 2649                        .HasColumnName("start_at");
 2650
 2651                    b.Property<string>("Status")
 2652                        .IsRequired()
 2653                        .HasColumnType("text")
 2654                        .HasColumnName("status");
 2655
 2656                    b.HasKey("Id")
 2657                        .HasName("pk_class_lessons");
 2658
 2659                    b.HasIndex("ClassId")
 2660                        .HasDatabaseName("ix_class_lessons_class_id");
 2661
 2662                    b.ToTable("class_lessons", "syki");
 4663                });
 664
 2665            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Schedule", b =>
 2666                {
 2667                    b.Property<Guid>("Id")
 2668                        .HasColumnType("uuid")
 2669                        .HasColumnName("id");
 2670
 2671                    b.Property<Guid?>("ClassId")
 2672                        .HasColumnType("uuid")
 2673                        .HasColumnName("class_id");
 2674
 2675                    b.Property<Guid?>("ClassroomId")
 2676                        .HasColumnType("uuid")
 2677                        .HasColumnName("classroom_id");
 2678
 2679                    b.Property<string>("Day")
 2680                        .IsRequired()
 2681                        .HasColumnType("text")
 2682                        .HasColumnName("day");
 2683
 2684                    b.Property<string>("EndAt")
 2685                        .IsRequired()
 2686                        .HasColumnType("text")
 2687                        .HasColumnName("end_at");
 2688
 2689                    b.Property<string>("StartAt")
 2690                        .IsRequired()
 2691                        .HasColumnType("text")
 2692                        .HasColumnName("start_at");
 2693
 2694                    b.Property<Guid?>("TeacherId")
 2695                        .HasColumnType("uuid")
 2696                        .HasColumnName("teacher_id");
 2697
 2698                    b.HasKey("Id")
 2699                        .HasName("pk_schedules");
 2700
 2701                    b.HasIndex("ClassId")
 2702                        .HasDatabaseName("ix_schedules_class_id");
 2703
 2704                    b.HasIndex("ClassroomId")
 2705                        .HasDatabaseName("ix_schedules_classroom_id");
 2706
 2707                    b.HasIndex("TeacherId")
 2708                        .HasDatabaseName("ix_schedules_teacher_id");
 2709
 2710                    b.ToTable("schedules", "syki");
 4711                });
 712
 2713            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClassroom.Classroom", b =>
 2714                {
 2715                    b.Property<Guid>("Id")
 2716                        .HasColumnType("uuid")
 2717                        .HasColumnName("id");
 2718
 2719                    b.Property<Guid>("CampusId")
 2720                        .HasColumnType("uuid")
 2721                        .HasColumnName("campus_id");
 2722
 2723                    b.Property<int>("Capacity")
 2724                        .HasColumnType("integer")
 2725                        .HasColumnName("capacity");
 2726
 2727                    b.Property<Guid>("InstitutionId")
 2728                        .HasColumnType("uuid")
 2729                        .HasColumnName("institution_id");
 2730
 2731                    b.Property<string>("Name")
 2732                        .IsRequired()
 2733                        .HasColumnType("text")
 2734                        .HasColumnName("name");
 2735
 2736                    b.HasKey("Id")
 2737                        .HasName("pk_classrooms");
 2738
 2739                    b.HasIndex("CampusId")
 2740                        .HasDatabaseName("ix_classrooms_campus_id");
 2741
 2742                    b.HasIndex("InstitutionId")
 2743                        .HasDatabaseName("ix_classrooms_institution_id");
 2744
 2745                    b.ToTable("classrooms", "syki");
 4746                });
 747
 2748            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 2749                {
 2750                    b.Property<Guid>("Id")
 2751                        .HasColumnType("uuid")
 2752                        .HasColumnName("id");
 2753
 2754                    b.Property<Guid>("InstitutionId")
 2755                        .HasColumnType("uuid")
 2756                        .HasColumnName("institution_id");
 2757
 2758                    b.Property<string>("Name")
 2759                        .IsRequired()
 2760                        .HasColumnType("text")
 2761                        .HasColumnName("name");
 2762
 2763                    b.Property<string>("Type")
 2764                        .IsRequired()
 2765                        .HasColumnType("text")
 2766                        .HasColumnName("type");
 2767
 2768                    b.HasKey("Id")
 2769                        .HasName("pk_courses");
 2770
 2771                    b.HasIndex("InstitutionId")
 2772                        .HasDatabaseName("ix_courses_institution_id");
 2773
 2774                    b.ToTable("courses", "syki");
 4775                });
 776
 2777            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 2778                {
 2779                    b.Property<Guid>("Id")
 2780                        .HasColumnType("uuid")
 2781                        .HasColumnName("id");
 2782
 2783                    b.Property<Guid>("CourseId")
 2784                        .HasColumnType("uuid")
 2785                        .HasColumnName("course_id");
 2786
 2787                    b.Property<Guid>("InstitutionId")
 2788                        .HasColumnType("uuid")
 2789                        .HasColumnName("institution_id");
 2790
 2791                    b.Property<string>("Name")
 2792                        .IsRequired()
 2793                        .HasColumnType("text")
 2794                        .HasColumnName("name");
 2795
 2796                    b.HasKey("Id")
 2797                        .HasName("pk_course_curriculums");
 2798
 2799                    b.HasIndex("CourseId")
 2800                        .HasDatabaseName("ix_course_curriculums_course_id");
 2801
 2802                    b.HasIndex("InstitutionId")
 2803                        .HasDatabaseName("ix_course_curriculums_institution_id");
 2804
 2805                    b.ToTable("course_curriculums", "syki");
 4806                });
 807
 2808            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculumDiscipline", b =>
 2809                {
 2810                    b.Property<Guid>("CourseCurriculumId")
 2811                        .HasColumnType("uuid")
 2812                        .HasColumnName("course_curriculum_id");
 2813
 2814                    b.Property<Guid>("DisciplineId")
 2815                        .HasColumnType("uuid")
 2816                        .HasColumnName("discipline_id");
 2817
 2818                    b.Property<byte>("Credits")
 2819                        .HasColumnType("smallint")
 2820                        .HasColumnName("credits");
 2821
 2822                    b.Property<byte>("Period")
 2823                        .HasColumnType("smallint")
 2824                        .HasColumnName("period");
 2825
 2826                    b.PrimitiveCollection<List<Guid>>("PreRequisites")
 2827                        .HasColumnType("uuid[]")
 2828                        .HasColumnName("pre_requisites");
 2829
 2830                    b.Property<int>("Workload")
 2831                        .HasColumnType("integer")
 2832                        .HasColumnName("workload");
 2833
 2834                    b.HasKey("CourseCurriculumId", "DisciplineId")
 2835                        .HasName("pk_course_curriculums__disciplines");
 2836
 2837                    b.HasIndex("DisciplineId")
 2838                        .HasDatabaseName("ix_course_curriculums__disciplines_discipline_id");
 2839
 2840                    b.ToTable("course_curriculums__disciplines", "syki");
 4841                });
 842
 2843            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", b =>
 2844                {
 2845                    b.Property<Guid>("Id")
 2846                        .HasColumnType("uuid")
 2847                        .HasColumnName("id");
 2848
 2849                    b.Property<Guid>("CampusId")
 2850                        .HasColumnType("uuid")
 2851                        .HasColumnName("campus_id");
 2852
 2853                    b.Property<Guid>("CourseCurriculumId")
 2854                        .HasColumnType("uuid")
 2855                        .HasColumnName("course_curriculum_id");
 2856
 2857                    b.Property<Guid>("CourseId")
 2858                        .HasColumnType("uuid")
 2859                        .HasColumnName("course_id");
 2860
 2861                    b.Property<Guid>("InstitutionId")
 2862                        .HasColumnType("uuid")
 2863                        .HasColumnName("institution_id");
 2864
 2865                    b.Property<string>("Period")
 2866                        .IsRequired()
 2867                        .HasColumnType("text")
 2868                        .HasColumnName("period");
 2869
 2870                    b.Property<string>("Shift")
 2871                        .IsRequired()
 2872                        .HasColumnType("text")
 2873                        .HasColumnName("shift");
 2874
 2875                    b.HasKey("Id")
 2876                        .HasName("pk_course_offerings");
 2877
 2878                    b.HasIndex("CampusId")
 2879                        .HasDatabaseName("ix_course_offerings_campus_id");
 2880
 2881                    b.HasIndex("CourseCurriculumId")
 2882                        .HasDatabaseName("ix_course_offerings_course_curriculum_id");
 2883
 2884                    b.HasIndex("CourseId")
 2885                        .HasDatabaseName("ix_course_offerings_course_id");
 2886
 2887                    b.HasIndex("InstitutionId")
 2888                        .HasDatabaseName("ix_course_offerings_institution_id");
 2889
 2890                    b.HasIndex("Period", "InstitutionId")
 2891                        .HasDatabaseName("ix_course_offerings_period_institution_id");
 2892
 2893                    b.ToTable("course_offerings", "syki");
 4894                });
 895
 2896            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.CourseDiscipline", b =>
 2897                {
 2898                    b.Property<Guid>("CourseId")
 2899                        .HasColumnType("uuid")
 2900                        .HasColumnName("course_id");
 2901
 2902                    b.Property<Guid>("DisciplineId")
 2903                        .HasColumnType("uuid")
 2904                        .HasColumnName("discipline_id");
 2905
 2906                    b.HasKey("CourseId", "DisciplineId")
 2907                        .HasName("pk_courses__disciplines");
 2908
 2909                    b.HasIndex("DisciplineId")
 2910                        .HasDatabaseName("ix_courses__disciplines_discipline_id");
 2911
 2912                    b.ToTable("courses__disciplines", "syki");
 4913                });
 914
 2915            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 2916                {
 2917                    b.Property<Guid>("Id")
 2918                        .HasColumnType("uuid")
 2919                        .HasColumnName("id");
 2920
 2921                    b.Property<string>("Code")
 2922                        .IsRequired()
 2923                        .HasColumnType("text")
 2924                        .HasColumnName("code");
 2925
 2926                    b.Property<Guid>("InstitutionId")
 2927                        .HasColumnType("uuid")
 2928                        .HasColumnName("institution_id");
 2929
 2930                    b.Property<string>("Name")
 2931                        .IsRequired()
 2932                        .HasColumnType("text")
 2933                        .HasColumnName("name");
 2934
 2935                    b.HasKey("Id")
 2936                        .HasName("pk_disciplines");
 2937
 2938                    b.HasIndex("InstitutionId")
 2939                        .HasDatabaseName("ix_disciplines_institution_id");
 2940
 2941                    b.ToTable("disciplines", "syki");
 4942                });
 943
 2944            modelBuilder.Entity("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", b =>
 2945                {
 2946                    b.Property<string>("Id")
 2947                        .HasColumnType("text")
 2948                        .HasColumnName("id");
 2949
 2950                    b.Property<Guid>("InstitutionId")
 2951                        .HasColumnType("uuid")
 2952                        .HasColumnName("institution_id");
 2953
 2954                    b.Property<DateOnly>("EndAt")
 2955                        .HasColumnType("date")
 2956                        .HasColumnName("end_at");
 2957
 2958                    b.Property<DateOnly>("StartAt")
 2959                        .HasColumnType("date")
 2960                        .HasColumnName("start_at");
 2961
 2962                    b.HasKey("Id", "InstitutionId")
 2963                        .HasName("pk_enrollment_periods");
 2964
 2965                    b.ToTable("enrollment_periods", "syki");
 4966                });
 967
 2968            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 2969                {
 2970                    b.Property<Guid>("Id")
 2971                        .HasColumnType("uuid")
 2972                        .HasColumnName("id");
 2973
 2974                    b.Property<DateTime>("CreatedAt")
 2975                        .HasColumnType("timestamp with time zone")
 2976                        .HasColumnName("created_at");
 2977
 2978                    b.Property<string>("Description")
 2979                        .IsRequired()
 2980                        .HasColumnType("text")
 2981                        .HasColumnName("description");
 2982
 2983                    b.Property<Guid>("InstitutionId")
 2984                        .HasColumnType("uuid")
 2985                        .HasColumnName("institution_id");
 2986
 2987                    b.Property<string>("Target")
 2988                        .IsRequired()
 2989                        .HasColumnType("text")
 2990                        .HasColumnName("target");
 2991
 2992                    b.Property<bool>("Timeless")
 2993                        .HasColumnType("boolean")
 2994                        .HasColumnName("timeless");
 2995
 2996                    b.Property<string>("Title")
 2997                        .IsRequired()
 2998                        .HasColumnType("text")
 2999                        .HasColumnName("title");
 21000
 21001                    b.HasKey("Id")
 21002                        .HasName("pk_notifications");
 21003
 21004                    b.HasIndex("InstitutionId")
 21005                        .HasDatabaseName("ix_notifications_institution_id");
 21006
 21007                    b.ToTable("notifications", "syki");
 41008                });
 1009
 21010            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.UserNotification", b =>
 21011                {
 21012                    b.Property<Guid>("UserId")
 21013                        .HasColumnType("uuid")
 21014                        .HasColumnName("user_id");
 21015
 21016                    b.Property<Guid>("NotificationId")
 21017                        .HasColumnType("uuid")
 21018                        .HasColumnName("notification_id");
 21019
 21020                    b.Property<DateTime?>("ViewedAt")
 21021                        .HasColumnType("timestamp with time zone")
 21022                        .HasColumnName("viewed_at");
 21023
 21024                    b.HasKey("UserId", "NotificationId")
 21025                        .HasName("pk_users__notifications");
 21026
 21027                    b.HasIndex("NotificationId")
 21028                        .HasDatabaseName("ix_users__notifications_notification_id");
 21029
 21030                    b.ToTable("users__notifications", "syki");
 41031                });
 1032
 21033            modelBuilder.Entity("Syki.Back.Features.Academic.CreateStudent.SykiStudent", b =>
 21034                {
 21035                    b.Property<Guid>("Id")
 21036                        .HasColumnType("uuid")
 21037                        .HasColumnName("id");
 21038
 21039                    b.Property<Guid>("CourseOfferingId")
 21040                        .HasColumnType("uuid")
 21041                        .HasColumnName("course_offering_id");
 21042
 21043                    b.Property<string>("EnrollmentCode")
 21044                        .IsRequired()
 21045                        .HasColumnType("text")
 21046                        .HasColumnName("enrollment_code");
 21047
 21048                    b.Property<Guid>("InstitutionId")
 21049                        .HasColumnType("uuid")
 21050                        .HasColumnName("institution_id");
 21051
 21052                    b.Property<string>("Name")
 21053                        .IsRequired()
 21054                        .HasColumnType("text")
 21055                        .HasColumnName("name");
 21056
 21057                    b.Property<string>("Status")
 21058                        .IsRequired()
 21059                        .HasColumnType("text")
 21060                        .HasColumnName("status");
 21061
 21062                    b.Property<decimal>("YieldCoefficient")
 21063                        .HasPrecision(4, 2)
 21064                        .HasColumnType("numeric(4,2)")
 21065                        .HasColumnName("yield_coefficient");
 21066
 21067                    b.HasKey("Id")
 21068                        .HasName("pk_students");
 21069
 21070                    b.HasIndex("CourseOfferingId")
 21071                        .HasDatabaseName("ix_students_course_offering_id");
 21072
 21073                    b.HasIndex("EnrollmentCode")
 21074                        .IsUnique()
 21075                        .HasDatabaseName("ix_students_enrollment_code");
 21076
 21077                    b.HasIndex("InstitutionId", "Id")
 21078                        .IsUnique()
 21079                        .HasDatabaseName("ix_students_institution_id_id");
 21080
 21081                    b.ToTable("students", "syki");
 41082                });
 1083
 21084            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 21085                {
 21086                    b.Property<Guid>("Id")
 21087                        .HasColumnType("uuid")
 21088                        .HasColumnName("id");
 21089
 21090                    b.Property<Guid>("InstitutionId")
 21091                        .HasColumnType("uuid")
 21092                        .HasColumnName("institution_id");
 21093
 21094                    b.Property<string>("Name")
 21095                        .IsRequired()
 21096                        .HasColumnType("text")
 21097                        .HasColumnName("name");
 21098
 21099                    b.HasKey("Id")
 21100                        .HasName("pk_teachers");
 21101
 21102                    b.HasIndex("InstitutionId", "Id")
 21103                        .IsUnique()
 21104                        .HasDatabaseName("ix_teachers_institution_id_id");
 21105
 21106                    b.ToTable("teachers", "syki");
 41107                });
 1108
 21109            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.TeacherCampus", b =>
 21110                {
 21111                    b.Property<Guid>("SykiTeacherId")
 21112                        .HasColumnType("uuid")
 21113                        .HasColumnName("syki_teacher_id");
 21114
 21115                    b.Property<Guid>("CampusId")
 21116                        .HasColumnType("uuid")
 21117                        .HasColumnName("campus_id");
 21118
 21119                    b.HasKey("SykiTeacherId", "CampusId")
 21120                        .HasName("pk_teachers__campi");
 21121
 21122                    b.HasIndex("CampusId")
 21123                        .HasDatabaseName("ix_teachers__campi_campus_id");
 21124
 21125                    b.ToTable("teachers__campi", "syki");
 41126                });
 1127
 21128            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.TeacherDiscipline", b =>
 21129                {
 21130                    b.Property<Guid>("SykiTeacherId")
 21131                        .HasColumnType("uuid")
 21132                        .HasColumnName("syki_teacher_id");
 21133
 21134                    b.Property<Guid>("DisciplineId")
 21135                        .HasColumnType("uuid")
 21136                        .HasColumnName("discipline_id");
 21137
 21138                    b.HasKey("SykiTeacherId", "DisciplineId")
 21139                        .HasName("pk_teachers__disciplines");
 21140
 21141                    b.HasIndex("DisciplineId")
 21142                        .HasDatabaseName("ix_teachers__disciplines_discipline_id");
 21143
 21144                    b.ToTable("teachers__disciplines", "syki");
 41145                });
 1146
 21147            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", b =>
 21148                {
 21149                    b.Property<Guid>("Id")
 21150                        .HasColumnType("uuid")
 21151                        .HasColumnName("id");
 21152
 21153                    b.Property<string>("ApiKey")
 21154                        .IsRequired()
 21155                        .HasColumnType("text")
 21156                        .HasColumnName("api_key");
 21157
 21158                    b.Property<string>("Type")
 21159                        .IsRequired()
 21160                        .HasColumnType("text")
 21161                        .HasColumnName("type");
 21162
 21163                    b.Property<Guid>("WebhookId")
 21164                        .HasColumnType("uuid")
 21165                        .HasColumnName("webhook_id");
 21166
 21167                    b.HasKey("Id")
 21168                        .HasName("pk_webhook_authentications");
 21169
 21170                    b.HasIndex("WebhookId")
 21171                        .IsUnique()
 21172                        .HasDatabaseName("ix_webhook_authentications_webhook_id");
 21173
 21174                    b.ToTable("webhook_authentications", "syki");
 41175                });
 1176
 21177            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 21178                {
 21179                    b.Property<Guid>("Id")
 21180                        .HasColumnType("uuid")
 21181                        .HasColumnName("id");
 21182
 21183                    b.Property<DateTime>("CreatedAt")
 21184                        .HasColumnType("timestamp with time zone")
 21185                        .HasColumnName("created_at");
 21186
 21187                    b.PrimitiveCollection<string[]>("Events")
 21188                        .IsRequired()
 21189                        .HasColumnType("text[]")
 21190                        .HasColumnName("events");
 21191
 21192                    b.Property<Guid>("InstitutionId")
 21193                        .HasColumnType("uuid")
 21194                        .HasColumnName("institution_id");
 21195
 21196                    b.Property<string>("Name")
 21197                        .IsRequired()
 21198                        .HasColumnType("text")
 21199                        .HasColumnName("name");
 21200
 21201                    b.Property<string>("Url")
 21202                        .IsRequired()
 21203                        .HasColumnType("text")
 21204                        .HasColumnName("url");
 21205
 21206                    b.HasKey("Id")
 21207                        .HasName("pk_webhook_subscriptions");
 21208
 21209                    b.HasIndex("InstitutionId")
 21210                        .HasDatabaseName("ix_webhook_subscriptions_institution_id");
 21211
 21212                    b.ToTable("webhook_subscriptions", "syki");
 41213                });
 1214
 21215            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.Institution", b =>
 21216                {
 21217                    b.Property<Guid>("Id")
 21218                        .HasColumnType("uuid")
 21219                        .HasColumnName("id");
 21220
 21221                    b.Property<DateTime>("CreatedAt")
 21222                        .HasColumnType("timestamp with time zone")
 21223                        .HasColumnName("created_at");
 21224
 21225                    b.Property<string>("Name")
 21226                        .IsRequired()
 21227                        .HasColumnType("text")
 21228                        .HasColumnName("name");
 21229
 21230                    b.HasKey("Id")
 21231                        .HasName("pk_institutions");
 21232
 21233                    b.ToTable("institutions", "syki");
 41234                });
 1235
 21236            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", b =>
 21237                {
 21238                    b.Property<Guid>("InstitutionId")
 21239                        .HasColumnType("uuid")
 21240                        .HasColumnName("institution_id");
 21241
 21242                    b.Property<decimal>("FrequencyLimit")
 21243                        .HasPrecision(4, 2)
 21244                        .HasColumnType("numeric(4,2)")
 21245                        .HasColumnName("frequency_limit");
 21246
 21247                    b.Property<decimal>("NoteLimit")
 21248                        .HasColumnType("numeric")
 21249                        .HasColumnName("note_limit");
 21250
 21251                    b.HasKey("InstitutionId")
 21252                        .HasName("pk_institution_configs");
 21253
 21254                    b.ToTable("institution_configs", "syki");
 41255                });
 1256
 21257            modelBuilder.Entity("Syki.Back.Features.Cross.CreatePendingUserRegister.UserRegister", b =>
 21258                {
 21259                    b.Property<Guid>("Id")
 21260                        .HasColumnType("uuid")
 21261                        .HasColumnName("id");
 21262
 21263                    b.Property<string>("Email")
 21264                        .IsRequired()
 21265                        .HasColumnType("text")
 21266                        .HasColumnName("email");
 21267
 21268                    b.Property<Guid>("InstitutionId")
 21269                        .HasColumnType("uuid")
 21270                        .HasColumnName("institution_id");
 21271
 21272                    b.Property<string>("Status")
 21273                        .IsRequired()
 21274                        .HasColumnType("text")
 21275                        .HasColumnName("status");
 21276
 21277                    b.HasKey("Id")
 21278                        .HasName("pk_user_registers");
 21279
 21280                    b.HasIndex("Email")
 21281                        .IsUnique()
 21282                        .HasDatabaseName("ix_user_registers_email");
 21283
 21284                    b.ToTable("user_registers", "syki");
 41285                });
 1286
 21287            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiRole", b =>
 21288                {
 21289                    b.Property<Guid>("Id")
 21290                        .ValueGeneratedOnAdd()
 21291                        .HasColumnType("uuid")
 21292                        .HasColumnName("id");
 21293
 21294                    b.Property<string>("ConcurrencyStamp")
 21295                        .IsConcurrencyToken()
 21296                        .HasColumnType("text")
 21297                        .HasColumnName("concurrency_stamp");
 21298
 21299                    b.Property<string>("Name")
 21300                        .HasMaxLength(256)
 21301                        .HasColumnType("character varying(256)")
 21302                        .HasColumnName("name");
 21303
 21304                    b.Property<string>("NormalizedName")
 21305                        .HasMaxLength(256)
 21306                        .HasColumnType("character varying(256)")
 21307                        .HasColumnName("normalized_name");
 21308
 21309                    b.HasKey("Id")
 21310                        .HasName("pk_roles");
 21311
 21312                    b.HasIndex("NormalizedName")
 21313                        .IsUnique()
 21314                        .HasDatabaseName("role_name_index");
 21315
 21316                    b.ToTable("roles", "syki");
 21317
 21318                    b.HasData(
 21319                        new
 21320                        {
 21321                            Id = new Guid("5912ebe1-9e6a-4ce1-90bf-8490534fb4e1"),
 21322                            ConcurrencyStamp = "5912ebe1-9e6a-4ce1-90bf-8490534fb4e1",
 21323                            Name = "Adm",
 21324                            NormalizedName = "ADM"
 21325                        },
 21326                        new
 21327                        {
 21328                            Id = new Guid("78691a7a-f554-42d7-a5cf-8d474b6de0dd"),
 21329                            ConcurrencyStamp = "78691a7a-f554-42d7-a5cf-8d474b6de0dd",
 21330                            Name = "Academic",
 21331                            NormalizedName = "ACADEMIC"
 21332                        },
 21333                        new
 21334                        {
 21335                            Id = new Guid("ca6f394f-6fd9-48cc-90a8-b379636a24e7"),
 21336                            ConcurrencyStamp = "ca6f394f-6fd9-48cc-90a8-b379636a24e7",
 21337                            Name = "Teacher",
 21338                            NormalizedName = "TEACHER"
 21339                        },
 21340                        new
 21341                        {
 21342                            Id = new Guid("f9ad5139-06c3-4ce2-9748-ecc498b087c7"),
 21343                            ConcurrencyStamp = "f9ad5139-06c3-4ce2-9748-ecc498b087c7",
 21344                            Name = "Student",
 21345                            NormalizedName = "STUDENT"
 21346                        });
 41347                });
 1348
 21349            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiUser", b =>
 21350                {
 21351                    b.Property<Guid>("Id")
 21352                        .ValueGeneratedOnAdd()
 21353                        .HasColumnType("uuid")
 21354                        .HasColumnName("id");
 21355
 21356                    b.Property<int>("AccessFailedCount")
 21357                        .HasColumnType("integer")
 21358                        .HasColumnName("access_failed_count");
 21359
 21360                    b.Property<string>("ConcurrencyStamp")
 21361                        .IsConcurrencyToken()
 21362                        .HasColumnType("text")
 21363                        .HasColumnName("concurrency_stamp");
 21364
 21365                    b.Property<DateTime>("CreatedAt")
 21366                        .HasColumnType("timestamp with time zone")
 21367                        .HasColumnName("created_at");
 21368
 21369                    b.Property<string>("Email")
 21370                        .HasMaxLength(256)
 21371                        .HasColumnType("character varying(256)")
 21372                        .HasColumnName("email");
 21373
 21374                    b.Property<bool>("EmailConfirmed")
 21375                        .HasColumnType("boolean")
 21376                        .HasColumnName("email_confirmed");
 21377
 21378                    b.Property<Guid>("InstitutionId")
 21379                        .HasColumnType("uuid")
 21380                        .HasColumnName("institution_id");
 21381
 21382                    b.Property<bool>("LockoutEnabled")
 21383                        .HasColumnType("boolean")
 21384                        .HasColumnName("lockout_enabled");
 21385
 21386                    b.Property<DateTimeOffset?>("LockoutEnd")
 21387                        .HasColumnType("timestamp with time zone")
 21388                        .HasColumnName("lockout_end");
 21389
 21390                    b.Property<string>("Name")
 21391                        .IsRequired()
 21392                        .HasColumnType("text")
 21393                        .HasColumnName("name");
 21394
 21395                    b.Property<string>("NormalizedEmail")
 21396                        .HasMaxLength(256)
 21397                        .HasColumnType("character varying(256)")
 21398                        .HasColumnName("normalized_email");
 21399
 21400                    b.Property<string>("NormalizedUserName")
 21401                        .HasMaxLength(256)
 21402                        .HasColumnType("character varying(256)")
 21403                        .HasColumnName("normalized_user_name");
 21404
 21405                    b.Property<string>("PasswordHash")
 21406                        .HasColumnType("text")
 21407                        .HasColumnName("password_hash");
 21408
 21409                    b.Property<string>("PhoneNumber")
 21410                        .HasColumnType("text")
 21411                        .HasColumnName("phone_number");
 21412
 21413                    b.Property<bool>("PhoneNumberConfirmed")
 21414                        .HasColumnType("boolean")
 21415                        .HasColumnName("phone_number_confirmed");
 21416
 21417                    b.Property<string>("ProfilePhoto")
 21418                        .HasColumnType("text")
 21419                        .HasColumnName("profile_photo");
 21420
 21421                    b.Property<string>("SecurityStamp")
 21422                        .HasColumnType("text")
 21423                        .HasColumnName("security_stamp");
 21424
 21425                    b.Property<bool>("TwoFactorEnabled")
 21426                        .HasColumnType("boolean")
 21427                        .HasColumnName("two_factor_enabled");
 21428
 21429                    b.Property<string>("UserName")
 21430                        .HasMaxLength(256)
 21431                        .HasColumnType("character varying(256)")
 21432                        .HasColumnName("user_name");
 21433
 21434                    b.HasKey("Id")
 21435                        .HasName("pk_users");
 21436
 21437                    b.HasAlternateKey("InstitutionId", "Id")
 21438                        .HasName("ak_asp_net_users_institution_id_id");
 21439
 21440                    b.HasIndex("NormalizedEmail")
 21441                        .HasDatabaseName("email_index");
 21442
 21443                    b.HasIndex("NormalizedUserName")
 21444                        .IsUnique()
 21445                        .HasDatabaseName("user_name_index");
 21446
 21447                    b.ToTable("users", "syki");
 41448                });
 1449
 21450            modelBuilder.Entity("Syki.Back.Features.Cross.SendResetPasswordToken.ResetPasswordToken", b =>
 21451                {
 21452                    b.Property<Guid>("Id")
 21453                        .HasColumnType("uuid")
 21454                        .HasColumnName("id");
 21455
 21456                    b.Property<DateTime>("CreatedAt")
 21457                        .HasColumnType("timestamp with time zone")
 21458                        .HasColumnName("created_at");
 21459
 21460                    b.Property<Guid>("InstitutionId")
 21461                        .HasColumnType("uuid")
 21462                        .HasColumnName("institution_id");
 21463
 21464                    b.Property<string>("Token")
 21465                        .IsRequired()
 21466                        .HasColumnType("text")
 21467                        .HasColumnName("token");
 21468
 21469                    b.Property<DateTime?>("UsedAt")
 21470                        .HasColumnType("timestamp with time zone")
 21471                        .HasColumnName("used_at");
 21472
 21473                    b.Property<Guid>("UserId")
 21474                        .HasColumnType("uuid")
 21475                        .HasColumnName("user_id");
 21476
 21477                    b.HasKey("Id")
 21478                        .HasName("pk_reset_password_tokens");
 21479
 21480                    b.HasIndex("InstitutionId")
 21481                        .HasDatabaseName("ix_reset_password_tokens_institution_id");
 21482
 21483                    b.HasIndex("Token")
 21484                        .IsUnique()
 21485                        .HasDatabaseName("ix_reset_password_tokens_token");
 21486
 21487                    b.HasIndex("UserId")
 21488                        .HasDatabaseName("ix_reset_password_tokens_user_id");
 21489
 21490                    b.ToTable("reset_password_tokens", "syki");
 41491                });
 1492
 21493            modelBuilder.Entity("Syki.Back.Features.Cross.SetupFeatureFlags.FeatureFlags", b =>
 21494                {
 21495                    b.Property<Guid>("Id")
 21496                        .HasColumnType("uuid")
 21497                        .HasColumnName("id");
 21498
 21499                    b.Property<bool>("CrossLogin")
 21500                        .HasColumnType("boolean")
 21501                        .HasColumnName("cross_login");
 21502
 21503                    b.HasKey("Id")
 21504                        .HasName("pk_feature_flags");
 21505
 21506                    b.ToTable("feature_flags", "syki");
 41507                });
 1508
 21509            modelBuilder.Entity("Syki.Back.Features.Student.CreateClassActivityWork.ClassActivityWork", b =>
 21510                {
 21511                    b.Property<Guid>("Id")
 21512                        .HasColumnType("uuid")
 21513                        .HasColumnName("id");
 21514
 21515                    b.Property<Guid>("ClassActivityId")
 21516                        .HasColumnType("uuid")
 21517                        .HasColumnName("class_activity_id");
 21518
 21519                    b.Property<string>("Link")
 21520                        .HasColumnType("text")
 21521                        .HasColumnName("link");
 21522
 21523                    b.Property<decimal>("Note")
 21524                        .HasColumnType("numeric")
 21525                        .HasColumnName("note");
 21526
 21527                    b.Property<string>("Status")
 21528                        .IsRequired()
 21529                        .HasColumnType("text")
 21530                        .HasColumnName("status");
 21531
 21532                    b.Property<Guid>("SykiStudentId")
 21533                        .HasColumnType("uuid")
 21534                        .HasColumnName("syki_student_id");
 21535
 21536                    b.HasKey("Id")
 21537                        .HasName("pk_class_activity_works");
 21538
 21539                    b.HasIndex("ClassActivityId")
 21540                        .HasDatabaseName("ix_class_activity_works_class_activity_id");
 21541
 21542                    b.HasIndex("SykiStudentId")
 21543                        .HasDatabaseName("ix_class_activity_works_syki_student_id");
 21544
 21545                    b.ToTable("class_activity_works", "syki");
 41546                });
 1547
 21548            modelBuilder.Entity("Syki.Back.Features.Student.CreateStudentEnrollment.ClassStudent", b =>
 21549                {
 21550                    b.Property<Guid>("ClassId")
 21551                        .HasColumnType("uuid")
 21552                        .HasColumnName("class_id");
 21553
 21554                    b.Property<Guid>("SykiStudentId")
 21555                        .HasColumnType("uuid")
 21556                        .HasColumnName("syki_student_id");
 21557
 21558                    b.Property<string>("StudentDisciplineStatus")
 21559                        .IsRequired()
 21560                        .HasColumnType("text")
 21561                        .HasColumnName("student_discipline_status");
 21562
 21563                    b.HasKey("ClassId", "SykiStudentId")
 21564                        .HasName("pk_classes__students");
 21565
 21566                    b.HasIndex("SykiStudentId")
 21567                        .HasDatabaseName("ix_classes__students_syki_student_id");
 21568
 21569                    b.ToTable("classes__students", "syki");
 41570                });
 1571
 21572            modelBuilder.Entity("Syki.Back.Features.Teacher.AddClassActivityNote.StudentClassNote", b =>
 21573                {
 21574                    b.Property<Guid>("Id")
 21575                        .HasColumnType("uuid")
 21576                        .HasColumnName("id");
 21577
 21578                    b.Property<Guid>("ClassId")
 21579                        .HasColumnType("uuid")
 21580                        .HasColumnName("class_id");
 21581
 21582                    b.Property<decimal>("Note")
 21583                        .HasPrecision(4, 2)
 21584                        .HasColumnType("numeric(4,2)")
 21585                        .HasColumnName("note");
 21586
 21587                    b.Property<Guid>("StudentId")
 21588                        .HasColumnType("uuid")
 21589                        .HasColumnName("student_id");
 21590
 21591                    b.Property<string>("Type")
 21592                        .IsRequired()
 21593                        .HasColumnType("text")
 21594                        .HasColumnName("type");
 21595
 21596                    b.HasKey("Id")
 21597                        .HasName("pk_student_class_notes");
 21598
 21599                    b.HasIndex("StudentId")
 21600                        .HasDatabaseName("ix_student_class_notes_student_id");
 21601
 21602                    b.HasIndex("ClassId", "StudentId", "Type")
 21603                        .IsUnique()
 21604                        .HasDatabaseName("ix_student_class_notes_class_id_student_id_type");
 21605
 21606                    b.ToTable("student_class_notes", "syki");
 41607                });
 1608
 21609            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 21610                {
 21611                    b.Property<Guid>("Id")
 21612                        .HasColumnType("uuid")
 21613                        .HasColumnName("id");
 21614
 21615                    b.Property<Guid>("ClassId")
 21616                        .HasColumnType("uuid")
 21617                        .HasColumnName("class_id");
 21618
 21619                    b.Property<DateTime>("CreatedAt")
 21620                        .HasColumnType("timestamp with time zone")
 21621                        .HasColumnName("created_at");
 21622
 21623                    b.Property<string>("Description")
 21624                        .IsRequired()
 21625                        .HasColumnType("text")
 21626                        .HasColumnName("description");
 21627
 21628                    b.Property<DateOnly>("DueDate")
 21629                        .HasColumnType("date")
 21630                        .HasColumnName("due_date");
 21631
 21632                    b.Property<string>("DueHour")
 21633                        .IsRequired()
 21634                        .HasColumnType("text")
 21635                        .HasColumnName("due_hour");
 21636
 21637                    b.Property<string>("Note")
 21638                        .IsRequired()
 21639                        .HasColumnType("text")
 21640                        .HasColumnName("note");
 21641
 21642                    b.Property<string>("Status")
 21643                        .IsRequired()
 21644                        .HasColumnType("text")
 21645                        .HasColumnName("status");
 21646
 21647                    b.Property<string>("Title")
 21648                        .IsRequired()
 21649                        .HasColumnType("text")
 21650                        .HasColumnName("title");
 21651
 21652                    b.Property<string>("Type")
 21653                        .IsRequired()
 21654                        .HasColumnType("text")
 21655                        .HasColumnName("type");
 21656
 21657                    b.Property<int>("Weight")
 21658                        .HasColumnType("integer")
 21659                        .HasColumnName("weight");
 21660
 21661                    b.HasKey("Id")
 21662                        .HasName("pk_class_activities");
 21663
 21664                    b.HasIndex("ClassId")
 21665                        .HasDatabaseName("ix_class_activities_class_id");
 21666
 21667                    b.ToTable("class_activities", "syki");
 41668                });
 1669
 21670            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateLessonAttendance.ClassLessonAttendance", b =>
 21671                {
 21672                    b.Property<Guid>("Id")
 21673                        .HasColumnType("uuid")
 21674                        .HasColumnName("id");
 21675
 21676                    b.Property<Guid>("ClassId")
 21677                        .HasColumnType("uuid")
 21678                        .HasColumnName("class_id");
 21679
 21680                    b.Property<Guid>("LessonId")
 21681                        .HasColumnType("uuid")
 21682                        .HasColumnName("lesson_id");
 21683
 21684                    b.Property<bool>("Present")
 21685                        .HasColumnType("boolean")
 21686                        .HasColumnName("present");
 21687
 21688                    b.Property<Guid>("StudentId")
 21689                        .HasColumnType("uuid")
 21690                        .HasColumnName("student_id");
 21691
 21692                    b.HasKey("Id")
 21693                        .HasName("pk_class_lesson_attendances");
 21694
 21695                    b.HasIndex("ClassId")
 21696                        .HasDatabaseName("ix_class_lesson_attendances_class_id");
 21697
 21698                    b.HasIndex("StudentId")
 21699                        .HasDatabaseName("ix_class_lesson_attendances_student_id");
 21700
 21701                    b.HasIndex("LessonId", "StudentId")
 21702                        .IsUnique()
 21703                        .HasDatabaseName("ix_class_lesson_attendances_lesson_id_student_id");
 21704
 21705                    b.ToTable("class_lesson_attendances", "syki");
 41706                });
 1707
 21708            modelBuilder.Entity("Syki.Back.Metrics.RequestMetrics", b =>
 21709                {
 21710                    b.Property<Guid>("Id")
 21711                        .HasColumnType("uuid")
 21712                        .HasColumnName("id");
 21713
 21714                    b.Property<DateTime>("Start")
 21715                        .HasColumnType("timestamp with time zone")
 21716                        .HasColumnName("start");
 21717
 21718                    b.Property<DateTime>("Stop")
 21719                        .HasColumnType("timestamp with time zone")
 21720                        .HasColumnName("stop");
 21721
 21722                    b.HasKey("Id")
 21723                        .HasName("pk_request_metrics");
 21724
 21725                    b.ToTable("request_metrics", "syki");
 41726                });
 1727
 21728            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
 21729                {
 21730                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiRole", null)
 21731                        .WithMany()
 21732                        .HasForeignKey("RoleId")
 21733                        .OnDelete(DeleteBehavior.Cascade)
 21734                        .IsRequired()
 21735                        .HasConstraintName("fk_role_claims_asp_net_roles_role_id");
 41736                });
 1737
 21738            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
 21739                {
 21740                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21741                        .WithMany()
 21742                        .HasForeignKey("UserId")
 21743                        .OnDelete(DeleteBehavior.Cascade)
 21744                        .IsRequired()
 21745                        .HasConstraintName("fk_user_claims_asp_net_users_user_id");
 41746                });
 1747
 21748            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
 21749                {
 21750                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21751                        .WithMany()
 21752                        .HasForeignKey("UserId")
 21753                        .OnDelete(DeleteBehavior.Cascade)
 21754                        .IsRequired()
 21755                        .HasConstraintName("fk_user_logins_asp_net_users_user_id");
 41756                });
 1757
 21758            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
 21759                {
 21760                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiRole", null)
 21761                        .WithMany()
 21762                        .HasForeignKey("RoleId")
 21763                        .OnDelete(DeleteBehavior.Cascade)
 21764                        .IsRequired()
 21765                        .HasConstraintName("fk_user_roles_asp_net_roles_role_id");
 21766
 21767                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21768                        .WithMany()
 21769                        .HasForeignKey("UserId")
 21770                        .OnDelete(DeleteBehavior.Cascade)
 21771                        .IsRequired()
 21772                        .HasConstraintName("fk_user_roles_asp_net_users_user_id");
 41773                });
 1774
 21775            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
 21776                {
 21777                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21778                        .WithMany()
 21779                        .HasForeignKey("UserId")
 21780                        .OnDelete(DeleteBehavior.Cascade)
 21781                        .IsRequired()
 21782                        .HasConstraintName("fk_user_tokens_asp_net_users_user_id");
 41783                });
 1784
 21785            modelBuilder.Entity("Syki.Back.Audit.AuditLog", b =>
 21786                {
 21787                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 21788                        .WithMany()
 21789                        .HasForeignKey("InstitutionId", "UserId")
 21790                        .HasPrincipalKey("InstitutionId", "Id")
 21791                        .OnDelete(DeleteBehavior.Cascade)
 21792                        .IsRequired()
 21793                        .HasConstraintName("fk_audit_logs_asp_net_users_institution_id_user_id");
 41794                });
 1795
 21796            modelBuilder.Entity("Syki.Back.Features.Academic.AssignClassToClassroom.ClassroomClass", b =>
 21797                {
 21798                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21799                        .WithMany()
 21800                        .HasForeignKey("ClassId")
 21801                        .OnDelete(DeleteBehavior.Cascade)
 21802                        .IsRequired()
 21803                        .HasConstraintName("fk_classrooms__classes_classes_class_id");
 21804
 21805                    b.HasOne("Syki.Back.Features.Academic.CreateClassroom.Classroom", null)
 21806                        .WithMany()
 21807                        .HasForeignKey("ClassroomId")
 21808                        .OnDelete(DeleteBehavior.Cascade)
 21809                        .IsRequired()
 21810                        .HasConstraintName("fk_classrooms__classes_classrooms_classroom_id");
 41811                });
 1812
 21813            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 21814                {
 21815                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21816                        .WithMany("WebhookCalls")
 21817                        .HasForeignKey("InstitutionId")
 21818                        .OnDelete(DeleteBehavior.Cascade)
 21819                        .IsRequired()
 21820                        .HasConstraintName("fk_webhook_calls_institutions_institution_id");
 21821
 21822                    b.HasOne("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", null)
 21823                        .WithMany("Calls")
 21824                        .HasForeignKey("WebhookId")
 21825                        .OnDelete(DeleteBehavior.Cascade)
 21826                        .IsRequired()
 21827                        .HasConstraintName("fk_webhook_calls_webhook_subscriptions_webhook_id");
 41828                });
 1829
 21830            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCallAttempt", b =>
 21831                {
 21832                    b.HasOne("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", null)
 21833                        .WithMany("Attempts")
 21834                        .HasForeignKey("WebhookCallId")
 21835                        .OnDelete(DeleteBehavior.Cascade)
 21836                        .IsRequired()
 21837                        .HasConstraintName("fk_webhook_call_attempts_webhook_calls_webhook_call_id");
 41838                });
 1839
 21840            modelBuilder.Entity("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", b =>
 21841                {
 21842                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21843                        .WithMany("AcademicPeriods")
 21844                        .HasForeignKey("InstitutionId")
 21845                        .OnDelete(DeleteBehavior.Cascade)
 21846                        .IsRequired()
 21847                        .HasConstraintName("fk_academic_periods_institutions_institution_id");
 41848                });
 1849
 21850            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCampus.Campus", b =>
 21851                {
 21852                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21853                        .WithMany("Campi")
 21854                        .HasForeignKey("InstitutionId")
 21855                        .OnDelete(DeleteBehavior.Cascade)
 21856                        .IsRequired()
 21857                        .HasConstraintName("fk_campi_institutions_institution_id");
 41858                });
 1859
 21860            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 21861                {
 21862                    b.HasOne("Syki.Back.Features.Academic.CreateCampus.Campus", null)
 21863                        .WithMany()
 21864                        .HasForeignKey("CampusId")
 21865                        .HasConstraintName("fk_classes_campi_campus_id");
 21866
 21867                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", "Discipline")
 21868                        .WithMany()
 21869                        .HasForeignKey("DisciplineId")
 21870                        .OnDelete(DeleteBehavior.Cascade)
 21871                        .IsRequired()
 21872                        .HasConstraintName("fk_classes_disciplines_discipline_id");
 21873
 21874                    b.HasOne("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", "Teacher")
 21875                        .WithMany()
 21876                        .HasForeignKey("TeacherId")
 21877                        .HasConstraintName("fk_classes_teachers_teacher_id");
 21878
 21879                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", "Period")
 21880                        .WithMany()
 21881                        .HasForeignKey("PeriodId", "InstitutionId")
 21882                        .OnDelete(DeleteBehavior.Cascade)
 21883                        .IsRequired()
 21884                        .HasConstraintName("fk_classes_academic_periods_period_id_institution_id");
 21885
 21886                    b.Navigation("Discipline");
 21887
 21888                    b.Navigation("Period");
 21889
 21890                    b.Navigation("Teacher");
 41891                });
 1892
 21893            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 21894                {
 21895                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21896                        .WithMany("Lessons")
 21897                        .HasForeignKey("ClassId")
 21898                        .OnDelete(DeleteBehavior.Cascade)
 21899                        .IsRequired()
 21900                        .HasConstraintName("fk_class_lessons_classes_class_id");
 41901                });
 1902
 21903            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Schedule", b =>
 21904                {
 21905                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 21906                        .WithMany("Schedules")
 21907                        .HasForeignKey("ClassId")
 21908                        .HasConstraintName("fk_schedules_classes_class_id");
 21909
 21910                    b.HasOne("Syki.Back.Features.Academic.CreateClassroom.Classroom", null)
 21911                        .WithMany("Schedules")
 21912                        .HasForeignKey("ClassroomId")
 21913                        .HasConstraintName("fk_schedules_classrooms_classroom_id");
 21914
 21915                    b.HasOne("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", null)
 21916                        .WithMany("SchedulingPreferences")
 21917                        .HasForeignKey("TeacherId")
 21918                        .HasConstraintName("fk_schedules_teachers_teacher_id");
 41919                });
 1920
 21921            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClassroom.Classroom", b =>
 21922                {
 21923                    b.HasOne("Syki.Back.Features.Academic.CreateCampus.Campus", "Campus")
 21924                        .WithMany()
 21925                        .HasForeignKey("CampusId")
 21926                        .OnDelete(DeleteBehavior.Cascade)
 21927                        .IsRequired()
 21928                        .HasConstraintName("fk_classrooms_campi_campus_id");
 21929
 21930                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21931                        .WithMany("Classrooms")
 21932                        .HasForeignKey("InstitutionId")
 21933                        .OnDelete(DeleteBehavior.Cascade)
 21934                        .IsRequired()
 21935                        .HasConstraintName("fk_classrooms_institutions_institution_id");
 21936
 21937                    b.Navigation("Campus");
 41938                });
 1939
 21940            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 21941                {
 21942                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21943                        .WithMany("Courses")
 21944                        .HasForeignKey("InstitutionId")
 21945                        .OnDelete(DeleteBehavior.Cascade)
 21946                        .IsRequired()
 21947                        .HasConstraintName("fk_courses_institutions_institution_id");
 41948                });
 1949
 21950            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 21951                {
 21952                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", "Course")
 21953                        .WithMany("CourseCurriculums")
 21954                        .HasForeignKey("CourseId")
 21955                        .OnDelete(DeleteBehavior.Cascade)
 21956                        .IsRequired()
 21957                        .HasConstraintName("fk_course_curriculums_courses_course_id");
 21958
 21959                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 21960                        .WithMany("CourseCurriculums")
 21961                        .HasForeignKey("InstitutionId")
 21962                        .OnDelete(DeleteBehavior.Cascade)
 21963                        .IsRequired()
 21964                        .HasConstraintName("fk_course_curriculums_institutions_institution_id");
 21965
 21966                    b.Navigation("Course");
 41967                });
 1968
 21969            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculumDiscipline", b =>
 21970                {
 21971                    b.HasOne("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", null)
 21972                        .WithMany("Links")
 21973                        .HasForeignKey("CourseCurriculumId")
 21974                        .OnDelete(DeleteBehavior.Cascade)
 21975                        .IsRequired()
 21976                        .HasConstraintName("fk_course_curriculums__disciplines_course_curriculums_course_c");
 21977
 21978                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 21979                        .WithMany()
 21980                        .HasForeignKey("DisciplineId")
 21981                        .OnDelete(DeleteBehavior.Cascade)
 21982                        .IsRequired()
 21983                        .HasConstraintName("fk_course_curriculums__disciplines_disciplines_discipline_id");
 41984                });
 1985
 21986            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", b =>
 21987                {
 21988                    b.HasOne("Syki.Back.Features.Academic.CreateCampus.Campus", "Campus")
 21989                        .WithMany()
 21990                        .HasForeignKey("CampusId")
 21991                        .OnDelete(DeleteBehavior.Cascade)
 21992                        .IsRequired()
 21993                        .HasConstraintName("fk_course_offerings_campi_campus_id");
 21994
 21995                    b.HasOne("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", "CourseCurriculum")
 21996                        .WithMany()
 21997                        .HasForeignKey("CourseCurriculumId")
 21998                        .OnDelete(DeleteBehavior.Cascade)
 21999                        .IsRequired()
 22000                        .HasConstraintName("fk_course_offerings_course_curriculums_course_curriculum_id");
 22001
 22002                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", "Course")
 22003                        .WithMany()
 22004                        .HasForeignKey("CourseId")
 22005                        .OnDelete(DeleteBehavior.Cascade)
 22006                        .IsRequired()
 22007                        .HasConstraintName("fk_course_offerings_courses_course_id");
 22008
 22009                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22010                        .WithMany("CourseOfferings")
 22011                        .HasForeignKey("InstitutionId")
 22012                        .OnDelete(DeleteBehavior.Cascade)
 22013                        .IsRequired()
 22014                        .HasConstraintName("fk_course_offerings_institutions_institution_id");
 22015
 22016                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", null)
 22017                        .WithMany()
 22018                        .HasForeignKey("Period", "InstitutionId")
 22019                        .OnDelete(DeleteBehavior.Cascade)
 22020                        .IsRequired()
 22021                        .HasConstraintName("fk_course_offerings_academic_periods_period_institution_id");
 22022
 22023                    b.Navigation("Campus");
 22024
 22025                    b.Navigation("Course");
 22026
 22027                    b.Navigation("CourseCurriculum");
 42028                });
 2029
 22030            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.CourseDiscipline", b =>
 22031                {
 22032                    b.HasOne("Syki.Back.Features.Academic.CreateCourse.Course", null)
 22033                        .WithMany("Links")
 22034                        .HasForeignKey("CourseId")
 22035                        .OnDelete(DeleteBehavior.Cascade)
 22036                        .IsRequired()
 22037                        .HasConstraintName("fk_courses__disciplines_courses_course_id");
 22038
 22039                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 22040                        .WithMany("Links")
 22041                        .HasForeignKey("DisciplineId")
 22042                        .OnDelete(DeleteBehavior.Cascade)
 22043                        .IsRequired()
 22044                        .HasConstraintName("fk_courses__disciplines_disciplines_discipline_id");
 42045                });
 2046
 22047            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 22048                {
 22049                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22050                        .WithMany("Disciplines")
 22051                        .HasForeignKey("InstitutionId")
 22052                        .OnDelete(DeleteBehavior.Cascade)
 22053                        .IsRequired()
 22054                        .HasConstraintName("fk_disciplines_institutions_institution_id");
 42055                });
 2056
 22057            modelBuilder.Entity("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", b =>
 22058                {
 22059                    b.HasOne("Syki.Back.Features.Academic.CreateAcademicPeriod.AcademicPeriod", null)
 22060                        .WithOne()
 22061                        .HasForeignKey("Syki.Back.Features.Academic.CreateEnrollmentPeriod.EnrollmentPeriod", "Id", "Ins
 22062                        .OnDelete(DeleteBehavior.Cascade)
 22063                        .IsRequired()
 22064                        .HasConstraintName("fk_enrollment_periods_academic_periods_id_institution_id");
 42065                });
 2066
 22067            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 22068                {
 22069                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22070                        .WithMany("Notifications")
 22071                        .HasForeignKey("InstitutionId")
 22072                        .OnDelete(DeleteBehavior.Cascade)
 22073                        .IsRequired()
 22074                        .HasConstraintName("fk_notifications_institutions_institution_id");
 42075                });
 2076
 22077            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.UserNotification", b =>
 22078                {
 22079                    b.HasOne("Syki.Back.Features.Academic.CreateNotification.Notification", "Notification")
 22080                        .WithMany("Users")
 22081                        .HasForeignKey("NotificationId")
 22082                        .OnDelete(DeleteBehavior.Cascade)
 22083                        .IsRequired()
 22084                        .HasConstraintName("fk_users__notifications_notifications_notification_id");
 22085
 22086                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 22087                        .WithMany()
 22088                        .HasForeignKey("UserId")
 22089                        .OnDelete(DeleteBehavior.Cascade)
 22090                        .IsRequired()
 22091                        .HasConstraintName("fk_users__notifications_asp_net_users_user_id");
 22092
 22093                    b.Navigation("Notification");
 42094                });
 2095
 22096            modelBuilder.Entity("Syki.Back.Features.Academic.CreateStudent.SykiStudent", b =>
 22097                {
 22098                    b.HasOne("Syki.Back.Features.Academic.CreateCourseOffering.CourseOffering", "CourseOffering")
 22099                        .WithMany()
 22100                        .HasForeignKey("CourseOfferingId")
 22101                        .OnDelete(DeleteBehavior.Cascade)
 22102                        .IsRequired()
 22103                        .HasConstraintName("fk_students_course_offerings_course_offering_id");
 22104
 22105                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22106                        .WithMany("Students")
 22107                        .HasForeignKey("InstitutionId")
 22108                        .OnDelete(DeleteBehavior.Cascade)
 22109                        .IsRequired()
 22110                        .HasConstraintName("fk_students_institutions_institution_id");
 22111
 22112                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", "User")
 22113                        .WithOne()
 22114                        .HasForeignKey("Syki.Back.Features.Academic.CreateStudent.SykiStudent", "InstitutionId", "Id")
 22115                        .HasPrincipalKey("Syki.Back.Features.Cross.CreateUser.SykiUser", "InstitutionId", "Id")
 22116                        .OnDelete(DeleteBehavior.Cascade)
 22117                        .IsRequired()
 22118                        .HasConstraintName("fk_students_asp_net_users_institution_id_id");
 22119
 22120                    b.Navigation("CourseOffering");
 22121
 22122                    b.Navigation("User");
 42123                });
 2124
 22125            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 22126                {
 22127                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22128                        .WithMany("Teachers")
 22129                        .HasForeignKey("InstitutionId")
 22130                        .OnDelete(DeleteBehavior.Cascade)
 22131                        .IsRequired()
 22132                        .HasConstraintName("fk_teachers_institutions_institution_id");
 22133
 22134                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 22135                        .WithOne()
 22136                        .HasForeignKey("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", "InstitutionId", "Id")
 22137                        .HasPrincipalKey("Syki.Back.Features.Cross.CreateUser.SykiUser", "InstitutionId", "Id")
 22138                        .OnDelete(DeleteBehavior.Cascade)
 22139                        .IsRequired()
 22140                        .HasConstraintName("fk_teachers_asp_net_users_institution_id_id");
 42141                });
 2142
 22143            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.TeacherCampus", b =>
 22144                {
 22145                    b.HasOne("Syki.Back.Features.Academic.CreateCampus.Campus", null)
 22146                        .WithMany()
 22147                        .HasForeignKey("CampusId")
 22148                        .OnDelete(DeleteBehavior.Cascade)
 22149                        .IsRequired()
 22150                        .HasConstraintName("fk_teachers__campi_campi_campus_id");
 22151
 22152                    b.HasOne("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", null)
 22153                        .WithMany()
 22154                        .HasForeignKey("SykiTeacherId")
 22155                        .OnDelete(DeleteBehavior.Cascade)
 22156                        .IsRequired()
 22157                        .HasConstraintName("fk_teachers__campi_teachers_syki_teacher_id");
 42158                });
 2159
 22160            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.TeacherDiscipline", b =>
 22161                {
 22162                    b.HasOne("Syki.Back.Features.Academic.CreateDiscipline.Discipline", null)
 22163                        .WithMany()
 22164                        .HasForeignKey("DisciplineId")
 22165                        .OnDelete(DeleteBehavior.Cascade)
 22166                        .IsRequired()
 22167                        .HasConstraintName("fk_teachers__disciplines_disciplines_discipline_id");
 22168
 22169                    b.HasOne("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", null)
 22170                        .WithMany()
 22171                        .HasForeignKey("SykiTeacherId")
 22172                        .OnDelete(DeleteBehavior.Cascade)
 22173                        .IsRequired()
 22174                        .HasConstraintName("fk_teachers__disciplines_teachers_syki_teacher_id");
 42175                });
 2176
 22177            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", b =>
 22178                {
 22179                    b.HasOne("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", null)
 22180                        .WithOne("Authentication")
 22181                        .HasForeignKey("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookAuthentication", "W
 22182                        .HasConstraintName("fk_webhook_authentications_webhook_subscriptions_webhook_id");
 42183                });
 2184
 22185            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 22186                {
 22187                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22188                        .WithMany("Webhooks")
 22189                        .HasForeignKey("InstitutionId")
 22190                        .OnDelete(DeleteBehavior.Cascade)
 22191                        .IsRequired()
 22192                        .HasConstraintName("fk_webhook_subscriptions_institutions_institution_id");
 42193                });
 2194
 22195            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", b =>
 22196                {
 22197                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22198                        .WithOne("Configs")
 22199                        .HasForeignKey("Syki.Back.Features.Cross.CreateInstitution.InstitutionConfigs", "InstitutionId")
 22200                        .OnDelete(DeleteBehavior.Cascade)
 22201                        .IsRequired()
 22202                        .HasConstraintName("fk_institution_configs_institutions_institution_id");
 42203                });
 2204
 22205            modelBuilder.Entity("Syki.Back.Features.Cross.CreateUser.SykiUser", b =>
 22206                {
 22207                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22208                        .WithMany("Users")
 22209                        .HasForeignKey("InstitutionId")
 22210                        .OnDelete(DeleteBehavior.Cascade)
 22211                        .IsRequired()
 22212                        .HasConstraintName("fk_users_institutions_institution_id");
 42213                });
 2214
 22215            modelBuilder.Entity("Syki.Back.Features.Cross.SendResetPasswordToken.ResetPasswordToken", b =>
 22216                {
 22217                    b.HasOne("Syki.Back.Features.Cross.CreateInstitution.Institution", null)
 22218                        .WithMany()
 22219                        .HasForeignKey("InstitutionId")
 22220                        .OnDelete(DeleteBehavior.Cascade)
 22221                        .IsRequired()
 22222                        .HasConstraintName("fk_reset_password_tokens_institutions_institution_id");
 22223
 22224                    b.HasOne("Syki.Back.Features.Cross.CreateUser.SykiUser", null)
 22225                        .WithMany()
 22226                        .HasForeignKey("UserId")
 22227                        .OnDelete(DeleteBehavior.Cascade)
 22228                        .IsRequired()
 22229                        .HasConstraintName("fk_reset_password_tokens_asp_net_users_user_id");
 42230                });
 2231
 22232            modelBuilder.Entity("Syki.Back.Features.Student.CreateClassActivityWork.ClassActivityWork", b =>
 22233                {
 22234                    b.HasOne("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", null)
 22235                        .WithMany("Works")
 22236                        .HasForeignKey("ClassActivityId")
 22237                        .OnDelete(DeleteBehavior.Cascade)
 22238                        .IsRequired()
 22239                        .HasConstraintName("fk_class_activity_works_class_activities_class_activity_id");
 22240
 22241                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", "SykiStudent")
 22242                        .WithMany()
 22243                        .HasForeignKey("SykiStudentId")
 22244                        .OnDelete(DeleteBehavior.Cascade)
 22245                        .IsRequired()
 22246                        .HasConstraintName("fk_class_activity_works_students_syki_student_id");
 22247
 22248                    b.Navigation("SykiStudent");
 42249                });
 2250
 22251            modelBuilder.Entity("Syki.Back.Features.Student.CreateStudentEnrollment.ClassStudent", b =>
 22252                {
 22253                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22254                        .WithMany()
 22255                        .HasForeignKey("ClassId")
 22256                        .OnDelete(DeleteBehavior.Cascade)
 22257                        .IsRequired()
 22258                        .HasConstraintName("fk_classes__students_classes_class_id");
 22259
 22260                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22261                        .WithMany()
 22262                        .HasForeignKey("SykiStudentId")
 22263                        .OnDelete(DeleteBehavior.Cascade)
 22264                        .IsRequired()
 22265                        .HasConstraintName("fk_classes__students_students_syki_student_id");
 42266                });
 2267
 22268            modelBuilder.Entity("Syki.Back.Features.Teacher.AddClassActivityNote.StudentClassNote", b =>
 22269                {
 22270                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22271                        .WithMany("Notes")
 22272                        .HasForeignKey("ClassId")
 22273                        .OnDelete(DeleteBehavior.Cascade)
 22274                        .IsRequired()
 22275                        .HasConstraintName("fk_student_class_notes_classes_class_id");
 22276
 22277                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22278                        .WithMany()
 22279                        .HasForeignKey("StudentId")
 22280                        .OnDelete(DeleteBehavior.Cascade)
 22281                        .IsRequired()
 22282                        .HasConstraintName("fk_student_class_notes_students_student_id");
 42283                });
 2284
 22285            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 22286                {
 22287                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22288                        .WithMany("Activities")
 22289                        .HasForeignKey("ClassId")
 22290                        .OnDelete(DeleteBehavior.Cascade)
 22291                        .IsRequired()
 22292                        .HasConstraintName("fk_class_activities_classes_class_id");
 42293                });
 2294
 22295            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateLessonAttendance.ClassLessonAttendance", b =>
 22296                {
 22297                    b.HasOne("Syki.Back.Features.Academic.CreateClass.Class", null)
 22298                        .WithMany()
 22299                        .HasForeignKey("ClassId")
 22300                        .OnDelete(DeleteBehavior.Cascade)
 22301                        .IsRequired()
 22302                        .HasConstraintName("fk_class_lesson_attendances_classes_class_id");
 22303
 22304                    b.HasOne("Syki.Back.Features.Academic.CreateClass.ClassLesson", null)
 22305                        .WithMany("Attendances")
 22306                        .HasForeignKey("LessonId")
 22307                        .OnDelete(DeleteBehavior.Cascade)
 22308                        .IsRequired()
 22309                        .HasConstraintName("fk_class_lesson_attendances_class_lessons_lesson_id");
 22310
 22311                    b.HasOne("Syki.Back.Features.Academic.CreateStudent.SykiStudent", null)
 22312                        .WithMany()
 22313                        .HasForeignKey("StudentId")
 22314                        .OnDelete(DeleteBehavior.Cascade)
 22315                        .IsRequired()
 22316                        .HasConstraintName("fk_class_lesson_attendances_students_student_id");
 42317                });
 2318
 22319            modelBuilder.Entity("Syki.Back.Metrics.RequestMetrics", b =>
 22320                {
 22321                    b.OwnsMany("Syki.Back.Metrics.RequestData", "Requests", b1 =>
 22322                        {
 22323                            b1.Property<Guid>("RequestMetricsId")
 22324                                .HasColumnType("uuid");
 22325
 22326                            b1.Property<int>("__synthesizedOrdinal")
 22327                                .ValueGeneratedOnAdd()
 22328                                .HasColumnType("integer");
 22329
 22330                            b1.Property<string>("Endpoint")
 22331                                .IsRequired()
 22332                                .HasColumnType("text");
 22333
 22334                            b1.Property<string>("Values")
 22335                                .IsRequired()
 22336                                .HasColumnType("text");
 22337
 22338                            b1.HasKey("RequestMetricsId", "__synthesizedOrdinal")
 22339                                .HasName("pk_request_metrics");
 22340
 22341                            b1.ToTable("request_metrics", "syki");
 22342
 22343                            b1.ToJson("requests");
 22344
 22345                            b1.WithOwner()
 22346                                .HasForeignKey("RequestMetricsId")
 22347                                .HasConstraintName("fk_request_metrics_request_metrics_request_metrics_id");
 42348                        });
 22349
 22350                    b.OwnsOne("Syki.Back.Metrics.ResumeData", "Resume", b1 =>
 22351                        {
 22352                            b1.Property<Guid>("RequestMetricsId")
 22353                                .HasColumnType("uuid");
 22354
 22355                            b1.Property<int>("Get")
 22356                                .HasColumnType("integer");
 22357
 22358                            b1.Property<int>("Post")
 22359                                .HasColumnType("integer");
 22360
 22361                            b1.Property<int>("Put")
 22362                                .HasColumnType("integer");
 22363
 22364                            b1.Property<int>("Total")
 22365                                .HasColumnType("integer");
 22366
 22367                            b1.HasKey("RequestMetricsId")
 22368                                .HasName("pk_request_metrics");
 22369
 22370                            b1.ToTable("request_metrics", "syki");
 22371
 22372                            b1.ToJson("resume");
 22373
 22374                            b1.WithOwner()
 22375                                .HasForeignKey("RequestMetricsId")
 22376                                .HasConstraintName("fk_request_metrics_request_metrics_request_metrics_id");
 42377                        });
 22378
 22379                    b.Navigation("Requests");
 22380
 22381                    b.Navigation("Resume")
 22382                        .IsRequired();
 42383                });
 2384
 22385            modelBuilder.Entity("Syki.Back.Features.Academic.CallWebhooks.WebhookCall", b =>
 22386                {
 22387                    b.Navigation("Attempts");
 42388                });
 2389
 22390            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.Class", b =>
 22391                {
 22392                    b.Navigation("Activities");
 22393
 22394                    b.Navigation("Lessons");
 22395
 22396                    b.Navigation("Notes");
 22397
 22398                    b.Navigation("Schedules");
 42399                });
 2400
 22401            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClass.ClassLesson", b =>
 22402                {
 22403                    b.Navigation("Attendances");
 42404                });
 2405
 22406            modelBuilder.Entity("Syki.Back.Features.Academic.CreateClassroom.Classroom", b =>
 22407                {
 22408                    b.Navigation("Schedules");
 42409                });
 2410
 22411            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourse.Course", b =>
 22412                {
 22413                    b.Navigation("CourseCurriculums");
 22414
 22415                    b.Navigation("Links");
 42416                });
 2417
 22418            modelBuilder.Entity("Syki.Back.Features.Academic.CreateCourseCurriculum.CourseCurriculum", b =>
 22419                {
 22420                    b.Navigation("Links");
 42421                });
 2422
 22423            modelBuilder.Entity("Syki.Back.Features.Academic.CreateDiscipline.Discipline", b =>
 22424                {
 22425                    b.Navigation("Links");
 42426                });
 2427
 22428            modelBuilder.Entity("Syki.Back.Features.Academic.CreateNotification.Notification", b =>
 22429                {
 22430                    b.Navigation("Users");
 42431                });
 2432
 22433            modelBuilder.Entity("Syki.Back.Features.Academic.CreateTeacher.SykiTeacher", b =>
 22434                {
 22435                    b.Navigation("SchedulingPreferences");
 42436                });
 2437
 22438            modelBuilder.Entity("Syki.Back.Features.Academic.CreateWebhookSubscription.WebhookSubscription", b =>
 22439                {
 22440                    b.Navigation("Authentication")
 22441                        .IsRequired();
 22442
 22443                    b.Navigation("Calls");
 42444                });
 2445
 22446            modelBuilder.Entity("Syki.Back.Features.Cross.CreateInstitution.Institution", b =>
 22447                {
 22448                    b.Navigation("AcademicPeriods");
 22449
 22450                    b.Navigation("Campi");
 22451
 22452                    b.Navigation("Classrooms");
 22453
 22454                    b.Navigation("Configs")
 22455                        .IsRequired();
 22456
 22457                    b.Navigation("CourseCurriculums");
 22458
 22459                    b.Navigation("CourseOfferings");
 22460
 22461                    b.Navigation("Courses");
 22462
 22463                    b.Navigation("Disciplines");
 22464
 22465                    b.Navigation("Notifications");
 22466
 22467                    b.Navigation("Students");
 22468
 22469                    b.Navigation("Teachers");
 22470
 22471                    b.Navigation("Users");
 22472
 22473                    b.Navigation("WebhookCalls");
 22474
 22475                    b.Navigation("Webhooks");
 42476                });
 2477
 22478            modelBuilder.Entity("Syki.Back.Features.Teacher.CreateClassActivity.ClassActivity", b =>
 22479                {
 22480                    b.Navigation("Works");
 42481                });
 2482#pragma warning restore 612, 618
 22483        }
 2484    }
 2485}