Compare commits

..

18 commits

Author SHA1 Message Date
9bcf4df149 Merge pull request 'Setup base EF model and authentication' (#1) from EntityFrameworkSetup into main
Reviewed-on: #1
2025-08-09 17:20:47 +00:00
Jiří Vrabec
703d4751e2 Add EF object history 2025-08-09 19:05:02 +02:00
e06700458f Create default user profile on registration
Implement a `UserWithProfileManager` to automatically create a default user profile upon user registration.
This ensures that each user has an associated profile with default values (e.g., `UserName`, `IsAdmin`, `IsDeleted`).
Updates the database schema to reflect the change from UserId to UserProfileId in the UserProfileCompanyTableStat and UserProfileProductTableStat entities.
2025-08-09 18:54:27 +02:00
e7ce2c7718 Fix forgotten renaming of user, change applicationuser id type to guid 2025-08-09 17:57:41 +02:00
d2e156b9f1 Fix identityuser being used instead of DbApplicationUser 2025-08-09 17:05:55 +02:00
bdb3475685 Rename migration to init 2025-08-09 16:14:04 +02:00
9892337644 Merge IdentityDbContext into ApplicationDbContext 2025-08-09 16:09:37 +02:00
786f83bf2d Connect UserProfile with ApplicationUser
Establishes a link between DbUserProfile and DbApplicationUser,
allowing for better management of user-related information
and integration with ASP.NET Identity.

Renames DbUser to DbUserProfile and updates related entities and configurations.
2025-08-09 15:43:32 +02:00
Jiří Vrabec
e6ed0d1b37 Create base db migration 2025-08-09 14:54:45 +02:00
0a4c4abcbc Merge branch 'EntityFrameworkSetup' into EntityFrameworkSetupPropertyMap
# Conflicts:
#	DrinkRateAPI/Contexts/ApplicationDbContext.cs
2025-08-09 14:08:30 +02:00
Jiří Vrabec
855e9a4bcf Map EF user and user stats 2025-08-09 14:06:56 +02:00
53df5dcdc1 Add Product and related entity mappings 2025-08-09 14:05:37 +02:00
aefaac9140 Change property name for consistency 2025-08-09 13:49:10 +02:00
Jiří Vrabec
10dd4c9b0d Map EF company table and table view 2025-08-09 13:10:58 +02:00
Jiří Vrabec
fe30203373 Remove useless files 2025-08-09 12:58:00 +02:00
Jiří Vrabec
09e98b232e Add gitignore 2025-08-09 12:57:21 +02:00
Jiří Vrabec
2830d5dd48 Upgrade EF models and add some EF mappings 2025-08-09 12:54:29 +02:00
Jiří Vrabec
b7996872cb Add EF objects 2025-08-09 01:00:49 +02:00
84 changed files with 4287 additions and 2155 deletions

289
.gitignore vendored Normal file
View file

@ -0,0 +1,289 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
**/Properties/launchSettings.json
# VS Code
.vscode/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Typescript v1 declaration files
typings/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush
.cr/
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs

View file

@ -1,10 +1,226 @@
using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using DrinkRateAPI.DbEntities;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
public class ApplicationDbContext : IdentityDbContext<IdentityUser> namespace DrinkRateAPI.Contexts;
public class ApplicationDbContext : IdentityDbContext<DbApplicationUser, IdentityRole<Guid>, Guid>
{ {
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : public DbSet<DbCompany> Companies { get; set; }
base(options) public DbSet<DbCompanyRating> CompanyRatings { get; set; }
{ } public DbSet<DbCompanyTable> CompanyTables { get; set; }
public DbSet<DbCompanyTableView> CompanyTableViews { get; set; }
public DbSet<DbProduct> Product { get; set; }
public DbSet<DbProductRating> ProductRating { get; set; }
public DbSet<DbProductTable> ProductTable { get; set; }
public DbSet<DbProductTableView> ProductTableView { get; set; }
public DbSet<DbUserProfile> UserProfiles { get; set; }
public DbSet<DbUserProfileCompanyTableStat> UserProfileCompanyTableStats { get; set; }
public DbSet<DbUserProfileProductTableStat> UserProfileProductTableStats { get; set; }
public DbSet<DbUpdateRecord> UpdateRecords { get; set; }
public DbSet<DbUpdateRecordFieldChange> UpdateRecordFieldChanges { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.Build();
optionsBuilder.UseNpgsql(configuration.GetConnectionString($"Db{environment}"));
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// Company
modelBuilder.Entity<DbCompany>(entity =>
{
entity.HasKey(c => c.Id);
entity.HasMany(c => c.Products)
.WithOne(p => p.Company)
.HasForeignKey(p => p.CompanyId);
entity.HasMany(c => c.CompanyRatings)
.WithOne(cr => cr.Company)
.HasForeignKey(cr => cr.CompanyId);
entity.Property(c => c.CompanyName)
.IsRequired()
.HasMaxLength(50);
entity.HasIndex(c => c.CompanyName)
.IsUnique();
// to do: index by Sum / Count
});
// Company Rating
modelBuilder.Entity<DbCompanyRating>(entity =>
{
entity.HasKey(cr => new { cr.UserProfileId, cr.CompanyId });
entity.HasOne(cr => cr.UserProfile)
.WithMany(up => up.CompanyRatings);
entity.HasOne(cr => cr.Company)
.WithMany(c => c.CompanyRatings);
});
// Company Table
modelBuilder.Entity<DbCompanyTable>(entity =>
{
entity.HasKey(ct => ct.Id);
entity.HasMany(ct => ct.Companies)
.WithOne(c => c.CompanyTable)
.HasForeignKey(c => c.CompanyTableId);
entity.HasIndex(ct => ct.CompanyTableName)
.IsUnique();
});
// Company Table View
modelBuilder.Entity<DbCompanyTableView>(entity =>
{
entity.HasKey(ctv => ctv.Id);
entity.HasMany(ctv => ctv.CompanyTables)
.WithMany();
entity.HasMany(ctv => ctv.UserProfiles)
.WithMany(up => up.CompanyTableViews);
});
// Product
modelBuilder.Entity<DbProduct>(entity =>
{
entity.HasKey(p => p.Id);
entity.HasOne(p => p.ProductTable)
.WithMany(pt => pt.Products)
.HasForeignKey(p => p.ProductTableId);
entity.HasOne(p => p.Company)
.WithMany(c => c.Products)
.HasForeignKey(p => p.CompanyId);
entity.HasMany(p => p.ProductRatings)
.WithOne(pr => pr.Product)
.HasForeignKey(pr => pr.ProductId);
entity.Property(p => p.ProductName)
.IsRequired()
.HasMaxLength(50);
entity.HasIndex(c => c.ProductName)
.IsUnique();
// to do: index by Sum / Count
});
// Product Rating
modelBuilder.Entity<DbProductRating>(entity =>
{
entity.HasKey(pr => new { pr.UserProfileId, pr.ProductId });
entity.HasOne(pr => pr.UserProfile)
.WithMany(up => up.ProductRatings);
entity.HasOne(pr => pr.Product)
.WithMany(p => p.ProductRatings);
});
// Product Table
modelBuilder.Entity<DbProductTable>(entity =>
{
entity.HasKey(pt => pt.Id);
entity.HasMany(pt => pt.Products)
.WithOne(p => p.ProductTable)
.HasForeignKey(p => p.ProductTableId);
entity.HasIndex(pt => pt.ProductTableName)
.IsUnique();
});
// Product Table View
modelBuilder.Entity<DbProductTableView>(entity =>
{
entity.HasKey(ptv => ptv.Id);
entity.HasMany(ptv => ptv.ProductTables)
.WithMany();
entity.HasMany(ptv => ptv.UserProfiles)
.WithMany(u => u.ProductTableViews);
});
// User
modelBuilder.Entity<DbUserProfile>(entity =>
{
entity.HasKey(up => up.Id);
entity.HasMany(up => up.CompanyTableViews)
.WithMany(ctv => ctv.UserProfiles);
entity.HasMany(up => up.ProductTableViews)
.WithMany(ptv => ptv.UserProfiles);
entity.HasMany(up => up.CompanyRatings)
.WithOne(cr => cr.UserProfile)
.HasForeignKey(cr => cr.UserProfileId);
entity.HasMany(up => up.ProductRatings)
.WithOne(pr => pr.UserProfile)
.HasForeignKey(pr => pr.UserProfileId);
entity.HasMany(up => up.UserProfileCompanyTableStats)
.WithOne(upcts => upcts.UserProfile)
.HasForeignKey(upcts => upcts.UserProfileId);
entity.HasMany(up => up.UserProfileProductTableStats)
.WithOne(uppts => uppts.UserProfile)
.HasForeignKey(uppts => uppts.UserProfileId);
entity.HasIndex(up => up.UserName)
.IsUnique();
entity.HasOne(up => up.ApplicationUser)
.WithOne(au => au.UserProfile)
.HasForeignKey<DbUserProfile>(up => up.ApplicationUserId);
});
// User Company Table Stat
modelBuilder.Entity<DbUserProfileCompanyTableStat>(entity =>
{
entity.HasKey(upcts => new { UserId = upcts.UserProfileId, upcts.CompanyTableId });
entity.HasOne(upcts => upcts.UserProfile)
.WithMany(up => up.UserProfileCompanyTableStats);
entity.HasOne(upcts => upcts.CompanyTable)
.WithMany();
});
// User Product Table Stat
modelBuilder.Entity<DbUserProfileProductTableStat>(entity =>
{
entity.HasKey(uppts => new { UserId = uppts.UserProfileId, uppts.ProductTableId });
entity.HasOne(uppts => uppts.UserProfile)
.WithMany(up => up.UserProfileProductTableStats);
entity.HasOne(uppts => uppts.ProductTable)
.WithMany();
});
}
} }

View file

@ -0,0 +1,52 @@
using DrinkRateAPI.Contexts;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Options;
namespace DrinkRateAPI.DbEntities;
public class DbApplicationUser : IdentityUser<Guid>
{
public virtual DbUserProfile UserProfile { get; set; }
}
public class UserWithProfileManager : UserManager<DbApplicationUser>
{
private readonly ApplicationDbContext _context;
public UserWithProfileManager(
IUserStore<DbApplicationUser> store,
IOptions<IdentityOptions> optionsAccessor,
IPasswordHasher<DbApplicationUser> passwordHasher,
IEnumerable<IUserValidator<DbApplicationUser>> userValidators,
IEnumerable<IPasswordValidator<DbApplicationUser>> passwordValidators,
ILookupNormalizer keyNormalizer,
IdentityErrorDescriber errors,
IServiceProvider services,
ILogger<UserManager<DbApplicationUser>> logger,
ApplicationDbContext context)
: base(store, optionsAccessor, passwordHasher, userValidators,
passwordValidators, keyNormalizer, errors, services, logger)
{
_context = context;
}
public override async Task<IdentityResult> CreateAsync(DbApplicationUser user, string password)
{
var result = await base.CreateAsync(user, password);
if (!result.Succeeded)
return result;
var newProfile = new DbUserProfile
{
ApplicationUser = user,
UserName = $"User_{user.Id}",
IsAdmin = false,
IsDeleted = false
};
await _context.UserProfiles.AddAsync(newProfile);
await _context.SaveChangesAsync();
return result;
}
}

View file

@ -0,0 +1,19 @@
namespace DrinkRateAPI.DbEntities;
public class DbCompany : DbEntityWithHistory
{
public Guid Id { get; set; }
public Guid CompanyTableId { get; set; }
public DbCompanyTable CompanyTable { get; set; }
public ICollection<DbProduct> Products { get; set; }
public ICollection<DbCompanyRating> CompanyRatings { get; set; }
public string CompanyName { get; set; }
public long RatingSum { get; set; }
public long RatingCount { get; set; }
}

View file

@ -0,0 +1,14 @@
namespace DrinkRateAPI.DbEntities;
public class DbCompanyRating : DbEntityWithHistory
{
public Guid UserProfileId { get; set; }
public DbUserProfile UserProfile { get; set; }
public Guid CompanyId { get; set; }
public DbCompany Company { get; set; }
public byte Rating { get; set; }
public string? Comment { get; set; }
}

View file

@ -0,0 +1,10 @@
namespace DrinkRateAPI.DbEntities;
public class DbCompanyTable
{
public Guid Id { get; set; }
public ICollection<DbCompany> Companies { get; set; }
public string CompanyTableName { get; set; }
}

View file

@ -0,0 +1,12 @@
namespace DrinkRateAPI.DbEntities;
public class DbCompanyTableView : DbEntityWithHistory
{
public Guid Id { get; set; }
public ICollection<DbCompanyTable> CompanyTables { get; set; }
public ICollection<DbUserProfile> UserProfiles { get; set; }
// to do: permission types
}

View file

@ -0,0 +1,6 @@
namespace DrinkRateAPI.DbEntities;
public abstract class DbEntityWithHistory
{
public ICollection<DbUpdateRecord> History { get; set; }
}

View file

@ -0,0 +1,20 @@
namespace DrinkRateAPI.DbEntities;
public class DbProduct : DbEntityWithHistory
{
public Guid Id { get; set; }
public Guid ProductTableId { get; set; }
public DbProductTable ProductTable { get; set; }
public Guid CompanyId { get; set; }
public DbCompany Company { get; set; }
public ICollection<DbProductRating> ProductRatings { get; set; }
public string ProductName { get; set; }
public long RatingSum { get; set; }
public long RatingCount { get; set; }
}

View file

@ -0,0 +1,14 @@
namespace DrinkRateAPI.DbEntities;
public class DbProductRating : DbEntityWithHistory
{
public Guid UserProfileId { get; set; }
public DbUserProfile UserProfile { get; set; }
public Guid ProductId { get; set; }
public DbProduct Product { get; set; }
public byte Rating { get; set; }
public string? Comment { get; set; }
}

View file

@ -0,0 +1,10 @@
namespace DrinkRateAPI.DbEntities;
public class DbProductTable
{
public Guid Id { get; set; }
public ICollection<DbProduct> Products { get; set; }
public string ProductTableName { get; set; }
}

View file

@ -0,0 +1,12 @@
namespace DrinkRateAPI.DbEntities;
public class DbProductTableView : DbEntityWithHistory
{
public Guid Id { get; set; }
public ICollection<DbProductTable> ProductTables { get; set; }
public ICollection<DbUserProfile> UserProfiles { get; set; }
// to do: permission types
}

View file

@ -0,0 +1,18 @@
namespace DrinkRateAPI.DbEntities;
public class DbUpdateRecord
{
public Guid Id { get; set; }
public Guid UserProfileId { get; set; }
public DbUserProfile UserProfile { get; set; }
public DateTime UpdateTime { get; set; }
public ICollection<DbUpdateRecordFieldChange> UpdateRecordFieldChanges { get; set; }
}
public class DbUpdateRecordFieldChange
{
public Guid Id { get; set; }
public string Field { get; set; }
public string OldValue { get; set; }
public string NewValue { get; set; }
}

View file

@ -0,0 +1,25 @@
namespace DrinkRateAPI.DbEntities;
public class DbUserProfile : DbEntityWithHistory
{
public Guid Id { get; set; }
public ICollection<DbCompanyTableView> CompanyTableViews { get; set; }
public ICollection<DbProductTableView> ProductTableViews { get; set; }
public ICollection<DbCompanyRating> CompanyRatings { get; set; }
public ICollection<DbProductRating> ProductRatings { get; set; }
public ICollection<DbUserProfileCompanyTableStat> UserProfileCompanyTableStats { get; set; }
public ICollection<DbUserProfileProductTableStat> UserProfileProductTableStats { get; set; }
public string UserName { get; set; }
public bool IsAdmin { get; set; }
public bool IsDeleted { get; set; }
public Guid ApplicationUserId { get; set; }
public virtual DbApplicationUser ApplicationUser { get; set; }
}

View file

@ -0,0 +1,16 @@
namespace DrinkRateAPI.DbEntities;
public class DbUserProfileCompanyTableStat
{
public Guid UserProfileId { get; set; }
public DbUserProfile UserProfile { get; set; }
public Guid CompanyTableId { get; set; }
public DbCompanyTable CompanyTable { get; set; }
public int RatingCount { get; set; }
public int HighestRatingCount { get; set; }
public int Credits { get; set; }
}

View file

@ -0,0 +1,16 @@
namespace DrinkRateAPI.DbEntities;
public class DbUserProfileProductTableStat
{
public Guid UserProfileId { get; set; }
public DbUserProfile UserProfile { get; set; }
public Guid ProductTableId { get; set; }
public DbProductTable ProductTable { get; set; }
public int RatingCount { get; set; }
public int HighestRatingCount { get; set; }
public int Credits { get; set; }
}

View file

@ -9,8 +9,18 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.8" /> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.8" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.8" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.8" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.8">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.8" /> <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.8" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.8" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="Migrations\" />
</ItemGroup>
</Project> </Project>

View file

@ -0,0 +1,795 @@
// <auto-generated />
using System;
using DrinkRateAPI.Contexts;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace DrinkRateAPI.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
[Migration("20250809165046_UserCreationDemo")]
partial class UserCreationDemo
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.8")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("DbCompanyTableDbCompanyTableView", b =>
{
b.Property<Guid>("CompanyTablesId")
.HasColumnType("uuid");
b.Property<Guid>("DbCompanyTableViewId")
.HasColumnType("uuid");
b.HasKey("CompanyTablesId", "DbCompanyTableViewId");
b.HasIndex("DbCompanyTableViewId");
b.ToTable("DbCompanyTableDbCompanyTableView");
});
modelBuilder.Entity("DbCompanyTableViewDbUserProfile", b =>
{
b.Property<Guid>("CompanyTableViewsId")
.HasColumnType("uuid");
b.Property<Guid>("UserProfilesId")
.HasColumnType("uuid");
b.HasKey("CompanyTableViewsId", "UserProfilesId");
b.HasIndex("UserProfilesId");
b.ToTable("DbCompanyTableViewDbUserProfile");
});
modelBuilder.Entity("DbProductTableDbProductTableView", b =>
{
b.Property<Guid>("DbProductTableViewId")
.HasColumnType("uuid");
b.Property<Guid>("ProductTablesId")
.HasColumnType("uuid");
b.HasKey("DbProductTableViewId", "ProductTablesId");
b.HasIndex("ProductTablesId");
b.ToTable("DbProductTableDbProductTableView");
});
modelBuilder.Entity("DbProductTableViewDbUserProfile", b =>
{
b.Property<Guid>("ProductTableViewsId")
.HasColumnType("uuid");
b.Property<Guid>("UserProfilesId")
.HasColumnType("uuid");
b.HasKey("ProductTableViewsId", "UserProfilesId");
b.HasIndex("UserProfilesId");
b.ToTable("DbProductTableViewDbUserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbApplicationUser", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<int>("AccessFailedCount")
.HasColumnType("integer");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text");
b.Property<string>("Email")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<bool>("EmailConfirmed")
.HasColumnType("boolean");
b.Property<bool>("LockoutEnabled")
.HasColumnType("boolean");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("timestamp with time zone");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("PasswordHash")
.HasColumnType("text");
b.Property<string>("PhoneNumber")
.HasColumnType("text");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("boolean");
b.Property<string>("SecurityStamp")
.HasColumnType("text");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("boolean");
b.Property<string>("UserName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex");
b.ToTable("AspNetUsers", (string)null);
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("CompanyName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<Guid>("CompanyTableId")
.HasColumnType("uuid");
b.Property<long>("RatingCount")
.HasColumnType("bigint");
b.Property<long>("RatingSum")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("CompanyName")
.IsUnique();
b.HasIndex("CompanyTableId");
b.ToTable("Companies");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyRating", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("CompanyId")
.HasColumnType("uuid");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte>("Rating")
.HasColumnType("smallint");
b.HasKey("UserProfileId", "CompanyId");
b.HasIndex("CompanyId");
b.ToTable("CompanyRatings");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTable", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("CompanyTableName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("CompanyTableName")
.IsUnique();
b.ToTable("CompanyTables");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTableView", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.HasKey("Id");
b.ToTable("CompanyTableViews");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProduct", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid>("CompanyId")
.HasColumnType("uuid");
b.Property<string>("ProductName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<Guid>("ProductTableId")
.HasColumnType("uuid");
b.Property<long>("RatingCount")
.HasColumnType("bigint");
b.Property<long>("RatingSum")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("CompanyId");
b.HasIndex("ProductName")
.IsUnique();
b.HasIndex("ProductTableId");
b.ToTable("Product");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductRating", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("ProductId")
.HasColumnType("uuid");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte>("Rating")
.HasColumnType("smallint");
b.HasKey("UserProfileId", "ProductId");
b.HasIndex("ProductId");
b.ToTable("ProductRating");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTable", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("ProductTableName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ProductTableName")
.IsUnique();
b.ToTable("ProductTable");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTableView", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.HasKey("Id");
b.ToTable("ProductTableView");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfile", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid>("ApplicationUserId")
.HasColumnType("uuid");
b.Property<bool>("IsAdmin")
.HasColumnType("boolean");
b.Property<bool>("IsDeleted")
.HasColumnType("boolean");
b.Property<string>("UserName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ApplicationUserId")
.IsUnique();
b.HasIndex("UserName")
.IsUnique();
b.ToTable("UserProfiles");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileCompanyTableStat", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("CompanyTableId")
.HasColumnType("uuid");
b.Property<int>("Credits")
.HasColumnType("integer");
b.Property<int>("HighestRatingCount")
.HasColumnType("integer");
b.Property<int>("RatingCount")
.HasColumnType("integer");
b.HasKey("UserProfileId", "CompanyTableId");
b.HasIndex("CompanyTableId");
b.ToTable("UserProfileCompanyTableStats");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileProductTableStat", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("ProductTableId")
.HasColumnType("uuid");
b.Property<int>("Credits")
.HasColumnType("integer");
b.Property<int>("HighestRatingCount")
.HasColumnType("integer");
b.Property<int>("RatingCount")
.HasColumnType("integer");
b.HasKey("UserProfileId", "ProductTableId");
b.HasIndex("ProductTableId");
b.ToTable("UserProfileProductTableStats");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("NormalizedName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex");
b.ToTable("AspNetRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("text");
b.Property<string>("ClaimValue")
.HasColumnType("text");
b.Property<Guid>("RoleId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("text");
b.Property<string>("ClaimValue")
.HasColumnType("text");
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
{
b.Property<string>("LoginProvider")
.HasColumnType("text");
b.Property<string>("ProviderKey")
.HasColumnType("text");
b.Property<string>("ProviderDisplayName")
.HasColumnType("text");
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
{
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.Property<Guid>("RoleId")
.HasColumnType("uuid");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
{
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.Property<string>("LoginProvider")
.HasColumnType("text");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens", (string)null);
});
modelBuilder.Entity("DbCompanyTableDbCompanyTableView", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", null)
.WithMany()
.HasForeignKey("CompanyTablesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTableView", null)
.WithMany()
.HasForeignKey("DbCompanyTableViewId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DbCompanyTableViewDbUserProfile", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTableView", null)
.WithMany()
.HasForeignKey("CompanyTableViewsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", null)
.WithMany()
.HasForeignKey("UserProfilesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DbProductTableDbProductTableView", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProductTableView", null)
.WithMany()
.HasForeignKey("DbProductTableViewId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbProductTable", null)
.WithMany()
.HasForeignKey("ProductTablesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DbProductTableViewDbUserProfile", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProductTableView", null)
.WithMany()
.HasForeignKey("ProductTableViewsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", null)
.WithMany()
.HasForeignKey("UserProfilesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", "CompanyTable")
.WithMany("Companies")
.HasForeignKey("CompanyTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CompanyTable");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyRating", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompany", "Company")
.WithMany("CompanyRatings")
.HasForeignKey("CompanyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("CompanyRatings")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProduct", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompany", "Company")
.WithMany("Products")
.HasForeignKey("CompanyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbProductTable", "ProductTable")
.WithMany("Products")
.HasForeignKey("ProductTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
b.Navigation("ProductTable");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductRating", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProduct", "Product")
.WithMany("ProductRatings")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("ProductRatings")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Product");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfile", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", "ApplicationUser")
.WithOne("UserProfile")
.HasForeignKey("DrinkRateAPI.DbEntities.DbUserProfile", "ApplicationUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ApplicationUser");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileCompanyTableStat", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", "CompanyTable")
.WithMany()
.HasForeignKey("CompanyTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("UserProfileCompanyTableStats")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CompanyTable");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileProductTableStat", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProductTable", "ProductTable")
.WithMany()
.HasForeignKey("ProductTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("UserProfileProductTableStats")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ProductTable");
b.Navigation("UserProfile");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbApplicationUser", b =>
{
b.Navigation("UserProfile")
.IsRequired();
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b =>
{
b.Navigation("CompanyRatings");
b.Navigation("Products");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTable", b =>
{
b.Navigation("Companies");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProduct", b =>
{
b.Navigation("ProductRatings");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTable", b =>
{
b.Navigation("Products");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfile", b =>
{
b.Navigation("CompanyRatings");
b.Navigation("ProductRatings");
b.Navigation("UserProfileCompanyTableStats");
b.Navigation("UserProfileProductTableStats");
});
#pragma warning restore 612, 618
}
}
}

View file

@ -0,0 +1,677 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace DrinkRateAPI.Migrations
{
/// <inheritdoc />
public partial class UserCreationDemo : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "AspNetRoles",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
Name = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
NormalizedName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
ConcurrencyStamp = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetRoles", x => x.Id);
});
migrationBuilder.CreateTable(
name: "AspNetUsers",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
UserName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
NormalizedUserName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
Email = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
NormalizedEmail = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
EmailConfirmed = table.Column<bool>(type: "boolean", nullable: false),
PasswordHash = table.Column<string>(type: "text", nullable: true),
SecurityStamp = table.Column<string>(type: "text", nullable: true),
ConcurrencyStamp = table.Column<string>(type: "text", nullable: true),
PhoneNumber = table.Column<string>(type: "text", nullable: true),
PhoneNumberConfirmed = table.Column<bool>(type: "boolean", nullable: false),
TwoFactorEnabled = table.Column<bool>(type: "boolean", nullable: false),
LockoutEnd = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
LockoutEnabled = table.Column<bool>(type: "boolean", nullable: false),
AccessFailedCount = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUsers", x => x.Id);
});
migrationBuilder.CreateTable(
name: "CompanyTables",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
CompanyTableName = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_CompanyTables", x => x.Id);
});
migrationBuilder.CreateTable(
name: "CompanyTableViews",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_CompanyTableViews", x => x.Id);
});
migrationBuilder.CreateTable(
name: "ProductTable",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
ProductTableName = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ProductTable", x => x.Id);
});
migrationBuilder.CreateTable(
name: "ProductTableView",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ProductTableView", x => x.Id);
});
migrationBuilder.CreateTable(
name: "AspNetRoleClaims",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
RoleId = table.Column<Guid>(type: "uuid", nullable: false),
ClaimType = table.Column<string>(type: "text", nullable: true),
ClaimValue = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id);
table.ForeignKey(
name: "FK_AspNetRoleClaims_AspNetRoles_RoleId",
column: x => x.RoleId,
principalTable: "AspNetRoles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserClaims",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
UserId = table.Column<Guid>(type: "uuid", nullable: false),
ClaimType = table.Column<string>(type: "text", nullable: true),
ClaimValue = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserClaims", x => x.Id);
table.ForeignKey(
name: "FK_AspNetUserClaims_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserLogins",
columns: table => new
{
LoginProvider = table.Column<string>(type: "text", nullable: false),
ProviderKey = table.Column<string>(type: "text", nullable: false),
ProviderDisplayName = table.Column<string>(type: "text", nullable: true),
UserId = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey });
table.ForeignKey(
name: "FK_AspNetUserLogins_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserRoles",
columns: table => new
{
UserId = table.Column<Guid>(type: "uuid", nullable: false),
RoleId = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId });
table.ForeignKey(
name: "FK_AspNetUserRoles_AspNetRoles_RoleId",
column: x => x.RoleId,
principalTable: "AspNetRoles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AspNetUserRoles_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserTokens",
columns: table => new
{
UserId = table.Column<Guid>(type: "uuid", nullable: false),
LoginProvider = table.Column<string>(type: "text", nullable: false),
Name = table.Column<string>(type: "text", nullable: false),
Value = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name });
table.ForeignKey(
name: "FK_AspNetUserTokens_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "UserProfiles",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
UserName = table.Column<string>(type: "text", nullable: false),
IsAdmin = table.Column<bool>(type: "boolean", nullable: false),
IsDeleted = table.Column<bool>(type: "boolean", nullable: false),
ApplicationUserId = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_UserProfiles", x => x.Id);
table.ForeignKey(
name: "FK_UserProfiles_AspNetUsers_ApplicationUserId",
column: x => x.ApplicationUserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Companies",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
CompanyTableId = table.Column<Guid>(type: "uuid", nullable: false),
CompanyName = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
RatingSum = table.Column<long>(type: "bigint", nullable: false),
RatingCount = table.Column<long>(type: "bigint", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Companies", x => x.Id);
table.ForeignKey(
name: "FK_Companies_CompanyTables_CompanyTableId",
column: x => x.CompanyTableId,
principalTable: "CompanyTables",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "DbCompanyTableDbCompanyTableView",
columns: table => new
{
CompanyTablesId = table.Column<Guid>(type: "uuid", nullable: false),
DbCompanyTableViewId = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_DbCompanyTableDbCompanyTableView", x => new { x.CompanyTablesId, x.DbCompanyTableViewId });
table.ForeignKey(
name: "FK_DbCompanyTableDbCompanyTableView_CompanyTableViews_DbCompan~",
column: x => x.DbCompanyTableViewId,
principalTable: "CompanyTableViews",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DbCompanyTableDbCompanyTableView_CompanyTables_CompanyTable~",
column: x => x.CompanyTablesId,
principalTable: "CompanyTables",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "DbProductTableDbProductTableView",
columns: table => new
{
DbProductTableViewId = table.Column<Guid>(type: "uuid", nullable: false),
ProductTablesId = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_DbProductTableDbProductTableView", x => new { x.DbProductTableViewId, x.ProductTablesId });
table.ForeignKey(
name: "FK_DbProductTableDbProductTableView_ProductTableView_DbProduct~",
column: x => x.DbProductTableViewId,
principalTable: "ProductTableView",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DbProductTableDbProductTableView_ProductTable_ProductTables~",
column: x => x.ProductTablesId,
principalTable: "ProductTable",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "DbCompanyTableViewDbUserProfile",
columns: table => new
{
CompanyTableViewsId = table.Column<Guid>(type: "uuid", nullable: false),
UserProfilesId = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_DbCompanyTableViewDbUserProfile", x => new { x.CompanyTableViewsId, x.UserProfilesId });
table.ForeignKey(
name: "FK_DbCompanyTableViewDbUserProfile_CompanyTableViews_CompanyTa~",
column: x => x.CompanyTableViewsId,
principalTable: "CompanyTableViews",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DbCompanyTableViewDbUserProfile_UserProfiles_UserProfilesId",
column: x => x.UserProfilesId,
principalTable: "UserProfiles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "DbProductTableViewDbUserProfile",
columns: table => new
{
ProductTableViewsId = table.Column<Guid>(type: "uuid", nullable: false),
UserProfilesId = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_DbProductTableViewDbUserProfile", x => new { x.ProductTableViewsId, x.UserProfilesId });
table.ForeignKey(
name: "FK_DbProductTableViewDbUserProfile_ProductTableView_ProductTab~",
column: x => x.ProductTableViewsId,
principalTable: "ProductTableView",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DbProductTableViewDbUserProfile_UserProfiles_UserProfilesId",
column: x => x.UserProfilesId,
principalTable: "UserProfiles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "UserProfileCompanyTableStats",
columns: table => new
{
UserProfileId = table.Column<Guid>(type: "uuid", nullable: false),
CompanyTableId = table.Column<Guid>(type: "uuid", nullable: false),
RatingCount = table.Column<int>(type: "integer", nullable: false),
HighestRatingCount = table.Column<int>(type: "integer", nullable: false),
Credits = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_UserProfileCompanyTableStats", x => new { x.UserProfileId, x.CompanyTableId });
table.ForeignKey(
name: "FK_UserProfileCompanyTableStats_CompanyTables_CompanyTableId",
column: x => x.CompanyTableId,
principalTable: "CompanyTables",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_UserProfileCompanyTableStats_UserProfiles_UserProfileId",
column: x => x.UserProfileId,
principalTable: "UserProfiles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "UserProfileProductTableStats",
columns: table => new
{
UserProfileId = table.Column<Guid>(type: "uuid", nullable: false),
ProductTableId = table.Column<Guid>(type: "uuid", nullable: false),
RatingCount = table.Column<int>(type: "integer", nullable: false),
HighestRatingCount = table.Column<int>(type: "integer", nullable: false),
Credits = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_UserProfileProductTableStats", x => new { x.UserProfileId, x.ProductTableId });
table.ForeignKey(
name: "FK_UserProfileProductTableStats_ProductTable_ProductTableId",
column: x => x.ProductTableId,
principalTable: "ProductTable",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_UserProfileProductTableStats_UserProfiles_UserProfileId",
column: x => x.UserProfileId,
principalTable: "UserProfiles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "CompanyRatings",
columns: table => new
{
UserProfileId = table.Column<Guid>(type: "uuid", nullable: false),
CompanyId = table.Column<Guid>(type: "uuid", nullable: false),
Rating = table.Column<byte>(type: "smallint", nullable: false),
Comment = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_CompanyRatings", x => new { x.UserProfileId, x.CompanyId });
table.ForeignKey(
name: "FK_CompanyRatings_Companies_CompanyId",
column: x => x.CompanyId,
principalTable: "Companies",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_CompanyRatings_UserProfiles_UserProfileId",
column: x => x.UserProfileId,
principalTable: "UserProfiles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Product",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
ProductTableId = table.Column<Guid>(type: "uuid", nullable: false),
CompanyId = table.Column<Guid>(type: "uuid", nullable: false),
ProductName = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
RatingSum = table.Column<long>(type: "bigint", nullable: false),
RatingCount = table.Column<long>(type: "bigint", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Product", x => x.Id);
table.ForeignKey(
name: "FK_Product_Companies_CompanyId",
column: x => x.CompanyId,
principalTable: "Companies",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Product_ProductTable_ProductTableId",
column: x => x.ProductTableId,
principalTable: "ProductTable",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ProductRating",
columns: table => new
{
UserProfileId = table.Column<Guid>(type: "uuid", nullable: false),
ProductId = table.Column<Guid>(type: "uuid", nullable: false),
Rating = table.Column<byte>(type: "smallint", nullable: false),
Comment = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_ProductRating", x => new { x.UserProfileId, x.ProductId });
table.ForeignKey(
name: "FK_ProductRating_Product_ProductId",
column: x => x.ProductId,
principalTable: "Product",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ProductRating_UserProfiles_UserProfileId",
column: x => x.UserProfileId,
principalTable: "UserProfiles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_AspNetRoleClaims_RoleId",
table: "AspNetRoleClaims",
column: "RoleId");
migrationBuilder.CreateIndex(
name: "RoleNameIndex",
table: "AspNetRoles",
column: "NormalizedName",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_AspNetUserClaims_UserId",
table: "AspNetUserClaims",
column: "UserId");
migrationBuilder.CreateIndex(
name: "IX_AspNetUserLogins_UserId",
table: "AspNetUserLogins",
column: "UserId");
migrationBuilder.CreateIndex(
name: "IX_AspNetUserRoles_RoleId",
table: "AspNetUserRoles",
column: "RoleId");
migrationBuilder.CreateIndex(
name: "EmailIndex",
table: "AspNetUsers",
column: "NormalizedEmail");
migrationBuilder.CreateIndex(
name: "UserNameIndex",
table: "AspNetUsers",
column: "NormalizedUserName",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Companies_CompanyName",
table: "Companies",
column: "CompanyName",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Companies_CompanyTableId",
table: "Companies",
column: "CompanyTableId");
migrationBuilder.CreateIndex(
name: "IX_CompanyRatings_CompanyId",
table: "CompanyRatings",
column: "CompanyId");
migrationBuilder.CreateIndex(
name: "IX_CompanyTables_CompanyTableName",
table: "CompanyTables",
column: "CompanyTableName",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_DbCompanyTableDbCompanyTableView_DbCompanyTableViewId",
table: "DbCompanyTableDbCompanyTableView",
column: "DbCompanyTableViewId");
migrationBuilder.CreateIndex(
name: "IX_DbCompanyTableViewDbUserProfile_UserProfilesId",
table: "DbCompanyTableViewDbUserProfile",
column: "UserProfilesId");
migrationBuilder.CreateIndex(
name: "IX_DbProductTableDbProductTableView_ProductTablesId",
table: "DbProductTableDbProductTableView",
column: "ProductTablesId");
migrationBuilder.CreateIndex(
name: "IX_DbProductTableViewDbUserProfile_UserProfilesId",
table: "DbProductTableViewDbUserProfile",
column: "UserProfilesId");
migrationBuilder.CreateIndex(
name: "IX_Product_CompanyId",
table: "Product",
column: "CompanyId");
migrationBuilder.CreateIndex(
name: "IX_Product_ProductName",
table: "Product",
column: "ProductName",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Product_ProductTableId",
table: "Product",
column: "ProductTableId");
migrationBuilder.CreateIndex(
name: "IX_ProductRating_ProductId",
table: "ProductRating",
column: "ProductId");
migrationBuilder.CreateIndex(
name: "IX_ProductTable_ProductTableName",
table: "ProductTable",
column: "ProductTableName",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_UserProfileCompanyTableStats_CompanyTableId",
table: "UserProfileCompanyTableStats",
column: "CompanyTableId");
migrationBuilder.CreateIndex(
name: "IX_UserProfileProductTableStats_ProductTableId",
table: "UserProfileProductTableStats",
column: "ProductTableId");
migrationBuilder.CreateIndex(
name: "IX_UserProfiles_ApplicationUserId",
table: "UserProfiles",
column: "ApplicationUserId",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_UserProfiles_UserName",
table: "UserProfiles",
column: "UserName",
unique: true);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AspNetRoleClaims");
migrationBuilder.DropTable(
name: "AspNetUserClaims");
migrationBuilder.DropTable(
name: "AspNetUserLogins");
migrationBuilder.DropTable(
name: "AspNetUserRoles");
migrationBuilder.DropTable(
name: "AspNetUserTokens");
migrationBuilder.DropTable(
name: "CompanyRatings");
migrationBuilder.DropTable(
name: "DbCompanyTableDbCompanyTableView");
migrationBuilder.DropTable(
name: "DbCompanyTableViewDbUserProfile");
migrationBuilder.DropTable(
name: "DbProductTableDbProductTableView");
migrationBuilder.DropTable(
name: "DbProductTableViewDbUserProfile");
migrationBuilder.DropTable(
name: "ProductRating");
migrationBuilder.DropTable(
name: "UserProfileCompanyTableStats");
migrationBuilder.DropTable(
name: "UserProfileProductTableStats");
migrationBuilder.DropTable(
name: "AspNetRoles");
migrationBuilder.DropTable(
name: "CompanyTableViews");
migrationBuilder.DropTable(
name: "ProductTableView");
migrationBuilder.DropTable(
name: "Product");
migrationBuilder.DropTable(
name: "UserProfiles");
migrationBuilder.DropTable(
name: "Companies");
migrationBuilder.DropTable(
name: "ProductTable");
migrationBuilder.DropTable(
name: "AspNetUsers");
migrationBuilder.DropTable(
name: "CompanyTables");
}
}
}

View file

@ -0,0 +1,951 @@
// <auto-generated />
using System;
using DrinkRateAPI.Contexts;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace DrinkRateAPI.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
[Migration("20250809170131_ObjectHistory")]
partial class ObjectHistory
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.8")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("DbCompanyTableDbCompanyTableView", b =>
{
b.Property<Guid>("CompanyTablesId")
.HasColumnType("uuid");
b.Property<Guid>("DbCompanyTableViewId")
.HasColumnType("uuid");
b.HasKey("CompanyTablesId", "DbCompanyTableViewId");
b.HasIndex("DbCompanyTableViewId");
b.ToTable("DbCompanyTableDbCompanyTableView");
});
modelBuilder.Entity("DbCompanyTableViewDbUserProfile", b =>
{
b.Property<Guid>("CompanyTableViewsId")
.HasColumnType("uuid");
b.Property<Guid>("UserProfilesId")
.HasColumnType("uuid");
b.HasKey("CompanyTableViewsId", "UserProfilesId");
b.HasIndex("UserProfilesId");
b.ToTable("DbCompanyTableViewDbUserProfile");
});
modelBuilder.Entity("DbProductTableDbProductTableView", b =>
{
b.Property<Guid>("DbProductTableViewId")
.HasColumnType("uuid");
b.Property<Guid>("ProductTablesId")
.HasColumnType("uuid");
b.HasKey("DbProductTableViewId", "ProductTablesId");
b.HasIndex("ProductTablesId");
b.ToTable("DbProductTableDbProductTableView");
});
modelBuilder.Entity("DbProductTableViewDbUserProfile", b =>
{
b.Property<Guid>("ProductTableViewsId")
.HasColumnType("uuid");
b.Property<Guid>("UserProfilesId")
.HasColumnType("uuid");
b.HasKey("ProductTableViewsId", "UserProfilesId");
b.HasIndex("UserProfilesId");
b.ToTable("DbProductTableViewDbUserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbApplicationUser", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<int>("AccessFailedCount")
.HasColumnType("integer");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text");
b.Property<string>("Email")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<bool>("EmailConfirmed")
.HasColumnType("boolean");
b.Property<bool>("LockoutEnabled")
.HasColumnType("boolean");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("timestamp with time zone");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("PasswordHash")
.HasColumnType("text");
b.Property<string>("PhoneNumber")
.HasColumnType("text");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("boolean");
b.Property<string>("SecurityStamp")
.HasColumnType("text");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("boolean");
b.Property<string>("UserName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex");
b.ToTable("AspNetUsers", (string)null);
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("CompanyName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<Guid>("CompanyTableId")
.HasColumnType("uuid");
b.Property<long>("RatingCount")
.HasColumnType("bigint");
b.Property<long>("RatingSum")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("CompanyName")
.IsUnique();
b.HasIndex("CompanyTableId");
b.ToTable("Companies");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyRating", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("CompanyId")
.HasColumnType("uuid");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte>("Rating")
.HasColumnType("smallint");
b.HasKey("UserProfileId", "CompanyId");
b.HasIndex("CompanyId");
b.ToTable("CompanyRatings");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTable", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("CompanyTableName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("CompanyTableName")
.IsUnique();
b.ToTable("CompanyTables");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTableView", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.HasKey("Id");
b.ToTable("CompanyTableViews");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProduct", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid>("CompanyId")
.HasColumnType("uuid");
b.Property<string>("ProductName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<Guid>("ProductTableId")
.HasColumnType("uuid");
b.Property<long>("RatingCount")
.HasColumnType("bigint");
b.Property<long>("RatingSum")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("CompanyId");
b.HasIndex("ProductName")
.IsUnique();
b.HasIndex("ProductTableId");
b.ToTable("Product");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductRating", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("ProductId")
.HasColumnType("uuid");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte>("Rating")
.HasColumnType("smallint");
b.HasKey("UserProfileId", "ProductId");
b.HasIndex("ProductId");
b.ToTable("ProductRating");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTable", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("ProductTableName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ProductTableName")
.IsUnique();
b.ToTable("ProductTable");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTableView", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.HasKey("Id");
b.ToTable("ProductTableView");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUpdateRecord", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid?>("DbCompanyId")
.HasColumnType("uuid");
b.Property<Guid?>("DbCompanyRatingCompanyId")
.HasColumnType("uuid");
b.Property<Guid?>("DbCompanyRatingUserProfileId")
.HasColumnType("uuid");
b.Property<Guid?>("DbCompanyTableViewId")
.HasColumnType("uuid");
b.Property<Guid?>("DbProductId")
.HasColumnType("uuid");
b.Property<Guid?>("DbProductRatingProductId")
.HasColumnType("uuid");
b.Property<Guid?>("DbProductRatingUserProfileId")
.HasColumnType("uuid");
b.Property<Guid?>("DbProductTableViewId")
.HasColumnType("uuid");
b.Property<DateTime>("UpdateTime")
.HasColumnType("timestamp with time zone");
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("DbCompanyId");
b.HasIndex("DbCompanyTableViewId");
b.HasIndex("DbProductId");
b.HasIndex("DbProductTableViewId");
b.HasIndex("UserProfileId");
b.HasIndex("DbCompanyRatingUserProfileId", "DbCompanyRatingCompanyId");
b.HasIndex("DbProductRatingUserProfileId", "DbProductRatingProductId");
b.ToTable("UpdateRecords");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUpdateRecordFieldChange", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid?>("DbUpdateRecordId")
.HasColumnType("uuid");
b.Property<string>("Field")
.IsRequired()
.HasColumnType("text");
b.Property<string>("NewValue")
.IsRequired()
.HasColumnType("text");
b.Property<string>("OldValue")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("DbUpdateRecordId");
b.ToTable("UpdateRecordFieldChanges");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfile", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid>("ApplicationUserId")
.HasColumnType("uuid");
b.Property<bool>("IsAdmin")
.HasColumnType("boolean");
b.Property<bool>("IsDeleted")
.HasColumnType("boolean");
b.Property<string>("UserName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ApplicationUserId")
.IsUnique();
b.HasIndex("UserName")
.IsUnique();
b.ToTable("UserProfiles");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileCompanyTableStat", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("CompanyTableId")
.HasColumnType("uuid");
b.Property<int>("Credits")
.HasColumnType("integer");
b.Property<int>("HighestRatingCount")
.HasColumnType("integer");
b.Property<int>("RatingCount")
.HasColumnType("integer");
b.HasKey("UserProfileId", "CompanyTableId");
b.HasIndex("CompanyTableId");
b.ToTable("UserProfileCompanyTableStats");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileProductTableStat", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("ProductTableId")
.HasColumnType("uuid");
b.Property<int>("Credits")
.HasColumnType("integer");
b.Property<int>("HighestRatingCount")
.HasColumnType("integer");
b.Property<int>("RatingCount")
.HasColumnType("integer");
b.HasKey("UserProfileId", "ProductTableId");
b.HasIndex("ProductTableId");
b.ToTable("UserProfileProductTableStats");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("NormalizedName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex");
b.ToTable("AspNetRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("text");
b.Property<string>("ClaimValue")
.HasColumnType("text");
b.Property<Guid>("RoleId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("text");
b.Property<string>("ClaimValue")
.HasColumnType("text");
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
{
b.Property<string>("LoginProvider")
.HasColumnType("text");
b.Property<string>("ProviderKey")
.HasColumnType("text");
b.Property<string>("ProviderDisplayName")
.HasColumnType("text");
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
{
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.Property<Guid>("RoleId")
.HasColumnType("uuid");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
{
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.Property<string>("LoginProvider")
.HasColumnType("text");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens", (string)null);
});
modelBuilder.Entity("DbCompanyTableDbCompanyTableView", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", null)
.WithMany()
.HasForeignKey("CompanyTablesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTableView", null)
.WithMany()
.HasForeignKey("DbCompanyTableViewId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DbCompanyTableViewDbUserProfile", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTableView", null)
.WithMany()
.HasForeignKey("CompanyTableViewsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", null)
.WithMany()
.HasForeignKey("UserProfilesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DbProductTableDbProductTableView", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProductTableView", null)
.WithMany()
.HasForeignKey("DbProductTableViewId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbProductTable", null)
.WithMany()
.HasForeignKey("ProductTablesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DbProductTableViewDbUserProfile", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProductTableView", null)
.WithMany()
.HasForeignKey("ProductTableViewsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", null)
.WithMany()
.HasForeignKey("UserProfilesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", "CompanyTable")
.WithMany("Companies")
.HasForeignKey("CompanyTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CompanyTable");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyRating", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompany", "Company")
.WithMany("CompanyRatings")
.HasForeignKey("CompanyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("CompanyRatings")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProduct", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompany", "Company")
.WithMany("Products")
.HasForeignKey("CompanyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbProductTable", "ProductTable")
.WithMany("Products")
.HasForeignKey("ProductTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
b.Navigation("ProductTable");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductRating", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProduct", "Product")
.WithMany("ProductRatings")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("ProductRatings")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Product");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUpdateRecord", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompany", null)
.WithMany("History")
.HasForeignKey("DbCompanyId");
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTableView", null)
.WithMany("History")
.HasForeignKey("DbCompanyTableViewId");
b.HasOne("DrinkRateAPI.DbEntities.DbProduct", null)
.WithMany("History")
.HasForeignKey("DbProductId");
b.HasOne("DrinkRateAPI.DbEntities.DbProductTableView", null)
.WithMany("History")
.HasForeignKey("DbProductTableViewId");
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("History")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyRating", null)
.WithMany("History")
.HasForeignKey("DbCompanyRatingUserProfileId", "DbCompanyRatingCompanyId");
b.HasOne("DrinkRateAPI.DbEntities.DbProductRating", null)
.WithMany("History")
.HasForeignKey("DbProductRatingUserProfileId", "DbProductRatingProductId");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUpdateRecordFieldChange", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbUpdateRecord", null)
.WithMany("UpdateRecordFieldChanges")
.HasForeignKey("DbUpdateRecordId");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfile", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", "ApplicationUser")
.WithOne("UserProfile")
.HasForeignKey("DrinkRateAPI.DbEntities.DbUserProfile", "ApplicationUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ApplicationUser");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileCompanyTableStat", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", "CompanyTable")
.WithMany()
.HasForeignKey("CompanyTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("UserProfileCompanyTableStats")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CompanyTable");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileProductTableStat", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProductTable", "ProductTable")
.WithMany()
.HasForeignKey("ProductTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("UserProfileProductTableStats")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ProductTable");
b.Navigation("UserProfile");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbApplicationUser", b =>
{
b.Navigation("UserProfile")
.IsRequired();
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b =>
{
b.Navigation("CompanyRatings");
b.Navigation("History");
b.Navigation("Products");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyRating", b =>
{
b.Navigation("History");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTable", b =>
{
b.Navigation("Companies");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTableView", b =>
{
b.Navigation("History");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProduct", b =>
{
b.Navigation("History");
b.Navigation("ProductRatings");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductRating", b =>
{
b.Navigation("History");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTable", b =>
{
b.Navigation("Products");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTableView", b =>
{
b.Navigation("History");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUpdateRecord", b =>
{
b.Navigation("UpdateRecordFieldChanges");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfile", b =>
{
b.Navigation("CompanyRatings");
b.Navigation("History");
b.Navigation("ProductRatings");
b.Navigation("UserProfileCompanyTableStats");
b.Navigation("UserProfileProductTableStats");
});
#pragma warning restore 612, 618
}
}
}

View file

@ -0,0 +1,142 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace DrinkRateAPI.Migrations
{
/// <inheritdoc />
public partial class ObjectHistory : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "UpdateRecords",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
UserProfileId = table.Column<Guid>(type: "uuid", nullable: false),
UpdateTime = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
DbCompanyId = table.Column<Guid>(type: "uuid", nullable: true),
DbCompanyRatingCompanyId = table.Column<Guid>(type: "uuid", nullable: true),
DbCompanyRatingUserProfileId = table.Column<Guid>(type: "uuid", nullable: true),
DbCompanyTableViewId = table.Column<Guid>(type: "uuid", nullable: true),
DbProductId = table.Column<Guid>(type: "uuid", nullable: true),
DbProductRatingProductId = table.Column<Guid>(type: "uuid", nullable: true),
DbProductRatingUserProfileId = table.Column<Guid>(type: "uuid", nullable: true),
DbProductTableViewId = table.Column<Guid>(type: "uuid", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_UpdateRecords", x => x.Id);
table.ForeignKey(
name: "FK_UpdateRecords_Companies_DbCompanyId",
column: x => x.DbCompanyId,
principalTable: "Companies",
principalColumn: "Id");
table.ForeignKey(
name: "FK_UpdateRecords_CompanyRatings_DbCompanyRatingUserProfileId_D~",
columns: x => new { x.DbCompanyRatingUserProfileId, x.DbCompanyRatingCompanyId },
principalTable: "CompanyRatings",
principalColumns: new[] { "UserProfileId", "CompanyId" });
table.ForeignKey(
name: "FK_UpdateRecords_CompanyTableViews_DbCompanyTableViewId",
column: x => x.DbCompanyTableViewId,
principalTable: "CompanyTableViews",
principalColumn: "Id");
table.ForeignKey(
name: "FK_UpdateRecords_ProductRating_DbProductRatingUserProfileId_Db~",
columns: x => new { x.DbProductRatingUserProfileId, x.DbProductRatingProductId },
principalTable: "ProductRating",
principalColumns: new[] { "UserProfileId", "ProductId" });
table.ForeignKey(
name: "FK_UpdateRecords_ProductTableView_DbProductTableViewId",
column: x => x.DbProductTableViewId,
principalTable: "ProductTableView",
principalColumn: "Id");
table.ForeignKey(
name: "FK_UpdateRecords_Product_DbProductId",
column: x => x.DbProductId,
principalTable: "Product",
principalColumn: "Id");
table.ForeignKey(
name: "FK_UpdateRecords_UserProfiles_UserProfileId",
column: x => x.UserProfileId,
principalTable: "UserProfiles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "UpdateRecordFieldChanges",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
Field = table.Column<string>(type: "text", nullable: false),
OldValue = table.Column<string>(type: "text", nullable: false),
NewValue = table.Column<string>(type: "text", nullable: false),
DbUpdateRecordId = table.Column<Guid>(type: "uuid", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_UpdateRecordFieldChanges", x => x.Id);
table.ForeignKey(
name: "FK_UpdateRecordFieldChanges_UpdateRecords_DbUpdateRecordId",
column: x => x.DbUpdateRecordId,
principalTable: "UpdateRecords",
principalColumn: "Id");
});
migrationBuilder.CreateIndex(
name: "IX_UpdateRecordFieldChanges_DbUpdateRecordId",
table: "UpdateRecordFieldChanges",
column: "DbUpdateRecordId");
migrationBuilder.CreateIndex(
name: "IX_UpdateRecords_DbCompanyId",
table: "UpdateRecords",
column: "DbCompanyId");
migrationBuilder.CreateIndex(
name: "IX_UpdateRecords_DbCompanyRatingUserProfileId_DbCompanyRatingC~",
table: "UpdateRecords",
columns: new[] { "DbCompanyRatingUserProfileId", "DbCompanyRatingCompanyId" });
migrationBuilder.CreateIndex(
name: "IX_UpdateRecords_DbCompanyTableViewId",
table: "UpdateRecords",
column: "DbCompanyTableViewId");
migrationBuilder.CreateIndex(
name: "IX_UpdateRecords_DbProductId",
table: "UpdateRecords",
column: "DbProductId");
migrationBuilder.CreateIndex(
name: "IX_UpdateRecords_DbProductRatingUserProfileId_DbProductRatingP~",
table: "UpdateRecords",
columns: new[] { "DbProductRatingUserProfileId", "DbProductRatingProductId" });
migrationBuilder.CreateIndex(
name: "IX_UpdateRecords_DbProductTableViewId",
table: "UpdateRecords",
column: "DbProductTableViewId");
migrationBuilder.CreateIndex(
name: "IX_UpdateRecords_UserProfileId",
table: "UpdateRecords",
column: "UserProfileId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "UpdateRecordFieldChanges");
migrationBuilder.DropTable(
name: "UpdateRecords");
}
}
}

View file

@ -0,0 +1,948 @@
// <auto-generated />
using System;
using DrinkRateAPI.Contexts;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace DrinkRateAPI.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
partial class ApplicationDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.8")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("DbCompanyTableDbCompanyTableView", b =>
{
b.Property<Guid>("CompanyTablesId")
.HasColumnType("uuid");
b.Property<Guid>("DbCompanyTableViewId")
.HasColumnType("uuid");
b.HasKey("CompanyTablesId", "DbCompanyTableViewId");
b.HasIndex("DbCompanyTableViewId");
b.ToTable("DbCompanyTableDbCompanyTableView");
});
modelBuilder.Entity("DbCompanyTableViewDbUserProfile", b =>
{
b.Property<Guid>("CompanyTableViewsId")
.HasColumnType("uuid");
b.Property<Guid>("UserProfilesId")
.HasColumnType("uuid");
b.HasKey("CompanyTableViewsId", "UserProfilesId");
b.HasIndex("UserProfilesId");
b.ToTable("DbCompanyTableViewDbUserProfile");
});
modelBuilder.Entity("DbProductTableDbProductTableView", b =>
{
b.Property<Guid>("DbProductTableViewId")
.HasColumnType("uuid");
b.Property<Guid>("ProductTablesId")
.HasColumnType("uuid");
b.HasKey("DbProductTableViewId", "ProductTablesId");
b.HasIndex("ProductTablesId");
b.ToTable("DbProductTableDbProductTableView");
});
modelBuilder.Entity("DbProductTableViewDbUserProfile", b =>
{
b.Property<Guid>("ProductTableViewsId")
.HasColumnType("uuid");
b.Property<Guid>("UserProfilesId")
.HasColumnType("uuid");
b.HasKey("ProductTableViewsId", "UserProfilesId");
b.HasIndex("UserProfilesId");
b.ToTable("DbProductTableViewDbUserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbApplicationUser", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<int>("AccessFailedCount")
.HasColumnType("integer");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text");
b.Property<string>("Email")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<bool>("EmailConfirmed")
.HasColumnType("boolean");
b.Property<bool>("LockoutEnabled")
.HasColumnType("boolean");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("timestamp with time zone");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("PasswordHash")
.HasColumnType("text");
b.Property<string>("PhoneNumber")
.HasColumnType("text");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("boolean");
b.Property<string>("SecurityStamp")
.HasColumnType("text");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("boolean");
b.Property<string>("UserName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex");
b.ToTable("AspNetUsers", (string)null);
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("CompanyName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<Guid>("CompanyTableId")
.HasColumnType("uuid");
b.Property<long>("RatingCount")
.HasColumnType("bigint");
b.Property<long>("RatingSum")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("CompanyName")
.IsUnique();
b.HasIndex("CompanyTableId");
b.ToTable("Companies");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyRating", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("CompanyId")
.HasColumnType("uuid");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte>("Rating")
.HasColumnType("smallint");
b.HasKey("UserProfileId", "CompanyId");
b.HasIndex("CompanyId");
b.ToTable("CompanyRatings");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTable", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("CompanyTableName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("CompanyTableName")
.IsUnique();
b.ToTable("CompanyTables");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTableView", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.HasKey("Id");
b.ToTable("CompanyTableViews");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProduct", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid>("CompanyId")
.HasColumnType("uuid");
b.Property<string>("ProductName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<Guid>("ProductTableId")
.HasColumnType("uuid");
b.Property<long>("RatingCount")
.HasColumnType("bigint");
b.Property<long>("RatingSum")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("CompanyId");
b.HasIndex("ProductName")
.IsUnique();
b.HasIndex("ProductTableId");
b.ToTable("Product");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductRating", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("ProductId")
.HasColumnType("uuid");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte>("Rating")
.HasColumnType("smallint");
b.HasKey("UserProfileId", "ProductId");
b.HasIndex("ProductId");
b.ToTable("ProductRating");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTable", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("ProductTableName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ProductTableName")
.IsUnique();
b.ToTable("ProductTable");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTableView", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.HasKey("Id");
b.ToTable("ProductTableView");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUpdateRecord", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid?>("DbCompanyId")
.HasColumnType("uuid");
b.Property<Guid?>("DbCompanyRatingCompanyId")
.HasColumnType("uuid");
b.Property<Guid?>("DbCompanyRatingUserProfileId")
.HasColumnType("uuid");
b.Property<Guid?>("DbCompanyTableViewId")
.HasColumnType("uuid");
b.Property<Guid?>("DbProductId")
.HasColumnType("uuid");
b.Property<Guid?>("DbProductRatingProductId")
.HasColumnType("uuid");
b.Property<Guid?>("DbProductRatingUserProfileId")
.HasColumnType("uuid");
b.Property<Guid?>("DbProductTableViewId")
.HasColumnType("uuid");
b.Property<DateTime>("UpdateTime")
.HasColumnType("timestamp with time zone");
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("DbCompanyId");
b.HasIndex("DbCompanyTableViewId");
b.HasIndex("DbProductId");
b.HasIndex("DbProductTableViewId");
b.HasIndex("UserProfileId");
b.HasIndex("DbCompanyRatingUserProfileId", "DbCompanyRatingCompanyId");
b.HasIndex("DbProductRatingUserProfileId", "DbProductRatingProductId");
b.ToTable("UpdateRecords");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUpdateRecordFieldChange", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid?>("DbUpdateRecordId")
.HasColumnType("uuid");
b.Property<string>("Field")
.IsRequired()
.HasColumnType("text");
b.Property<string>("NewValue")
.IsRequired()
.HasColumnType("text");
b.Property<string>("OldValue")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("DbUpdateRecordId");
b.ToTable("UpdateRecordFieldChanges");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfile", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid>("ApplicationUserId")
.HasColumnType("uuid");
b.Property<bool>("IsAdmin")
.HasColumnType("boolean");
b.Property<bool>("IsDeleted")
.HasColumnType("boolean");
b.Property<string>("UserName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ApplicationUserId")
.IsUnique();
b.HasIndex("UserName")
.IsUnique();
b.ToTable("UserProfiles");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileCompanyTableStat", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("CompanyTableId")
.HasColumnType("uuid");
b.Property<int>("Credits")
.HasColumnType("integer");
b.Property<int>("HighestRatingCount")
.HasColumnType("integer");
b.Property<int>("RatingCount")
.HasColumnType("integer");
b.HasKey("UserProfileId", "CompanyTableId");
b.HasIndex("CompanyTableId");
b.ToTable("UserProfileCompanyTableStats");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileProductTableStat", b =>
{
b.Property<Guid>("UserProfileId")
.HasColumnType("uuid");
b.Property<Guid>("ProductTableId")
.HasColumnType("uuid");
b.Property<int>("Credits")
.HasColumnType("integer");
b.Property<int>("HighestRatingCount")
.HasColumnType("integer");
b.Property<int>("RatingCount")
.HasColumnType("integer");
b.HasKey("UserProfileId", "ProductTableId");
b.HasIndex("ProductTableId");
b.ToTable("UserProfileProductTableStats");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("NormalizedName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex");
b.ToTable("AspNetRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("text");
b.Property<string>("ClaimValue")
.HasColumnType("text");
b.Property<Guid>("RoleId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("text");
b.Property<string>("ClaimValue")
.HasColumnType("text");
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
{
b.Property<string>("LoginProvider")
.HasColumnType("text");
b.Property<string>("ProviderKey")
.HasColumnType("text");
b.Property<string>("ProviderDisplayName")
.HasColumnType("text");
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
{
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.Property<Guid>("RoleId")
.HasColumnType("uuid");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
{
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.Property<string>("LoginProvider")
.HasColumnType("text");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<string>("Value")
.HasColumnType("text");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens", (string)null);
});
modelBuilder.Entity("DbCompanyTableDbCompanyTableView", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", null)
.WithMany()
.HasForeignKey("CompanyTablesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTableView", null)
.WithMany()
.HasForeignKey("DbCompanyTableViewId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DbCompanyTableViewDbUserProfile", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTableView", null)
.WithMany()
.HasForeignKey("CompanyTableViewsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", null)
.WithMany()
.HasForeignKey("UserProfilesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DbProductTableDbProductTableView", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProductTableView", null)
.WithMany()
.HasForeignKey("DbProductTableViewId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbProductTable", null)
.WithMany()
.HasForeignKey("ProductTablesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DbProductTableViewDbUserProfile", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProductTableView", null)
.WithMany()
.HasForeignKey("ProductTableViewsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", null)
.WithMany()
.HasForeignKey("UserProfilesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", "CompanyTable")
.WithMany("Companies")
.HasForeignKey("CompanyTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CompanyTable");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyRating", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompany", "Company")
.WithMany("CompanyRatings")
.HasForeignKey("CompanyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("CompanyRatings")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProduct", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompany", "Company")
.WithMany("Products")
.HasForeignKey("CompanyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbProductTable", "ProductTable")
.WithMany("Products")
.HasForeignKey("ProductTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
b.Navigation("ProductTable");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductRating", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProduct", "Product")
.WithMany("ProductRatings")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("ProductRatings")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Product");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUpdateRecord", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompany", null)
.WithMany("History")
.HasForeignKey("DbCompanyId");
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTableView", null)
.WithMany("History")
.HasForeignKey("DbCompanyTableViewId");
b.HasOne("DrinkRateAPI.DbEntities.DbProduct", null)
.WithMany("History")
.HasForeignKey("DbProductId");
b.HasOne("DrinkRateAPI.DbEntities.DbProductTableView", null)
.WithMany("History")
.HasForeignKey("DbProductTableViewId");
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("History")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyRating", null)
.WithMany("History")
.HasForeignKey("DbCompanyRatingUserProfileId", "DbCompanyRatingCompanyId");
b.HasOne("DrinkRateAPI.DbEntities.DbProductRating", null)
.WithMany("History")
.HasForeignKey("DbProductRatingUserProfileId", "DbProductRatingProductId");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUpdateRecordFieldChange", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbUpdateRecord", null)
.WithMany("UpdateRecordFieldChanges")
.HasForeignKey("DbUpdateRecordId");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfile", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", "ApplicationUser")
.WithOne("UserProfile")
.HasForeignKey("DrinkRateAPI.DbEntities.DbUserProfile", "ApplicationUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ApplicationUser");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileCompanyTableStat", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", "CompanyTable")
.WithMany()
.HasForeignKey("CompanyTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("UserProfileCompanyTableStats")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CompanyTable");
b.Navigation("UserProfile");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfileProductTableStat", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbProductTable", "ProductTable")
.WithMany()
.HasForeignKey("ProductTableId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbUserProfile", "UserProfile")
.WithMany("UserProfileProductTableStats")
.HasForeignKey("UserProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ProductTable");
b.Navigation("UserProfile");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
{
b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbApplicationUser", b =>
{
b.Navigation("UserProfile")
.IsRequired();
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b =>
{
b.Navigation("CompanyRatings");
b.Navigation("History");
b.Navigation("Products");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyRating", b =>
{
b.Navigation("History");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTable", b =>
{
b.Navigation("Companies");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompanyTableView", b =>
{
b.Navigation("History");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProduct", b =>
{
b.Navigation("History");
b.Navigation("ProductRatings");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductRating", b =>
{
b.Navigation("History");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTable", b =>
{
b.Navigation("Products");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbProductTableView", b =>
{
b.Navigation("History");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUpdateRecord", b =>
{
b.Navigation("UpdateRecordFieldChanges");
});
modelBuilder.Entity("DrinkRateAPI.DbEntities.DbUserProfile", b =>
{
b.Navigation("CompanyRatings");
b.Navigation("History");
b.Navigation("ProductRatings");
b.Navigation("UserProfileCompanyTableStats");
b.Navigation("UserProfileProductTableStats");
});
#pragma warning restore 612, 618
}
}
}

View file

@ -1,5 +1,6 @@
using DrinkRateAPI.Contexts;
using DrinkRateAPI.DbEntities;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
using Microsoft.OpenApi.Models; using Microsoft.OpenApi.Models;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
@ -10,8 +11,9 @@ builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer(); builder.Services.AddEndpointsApiExplorer();
builder.Services.AddAuthorization(); builder.Services.AddAuthorization();
builder.Services.AddIdentityApiEndpoints<IdentityUser>() builder.Services.AddIdentityApiEndpoints<DbApplicationUser>()
.AddEntityFrameworkStores<ApplicationDbContext>(); .AddEntityFrameworkStores<ApplicationDbContext>();
builder.Services.AddScoped<UserManager<DbApplicationUser>, UserWithProfileManager>();
builder.Services.AddSwaggerGen(c => builder.Services.AddSwaggerGen(c =>
{ {
@ -47,9 +49,7 @@ builder.Services.AddSwaggerGen(c =>
}); });
}); });
// to do: remove builder.Services.AddDbContext<ApplicationDbContext>();
builder.Services.AddDbContext<ApplicationDbContext>(
options => options.UseInMemoryDatabase("AppDb"));
var app = builder.Build(); var app = builder.Build();
@ -61,7 +61,7 @@ if (app.Environment.IsDevelopment())
app.MapSwagger().RequireAuthorization(); app.MapSwagger().RequireAuthorization();
} }
app.MapIdentityApi<IdentityUser>(); app.MapIdentityApi<DbApplicationUser>();
app.UseHttpsRedirection(); app.UseHttpsRedirection();

View file

@ -1,8 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View file

@ -5,5 +5,8 @@
"Microsoft.AspNetCore": "Warning" "Microsoft.AspNetCore": "Warning"
} }
}, },
"AllowedHosts": "*" "AllowedHosts": "*",
"ConnectionStrings": {
"DbDevelopment": "Host=localhost;Port=6942;Database=postgres;Username=postgres;Password=rum_beer_quests_mead"
}
} }

View file

@ -1,458 +0,0 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {
"DrinkRateAPI/1.0.0": {
"dependencies": {
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "9.0.8",
"Microsoft.EntityFrameworkCore": "9.0.8",
"Microsoft.EntityFrameworkCore.InMemory": "9.0.8",
"Swashbuckle.AspNetCore": "6.4.0"
},
"runtime": {
"DrinkRateAPI.dll": {}
}
},
"Microsoft.AspNetCore.Cryptography.Internal/9.0.8": {
"runtime": {
"lib/net9.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36808"
}
}
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.8": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36808"
}
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.8": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "9.0.8",
"Microsoft.Extensions.Identity.Stores": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"assemblyVersion": "9.0.8.0",
"fileVersion": "9.0.825.36808"
}
}
},
"Microsoft.EntityFrameworkCore/9.0.8": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Abstractions": "9.0.8",
"Microsoft.EntityFrameworkCore.Analyzers": "9.0.8",
"Microsoft.Extensions.Caching.Memory": "9.0.8",
"Microsoft.Extensions.Logging": "9.0.8"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.dll": {
"assemblyVersion": "9.0.8.0",
"fileVersion": "9.0.825.36802"
}
}
},
"Microsoft.EntityFrameworkCore.Abstractions/9.0.8": {
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"assemblyVersion": "9.0.8.0",
"fileVersion": "9.0.825.36802"
}
}
},
"Microsoft.EntityFrameworkCore.Analyzers/9.0.8": {},
"Microsoft.EntityFrameworkCore.InMemory/9.0.8": {
"dependencies": {
"Microsoft.EntityFrameworkCore": "9.0.8",
"Microsoft.Extensions.Caching.Memory": "9.0.8",
"Microsoft.Extensions.Logging": "9.0.8"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.InMemory.dll": {
"assemblyVersion": "9.0.8.0",
"fileVersion": "9.0.825.36802"
}
}
},
"Microsoft.EntityFrameworkCore.Relational/9.0.8": {
"dependencies": {
"Microsoft.EntityFrameworkCore": "9.0.8",
"Microsoft.Extensions.Caching.Memory": "9.0.8",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.8",
"Microsoft.Extensions.Logging": "9.0.8"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"assemblyVersion": "9.0.8.0",
"fileVersion": "9.0.825.36802"
}
}
},
"Microsoft.Extensions.ApiDescription.Server/6.0.5": {},
"Microsoft.Extensions.Caching.Abstractions/9.0.8": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36511"
}
}
},
"Microsoft.Extensions.Caching.Memory/9.0.8": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "9.0.8",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8",
"Microsoft.Extensions.Logging.Abstractions": "9.0.8",
"Microsoft.Extensions.Options": "9.0.8",
"Microsoft.Extensions.Primitives": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36511"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.8": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36511"
}
}
},
"Microsoft.Extensions.DependencyInjection/9.0.8": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.DependencyInjection.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36511"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.8": {
"runtime": {
"lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36511"
}
}
},
"Microsoft.Extensions.Identity.Core/9.0.8": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "9.0.8",
"Microsoft.Extensions.Logging": "9.0.8",
"Microsoft.Extensions.Options": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Identity.Core.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36808"
}
}
},
"Microsoft.Extensions.Identity.Stores/9.0.8": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "9.0.8",
"Microsoft.Extensions.Identity.Core": "9.0.8",
"Microsoft.Extensions.Logging": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Identity.Stores.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36808"
}
}
},
"Microsoft.Extensions.Logging/9.0.8": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.8",
"Microsoft.Extensions.Logging.Abstractions": "9.0.8",
"Microsoft.Extensions.Options": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Logging.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36511"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/9.0.8": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36511"
}
}
},
"Microsoft.Extensions.Options/9.0.8": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8",
"Microsoft.Extensions.Primitives": "9.0.8"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36511"
}
}
},
"Microsoft.Extensions.Primitives/9.0.8": {
"runtime": {
"lib/net9.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.825.36511"
}
}
},
"Microsoft.OpenApi/1.2.3": {
"runtime": {
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
"assemblyVersion": "1.2.3.0",
"fileVersion": "1.2.3.0"
}
}
},
"Swashbuckle.AspNetCore/6.4.0": {
"dependencies": {
"Microsoft.Extensions.ApiDescription.Server": "6.0.5",
"Swashbuckle.AspNetCore.Swagger": "6.4.0",
"Swashbuckle.AspNetCore.SwaggerGen": "6.4.0",
"Swashbuckle.AspNetCore.SwaggerUI": "6.4.0"
}
},
"Swashbuckle.AspNetCore.Swagger/6.4.0": {
"dependencies": {
"Microsoft.OpenApi": "1.2.3"
},
"runtime": {
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
"assemblyVersion": "6.4.0.0",
"fileVersion": "6.4.0.0"
}
}
},
"Swashbuckle.AspNetCore.SwaggerGen/6.4.0": {
"dependencies": {
"Swashbuckle.AspNetCore.Swagger": "6.4.0"
},
"runtime": {
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
"assemblyVersion": "6.4.0.0",
"fileVersion": "6.4.0.0"
}
}
},
"Swashbuckle.AspNetCore.SwaggerUI/6.4.0": {
"runtime": {
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
"assemblyVersion": "6.4.0.0",
"fileVersion": "6.4.0.0"
}
}
}
}
},
"libraries": {
"DrinkRateAPI/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.AspNetCore.Cryptography.Internal/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-NwGO0wh/IjEthBLGA6fWfIiftsNF/paA5RxWp6ji4wWazetJgQ4truR9nU2thAzzFLiXqlg8vGjdVDA8bHu0zA==",
"path": "microsoft.aspnetcore.cryptography.internal/9.0.8",
"hashPath": "microsoft.aspnetcore.cryptography.internal.9.0.8.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gK70xxXYwwPiXYKYVmLYMuIO5EOGrRtQghmM6PkgtZ/0lgLEjIs//xgSLvZkV/mroNHA1DEqTcqscEj9OzZ1IA==",
"path": "microsoft.aspnetcore.cryptography.keyderivation/9.0.8",
"hashPath": "microsoft.aspnetcore.cryptography.keyderivation.9.0.8.nupkg.sha512"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-z4q9roxXMQePwFM5tXXZS5sKkU78yYXVkj56NYYx9xKe+mxGkJMV1MaO0GFE6HnnM8bE3Xxhs0hAPw2jKbse6w==",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/9.0.8",
"hashPath": "microsoft.aspnetcore.identity.entityframeworkcore.9.0.8.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bNGdPhN762+BIIO5MFYLjafRqkSS1MqLOc/erd55InvLnFxt9H3N5JNsuag1ZHyBor1VtD42U0CHpgqkWeAYgQ==",
"path": "microsoft.entityframeworkcore/9.0.8",
"hashPath": "microsoft.entityframeworkcore.9.0.8.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Abstractions/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-B2yfAIQRRAQ4zvvWqh+HudD+juV3YoLlpXnrog3tU0PM9AFpuq6xo0+mEglN1P43WgdcUiF+65CWBcZe35s15Q==",
"path": "microsoft.entityframeworkcore.abstractions/9.0.8",
"hashPath": "microsoft.entityframeworkcore.abstractions.9.0.8.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Analyzers/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-2EYStCXt4Hi9p3J3EYMQbItJDtASJd064Kcs8C8hj8Jt5srILrR9qlaL0Ryvk8NrWQoCQvIELsmiuqLEZMLvGA==",
"path": "microsoft.entityframeworkcore.analyzers/9.0.8",
"hashPath": "microsoft.entityframeworkcore.analyzers.9.0.8.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.InMemory/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-F5+lo74OJH9iik/WtMae9ySeew1pxiYSmODkTmHo7n7JsCM5flW1WlUCjACoe7XM9Gng2ndUwXjIizhzx3Os5w==",
"path": "microsoft.entityframeworkcore.inmemory/9.0.8",
"hashPath": "microsoft.entityframeworkcore.inmemory.9.0.8.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Relational/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-OVhfyxiHxMvYpwQ8Jy3YZi4koy6TK5/Q7C1oq3z6db+HEGuu6x9L1BX5zDIdJxxlRePMyO4D8ORiXj/D7+MUqw==",
"path": "microsoft.entityframeworkcore.relational/9.0.8",
"hashPath": "microsoft.entityframeworkcore.relational.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.ApiDescription.Server/6.0.5": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==",
"path": "microsoft.extensions.apidescription.server/6.0.5",
"hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4h7bsVoKoiK+SlPM+euX/ayGnKZhl47pPCidLTiio9xyG+vgVVfcYxcYQgjm0SCrdSxjG0EGIAKF8EFr3G8Ifw==",
"path": "microsoft.extensions.caching.abstractions/9.0.8",
"hashPath": "microsoft.extensions.caching.abstractions.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-grR+oPyj8HVn4DT8CFUUdSw2pZZKS13KjytFe4txpHQliGM1GEDotohmjgvyl3hm7RFB3FRqvbouEX3/1ewp5A==",
"path": "microsoft.extensions.caching.memory/9.0.8",
"hashPath": "microsoft.extensions.caching.memory.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yNou2KM35RvzOh4vUFtl2l33rWPvOCoba+nzEDJ+BgD8aOL/jew4WPCibQvntRfOJ2pJU8ARygSMD+pdjvDHuA==",
"path": "microsoft.extensions.configuration.abstractions/9.0.8",
"hashPath": "microsoft.extensions.configuration.abstractions.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JJjI2Fa+QtZcUyuNjbKn04OjIUX5IgFGFu/Xc+qvzh1rXdZHLcnqqVXhR4093bGirTwacRlHiVg1XYI9xum6QQ==",
"path": "microsoft.extensions.dependencyinjection/9.0.8",
"hashPath": "microsoft.extensions.dependencyinjection.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xY3lTjj4+ZYmiKIkyWitddrp1uL5uYiweQjqo4BKBw01ZC4HhcfgLghDpPZcUlppgWAFqFy9SgkiYWOMx365pw==",
"path": "microsoft.extensions.dependencyinjection.abstractions/9.0.8",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Core/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-giUYz84GHAizDucZp5vWAusDO2s9Jrrg2jQ6HUQNGs5HQMKJVobLPMQSiyg8R4yecH0pIc0QjANh0B/Kw13BHA==",
"path": "microsoft.extensions.identity.core/9.0.8",
"hashPath": "microsoft.extensions.identity.core.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Stores/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-sycaHcq78yI591+KxEdd53a7pJGQEl9H/wDsFkaPNE9g7loyq8vufPcc/9RH3KlGt5joR5Ey7PdoRSrlLjCgJg==",
"path": "microsoft.extensions.identity.stores/9.0.8",
"hashPath": "microsoft.extensions.identity.stores.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.Logging/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Z/7ze+0iheT7FJeZPqJKARYvyC2bmwu3whbm/48BJjdlGVvgDguoCqJIkI/67NkroTYobd5geai1WheNQvWrgA==",
"path": "microsoft.extensions.logging/9.0.8",
"hashPath": "microsoft.extensions.logging.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pYnAffJL7ARD/HCnnPvnFKSIHnTSmWz84WIlT9tPeQ4lHNiu0Az7N/8itihWvcF8sT+VVD5lq8V+ckMzu4SbOw==",
"path": "microsoft.extensions.logging.abstractions/9.0.8",
"hashPath": "microsoft.extensions.logging.abstractions.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.Options/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-OmTaQ0v4gxGQkehpwWIqPoEiwsPuG/u4HUsbOFoWGx4DKET2AXzopnFe/fE608FIhzc/kcg2p8JdyMRCCUzitQ==",
"path": "microsoft.extensions.options/9.0.8",
"hashPath": "microsoft.extensions.options.9.0.8.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/9.0.8": {
"type": "package",
"serviceable": true,
"sha512": "sha512-tizSIOEsIgSNSSh+hKeUVPK7xmTIjR8s+mJWOu1KXV3htvNQiPMFRMO17OdI1y/4ZApdBVk49u/08QGC9yvLug==",
"path": "microsoft.extensions.primitives/9.0.8",
"hashPath": "microsoft.extensions.primitives.9.0.8.nupkg.sha512"
},
"Microsoft.OpenApi/1.2.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==",
"path": "microsoft.openapi/1.2.3",
"hashPath": "microsoft.openapi.1.2.3.nupkg.sha512"
},
"Swashbuckle.AspNetCore/6.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-eUBr4TW0up6oKDA5Xwkul289uqSMgY0xGN4pnbOIBqCcN9VKGGaPvHX3vWaG/hvocfGDP+MGzMA0bBBKz2fkmQ==",
"path": "swashbuckle.aspnetcore/6.4.0",
"hashPath": "swashbuckle.aspnetcore.6.4.0.nupkg.sha512"
},
"Swashbuckle.AspNetCore.Swagger/6.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-nl4SBgGM+cmthUcpwO/w1lUjevdDHAqRvfUoe4Xp/Uvuzt9mzGUwyFCqa3ODBAcZYBiFoKvrYwz0rabslJvSmQ==",
"path": "swashbuckle.aspnetcore.swagger/6.4.0",
"hashPath": "swashbuckle.aspnetcore.swagger.6.4.0.nupkg.sha512"
},
"Swashbuckle.AspNetCore.SwaggerGen/6.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lXhcUBVqKrPFAQF7e/ZeDfb5PMgE8n5t6L5B6/BQSpiwxgHzmBcx8Msu42zLYFTvR5PIqE9Q9lZvSQAcwCxJjw==",
"path": "swashbuckle.aspnetcore.swaggergen/6.4.0",
"hashPath": "swashbuckle.aspnetcore.swaggergen.6.4.0.nupkg.sha512"
},
"Swashbuckle.AspNetCore.SwaggerUI/6.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1Hh3atb3pi8c+v7n4/3N80Jj8RvLOXgWxzix6w3OZhB7zBGRwsy7FWr4e3hwgPweSBpwfElqj4V4nkjYabH9nQ==",
"path": "swashbuckle.aspnetcore.swaggerui/6.4.0",
"hashPath": "swashbuckle.aspnetcore.swaggerui.6.4.0.nupkg.sha512"
}
}
}

View file

@ -1,20 +0,0 @@
{
"runtimeOptions": {
"tfm": "net9.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "9.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "9.0.0"
}
],
"configProperties": {
"System.GC.Server": true,
"System.Reflection.NullabilityInfoContext.IsSupported": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

View file

@ -1 +0,0 @@
{"Version":1,"ManifestType":"Build","Endpoints":[]}

View file

@ -1,8 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View file

@ -1,9 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

View file

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]

View file

@ -1,22 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("DrinkRateAPI")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("DrinkRateAPI")]
[assembly: System.Reflection.AssemblyTitleAttribute("DrinkRateAPI")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View file

@ -1 +0,0 @@
a800cf208542da2e16464ad5cac9564d078e4662a36df15e3e96ae4fd84319f7

View file

@ -1,21 +0,0 @@
is_global = true
build_property.TargetFramework = net9.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = true
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = DrinkRateAPI
build_property.RootNamespace = DrinkRateAPI
build_property.ProjectDir = C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.RazorLangVersion = 9.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI
build_property._RazorSourceGeneratorDebug =
build_property.EffectiveAnalysisLevelStyle = 9.0
build_property.EnableCodeStyleSeverity =

View file

@ -1,17 +0,0 @@
// <auto-generated/>
global using global::Microsoft.AspNetCore.Builder;
global using global::Microsoft.AspNetCore.Hosting;
global using global::Microsoft.AspNetCore.Http;
global using global::Microsoft.AspNetCore.Routing;
global using global::Microsoft.Extensions.Configuration;
global using global::Microsoft.Extensions.DependencyInjection;
global using global::Microsoft.Extensions.Hosting;
global using global::Microsoft.Extensions.Logging;
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Net.Http.Json;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View file

@ -1,16 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")]
// Generated by the MSBuild WriteCodeFragment class.

View file

@ -1 +0,0 @@
d027e93c1ad1f9e30cfbc9df91e1f058bcd0f5a359bf7c14702949161684b066

View file

@ -1,52 +0,0 @@
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\appsettings.Development.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\appsettings.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\DrinkRateAPI.staticwebassets.endpoints.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\DrinkRateAPI.exe
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\DrinkRateAPI.deps.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\DrinkRateAPI.runtimeconfig.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\DrinkRateAPI.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\DrinkRateAPI.pdb
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.AspNetCore.Cryptography.Internal.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.AspNetCore.Cryptography.KeyDerivation.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.EntityFrameworkCore.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.EntityFrameworkCore.Abstractions.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.EntityFrameworkCore.Relational.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.Caching.Abstractions.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.Caching.Memory.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.Configuration.Abstractions.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.DependencyInjection.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.Identity.Core.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.Identity.Stores.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.Logging.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.Logging.Abstractions.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.Options.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.Extensions.Primitives.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.OpenApi.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Swashbuckle.AspNetCore.Swagger.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Swashbuckle.AspNetCore.SwaggerGen.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Swashbuckle.AspNetCore.SwaggerUI.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRateAPI.csproj.AssemblyReference.cache
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\rpswa.dswa.cache.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRateAPI.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRateAPI.AssemblyInfoInputs.cache
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRateAPI.AssemblyInfo.cs
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRateAPI.csproj.CoreCompileInputs.cache
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRateAPI.MvcApplicationPartsAssemblyInfo.cs
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRateAPI.MvcApplicationPartsAssemblyInfo.cache
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\rjimswa.dswa.cache.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\rjsmrazor.dswa.cache.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\rjsmcshtml.dswa.cache.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\scopedcss\bundle\DrinkRateAPI.styles.css
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\staticwebassets.build.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\staticwebassets.build.json.cache
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\staticwebassets.development.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\staticwebassets.build.endpoints.json
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRat.334F34D7.Up2Date
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRateAPI.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\refint\DrinkRateAPI.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRateAPI.pdb
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\DrinkRateAPI.genruntimeconfig.cache
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\obj\Debug\net9.0\ref\DrinkRateAPI.dll
C:\Users\jiriv\Desktop\chillrate\DrinkRateAPI\bin\Debug\net9.0\Microsoft.EntityFrameworkCore.InMemory.dll

View file

@ -1 +0,0 @@
db8258403194faa2efdd03d9f27003d9c32ed3f8b3551a692c27da9a418cd203

View file

@ -1 +0,0 @@
{"GlobalPropertiesHash":"mUpXSiNekghksKJdET9zR8O78iafrhnd/6Tl1FtO2p0=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["a8QUjAiNVicePyBw/1qQpYSFRJ38E6BnKgx6Ydf0IP0=","4tLswYmjCQNieRhIfAlUum2jX3blzLeL1yWJvF240io=","5zGY4PRMvy6UxzWAGTW3L7WfwwihDqK60\u002BiAoilb2CE=","H1kSlmZFq8JhktZwoi3QYIt65IJWIeUX6KwXWX\u002Bps2c=","3LLjBz0SAaQNG7JXZwLHupANXwekvRNDKfYPZwj8eUY="],"CachedAssets":{},"CachedCopyCandidates":{}}

View file

@ -1 +0,0 @@
{"GlobalPropertiesHash":"n9rlAaKwcvYaZCfhEEusRfUkJz8v66EwjP0lB+v22tY=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["a8QUjAiNVicePyBw/1qQpYSFRJ38E6BnKgx6Ydf0IP0=","4tLswYmjCQNieRhIfAlUum2jX3blzLeL1yWJvF240io=","5zGY4PRMvy6UxzWAGTW3L7WfwwihDqK60\u002BiAoilb2CE=","H1kSlmZFq8JhktZwoi3QYIt65IJWIeUX6KwXWX\u002Bps2c=","3LLjBz0SAaQNG7JXZwLHupANXwekvRNDKfYPZwj8eUY="],"CachedAssets":{},"CachedCopyCandidates":{}}

View file

@ -1 +0,0 @@
{"GlobalPropertiesHash":"X8kf48E9+VmZJcny70r9TGLfdwzca+6FhKOfnVEW17o=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["a8QUjAiNVicePyBw/1qQpYSFRJ38E6BnKgx6Ydf0IP0=","4tLswYmjCQNieRhIfAlUum2jX3blzLeL1yWJvF240io="],"CachedAssets":{},"CachedCopyCandidates":{}}

View file

@ -1 +0,0 @@
{"Version":1,"ManifestType":"Build","Endpoints":[]}

View file

@ -1 +0,0 @@
{"Version":1,"Hash":"6i4uRH95zIAWgxvQy+3fBEhrrxtvlrGOgmN26sdQ188=","Source":"DrinkRateAPI","BasePath":"_content/DrinkRateAPI","Mode":"Default","ManifestType":"Build","ReferencedProjectsConfiguration":[],"DiscoveryPatterns":[],"Assets":[],"Endpoints":[]}

View file

@ -1 +0,0 @@
6i4uRH95zIAWgxvQy+3fBEhrrxtvlrGOgmN26sdQ188=

View file

@ -1,95 +0,0 @@
{
"format": 1,
"restore": {
"C:\\Users\\jiriv\\Desktop\\chillrate\\DrinkRateAPI\\DrinkRateAPI.csproj": {}
},
"projects": {
"C:\\Users\\jiriv\\Desktop\\chillrate\\DrinkRateAPI\\DrinkRateAPI.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\jiriv\\Desktop\\chillrate\\DrinkRateAPI\\DrinkRateAPI.csproj",
"projectName": "DrinkRateAPI",
"projectPath": "C:\\Users\\jiriv\\Desktop\\chillrate\\DrinkRateAPI\\DrinkRateAPI.csproj",
"packagesPath": "C:\\Users\\jiriv\\.nuget\\packages\\",
"outputPath": "C:\\Users\\jiriv\\Desktop\\chillrate\\DrinkRateAPI\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\jiriv\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net9.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.300"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"dependencies": {
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package",
"version": "[9.0.8, )"
},
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[9.0.8, )"
},
"Microsoft.EntityFrameworkCore.InMemory": {
"target": "Package",
"version": "[9.0.8, )"
},
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[6.4.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.304/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View file

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\jiriv\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.14.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\jiriv\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server\6.0.5\build\Microsoft.Extensions.ApiDescription.Server.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server\6.0.5\build\Microsoft.Extensions.ApiDescription.Server.props')" />
<Import Project="$(NuGetPackageRoot)swashbuckle.aspnetcore\6.4.0\build\Swashbuckle.AspNetCore.props" Condition="Exists('$(NuGetPackageRoot)swashbuckle.aspnetcore\6.4.0\build\Swashbuckle.AspNetCore.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\9.0.8\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\9.0.8\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">C:\Users\jiriv\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5</PkgMicrosoft_Extensions_ApiDescription_Server>
</PropertyGroup>
</Project>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server\6.0.5\build\Microsoft.Extensions.ApiDescription.Server.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server\6.0.5\build\Microsoft.Extensions.ApiDescription.Server.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\9.0.8\buildTransitive\net8.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\9.0.8\buildTransitive\net8.0\Microsoft.Extensions.Options.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.8\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.8\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
</ImportGroup>
</Project>

File diff suppressed because it is too large Load diff

View file

@ -1,34 +0,0 @@
{
"version": 2,
"dgSpecHash": "Wi2OCpBhbdM=",
"success": true,
"projectFilePath": "C:\\Users\\jiriv\\Desktop\\chillrate\\DrinkRateAPI\\DrinkRateAPI.csproj",
"expectedPackageFiles": [
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\9.0.8\\microsoft.aspnetcore.cryptography.internal.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.aspnetcore.cryptography.keyderivation\\9.0.8\\microsoft.aspnetcore.cryptography.keyderivation.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.aspnetcore.identity.entityframeworkcore\\9.0.8\\microsoft.aspnetcore.identity.entityframeworkcore.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.entityframeworkcore\\9.0.8\\microsoft.entityframeworkcore.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\9.0.8\\microsoft.entityframeworkcore.abstractions.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\9.0.8\\microsoft.entityframeworkcore.analyzers.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.entityframeworkcore.inmemory\\9.0.8\\microsoft.entityframeworkcore.inmemory.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\9.0.8\\microsoft.entityframeworkcore.relational.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.apidescription.server\\6.0.5\\microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\9.0.8\\microsoft.extensions.caching.abstractions.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.caching.memory\\9.0.8\\microsoft.extensions.caching.memory.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\9.0.8\\microsoft.extensions.configuration.abstractions.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\9.0.8\\microsoft.extensions.dependencyinjection.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\9.0.8\\microsoft.extensions.dependencyinjection.abstractions.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.identity.core\\9.0.8\\microsoft.extensions.identity.core.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.identity.stores\\9.0.8\\microsoft.extensions.identity.stores.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.logging\\9.0.8\\microsoft.extensions.logging.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\9.0.8\\microsoft.extensions.logging.abstractions.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.options\\9.0.8\\microsoft.extensions.options.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.extensions.primitives\\9.0.8\\microsoft.extensions.primitives.9.0.8.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\microsoft.openapi\\1.2.3\\microsoft.openapi.1.2.3.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\swashbuckle.aspnetcore\\6.4.0\\swashbuckle.aspnetcore.6.4.0.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\6.4.0\\swashbuckle.aspnetcore.swagger.6.4.0.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\6.4.0\\swashbuckle.aspnetcore.swaggergen.6.4.0.nupkg.sha512",
"C:\\Users\\jiriv\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.4.0\\swashbuckle.aspnetcore.swaggerui.6.4.0.nupkg.sha512"
],
"logs": []
}