backend phase 8

This commit is contained in:
hamid
2026-07-06 02:48:56 +03:30
parent 99ebf5d881
commit 2cfc082a04
55 changed files with 7480 additions and 7 deletions
@@ -0,0 +1,135 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Baya.Infrastructure.Persistence.Migrations
{
/// <inheritdoc />
public partial class BookingRequests : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.EnsureSchema(
name: "booking");
migrationBuilder.CreateTable(
name: "BookingRequests",
schema: "booking",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
CustomerId = table.Column<long>(type: "bigint", nullable: false),
NurseId = table.Column<long>(type: "bigint", nullable: false),
PatientId = table.Column<long>(type: "bigint", nullable: false),
VariantId = table.Column<long>(type: "bigint", nullable: false),
CustomerAddressId = table.Column<long>(type: "bigint", nullable: false),
RequiredCaregiverGender = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: true),
RequestedDate = table.Column<DateOnly>(type: "date", nullable: false),
RequestedTimeStart = table.Column<TimeOnly>(type: "time", nullable: false),
RequestedTimeEnd = table.Column<TimeOnly>(type: "time", nullable: false),
CustomerNotes = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true),
Status = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
NurseResponseDeadlineAt = table.Column<DateTime>(type: "datetime2", nullable: false),
PaymentDeadlineAt = table.Column<DateTime>(type: "datetime2", nullable: true),
NurseRejectionReason = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
DeletedAt = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
CreatedAt = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
ModifiedAt = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
CreatedById = table.Column<int>(type: "int", nullable: true),
ModifiedById = table.Column<int>(type: "int", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_BookingRequests", x => x.Id);
table.ForeignKey(
name: "FK_BookingRequests_CustomerAddresses_CustomerAddressId",
column: x => x.CustomerAddressId,
principalSchema: "usr",
principalTable: "CustomerAddresses",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_BookingRequests_CustomerProfiles_CustomerId",
column: x => x.CustomerId,
principalSchema: "usr",
principalTable: "CustomerProfiles",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_BookingRequests_NurseProfiles_NurseId",
column: x => x.NurseId,
principalSchema: "usr",
principalTable: "NurseProfiles",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_BookingRequests_NurseServiceVariants_VariantId",
column: x => x.VariantId,
principalSchema: "catalog",
principalTable: "NurseServiceVariants",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_BookingRequests_Patients_PatientId",
column: x => x.PatientId,
principalSchema: "usr",
principalTable: "Patients",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateIndex(
name: "IX_BookingRequests_CustomerAddressId",
schema: "booking",
table: "BookingRequests",
column: "CustomerAddressId");
migrationBuilder.CreateIndex(
name: "IX_BookingRequests_CustomerId_Status",
schema: "booking",
table: "BookingRequests",
columns: new[] { "CustomerId", "Status" });
migrationBuilder.CreateIndex(
name: "IX_BookingRequests_NurseId_Status",
schema: "booking",
table: "BookingRequests",
columns: new[] { "NurseId", "Status" });
migrationBuilder.CreateIndex(
name: "IX_BookingRequests_PatientId",
schema: "booking",
table: "BookingRequests",
column: "PatientId");
migrationBuilder.CreateIndex(
name: "IX_BookingRequests_Status_NurseResponseDeadlineAt",
schema: "booking",
table: "BookingRequests",
columns: new[] { "Status", "NurseResponseDeadlineAt" });
migrationBuilder.CreateIndex(
name: "IX_BookingRequests_Status_PaymentDeadlineAt",
schema: "booking",
table: "BookingRequests",
columns: new[] { "Status", "PaymentDeadlineAt" });
migrationBuilder.CreateIndex(
name: "IX_BookingRequests_VariantId",
schema: "booking",
table: "BookingRequests",
column: "VariantId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "BookingRequests",
schema: "booking");
}
}
}
@@ -98,6 +98,95 @@ namespace Baya.Infrastructure.Persistence.Migrations
b.ToTable("AuditLogs", "ops");
});
modelBuilder.Entity("Baya.Domain.Entities.Booking.BookingRequest", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
b.Property<DateTimeOffset>("CreatedAt")
.HasColumnType("datetimeoffset");
b.Property<int?>("CreatedById")
.HasColumnType("int");
b.Property<long>("CustomerAddressId")
.HasColumnType("bigint");
b.Property<long>("CustomerId")
.HasColumnType("bigint");
b.Property<string>("CustomerNotes")
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property<DateTimeOffset?>("DeletedAt")
.HasColumnType("datetimeoffset");
b.Property<DateTimeOffset?>("ModifiedAt")
.HasColumnType("datetimeoffset");
b.Property<int?>("ModifiedById")
.HasColumnType("int");
b.Property<long>("NurseId")
.HasColumnType("bigint");
b.Property<string>("NurseRejectionReason")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<DateTime>("NurseResponseDeadlineAt")
.HasColumnType("datetime2");
b.Property<long>("PatientId")
.HasColumnType("bigint");
b.Property<DateTime?>("PaymentDeadlineAt")
.HasColumnType("datetime2");
b.Property<DateOnly>("RequestedDate")
.HasColumnType("date");
b.Property<TimeOnly>("RequestedTimeEnd")
.HasColumnType("time");
b.Property<TimeOnly>("RequestedTimeStart")
.HasColumnType("time");
b.Property<string>("RequiredCaregiverGender")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.Property<string>("Status")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<long>("VariantId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("CustomerAddressId");
b.HasIndex("PatientId");
b.HasIndex("VariantId");
b.HasIndex("CustomerId", "Status");
b.HasIndex("NurseId", "Status");
b.HasIndex("Status", "NurseResponseDeadlineAt");
b.HasIndex("Status", "PaymentDeadlineAt");
b.ToTable("BookingRequests", "booking");
});
modelBuilder.Entity("Baya.Domain.Entities.Catalog.NurseServiceVariant", b =>
{
b.Property<long>("Id")
@@ -3076,6 +3165,49 @@ namespace Baya.Infrastructure.Persistence.Migrations
.HasForeignKey("ActorUserId");
});
modelBuilder.Entity("Baya.Domain.Entities.Booking.BookingRequest", b =>
{
b.HasOne("Baya.Domain.Entities.Identity.CustomerAddress", "CustomerAddress")
.WithMany()
.HasForeignKey("CustomerAddressId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("Baya.Domain.Entities.Identity.CustomerProfile", "Customer")
.WithMany()
.HasForeignKey("CustomerId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("Baya.Domain.Entities.Identity.NurseProfile", "Nurse")
.WithMany()
.HasForeignKey("NurseId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("Baya.Domain.Entities.Identity.Patient", "Patient")
.WithMany()
.HasForeignKey("PatientId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("Baya.Domain.Entities.Catalog.NurseServiceVariant", "Variant")
.WithMany()
.HasForeignKey("VariantId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Customer");
b.Navigation("CustomerAddress");
b.Navigation("Nurse");
b.Navigation("Patient");
b.Navigation("Variant");
});
modelBuilder.Entity("Baya.Domain.Entities.Catalog.NurseServiceVariant", b =>
{
b.HasOne("Baya.Domain.Entities.Identity.NurseProfile", "Nurse")