From b7996872cb085aadb2abde035a97099ba29230f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Vrabec?= Date: Sat, 9 Aug 2025 01:00:49 +0200 Subject: [PATCH] Add EF objects --- DrinkRateAPI/Contexts/ApplicationDbContext.cs | 8 ++++---- DrinkRateAPI/Contexts/IdentityDbContext.cs | 12 ++++++++++++ DrinkRateAPI/DbEntities/DbCompany.cs | 14 ++++++++++++++ DrinkRateAPI/DbEntities/DbCompanyRating.cs | 14 ++++++++++++++ DrinkRateAPI/DbEntities/DbCompanyTable.cs | 10 ++++++++++ DrinkRateAPI/DbEntities/DbCompanyTableView.cs | 12 ++++++++++++ DrinkRateAPI/DbEntities/DbProduct.cs | 12 ++++++++++++ DrinkRateAPI/DbEntities/DbProductRating.cs | 14 ++++++++++++++ DrinkRateAPI/DbEntities/DbProductTable.cs | 12 ++++++++++++ DrinkRateAPI/DbEntities/DbProductTableView.cs | 13 +++++++++++++ DrinkRateAPI/DbEntities/DbUser.cs | 17 +++++++++++++++++ .../DbEntities/DbUserCompanyTableStats.cs | 14 ++++++++++++++ .../DbEntities/DbUserProductTableStats.cs | 14 ++++++++++++++ DrinkRateAPI/Program.cs | 5 +++-- .../Debug/net9.0/DrinkRateAPI.AssemblyInfo.cs | 2 +- .../DrinkRateAPI.AssemblyInfoInputs.cache | 2 +- 16 files changed, 167 insertions(+), 8 deletions(-) create mode 100644 DrinkRateAPI/Contexts/IdentityDbContext.cs create mode 100644 DrinkRateAPI/DbEntities/DbCompany.cs create mode 100644 DrinkRateAPI/DbEntities/DbCompanyRating.cs create mode 100644 DrinkRateAPI/DbEntities/DbCompanyTable.cs create mode 100644 DrinkRateAPI/DbEntities/DbCompanyTableView.cs create mode 100644 DrinkRateAPI/DbEntities/DbProduct.cs create mode 100644 DrinkRateAPI/DbEntities/DbProductRating.cs create mode 100644 DrinkRateAPI/DbEntities/DbProductTable.cs create mode 100644 DrinkRateAPI/DbEntities/DbProductTableView.cs create mode 100644 DrinkRateAPI/DbEntities/DbUser.cs create mode 100644 DrinkRateAPI/DbEntities/DbUserCompanyTableStats.cs create mode 100644 DrinkRateAPI/DbEntities/DbUserProductTableStats.cs diff --git a/DrinkRateAPI/Contexts/ApplicationDbContext.cs b/DrinkRateAPI/Contexts/ApplicationDbContext.cs index 3b3c1af..185223b 100644 --- a/DrinkRateAPI/Contexts/ApplicationDbContext.cs +++ b/DrinkRateAPI/Contexts/ApplicationDbContext.cs @@ -1,10 +1,10 @@ -using Microsoft.AspNetCore.Identity.EntityFrameworkCore; -using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; -public class ApplicationDbContext : IdentityDbContext +namespace DrinkRateAPI.Contexts; + +public class ApplicationDbContext : DbContext { - public ApplicationDbContext(DbContextOptions options) : + public ApplicationDbContext(DbContextOptions options) : base(options) { } } \ No newline at end of file diff --git a/DrinkRateAPI/Contexts/IdentityDbContext.cs b/DrinkRateAPI/Contexts/IdentityDbContext.cs new file mode 100644 index 0000000..57a3a45 --- /dev/null +++ b/DrinkRateAPI/Contexts/IdentityDbContext.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Identity.EntityFrameworkCore; +using Microsoft.AspNetCore.Identity; +using Microsoft.EntityFrameworkCore; + +namespace DrinkRateAPI.Contexts; + +public class IdentityDbContext : IdentityDbContext +{ + public IdentityDbContext(DbContextOptions options) : + base(options) + { } +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbCompany.cs b/DrinkRateAPI/DbEntities/DbCompany.cs new file mode 100644 index 0000000..894f398 --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbCompany.cs @@ -0,0 +1,14 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbCompany +{ + public Guid Id { get; set; } + + public Guid TableId { get; set; } + + public ICollection Products { get; set; } + + public ICollection CompanyRatings { get; set; } + + public string CompanyName { get; set; } +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbCompanyRating.cs b/DrinkRateAPI/DbEntities/DbCompanyRating.cs new file mode 100644 index 0000000..a19cecc --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbCompanyRating.cs @@ -0,0 +1,14 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbCompanyRating +{ + public Guid UserId { get; set; } + + public Guid CompanyId { get; set; } + + public Guid CompanyTableId { get; set; } + + public byte Rating { get; set; } + + public string? Comment { get; set; } +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbCompanyTable.cs b/DrinkRateAPI/DbEntities/DbCompanyTable.cs new file mode 100644 index 0000000..6814f6c --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbCompanyTable.cs @@ -0,0 +1,10 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbCompanyTable +{ + public string TableName { get; set; } + + public ICollection Companies { get; set; } + + public ICollection CompanyRatings { get; set; } +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbCompanyTableView.cs b/DrinkRateAPI/DbEntities/DbCompanyTableView.cs new file mode 100644 index 0000000..87a7a84 --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbCompanyTableView.cs @@ -0,0 +1,12 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbCompanyTableView +{ + public Guid Id { get; set; } + + public Guid CompanyTableId { get; set; } + + public ICollection Users { get; set; } + + // to do: permission types +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbProduct.cs b/DrinkRateAPI/DbEntities/DbProduct.cs new file mode 100644 index 0000000..c4bfffa --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbProduct.cs @@ -0,0 +1,12 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbProduct +{ + public Guid Id { get; set; } + + public Guid CompanyId { get; set; } + + public Guid TableId { get; set; } + + public ICollection ProductRatings { get; set; } +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbProductRating.cs b/DrinkRateAPI/DbEntities/DbProductRating.cs new file mode 100644 index 0000000..73b781f --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbProductRating.cs @@ -0,0 +1,14 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbProductRating +{ + public Guid UserId { get; set; } + + public Guid ProductId { get; set; } + + public Guid ProductTableId { get; set; } + + public byte Rating { get; set; } + + public string? Comment { get; set; } +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbProductTable.cs b/DrinkRateAPI/DbEntities/DbProductTable.cs new file mode 100644 index 0000000..310539d --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbProductTable.cs @@ -0,0 +1,12 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbProductTable +{ + public Guid Id { get; set; } + + public string TableName { get; set; } + + public ICollection Products { get; set; } + + public ICollection ProductRatings { get; set; } +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbProductTableView.cs b/DrinkRateAPI/DbEntities/DbProductTableView.cs new file mode 100644 index 0000000..035c6ca --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbProductTableView.cs @@ -0,0 +1,13 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbProductTableView +{ + public Guid Id { get; set; } + + public Guid ProductTableId { get; set; } + + public ICollection Users { get; set; } + + // to do: permission types + +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbUser.cs b/DrinkRateAPI/DbEntities/DbUser.cs new file mode 100644 index 0000000..afbea33 --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbUser.cs @@ -0,0 +1,17 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbUser +{ + public Guid Id { get; set; } + + public ICollection CompanyTableViews { get; set; } + public ICollection ProductTableViews { get; set; } + + public ICollection CompanyRatings { get; set; } + public ICollection ProductRatings { get; set; } + + public ICollection UserCompanyTableStats { get; set; } + public ICollection UserProductTableStats { get; set; } + + public string UserName { get; set; } +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbUserCompanyTableStats.cs b/DrinkRateAPI/DbEntities/DbUserCompanyTableStats.cs new file mode 100644 index 0000000..a904392 --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbUserCompanyTableStats.cs @@ -0,0 +1,14 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbUserCompanyTableStats +{ + public Guid UserId { get; set; } + + public Guid CompanyTabelId { get; set; } + + public int Count { get; set; } + + public int MaxCount { get; set; } + + public int Credits { get; set; } +} \ No newline at end of file diff --git a/DrinkRateAPI/DbEntities/DbUserProductTableStats.cs b/DrinkRateAPI/DbEntities/DbUserProductTableStats.cs new file mode 100644 index 0000000..f06b2c5 --- /dev/null +++ b/DrinkRateAPI/DbEntities/DbUserProductTableStats.cs @@ -0,0 +1,14 @@ +namespace DrinkRateAPI.DbEntities; + +public class DbUserProductTableStats +{ + public Guid UserId { get; set; } + + public Guid ProductTabelId { get; set; } + + public int Count { get; set; } + + public int MaxCount { get; set; } + + public int Credits { get; set; } +} \ No newline at end of file diff --git a/DrinkRateAPI/Program.cs b/DrinkRateAPI/Program.cs index e4005d6..e309241 100644 --- a/DrinkRateAPI/Program.cs +++ b/DrinkRateAPI/Program.cs @@ -1,3 +1,4 @@ +using DrinkRateAPI.Contexts; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; using Microsoft.OpenApi.Models; @@ -11,7 +12,7 @@ builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddAuthorization(); builder.Services.AddIdentityApiEndpoints() - .AddEntityFrameworkStores(); + .AddEntityFrameworkStores(); builder.Services.AddSwaggerGen(c => { @@ -48,7 +49,7 @@ builder.Services.AddSwaggerGen(c => }); // to do: remove -builder.Services.AddDbContext( +builder.Services.AddDbContext( options => options.UseInMemoryDatabase("AppDb")); var app = builder.Build(); diff --git a/DrinkRateAPI/obj/Debug/net9.0/DrinkRateAPI.AssemblyInfo.cs b/DrinkRateAPI/obj/Debug/net9.0/DrinkRateAPI.AssemblyInfo.cs index e0d559c..302341e 100644 --- a/DrinkRateAPI/obj/Debug/net9.0/DrinkRateAPI.AssemblyInfo.cs +++ b/DrinkRateAPI/obj/Debug/net9.0/DrinkRateAPI.AssemblyInfo.cs @@ -13,7 +13,7 @@ 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.AssemblyInformationalVersionAttribute("1.0.0+6c5a4bfb26569a7e7265bb1c583a538c85c2e021")] [assembly: System.Reflection.AssemblyProductAttribute("DrinkRateAPI")] [assembly: System.Reflection.AssemblyTitleAttribute("DrinkRateAPI")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/DrinkRateAPI/obj/Debug/net9.0/DrinkRateAPI.AssemblyInfoInputs.cache b/DrinkRateAPI/obj/Debug/net9.0/DrinkRateAPI.AssemblyInfoInputs.cache index e4ac7d5..9fadd1c 100644 --- a/DrinkRateAPI/obj/Debug/net9.0/DrinkRateAPI.AssemblyInfoInputs.cache +++ b/DrinkRateAPI/obj/Debug/net9.0/DrinkRateAPI.AssemblyInfoInputs.cache @@ -1 +1 @@ -a800cf208542da2e16464ad5cac9564d078e4662a36df15e3e96ae4fd84319f7 +b838a9c23df8ad83db19dac2d0874f8f00f1219871c8dec6180564b8a5404e88