< Summary - Syki

Line coverage
96%
Covered lines: 3363
Uncovered lines: 124
Coverable lines: 3487
Total lines: 3753
Line coverage: 96.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/20250603010638_Bootstrap.cs

#LineLine coverage
 1using System;
 2using System.Text.Json;
 3using Microsoft.EntityFrameworkCore.Migrations;
 4using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
 5
 6#nullable disable
 7
 8#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
 9
 10namespace Back.Migrations
 11{
 12    /// <inheritdoc />
 13    public partial class Bootstrap : Migration
 14    {
 15        /// <inheritdoc />
 16        protected override void Up(MigrationBuilder migrationBuilder)
 17        {
 418            migrationBuilder.EnsureSchema(
 419                name: "syki");
 20
 421            migrationBuilder.CreateTable(
 422                name: "command_batches",
 423                schema: "syki",
 424                columns: table => new
 425                {
 426                    id = table.Column<Guid>(type: "uuid", nullable: false),
 427                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 428                    type = table.Column<string>(type: "text", nullable: false),
 429                    status = table.Column<string>(type: "text", nullable: false),
 430                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
 431                    processed_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
 432                    event_id = table.Column<Guid>(type: "uuid", nullable: true),
 433                    source_command_id = table.Column<Guid>(type: "uuid", nullable: true),
 434                    next_command_id = table.Column<Guid>(type: "uuid", nullable: true),
 435                    size = table.Column<int>(type: "integer", nullable: false)
 436                },
 437                constraints: table =>
 438                {
 439                    table.PrimaryKey("pk_command_batches", x => x.id);
 840                });
 41
 442            migrationBuilder.CreateTable(
 443                name: "commands",
 444                schema: "syki",
 445                columns: table => new
 446                {
 447                    id = table.Column<Guid>(type: "uuid", nullable: false),
 448                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 449                    type = table.Column<string>(type: "text", nullable: false),
 450                    data = table.Column<string>(type: "text", nullable: false),
 451                    status = table.Column<string>(type: "text", nullable: false),
 452                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
 453                    duration = table.Column<int>(type: "integer", nullable: false),
 454                    processed_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
 455                    processor_id = table.Column<Guid>(type: "uuid", nullable: true),
 456                    error = table.Column<string>(type: "text", nullable: true),
 457                    event_id = table.Column<Guid>(type: "uuid", nullable: true),
 458                    parent_id = table.Column<Guid>(type: "uuid", nullable: true),
 459                    original_id = table.Column<Guid>(type: "uuid", nullable: true),
 460                    batch_id = table.Column<Guid>(type: "uuid", nullable: true),
 461                    not_before = table.Column<DateTime>(type: "timestamp with time zone", nullable: true)
 462                },
 463                constraints: table =>
 464                {
 465                    table.PrimaryKey("pk_commands", x => x.id);
 866                });
 67
 468            migrationBuilder.CreateTable(
 469                name: "domain_events",
 470                schema: "syki",
 471                columns: table => new
 472                {
 473                    id = table.Column<Guid>(type: "uuid", nullable: false),
 474                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 475                    entity_id = table.Column<Guid>(type: "uuid", nullable: false),
 476                    type = table.Column<string>(type: "text", nullable: false),
 477                    data = table.Column<string>(type: "text", nullable: false),
 478                    status = table.Column<string>(type: "text", nullable: false),
 479                    occurred_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
 480                    processed_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
 481                    processor_id = table.Column<Guid>(type: "uuid", nullable: true),
 482                    error = table.Column<string>(type: "text", nullable: true),
 483                    duration = table.Column<int>(type: "integer", nullable: false)
 484                },
 485                constraints: table =>
 486                {
 487                    table.PrimaryKey("pk_domain_events", x => x.id);
 888                });
 89
 490            migrationBuilder.CreateTable(
 491                name: "feature_flags",
 492                schema: "syki",
 493                columns: table => new
 494                {
 495                    id = table.Column<Guid>(type: "uuid", nullable: false),
 496                    cross_login = table.Column<bool>(type: "boolean", nullable: false)
 497                },
 498                constraints: table =>
 499                {
 4100                    table.PrimaryKey("pk_feature_flags", x => x.id);
 8101                });
 102
 4103            migrationBuilder.CreateTable(
 4104                name: "institutions",
 4105                schema: "syki",
 4106                columns: table => new
 4107                {
 4108                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4109                    name = table.Column<string>(type: "text", nullable: false),
 4110                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
 4111                },
 4112                constraints: table =>
 4113                {
 4114                    table.PrimaryKey("pk_institutions", x => x.id);
 8115                });
 116
 4117            migrationBuilder.CreateTable(
 4118                name: "roles",
 4119                schema: "syki",
 4120                columns: table => new
 4121                {
 4122                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4123                    name = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
 4124                    normalized_name = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: tru
 4125                    concurrency_stamp = table.Column<string>(type: "text", nullable: true)
 4126                },
 4127                constraints: table =>
 4128                {
 4129                    table.PrimaryKey("pk_roles", x => x.id);
 8130                });
 131
 4132            migrationBuilder.CreateTable(
 4133                name: "user_registers",
 4134                schema: "syki",
 4135                columns: table => new
 4136                {
 4137                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4138                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4139                    email = table.Column<string>(type: "text", nullable: false),
 4140                    status = table.Column<string>(type: "text", nullable: false)
 4141                },
 4142                constraints: table =>
 4143                {
 4144                    table.PrimaryKey("pk_user_registers", x => x.id);
 8145                });
 146
 4147            migrationBuilder.CreateTable(
 4148                name: "academic_periods",
 4149                schema: "syki",
 4150                columns: table => new
 4151                {
 4152                    id = table.Column<string>(type: "text", nullable: false),
 4153                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4154                    start_at = table.Column<DateOnly>(type: "date", nullable: false),
 4155                    end_at = table.Column<DateOnly>(type: "date", nullable: false)
 4156                },
 4157                constraints: table =>
 4158                {
 4159                    table.PrimaryKey("pk_academic_periods", x => new { x.id, x.institution_id });
 4160                    table.ForeignKey(
 4161                        name: "fk_academic_periods_institutions_institution_id",
 4162                        column: x => x.institution_id,
 4163                        principalSchema: "syki",
 4164                        principalTable: "institutions",
 4165                        principalColumn: "id",
 4166                        onDelete: ReferentialAction.Cascade);
 8167                });
 168
 4169            migrationBuilder.CreateTable(
 4170                name: "campi",
 4171                schema: "syki",
 4172                columns: table => new
 4173                {
 4174                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4175                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4176                    name = table.Column<string>(type: "text", nullable: false),
 4177                    state = table.Column<string>(type: "text", nullable: false),
 4178                    city = table.Column<string>(type: "text", nullable: false)
 4179                },
 4180                constraints: table =>
 4181                {
 4182                    table.PrimaryKey("pk_campi", x => x.id);
 4183                    table.ForeignKey(
 4184                        name: "fk_campi_institutions_institution_id",
 4185                        column: x => x.institution_id,
 4186                        principalSchema: "syki",
 4187                        principalTable: "institutions",
 4188                        principalColumn: "id",
 4189                        onDelete: ReferentialAction.Cascade);
 8190                });
 191
 4192            migrationBuilder.CreateTable(
 4193                name: "courses",
 4194                schema: "syki",
 4195                columns: table => new
 4196                {
 4197                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4198                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4199                    name = table.Column<string>(type: "text", nullable: false),
 4200                    type = table.Column<string>(type: "text", nullable: false)
 4201                },
 4202                constraints: table =>
 4203                {
 4204                    table.PrimaryKey("pk_courses", x => x.id);
 4205                    table.ForeignKey(
 4206                        name: "fk_courses_institutions_institution_id",
 4207                        column: x => x.institution_id,
 4208                        principalSchema: "syki",
 4209                        principalTable: "institutions",
 4210                        principalColumn: "id",
 4211                        onDelete: ReferentialAction.Cascade);
 8212                });
 213
 4214            migrationBuilder.CreateTable(
 4215                name: "disciplines",
 4216                schema: "syki",
 4217                columns: table => new
 4218                {
 4219                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4220                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4221                    name = table.Column<string>(type: "text", nullable: false),
 4222                    code = table.Column<string>(type: "text", nullable: false)
 4223                },
 4224                constraints: table =>
 4225                {
 4226                    table.PrimaryKey("pk_disciplines", x => x.id);
 4227                    table.ForeignKey(
 4228                        name: "fk_disciplines_institutions_institution_id",
 4229                        column: x => x.institution_id,
 4230                        principalSchema: "syki",
 4231                        principalTable: "institutions",
 4232                        principalColumn: "id",
 4233                        onDelete: ReferentialAction.Cascade);
 8234                });
 235
 4236            migrationBuilder.CreateTable(
 4237                name: "institution_configs",
 4238                schema: "syki",
 4239                columns: table => new
 4240                {
 4241                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4242                    note_limit = table.Column<decimal>(type: "numeric", nullable: false),
 4243                    frequency_limit = table.Column<decimal>(type: "numeric(4,2)", precision: 4, scale: 2, nullable: fals
 4244                },
 4245                constraints: table =>
 4246                {
 4247                    table.PrimaryKey("pk_institution_configs", x => x.institution_id);
 4248                    table.ForeignKey(
 4249                        name: "fk_institution_configs_institutions_institution_id",
 4250                        column: x => x.institution_id,
 4251                        principalSchema: "syki",
 4252                        principalTable: "institutions",
 4253                        principalColumn: "id",
 4254                        onDelete: ReferentialAction.Cascade);
 8255                });
 256
 4257            migrationBuilder.CreateTable(
 4258                name: "notifications",
 4259                schema: "syki",
 4260                columns: table => new
 4261                {
 4262                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4263                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4264                    title = table.Column<string>(type: "text", nullable: false),
 4265                    description = table.Column<string>(type: "text", nullable: false),
 4266                    timeless = table.Column<bool>(type: "boolean", nullable: false),
 4267                    target = table.Column<string>(type: "text", nullable: false),
 4268                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
 4269                },
 4270                constraints: table =>
 4271                {
 4272                    table.PrimaryKey("pk_notifications", x => x.id);
 4273                    table.ForeignKey(
 4274                        name: "fk_notifications_institutions_institution_id",
 4275                        column: x => x.institution_id,
 4276                        principalSchema: "syki",
 4277                        principalTable: "institutions",
 4278                        principalColumn: "id",
 4279                        onDelete: ReferentialAction.Cascade);
 8280                });
 281
 4282            migrationBuilder.CreateTable(
 4283                name: "users",
 4284                schema: "syki",
 4285                columns: table => new
 4286                {
 4287                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4288                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4289                    name = table.Column<string>(type: "text", nullable: false),
 4290                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
 4291                    user_name = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
 4292                    normalized_user_name = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable
 4293                    email = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
 4294                    normalized_email = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: tr
 4295                    email_confirmed = table.Column<bool>(type: "boolean", nullable: false),
 4296                    password_hash = table.Column<string>(type: "text", nullable: true),
 4297                    security_stamp = table.Column<string>(type: "text", nullable: true),
 4298                    concurrency_stamp = table.Column<string>(type: "text", nullable: true),
 4299                    phone_number = table.Column<string>(type: "text", nullable: true),
 4300                    phone_number_confirmed = table.Column<bool>(type: "boolean", nullable: false),
 4301                    two_factor_enabled = table.Column<bool>(type: "boolean", nullable: false),
 4302                    lockout_end = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
 4303                    lockout_enabled = table.Column<bool>(type: "boolean", nullable: false),
 4304                    access_failed_count = table.Column<int>(type: "integer", nullable: false)
 4305                },
 4306                constraints: table =>
 4307                {
 4308                    table.PrimaryKey("pk_users", x => x.id);
 4309                    table.UniqueConstraint("ak_asp_net_users_institution_id_id", x => new { x.institution_id, x.id });
 4310                    table.ForeignKey(
 4311                        name: "fk_users_institutions_institution_id",
 4312                        column: x => x.institution_id,
 4313                        principalSchema: "syki",
 4314                        principalTable: "institutions",
 4315                        principalColumn: "id",
 4316                        onDelete: ReferentialAction.Cascade);
 8317                });
 318
 4319            migrationBuilder.CreateTable(
 4320                name: "webhook_subscriptions",
 4321                schema: "syki",
 4322                columns: table => new
 4323                {
 4324                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4325                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4326                    name = table.Column<string>(type: "text", nullable: false),
 4327                    url = table.Column<string>(type: "text", nullable: false),
 4328                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
 4329                    events = table.Column<string[]>(type: "text[]", nullable: false)
 4330                },
 4331                constraints: table =>
 4332                {
 4333                    table.PrimaryKey("pk_webhook_subscriptions", x => x.id);
 4334                    table.ForeignKey(
 4335                        name: "fk_webhook_subscriptions_institutions_institution_id",
 4336                        column: x => x.institution_id,
 4337                        principalSchema: "syki",
 4338                        principalTable: "institutions",
 4339                        principalColumn: "id",
 4340                        onDelete: ReferentialAction.Cascade);
 8341                });
 342
 4343            migrationBuilder.CreateTable(
 4344                name: "role_claims",
 4345                schema: "syki",
 4346                columns: table => new
 4347                {
 4348                    id = table.Column<int>(type: "integer", nullable: false)
 4349                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultCol
 4350                    role_id = table.Column<Guid>(type: "uuid", nullable: false),
 4351                    claim_type = table.Column<string>(type: "text", nullable: true),
 4352                    claim_value = table.Column<string>(type: "text", nullable: true)
 4353                },
 4354                constraints: table =>
 4355                {
 4356                    table.PrimaryKey("pk_role_claims", x => x.id);
 4357                    table.ForeignKey(
 4358                        name: "fk_role_claims_asp_net_roles_role_id",
 4359                        column: x => x.role_id,
 4360                        principalSchema: "syki",
 4361                        principalTable: "roles",
 4362                        principalColumn: "id",
 4363                        onDelete: ReferentialAction.Cascade);
 8364                });
 365
 4366            migrationBuilder.CreateTable(
 4367                name: "enrollment_periods",
 4368                schema: "syki",
 4369                columns: table => new
 4370                {
 4371                    id = table.Column<string>(type: "text", nullable: false),
 4372                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4373                    start_at = table.Column<DateOnly>(type: "date", nullable: false),
 4374                    end_at = table.Column<DateOnly>(type: "date", nullable: false)
 4375                },
 4376                constraints: table =>
 4377                {
 4378                    table.PrimaryKey("pk_enrollment_periods", x => new { x.id, x.institution_id });
 4379                    table.ForeignKey(
 4380                        name: "fk_enrollment_periods_academic_periods_id_institution_id",
 4381                        columns: x => new { x.id, x.institution_id },
 4382                        principalSchema: "syki",
 4383                        principalTable: "academic_periods",
 4384                        principalColumns: new[] { "id", "institution_id" },
 4385                        onDelete: ReferentialAction.Cascade);
 8386                });
 387
 4388            migrationBuilder.CreateTable(
 4389                name: "course_curriculums",
 4390                schema: "syki",
 4391                columns: table => new
 4392                {
 4393                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4394                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4395                    course_id = table.Column<Guid>(type: "uuid", nullable: false),
 4396                    name = table.Column<string>(type: "text", nullable: false)
 4397                },
 4398                constraints: table =>
 4399                {
 4400                    table.PrimaryKey("pk_course_curriculums", x => x.id);
 4401                    table.ForeignKey(
 4402                        name: "fk_course_curriculums_courses_course_id",
 4403                        column: x => x.course_id,
 4404                        principalSchema: "syki",
 4405                        principalTable: "courses",
 4406                        principalColumn: "id",
 4407                        onDelete: ReferentialAction.Cascade);
 4408                    table.ForeignKey(
 4409                        name: "fk_course_curriculums_institutions_institution_id",
 4410                        column: x => x.institution_id,
 4411                        principalSchema: "syki",
 4412                        principalTable: "institutions",
 4413                        principalColumn: "id",
 4414                        onDelete: ReferentialAction.Cascade);
 8415                });
 416
 4417            migrationBuilder.CreateTable(
 4418                name: "courses__disciplines",
 4419                schema: "syki",
 4420                columns: table => new
 4421                {
 4422                    course_id = table.Column<Guid>(type: "uuid", nullable: false),
 4423                    discipline_id = table.Column<Guid>(type: "uuid", nullable: false)
 4424                },
 4425                constraints: table =>
 4426                {
 4427                    table.PrimaryKey("pk_courses__disciplines", x => new { x.course_id, x.discipline_id });
 4428                    table.ForeignKey(
 4429                        name: "fk_courses__disciplines_courses_course_id",
 4430                        column: x => x.course_id,
 4431                        principalSchema: "syki",
 4432                        principalTable: "courses",
 4433                        principalColumn: "id",
 4434                        onDelete: ReferentialAction.Cascade);
 4435                    table.ForeignKey(
 4436                        name: "fk_courses__disciplines_disciplines_discipline_id",
 4437                        column: x => x.discipline_id,
 4438                        principalSchema: "syki",
 4439                        principalTable: "disciplines",
 4440                        principalColumn: "id",
 4441                        onDelete: ReferentialAction.Cascade);
 8442                });
 443
 4444            migrationBuilder.CreateTable(
 4445                name: "audit_logs",
 4446                schema: "syki",
 4447                columns: table => new
 4448                {
 4449                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4450                    entity_id = table.Column<Guid>(type: "uuid", nullable: false),
 4451                    entity_type = table.Column<string>(type: "text", nullable: false),
 4452                    action = table.Column<string>(type: "text", nullable: false),
 4453                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
 4454                    user_id = table.Column<Guid>(type: "uuid", nullable: false),
 4455                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4456                    data = table.Column<JsonDocument>(type: "jsonb", nullable: false)
 4457                },
 4458                constraints: table =>
 4459                {
 4460                    table.PrimaryKey("pk_audit_logs", x => x.id);
 4461                    table.ForeignKey(
 4462                        name: "fk_audit_logs_asp_net_users_institution_id_user_id",
 4463                        columns: x => new { x.institution_id, x.user_id },
 4464                        principalSchema: "syki",
 4465                        principalTable: "users",
 4466                        principalColumns: new[] { "institution_id", "id" },
 4467                        onDelete: ReferentialAction.Cascade);
 8468                });
 469
 4470            migrationBuilder.CreateTable(
 4471                name: "reset_password_tokens",
 4472                schema: "syki",
 4473                columns: table => new
 4474                {
 4475                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4476                    user_id = table.Column<Guid>(type: "uuid", nullable: false),
 4477                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4478                    token = table.Column<string>(type: "text", nullable: false),
 4479                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
 4480                    used_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: true)
 4481                },
 4482                constraints: table =>
 4483                {
 4484                    table.PrimaryKey("pk_reset_password_tokens", x => x.id);
 4485                    table.ForeignKey(
 4486                        name: "fk_reset_password_tokens_asp_net_users_user_id",
 4487                        column: x => x.user_id,
 4488                        principalSchema: "syki",
 4489                        principalTable: "users",
 4490                        principalColumn: "id",
 4491                        onDelete: ReferentialAction.Cascade);
 4492                    table.ForeignKey(
 4493                        name: "fk_reset_password_tokens_institutions_institution_id",
 4494                        column: x => x.institution_id,
 4495                        principalSchema: "syki",
 4496                        principalTable: "institutions",
 4497                        principalColumn: "id",
 4498                        onDelete: ReferentialAction.Cascade);
 8499                });
 500
 4501            migrationBuilder.CreateTable(
 4502                name: "teachers",
 4503                schema: "syki",
 4504                columns: table => new
 4505                {
 4506                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4507                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4508                    name = table.Column<string>(type: "text", nullable: false)
 4509                },
 4510                constraints: table =>
 4511                {
 4512                    table.PrimaryKey("pk_teachers", x => x.id);
 4513                    table.ForeignKey(
 4514                        name: "fk_teachers_asp_net_users_institution_id_id",
 4515                        columns: x => new { x.institution_id, x.id },
 4516                        principalSchema: "syki",
 4517                        principalTable: "users",
 4518                        principalColumns: new[] { "institution_id", "id" },
 4519                        onDelete: ReferentialAction.Cascade);
 4520                    table.ForeignKey(
 4521                        name: "fk_teachers_institutions_institution_id",
 4522                        column: x => x.institution_id,
 4523                        principalSchema: "syki",
 4524                        principalTable: "institutions",
 4525                        principalColumn: "id",
 4526                        onDelete: ReferentialAction.Cascade);
 8527                });
 528
 4529            migrationBuilder.CreateTable(
 4530                name: "user_claims",
 4531                schema: "syki",
 4532                columns: table => new
 4533                {
 4534                    id = table.Column<int>(type: "integer", nullable: false)
 4535                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultCol
 4536                    user_id = table.Column<Guid>(type: "uuid", nullable: false),
 4537                    claim_type = table.Column<string>(type: "text", nullable: true),
 4538                    claim_value = table.Column<string>(type: "text", nullable: true)
 4539                },
 4540                constraints: table =>
 4541                {
 4542                    table.PrimaryKey("pk_user_claims", x => x.id);
 4543                    table.ForeignKey(
 4544                        name: "fk_user_claims_asp_net_users_user_id",
 4545                        column: x => x.user_id,
 4546                        principalSchema: "syki",
 4547                        principalTable: "users",
 4548                        principalColumn: "id",
 4549                        onDelete: ReferentialAction.Cascade);
 8550                });
 551
 4552            migrationBuilder.CreateTable(
 4553                name: "user_logins",
 4554                schema: "syki",
 4555                columns: table => new
 4556                {
 4557                    login_provider = table.Column<string>(type: "text", nullable: false),
 4558                    provider_key = table.Column<string>(type: "text", nullable: false),
 4559                    provider_display_name = table.Column<string>(type: "text", nullable: true),
 4560                    user_id = table.Column<Guid>(type: "uuid", nullable: false)
 4561                },
 4562                constraints: table =>
 4563                {
 4564                    table.PrimaryKey("pk_user_logins", x => new { x.login_provider, x.provider_key });
 4565                    table.ForeignKey(
 4566                        name: "fk_user_logins_asp_net_users_user_id",
 4567                        column: x => x.user_id,
 4568                        principalSchema: "syki",
 4569                        principalTable: "users",
 4570                        principalColumn: "id",
 4571                        onDelete: ReferentialAction.Cascade);
 8572                });
 573
 4574            migrationBuilder.CreateTable(
 4575                name: "user_roles",
 4576                schema: "syki",
 4577                columns: table => new
 4578                {
 4579                    user_id = table.Column<Guid>(type: "uuid", nullable: false),
 4580                    role_id = table.Column<Guid>(type: "uuid", nullable: false)
 4581                },
 4582                constraints: table =>
 4583                {
 4584                    table.PrimaryKey("pk_user_roles", x => new { x.user_id, x.role_id });
 4585                    table.ForeignKey(
 4586                        name: "fk_user_roles_asp_net_roles_role_id",
 4587                        column: x => x.role_id,
 4588                        principalSchema: "syki",
 4589                        principalTable: "roles",
 4590                        principalColumn: "id",
 4591                        onDelete: ReferentialAction.Cascade);
 4592                    table.ForeignKey(
 4593                        name: "fk_user_roles_asp_net_users_user_id",
 4594                        column: x => x.user_id,
 4595                        principalSchema: "syki",
 4596                        principalTable: "users",
 4597                        principalColumn: "id",
 4598                        onDelete: ReferentialAction.Cascade);
 8599                });
 600
 4601            migrationBuilder.CreateTable(
 4602                name: "user_tokens",
 4603                schema: "syki",
 4604                columns: table => new
 4605                {
 4606                    user_id = table.Column<Guid>(type: "uuid", nullable: false),
 4607                    login_provider = table.Column<string>(type: "text", nullable: false),
 4608                    name = table.Column<string>(type: "text", nullable: false),
 4609                    value = table.Column<string>(type: "text", nullable: true)
 4610                },
 4611                constraints: table =>
 4612                {
 4613                    table.PrimaryKey("pk_user_tokens", x => new { x.user_id, x.login_provider, x.name });
 4614                    table.ForeignKey(
 4615                        name: "fk_user_tokens_asp_net_users_user_id",
 4616                        column: x => x.user_id,
 4617                        principalSchema: "syki",
 4618                        principalTable: "users",
 4619                        principalColumn: "id",
 4620                        onDelete: ReferentialAction.Cascade);
 8621                });
 622
 4623            migrationBuilder.CreateTable(
 4624                name: "users__notifications",
 4625                schema: "syki",
 4626                columns: table => new
 4627                {
 4628                    user_id = table.Column<Guid>(type: "uuid", nullable: false),
 4629                    notification_id = table.Column<Guid>(type: "uuid", nullable: false),
 4630                    viewed_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: true)
 4631                },
 4632                constraints: table =>
 4633                {
 4634                    table.PrimaryKey("pk_users__notifications", x => new { x.user_id, x.notification_id });
 4635                    table.ForeignKey(
 4636                        name: "fk_users__notifications_asp_net_users_user_id",
 4637                        column: x => x.user_id,
 4638                        principalSchema: "syki",
 4639                        principalTable: "users",
 4640                        principalColumn: "id",
 4641                        onDelete: ReferentialAction.Cascade);
 4642                    table.ForeignKey(
 4643                        name: "fk_users__notifications_notifications_notification_id",
 4644                        column: x => x.notification_id,
 4645                        principalSchema: "syki",
 4646                        principalTable: "notifications",
 4647                        principalColumn: "id",
 4648                        onDelete: ReferentialAction.Cascade);
 8649                });
 650
 4651            migrationBuilder.CreateTable(
 4652                name: "webhook_authentications",
 4653                schema: "syki",
 4654                columns: table => new
 4655                {
 4656                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4657                    webhook_id = table.Column<Guid>(type: "uuid", nullable: false),
 4658                    type = table.Column<string>(type: "text", nullable: false),
 4659                    api_key = table.Column<string>(type: "text", nullable: false)
 4660                },
 4661                constraints: table =>
 4662                {
 4663                    table.PrimaryKey("pk_webhook_authentications", x => x.id);
 4664                    table.ForeignKey(
 4665                        name: "fk_webhook_authentications_webhook_subscriptions_webhook_id",
 4666                        column: x => x.webhook_id,
 4667                        principalSchema: "syki",
 4668                        principalTable: "webhook_subscriptions",
 4669                        principalColumn: "id");
 8670                });
 671
 4672            migrationBuilder.CreateTable(
 4673                name: "webhook_calls",
 4674                schema: "syki",
 4675                columns: table => new
 4676                {
 4677                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4678                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4679                    webhook_id = table.Column<Guid>(type: "uuid", nullable: false),
 4680                    payload = table.Column<string>(type: "text", nullable: false),
 4681                    @event = table.Column<string>(name: "event", type: "text", nullable: false),
 4682                    status = table.Column<string>(type: "text", nullable: false),
 4683                    attempts_count = table.Column<int>(type: "integer", nullable: false),
 4684                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
 4685                },
 4686                constraints: table =>
 4687                {
 4688                    table.PrimaryKey("pk_webhook_calls", x => x.id);
 4689                    table.ForeignKey(
 4690                        name: "fk_webhook_calls_institutions_institution_id",
 4691                        column: x => x.institution_id,
 4692                        principalSchema: "syki",
 4693                        principalTable: "institutions",
 4694                        principalColumn: "id",
 4695                        onDelete: ReferentialAction.Cascade);
 4696                    table.ForeignKey(
 4697                        name: "fk_webhook_calls_webhook_subscriptions_webhook_id",
 4698                        column: x => x.webhook_id,
 4699                        principalSchema: "syki",
 4700                        principalTable: "webhook_subscriptions",
 4701                        principalColumn: "id",
 4702                        onDelete: ReferentialAction.Cascade);
 8703                });
 704
 4705            migrationBuilder.CreateTable(
 4706                name: "course_curriculums__disciplines",
 4707                schema: "syki",
 4708                columns: table => new
 4709                {
 4710                    course_curriculum_id = table.Column<Guid>(type: "uuid", nullable: false),
 4711                    discipline_id = table.Column<Guid>(type: "uuid", nullable: false),
 4712                    period = table.Column<byte>(type: "smallint", nullable: false),
 4713                    credits = table.Column<byte>(type: "smallint", nullable: false),
 4714                    workload = table.Column<int>(type: "integer", nullable: false)
 4715                },
 4716                constraints: table =>
 4717                {
 4718                    table.PrimaryKey("pk_course_curriculums__disciplines", x => new { x.course_curriculum_id, x.discipli
 4719                    table.ForeignKey(
 4720                        name: "fk_course_curriculums__disciplines_course_curriculums_course_c",
 4721                        column: x => x.course_curriculum_id,
 4722                        principalSchema: "syki",
 4723                        principalTable: "course_curriculums",
 4724                        principalColumn: "id",
 4725                        onDelete: ReferentialAction.Cascade);
 4726                    table.ForeignKey(
 4727                        name: "fk_course_curriculums__disciplines_disciplines_discipline_id",
 4728                        column: x => x.discipline_id,
 4729                        principalSchema: "syki",
 4730                        principalTable: "disciplines",
 4731                        principalColumn: "id",
 4732                        onDelete: ReferentialAction.Cascade);
 8733                });
 734
 4735            migrationBuilder.CreateTable(
 4736                name: "course_offerings",
 4737                schema: "syki",
 4738                columns: table => new
 4739                {
 4740                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4741                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4742                    campus_id = table.Column<Guid>(type: "uuid", nullable: false),
 4743                    course_id = table.Column<Guid>(type: "uuid", nullable: false),
 4744                    course_curriculum_id = table.Column<Guid>(type: "uuid", nullable: false),
 4745                    period = table.Column<string>(type: "text", nullable: false),
 4746                    shift = table.Column<string>(type: "text", nullable: false)
 4747                },
 4748                constraints: table =>
 4749                {
 4750                    table.PrimaryKey("pk_course_offerings", x => x.id);
 4751                    table.ForeignKey(
 4752                        name: "fk_course_offerings_academic_periods_period_institution_id",
 4753                        columns: x => new { x.period, x.institution_id },
 4754                        principalSchema: "syki",
 4755                        principalTable: "academic_periods",
 4756                        principalColumns: new[] { "id", "institution_id" },
 4757                        onDelete: ReferentialAction.Cascade);
 4758                    table.ForeignKey(
 4759                        name: "fk_course_offerings_campi_campus_id",
 4760                        column: x => x.campus_id,
 4761                        principalSchema: "syki",
 4762                        principalTable: "campi",
 4763                        principalColumn: "id",
 4764                        onDelete: ReferentialAction.Cascade);
 4765                    table.ForeignKey(
 4766                        name: "fk_course_offerings_course_curriculums_course_curriculum_id",
 4767                        column: x => x.course_curriculum_id,
 4768                        principalSchema: "syki",
 4769                        principalTable: "course_curriculums",
 4770                        principalColumn: "id",
 4771                        onDelete: ReferentialAction.Cascade);
 4772                    table.ForeignKey(
 4773                        name: "fk_course_offerings_courses_course_id",
 4774                        column: x => x.course_id,
 4775                        principalSchema: "syki",
 4776                        principalTable: "courses",
 4777                        principalColumn: "id",
 4778                        onDelete: ReferentialAction.Cascade);
 4779                    table.ForeignKey(
 4780                        name: "fk_course_offerings_institutions_institution_id",
 4781                        column: x => x.institution_id,
 4782                        principalSchema: "syki",
 4783                        principalTable: "institutions",
 4784                        principalColumn: "id",
 4785                        onDelete: ReferentialAction.Cascade);
 8786                });
 787
 4788            migrationBuilder.CreateTable(
 4789                name: "classes",
 4790                schema: "syki",
 4791                columns: table => new
 4792                {
 4793                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4794                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4795                    discipline_id = table.Column<Guid>(type: "uuid", nullable: false),
 4796                    teacher_id = table.Column<Guid>(type: "uuid", nullable: false),
 4797                    period_id = table.Column<string>(type: "text", nullable: false),
 4798                    vacancies = table.Column<int>(type: "integer", nullable: false),
 4799                    status = table.Column<string>(type: "text", nullable: false),
 4800                    workload = table.Column<int>(type: "integer", nullable: false)
 4801                },
 4802                constraints: table =>
 4803                {
 4804                    table.PrimaryKey("pk_classes", x => x.id);
 4805                    table.ForeignKey(
 4806                        name: "fk_classes_academic_periods_period_id_institution_id",
 4807                        columns: x => new { x.period_id, x.institution_id },
 4808                        principalSchema: "syki",
 4809                        principalTable: "academic_periods",
 4810                        principalColumns: new[] { "id", "institution_id" },
 4811                        onDelete: ReferentialAction.Cascade);
 4812                    table.ForeignKey(
 4813                        name: "fk_classes_disciplines_discipline_id",
 4814                        column: x => x.discipline_id,
 4815                        principalSchema: "syki",
 4816                        principalTable: "disciplines",
 4817                        principalColumn: "id",
 4818                        onDelete: ReferentialAction.Cascade);
 4819                    table.ForeignKey(
 4820                        name: "fk_classes_teachers_teacher_id",
 4821                        column: x => x.teacher_id,
 4822                        principalSchema: "syki",
 4823                        principalTable: "teachers",
 4824                        principalColumn: "id",
 4825                        onDelete: ReferentialAction.Cascade);
 8826                });
 827
 4828            migrationBuilder.CreateTable(
 4829                name: "webhook_call_attempts",
 4830                schema: "syki",
 4831                columns: table => new
 4832                {
 4833                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4834                    webhook_call_id = table.Column<Guid>(type: "uuid", nullable: false),
 4835                    status = table.Column<string>(type: "text", nullable: false),
 4836                    status_code = table.Column<int>(type: "integer", nullable: false),
 4837                    response = table.Column<string>(type: "text", nullable: false),
 4838                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
 4839                },
 4840                constraints: table =>
 4841                {
 4842                    table.PrimaryKey("pk_webhook_call_attempts", x => x.id);
 4843                    table.ForeignKey(
 4844                        name: "fk_webhook_call_attempts_webhook_calls_webhook_call_id",
 4845                        column: x => x.webhook_call_id,
 4846                        principalSchema: "syki",
 4847                        principalTable: "webhook_calls",
 4848                        principalColumn: "id",
 4849                        onDelete: ReferentialAction.Cascade);
 8850                });
 851
 4852            migrationBuilder.CreateTable(
 4853                name: "students",
 4854                schema: "syki",
 4855                columns: table => new
 4856                {
 4857                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4858                    institution_id = table.Column<Guid>(type: "uuid", nullable: false),
 4859                    course_offering_id = table.Column<Guid>(type: "uuid", nullable: false),
 4860                    name = table.Column<string>(type: "text", nullable: false),
 4861                    enrollment_code = table.Column<string>(type: "text", nullable: false),
 4862                    status = table.Column<string>(type: "text", nullable: false),
 4863                    yield_coefficient = table.Column<decimal>(type: "numeric(4,2)", precision: 4, scale: 2, nullable: fa
 4864                },
 4865                constraints: table =>
 4866                {
 4867                    table.PrimaryKey("pk_students", x => x.id);
 4868                    table.ForeignKey(
 4869                        name: "fk_students_asp_net_users_institution_id_id",
 4870                        columns: x => new { x.institution_id, x.id },
 4871                        principalSchema: "syki",
 4872                        principalTable: "users",
 4873                        principalColumns: new[] { "institution_id", "id" },
 4874                        onDelete: ReferentialAction.Cascade);
 4875                    table.ForeignKey(
 4876                        name: "fk_students_course_offerings_course_offering_id",
 4877                        column: x => x.course_offering_id,
 4878                        principalSchema: "syki",
 4879                        principalTable: "course_offerings",
 4880                        principalColumn: "id",
 4881                        onDelete: ReferentialAction.Cascade);
 4882                    table.ForeignKey(
 4883                        name: "fk_students_institutions_institution_id",
 4884                        column: x => x.institution_id,
 4885                        principalSchema: "syki",
 4886                        principalTable: "institutions",
 4887                        principalColumn: "id",
 4888                        onDelete: ReferentialAction.Cascade);
 8889                });
 890
 4891            migrationBuilder.CreateTable(
 4892                name: "class_activities",
 4893                schema: "syki",
 4894                columns: table => new
 4895                {
 4896                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4897                    class_id = table.Column<Guid>(type: "uuid", nullable: false),
 4898                    note = table.Column<string>(type: "text", nullable: false),
 4899                    title = table.Column<string>(type: "text", nullable: false),
 4900                    description = table.Column<string>(type: "text", nullable: false),
 4901                    type = table.Column<string>(type: "text", nullable: false),
 4902                    status = table.Column<string>(type: "text", nullable: false),
 4903                    weight = table.Column<int>(type: "integer", nullable: false),
 4904                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
 4905                    due_date = table.Column<DateOnly>(type: "date", nullable: false),
 4906                    due_hour = table.Column<string>(type: "text", nullable: false)
 4907                },
 4908                constraints: table =>
 4909                {
 4910                    table.PrimaryKey("pk_class_activities", x => x.id);
 4911                    table.ForeignKey(
 4912                        name: "fk_class_activities_classes_class_id",
 4913                        column: x => x.class_id,
 4914                        principalSchema: "syki",
 4915                        principalTable: "classes",
 4916                        principalColumn: "id",
 4917                        onDelete: ReferentialAction.Cascade);
 8918                });
 919
 4920            migrationBuilder.CreateTable(
 4921                name: "class_lessons",
 4922                schema: "syki",
 4923                columns: table => new
 4924                {
 4925                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4926                    class_id = table.Column<Guid>(type: "uuid", nullable: false),
 4927                    number = table.Column<int>(type: "integer", nullable: false),
 4928                    date = table.Column<DateOnly>(type: "date", nullable: false),
 4929                    start_at = table.Column<string>(type: "text", nullable: false),
 4930                    end_at = table.Column<string>(type: "text", nullable: false),
 4931                    status = table.Column<string>(type: "text", nullable: false)
 4932                },
 4933                constraints: table =>
 4934                {
 4935                    table.PrimaryKey("pk_class_lessons", x => x.id);
 4936                    table.ForeignKey(
 4937                        name: "fk_class_lessons_classes_class_id",
 4938                        column: x => x.class_id,
 4939                        principalSchema: "syki",
 4940                        principalTable: "classes",
 4941                        principalColumn: "id",
 4942                        onDelete: ReferentialAction.Cascade);
 8943                });
 944
 4945            migrationBuilder.CreateTable(
 4946                name: "schedules",
 4947                schema: "syki",
 4948                columns: table => new
 4949                {
 4950                    id = table.Column<Guid>(type: "uuid", nullable: false),
 4951                    class_id = table.Column<Guid>(type: "uuid", nullable: false),
 4952                    day = table.Column<string>(type: "text", nullable: false),
 4953                    start_at = table.Column<string>(type: "text", nullable: false),
 4954                    end_at = table.Column<string>(type: "text", nullable: false)
 4955                },
 4956                constraints: table =>
 4957                {
 4958                    table.PrimaryKey("pk_schedules", x => x.id);
 4959                    table.ForeignKey(
 4960                        name: "fk_schedules_classes_class_id",
 4961                        column: x => x.class_id,
 4962                        principalSchema: "syki",
 4963                        principalTable: "classes",
 4964                        principalColumn: "id",
 4965                        onDelete: ReferentialAction.Cascade);
 8966                });
 967
 4968            migrationBuilder.CreateTable(
 4969                name: "classes__students",
 4970                schema: "syki",
 4971                columns: table => new
 4972                {
 4973                    class_id = table.Column<Guid>(type: "uuid", nullable: false),
 4974                    syki_student_id = table.Column<Guid>(type: "uuid", nullable: false),
 4975                    student_discipline_status = table.Column<string>(type: "text", nullable: false)
 4976                },
 4977                constraints: table =>
 4978                {
 4979                    table.PrimaryKey("pk_classes__students", x => new { x.class_id, x.syki_student_id });
 4980                    table.ForeignKey(
 4981                        name: "fk_classes__students_classes_class_id",
 4982                        column: x => x.class_id,
 4983                        principalSchema: "syki",
 4984                        principalTable: "classes",
 4985                        principalColumn: "id",
 4986                        onDelete: ReferentialAction.Cascade);
 4987                    table.ForeignKey(
 4988                        name: "fk_classes__students_students_syki_student_id",
 4989                        column: x => x.syki_student_id,
 4990                        principalSchema: "syki",
 4991                        principalTable: "students",
 4992                        principalColumn: "id",
 4993                        onDelete: ReferentialAction.Cascade);
 8994                });
 995
 4996            migrationBuilder.CreateTable(
 4997                name: "student_class_notes",
 4998                schema: "syki",
 4999                columns: table => new
 41000                {
 41001                    id = table.Column<Guid>(type: "uuid", nullable: false),
 41002                    class_id = table.Column<Guid>(type: "uuid", nullable: false),
 41003                    student_id = table.Column<Guid>(type: "uuid", nullable: false),
 41004                    type = table.Column<string>(type: "text", nullable: false),
 41005                    note = table.Column<decimal>(type: "numeric(4,2)", precision: 4, scale: 2, nullable: false)
 41006                },
 41007                constraints: table =>
 41008                {
 41009                    table.PrimaryKey("pk_student_class_notes", x => x.id);
 41010                    table.ForeignKey(
 41011                        name: "fk_student_class_notes_classes_class_id",
 41012                        column: x => x.class_id,
 41013                        principalSchema: "syki",
 41014                        principalTable: "classes",
 41015                        principalColumn: "id",
 41016                        onDelete: ReferentialAction.Cascade);
 41017                    table.ForeignKey(
 41018                        name: "fk_student_class_notes_students_student_id",
 41019                        column: x => x.student_id,
 41020                        principalSchema: "syki",
 41021                        principalTable: "students",
 41022                        principalColumn: "id",
 41023                        onDelete: ReferentialAction.Cascade);
 81024                });
 1025
 41026            migrationBuilder.CreateTable(
 41027                name: "class_activity_works",
 41028                schema: "syki",
 41029                columns: table => new
 41030                {
 41031                    id = table.Column<Guid>(type: "uuid", nullable: false),
 41032                    class_activity_id = table.Column<Guid>(type: "uuid", nullable: false),
 41033                    syki_student_id = table.Column<Guid>(type: "uuid", nullable: false),
 41034                    link = table.Column<string>(type: "text", nullable: true),
 41035                    note = table.Column<decimal>(type: "numeric", nullable: false),
 41036                    status = table.Column<string>(type: "text", nullable: false)
 41037                },
 41038                constraints: table =>
 41039                {
 41040                    table.PrimaryKey("pk_class_activity_works", x => x.id);
 41041                    table.ForeignKey(
 41042                        name: "fk_class_activity_works_class_activities_class_activity_id",
 41043                        column: x => x.class_activity_id,
 41044                        principalSchema: "syki",
 41045                        principalTable: "class_activities",
 41046                        principalColumn: "id",
 41047                        onDelete: ReferentialAction.Cascade);
 41048                    table.ForeignKey(
 41049                        name: "fk_class_activity_works_students_syki_student_id",
 41050                        column: x => x.syki_student_id,
 41051                        principalSchema: "syki",
 41052                        principalTable: "students",
 41053                        principalColumn: "id",
 41054                        onDelete: ReferentialAction.Cascade);
 81055                });
 1056
 41057            migrationBuilder.CreateTable(
 41058                name: "class_lesson_attendances",
 41059                schema: "syki",
 41060                columns: table => new
 41061                {
 41062                    id = table.Column<Guid>(type: "uuid", nullable: false),
 41063                    class_id = table.Column<Guid>(type: "uuid", nullable: false),
 41064                    lesson_id = table.Column<Guid>(type: "uuid", nullable: false),
 41065                    student_id = table.Column<Guid>(type: "uuid", nullable: false),
 41066                    present = table.Column<bool>(type: "boolean", nullable: false)
 41067                },
 41068                constraints: table =>
 41069                {
 41070                    table.PrimaryKey("pk_class_lesson_attendances", x => x.id);
 41071                    table.ForeignKey(
 41072                        name: "fk_class_lesson_attendances_class_lessons_lesson_id",
 41073                        column: x => x.lesson_id,
 41074                        principalSchema: "syki",
 41075                        principalTable: "class_lessons",
 41076                        principalColumn: "id",
 41077                        onDelete: ReferentialAction.Cascade);
 41078                    table.ForeignKey(
 41079                        name: "fk_class_lesson_attendances_classes_class_id",
 41080                        column: x => x.class_id,
 41081                        principalSchema: "syki",
 41082                        principalTable: "classes",
 41083                        principalColumn: "id",
 41084                        onDelete: ReferentialAction.Cascade);
 41085                    table.ForeignKey(
 41086                        name: "fk_class_lesson_attendances_students_student_id",
 41087                        column: x => x.student_id,
 41088                        principalSchema: "syki",
 41089                        principalTable: "students",
 41090                        principalColumn: "id",
 41091                        onDelete: ReferentialAction.Cascade);
 81092                });
 1093
 41094            migrationBuilder.InsertData(
 41095                schema: "syki",
 41096                table: "roles",
 41097                columns: new[] { "id", "concurrency_stamp", "name", "normalized_name" },
 41098                values: new object[,]
 41099                {
 41100                    { new Guid("5912ebe1-9e6a-4ce1-90bf-8490534fb4e1"), "5912ebe1-9e6a-4ce1-90bf-8490534fb4e1", "Adm", "
 41101                    { new Guid("78691a7a-f554-42d7-a5cf-8d474b6de0dd"), "78691a7a-f554-42d7-a5cf-8d474b6de0dd", "Academi
 41102                    { new Guid("ca6f394f-6fd9-48cc-90a8-b379636a24e7"), "ca6f394f-6fd9-48cc-90a8-b379636a24e7", "Teacher
 41103                    { new Guid("f9ad5139-06c3-4ce2-9748-ecc498b087c7"), "f9ad5139-06c3-4ce2-9748-ecc498b087c7", "Student
 41104                });
 1105
 41106            migrationBuilder.CreateIndex(
 41107                name: "ix_academic_periods_institution_id",
 41108                schema: "syki",
 41109                table: "academic_periods",
 41110                column: "institution_id");
 1111
 41112            migrationBuilder.CreateIndex(
 41113                name: "ix_audit_logs_institution_id_user_id",
 41114                schema: "syki",
 41115                table: "audit_logs",
 41116                columns: new[] { "institution_id", "user_id" });
 1117
 41118            migrationBuilder.CreateIndex(
 41119                name: "ix_campi_institution_id",
 41120                schema: "syki",
 41121                table: "campi",
 41122                column: "institution_id");
 1123
 41124            migrationBuilder.CreateIndex(
 41125                name: "ix_class_activities_class_id",
 41126                schema: "syki",
 41127                table: "class_activities",
 41128                column: "class_id");
 1129
 41130            migrationBuilder.CreateIndex(
 41131                name: "ix_class_activity_works_class_activity_id",
 41132                schema: "syki",
 41133                table: "class_activity_works",
 41134                column: "class_activity_id");
 1135
 41136            migrationBuilder.CreateIndex(
 41137                name: "ix_class_activity_works_syki_student_id",
 41138                schema: "syki",
 41139                table: "class_activity_works",
 41140                column: "syki_student_id");
 1141
 41142            migrationBuilder.CreateIndex(
 41143                name: "ix_class_lesson_attendances_class_id",
 41144                schema: "syki",
 41145                table: "class_lesson_attendances",
 41146                column: "class_id");
 1147
 41148            migrationBuilder.CreateIndex(
 41149                name: "ix_class_lesson_attendances_lesson_id_student_id",
 41150                schema: "syki",
 41151                table: "class_lesson_attendances",
 41152                columns: new[] { "lesson_id", "student_id" },
 41153                unique: true);
 1154
 41155            migrationBuilder.CreateIndex(
 41156                name: "ix_class_lesson_attendances_student_id",
 41157                schema: "syki",
 41158                table: "class_lesson_attendances",
 41159                column: "student_id");
 1160
 41161            migrationBuilder.CreateIndex(
 41162                name: "ix_class_lessons_class_id",
 41163                schema: "syki",
 41164                table: "class_lessons",
 41165                column: "class_id");
 1166
 41167            migrationBuilder.CreateIndex(
 41168                name: "ix_classes_discipline_id",
 41169                schema: "syki",
 41170                table: "classes",
 41171                column: "discipline_id");
 1172
 41173            migrationBuilder.CreateIndex(
 41174                name: "ix_classes_period_id_institution_id",
 41175                schema: "syki",
 41176                table: "classes",
 41177                columns: new[] { "period_id", "institution_id" });
 1178
 41179            migrationBuilder.CreateIndex(
 41180                name: "ix_classes_teacher_id",
 41181                schema: "syki",
 41182                table: "classes",
 41183                column: "teacher_id");
 1184
 41185            migrationBuilder.CreateIndex(
 41186                name: "ix_classes__students_syki_student_id",
 41187                schema: "syki",
 41188                table: "classes__students",
 41189                column: "syki_student_id");
 1190
 41191            migrationBuilder.CreateIndex(
 41192                name: "ix_course_curriculums_course_id",
 41193                schema: "syki",
 41194                table: "course_curriculums",
 41195                column: "course_id");
 1196
 41197            migrationBuilder.CreateIndex(
 41198                name: "ix_course_curriculums_institution_id",
 41199                schema: "syki",
 41200                table: "course_curriculums",
 41201                column: "institution_id");
 1202
 41203            migrationBuilder.CreateIndex(
 41204                name: "ix_course_curriculums__disciplines_discipline_id",
 41205                schema: "syki",
 41206                table: "course_curriculums__disciplines",
 41207                column: "discipline_id");
 1208
 41209            migrationBuilder.CreateIndex(
 41210                name: "ix_course_offerings_campus_id",
 41211                schema: "syki",
 41212                table: "course_offerings",
 41213                column: "campus_id");
 1214
 41215            migrationBuilder.CreateIndex(
 41216                name: "ix_course_offerings_course_curriculum_id",
 41217                schema: "syki",
 41218                table: "course_offerings",
 41219                column: "course_curriculum_id");
 1220
 41221            migrationBuilder.CreateIndex(
 41222                name: "ix_course_offerings_course_id",
 41223                schema: "syki",
 41224                table: "course_offerings",
 41225                column: "course_id");
 1226
 41227            migrationBuilder.CreateIndex(
 41228                name: "ix_course_offerings_institution_id",
 41229                schema: "syki",
 41230                table: "course_offerings",
 41231                column: "institution_id");
 1232
 41233            migrationBuilder.CreateIndex(
 41234                name: "ix_course_offerings_period_institution_id",
 41235                schema: "syki",
 41236                table: "course_offerings",
 41237                columns: new[] { "period", "institution_id" });
 1238
 41239            migrationBuilder.CreateIndex(
 41240                name: "ix_courses_institution_id",
 41241                schema: "syki",
 41242                table: "courses",
 41243                column: "institution_id");
 1244
 41245            migrationBuilder.CreateIndex(
 41246                name: "ix_courses__disciplines_discipline_id",
 41247                schema: "syki",
 41248                table: "courses__disciplines",
 41249                column: "discipline_id");
 1250
 41251            migrationBuilder.CreateIndex(
 41252                name: "ix_disciplines_institution_id",
 41253                schema: "syki",
 41254                table: "disciplines",
 41255                column: "institution_id");
 1256
 41257            migrationBuilder.CreateIndex(
 41258                name: "ix_notifications_institution_id",
 41259                schema: "syki",
 41260                table: "notifications",
 41261                column: "institution_id");
 1262
 41263            migrationBuilder.CreateIndex(
 41264                name: "ix_reset_password_tokens_institution_id",
 41265                schema: "syki",
 41266                table: "reset_password_tokens",
 41267                column: "institution_id");
 1268
 41269            migrationBuilder.CreateIndex(
 41270                name: "ix_reset_password_tokens_token",
 41271                schema: "syki",
 41272                table: "reset_password_tokens",
 41273                column: "token",
 41274                unique: true);
 1275
 41276            migrationBuilder.CreateIndex(
 41277                name: "ix_reset_password_tokens_user_id",
 41278                schema: "syki",
 41279                table: "reset_password_tokens",
 41280                column: "user_id");
 1281
 41282            migrationBuilder.CreateIndex(
 41283                name: "ix_role_claims_role_id",
 41284                schema: "syki",
 41285                table: "role_claims",
 41286                column: "role_id");
 1287
 41288            migrationBuilder.CreateIndex(
 41289                name: "role_name_index",
 41290                schema: "syki",
 41291                table: "roles",
 41292                column: "normalized_name",
 41293                unique: true);
 1294
 41295            migrationBuilder.CreateIndex(
 41296                name: "ix_schedules_class_id",
 41297                schema: "syki",
 41298                table: "schedules",
 41299                column: "class_id");
 1300
 41301            migrationBuilder.CreateIndex(
 41302                name: "ix_student_class_notes_class_id_student_id_type",
 41303                schema: "syki",
 41304                table: "student_class_notes",
 41305                columns: new[] { "class_id", "student_id", "type" },
 41306                unique: true);
 1307
 41308            migrationBuilder.CreateIndex(
 41309                name: "ix_student_class_notes_student_id",
 41310                schema: "syki",
 41311                table: "student_class_notes",
 41312                column: "student_id");
 1313
 41314            migrationBuilder.CreateIndex(
 41315                name: "ix_students_course_offering_id",
 41316                schema: "syki",
 41317                table: "students",
 41318                column: "course_offering_id");
 1319
 41320            migrationBuilder.CreateIndex(
 41321                name: "ix_students_enrollment_code",
 41322                schema: "syki",
 41323                table: "students",
 41324                column: "enrollment_code",
 41325                unique: true);
 1326
 41327            migrationBuilder.CreateIndex(
 41328                name: "ix_students_institution_id_id",
 41329                schema: "syki",
 41330                table: "students",
 41331                columns: new[] { "institution_id", "id" },
 41332                unique: true);
 1333
 41334            migrationBuilder.CreateIndex(
 41335                name: "ix_teachers_institution_id_id",
 41336                schema: "syki",
 41337                table: "teachers",
 41338                columns: new[] { "institution_id", "id" },
 41339                unique: true);
 1340
 41341            migrationBuilder.CreateIndex(
 41342                name: "ix_user_claims_user_id",
 41343                schema: "syki",
 41344                table: "user_claims",
 41345                column: "user_id");
 1346
 41347            migrationBuilder.CreateIndex(
 41348                name: "ix_user_logins_user_id",
 41349                schema: "syki",
 41350                table: "user_logins",
 41351                column: "user_id");
 1352
 41353            migrationBuilder.CreateIndex(
 41354                name: "ix_user_registers_email",
 41355                schema: "syki",
 41356                table: "user_registers",
 41357                column: "email",
 41358                unique: true);
 1359
 41360            migrationBuilder.CreateIndex(
 41361                name: "ix_user_roles_role_id",
 41362                schema: "syki",
 41363                table: "user_roles",
 41364                column: "role_id");
 1365
 41366            migrationBuilder.CreateIndex(
 41367                name: "email_index",
 41368                schema: "syki",
 41369                table: "users",
 41370                column: "normalized_email");
 1371
 41372            migrationBuilder.CreateIndex(
 41373                name: "user_name_index",
 41374                schema: "syki",
 41375                table: "users",
 41376                column: "normalized_user_name",
 41377                unique: true);
 1378
 41379            migrationBuilder.CreateIndex(
 41380                name: "ix_users__notifications_notification_id",
 41381                schema: "syki",
 41382                table: "users__notifications",
 41383                column: "notification_id");
 1384
 41385            migrationBuilder.CreateIndex(
 41386                name: "ix_webhook_authentications_webhook_id",
 41387                schema: "syki",
 41388                table: "webhook_authentications",
 41389                column: "webhook_id",
 41390                unique: true);
 1391
 41392            migrationBuilder.CreateIndex(
 41393                name: "ix_webhook_call_attempts_webhook_call_id",
 41394                schema: "syki",
 41395                table: "webhook_call_attempts",
 41396                column: "webhook_call_id");
 1397
 41398            migrationBuilder.CreateIndex(
 41399                name: "ix_webhook_calls_institution_id",
 41400                schema: "syki",
 41401                table: "webhook_calls",
 41402                column: "institution_id");
 1403
 41404            migrationBuilder.CreateIndex(
 41405                name: "ix_webhook_calls_webhook_id",
 41406                schema: "syki",
 41407                table: "webhook_calls",
 41408                column: "webhook_id");
 1409
 41410            migrationBuilder.CreateIndex(
 41411                name: "ix_webhook_subscriptions_institution_id",
 41412                schema: "syki",
 41413                table: "webhook_subscriptions",
 41414                column: "institution_id");
 41415        }
 1416
 1417        /// <inheritdoc />
 1418        protected override void Down(MigrationBuilder migrationBuilder)
 1419        {
 01420            migrationBuilder.DropTable(
 01421                name: "audit_logs",
 01422                schema: "syki");
 1423
 01424            migrationBuilder.DropTable(
 01425                name: "class_activity_works",
 01426                schema: "syki");
 1427
 01428            migrationBuilder.DropTable(
 01429                name: "class_lesson_attendances",
 01430                schema: "syki");
 1431
 01432            migrationBuilder.DropTable(
 01433                name: "classes__students",
 01434                schema: "syki");
 1435
 01436            migrationBuilder.DropTable(
 01437                name: "command_batches",
 01438                schema: "syki");
 1439
 01440            migrationBuilder.DropTable(
 01441                name: "commands",
 01442                schema: "syki");
 1443
 01444            migrationBuilder.DropTable(
 01445                name: "course_curriculums__disciplines",
 01446                schema: "syki");
 1447
 01448            migrationBuilder.DropTable(
 01449                name: "courses__disciplines",
 01450                schema: "syki");
 1451
 01452            migrationBuilder.DropTable(
 01453                name: "domain_events",
 01454                schema: "syki");
 1455
 01456            migrationBuilder.DropTable(
 01457                name: "enrollment_periods",
 01458                schema: "syki");
 1459
 01460            migrationBuilder.DropTable(
 01461                name: "feature_flags",
 01462                schema: "syki");
 1463
 01464            migrationBuilder.DropTable(
 01465                name: "institution_configs",
 01466                schema: "syki");
 1467
 01468            migrationBuilder.DropTable(
 01469                name: "reset_password_tokens",
 01470                schema: "syki");
 1471
 01472            migrationBuilder.DropTable(
 01473                name: "role_claims",
 01474                schema: "syki");
 1475
 01476            migrationBuilder.DropTable(
 01477                name: "schedules",
 01478                schema: "syki");
 1479
 01480            migrationBuilder.DropTable(
 01481                name: "student_class_notes",
 01482                schema: "syki");
 1483
 01484            migrationBuilder.DropTable(
 01485                name: "user_claims",
 01486                schema: "syki");
 1487
 01488            migrationBuilder.DropTable(
 01489                name: "user_logins",
 01490                schema: "syki");
 1491
 01492            migrationBuilder.DropTable(
 01493                name: "user_registers",
 01494                schema: "syki");
 1495
 01496            migrationBuilder.DropTable(
 01497                name: "user_roles",
 01498                schema: "syki");
 1499
 01500            migrationBuilder.DropTable(
 01501                name: "user_tokens",
 01502                schema: "syki");
 1503
 01504            migrationBuilder.DropTable(
 01505                name: "users__notifications",
 01506                schema: "syki");
 1507
 01508            migrationBuilder.DropTable(
 01509                name: "webhook_authentications",
 01510                schema: "syki");
 1511
 01512            migrationBuilder.DropTable(
 01513                name: "webhook_call_attempts",
 01514                schema: "syki");
 1515
 01516            migrationBuilder.DropTable(
 01517                name: "class_activities",
 01518                schema: "syki");
 1519
 01520            migrationBuilder.DropTable(
 01521                name: "class_lessons",
 01522                schema: "syki");
 1523
 01524            migrationBuilder.DropTable(
 01525                name: "students",
 01526                schema: "syki");
 1527
 01528            migrationBuilder.DropTable(
 01529                name: "roles",
 01530                schema: "syki");
 1531
 01532            migrationBuilder.DropTable(
 01533                name: "notifications",
 01534                schema: "syki");
 1535
 01536            migrationBuilder.DropTable(
 01537                name: "webhook_calls",
 01538                schema: "syki");
 1539
 01540            migrationBuilder.DropTable(
 01541                name: "classes",
 01542                schema: "syki");
 1543
 01544            migrationBuilder.DropTable(
 01545                name: "course_offerings",
 01546                schema: "syki");
 1547
 01548            migrationBuilder.DropTable(
 01549                name: "webhook_subscriptions",
 01550                schema: "syki");
 1551
 01552            migrationBuilder.DropTable(
 01553                name: "disciplines",
 01554                schema: "syki");
 1555
 01556            migrationBuilder.DropTable(
 01557                name: "teachers",
 01558                schema: "syki");
 1559
 01560            migrationBuilder.DropTable(
 01561                name: "academic_periods",
 01562                schema: "syki");
 1563
 01564            migrationBuilder.DropTable(
 01565                name: "campi",
 01566                schema: "syki");
 1567
 01568            migrationBuilder.DropTable(
 01569                name: "course_curriculums",
 01570                schema: "syki");
 1571
 01572            migrationBuilder.DropTable(
 01573                name: "users",
 01574                schema: "syki");
 1575
 01576            migrationBuilder.DropTable(
 01577                name: "courses",
 01578                schema: "syki");
 1579
 01580            migrationBuilder.DropTable(
 01581                name: "institutions",
 01582                schema: "syki");
 01583        }
 1584    }
 1585}

/home/runner/work/syki/syki/Back/Migrations/20250603010638_Bootstrap.Designer.cs

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