From 062622f407222851798d65112ca3eece833c156d Mon Sep 17 00:00:00 2001 From: Radoslav Radev Date: Sat, 9 Mar 2024 15:37:00 +0100 Subject: [PATCH] updated db migrations --- Backend/Account/Account.csproj | 8 +- .../20240309121534_InitialCreate.Designer.cs | 55 ++++++++++++ .../20240309121534_InitialCreate.cs | 43 +++++++++ .../DatabaseContextModelSnapshot.cs | 52 +++++++++++ .../.gitignore | 1 + .../var/checkpoint-signature | 2 +- ...03a67903d6fa06f993737132e6c74f9684d4e2073} | 2 +- ...0163d8d5c7632b88e857ab37e55e9741dd3d253a0f | 1 + ...f0c64e04df824b6d3249e93f386c724744fefffeaa | 1 + ...6242fd6383c4663192a49d1a4f08ff92cf022a9d83 | 1 + ...f854e92c3258eb739b680f99ee615d3ed245a04cad | 1 - ...028888aad5b6fa3eaf8e07ae42f539f632b8efb3d} | 2 +- ...784551ef7946659c0dc7abef0542dfe859a248699b | 1 - ...862bc6e465738f8acd4466bd4f917a0e7e00383152 | 1 - ...85af1075a25e12f0025b41a24dc592fffeadd5a4a2 | 1 - .../var/node-id | 2 +- .../var/raft/raft.db | Bin 2097152 -> 524288 bytes .../var/serf/local.snapshot | 2 - .../var/serf/remote.snapshot | 1 - .../var/server_metadata.json | 2 +- ...d99864ed0a01541a2da323273deff156e78808d60} | 2 +- ...86060fc09427b039198394caa28ecedae6f07ce570 | 1 + ...e9e913ac2c5d51e04e842897ef449e6d5f23ec6cd2 | 1 + ...c601794d47674bf8559add54dff2915deebf08dc8d | 1 - ...2f0419e2e900df0a64ff7377a5cd28f07dac116bf1 | 1 - ...88aa303458c5fc252877b875d79c2f2606ad32660d | 1 - ...d2695eb735c0e96a9c3bdac6299b4052ae1237a0ad | 1 + ...dec9881752483dee1d13d29ffe41c8a8e6d266da3} | 2 +- ...b410b0480e5cd481e7344f7f2bb3413ce2994c37bc | 1 - .../20240309120844_InitialCreate.Designer.cs | 82 ++++++++++++++++++ .../20240309120844_InitialCreate.cs | 69 +++++++++++++++ .../DatabaseContextModelSnapshot.cs | 79 +++++++++++++++++ Backend/RecommendationAlgo/Program.cs | 1 + .../RecommendationAlgo.csproj | 4 + Backend/RecommendationAlgo/appsettings.json | 2 +- ...aml => recommendationAlgo-deployment.yaml} | 0 ...r-hpa.yaml => recommendationAlgo-hpa.yaml} | 0 ...e.yaml => recommendationAlgo-service.yaml} | 0 .../Upload/Controllers/UploadController.cs | 6 +- Backend/Upload/Program.cs | 7 +- Backend/Upload/appsettings.Development.json | 2 +- .../Controllers/VideoController.cs | 2 +- .../20240309122752_InitialCreate.Designer.cs | 73 ++++++++++++++++ .../20240309122752_InitialCreate.cs | 50 +++++++++++ .../DatabaseContextModelSnapshot.cs | 70 +++++++++++++++ .../VideoLibrary/Model/Mappers/VideoMapper.cs | 4 +- Backend/VideoLibrary/Program.cs | 16 +++- Backend/VideoLibrary/Services/VideoService.cs | 5 +- Backend/VideoLibrary/VideoLibrary.csproj | 8 +- .../VideoLibrary/appsettings.Development.json | 2 +- 50 files changed, 637 insertions(+), 35 deletions(-) create mode 100644 Backend/Account/Migrations/20240309121534_InitialCreate.Designer.cs create mode 100644 Backend/Account/Migrations/20240309121534_InitialCreate.cs create mode 100644 Backend/Account/Migrations/DatabaseContextModelSnapshot.cs create mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/.gitignore rename Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/{d98c81909b08d3d417eb6424d3d605d1fb2e931f0ad2c9fd42b75c499a525cb1 => 28401e9c6265013efeb95f603a67903d6fa06f993737132e6c74f9684d4e2073} (82%) create mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/7c28c7ae729d256ab887bf0163d8d5c7632b88e857ab37e55e9741dd3d253a0f create mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/954151230592812024c4d7f0c64e04df824b6d3249e93f386c724744fefffeaa create mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/9d35ebd061ca92b6a356396242fd6383c4663192a49d1a4f08ff92cf022a9d83 delete mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a1c15452fbb80cdd7b4691f854e92c3258eb739b680f99ee615d3ed245a04cad rename Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/{7d910b191e1ef8b1f6c1cd58f070425fd71014a59e7b2f74286ed9b713ae1c03 => a70da4ce99367e8edb2d677028888aad5b6fa3eaf8e07ae42f539f632b8efb3d} (82%) delete mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a785d6854fe8d828d2d96d784551ef7946659c0dc7abef0542dfe859a248699b delete mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/e20f1c0e59b938cce1d7aa862bc6e465738f8acd4466bd4f917a0e7e00383152 delete mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/fb8b90e4f642e9f90bcb4a85af1075a25e12f0025b41a24dc592fffeadd5a4a2 rename Backend/OpenVidStreamer.ManagementNdiscovary/var/services/{2a420e77efa2f8ef0df4a70c32ffdd6d327ee10d0d95a94258424b9d9562afed => 0dbb407776d1a5582d38316d99864ed0a01541a2da323273deff156e78808d60} (66%) create mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/services/1d0faa4aa9a9ca5bcd8ed486060fc09427b039198394caa28ecedae6f07ce570 create mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/services/254ddcce871f14fdf0bdfde9e913ac2c5d51e04e842897ef449e6d5f23ec6cd2 delete mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/services/3d6ba9950935f508270257c601794d47674bf8559add54dff2915deebf08dc8d delete mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/services/3f1e91ccf7dd07dbd630622f0419e2e900df0a64ff7377a5cd28f07dac116bf1 delete mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/services/7c491de2f32779303f27ed88aa303458c5fc252877b875d79c2f2606ad32660d create mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/services/80aaf980b7797262f3b6dcd2695eb735c0e96a9c3bdac6299b4052ae1237a0ad rename Backend/OpenVidStreamer.ManagementNdiscovary/var/services/{6ddb3e575c2c2254ecf242d5f3ab3f0caa90284a7fa7307673b87aa68206f0c9 => b7e505470ca342b081f06c6dec9881752483dee1d13d29ffe41c8a8e6d266da3} (66%) delete mode 100644 Backend/OpenVidStreamer.ManagementNdiscovary/var/services/f2f6e93efe5816f2ac9773b410b0480e5cd481e7344f7f2bb3413ce2994c37bc create mode 100644 Backend/RecommendationAlgo/Migrations/20240309120844_InitialCreate.Designer.cs create mode 100644 Backend/RecommendationAlgo/Migrations/20240309120844_InitialCreate.cs create mode 100644 Backend/RecommendationAlgo/Migrations/DatabaseContextModelSnapshot.cs rename Backend/RecommendationAlgo/{render-deployment.yaml => recommendationAlgo-deployment.yaml} (100%) rename Backend/RecommendationAlgo/{render-hpa.yaml => recommendationAlgo-hpa.yaml} (100%) rename Backend/RecommendationAlgo/{render-service.yaml => recommendationAlgo-service.yaml} (100%) create mode 100644 Backend/VideoLibrary/Migrations/20240309122752_InitialCreate.Designer.cs create mode 100644 Backend/VideoLibrary/Migrations/20240309122752_InitialCreate.cs create mode 100644 Backend/VideoLibrary/Migrations/DatabaseContextModelSnapshot.cs diff --git a/Backend/Account/Account.csproj b/Backend/Account/Account.csproj index c09d84a..d4ae594 100644 --- a/Backend/Account/Account.csproj +++ b/Backend/Account/Account.csproj @@ -12,12 +12,16 @@ - + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + - + diff --git a/Backend/Account/Migrations/20240309121534_InitialCreate.Designer.cs b/Backend/Account/Migrations/20240309121534_InitialCreate.Designer.cs new file mode 100644 index 0000000..2ae53e0 --- /dev/null +++ b/Backend/Account/Migrations/20240309121534_InitialCreate.Designer.cs @@ -0,0 +1,55 @@ +// +using System; +using Account.Repository.EFC; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Account.Migrations +{ + [DbContext(typeof(DatabaseContext))] + [Migration("20240309121534_InitialCreate")] + partial class InitialCreate + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("Account.Repository.Entities.Account", b => + { + b.Property("AccId") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Balance") + .HasColumnType("decimal(18, 2)"); + + b.Property("Email") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PasswordHashed") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("SubscriptionValidUntil") + .HasColumnType("datetime(6)"); + + b.HasKey("AccId"); + + b.ToTable("Accounts"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Backend/Account/Migrations/20240309121534_InitialCreate.cs b/Backend/Account/Migrations/20240309121534_InitialCreate.cs new file mode 100644 index 0000000..b85f068 --- /dev/null +++ b/Backend/Account/Migrations/20240309121534_InitialCreate.cs @@ -0,0 +1,43 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Account.Migrations +{ + /// + public partial class InitialCreate : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterDatabase() + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Accounts", + columns: table => new + { + AccId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Email = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + PasswordHashed = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + Balance = table.Column(type: "decimal(18,2)", nullable: false), + SubscriptionValidUntil = table.Column(type: "datetime(6)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Accounts", x => x.AccId); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Accounts"); + } + } +} diff --git a/Backend/Account/Migrations/DatabaseContextModelSnapshot.cs b/Backend/Account/Migrations/DatabaseContextModelSnapshot.cs new file mode 100644 index 0000000..13ceec2 --- /dev/null +++ b/Backend/Account/Migrations/DatabaseContextModelSnapshot.cs @@ -0,0 +1,52 @@ +// +using System; +using Account.Repository.EFC; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Account.Migrations +{ + [DbContext(typeof(DatabaseContext))] + partial class DatabaseContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("Account.Repository.Entities.Account", b => + { + b.Property("AccId") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Balance") + .HasColumnType("decimal(18, 2)"); + + b.Property("Email") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PasswordHashed") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("SubscriptionValidUntil") + .HasColumnType("datetime(6)"); + + b.HasKey("AccId"); + + b.ToTable("Accounts"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/.gitignore b/Backend/OpenVidStreamer.ManagementNdiscovary/.gitignore new file mode 100644 index 0000000..b27e79b --- /dev/null +++ b/Backend/OpenVidStreamer.ManagementNdiscovary/.gitignore @@ -0,0 +1 @@ +consul.exe \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checkpoint-signature b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checkpoint-signature index c081602..813e270 100644 --- a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checkpoint-signature +++ b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checkpoint-signature @@ -1,4 +1,4 @@ -9c06faad-e0b5-e70f-ad18-d529049d8249 +941a1d78-bcf2-ce80-cdd2-4a444c786a39 This signature is a randomly generated UUID used to de-duplicate diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/d98c81909b08d3d417eb6424d3d605d1fb2e931f0ad2c9fd42b75c499a525cb1 b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/28401e9c6265013efeb95f603a67903d6fa06f993737132e6c74f9684d4e2073 similarity index 82% rename from Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/d98c81909b08d3d417eb6424d3d605d1fb2e931f0ad2c9fd42b75c499a525cb1 rename to Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/28401e9c6265013efeb95f603a67903d6fa06f993737132e6c74f9684d4e2073 index ede49d6..49a63e0 100644 --- a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/d98c81909b08d3d417eb6424d3d605d1fb2e931f0ad2c9fd42b75c499a525cb1 +++ b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/28401e9c6265013efeb95f603a67903d6fa06f993737132e6c74f9684d4e2073 @@ -1 +1 @@ -{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-18735830-2ff0-4d59-858d-775a2b16434f","Name":"Service 'OpenVisStreamer.RecommendationAlgo' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-18735830-2ff0-4d59-858d-775a2b16434f","ServiceName":"OpenVisStreamer.RecommendationAlgo","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5006/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file +{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-4fd79d63-818e-4aa3-a150-bba8aeac77c0","Name":"Service 'OpenVisStreamer.RecommendationAlgo' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-4fd79d63-818e-4aa3-a150-bba8aeac77c0","ServiceName":"OpenVisStreamer.RecommendationAlgo","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5006/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/7c28c7ae729d256ab887bf0163d8d5c7632b88e857ab37e55e9741dd3d253a0f b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/7c28c7ae729d256ab887bf0163d8d5c7632b88e857ab37e55e9741dd3d253a0f new file mode 100644 index 0000000..e760d2b --- /dev/null +++ b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/7c28c7ae729d256ab887bf0163d8d5c7632b88e857ab37e55e9741dd3d253a0f @@ -0,0 +1 @@ +{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-5a6d808b-1a1a-4dc1-9dcd-e999fa66863f","Name":"Service 'OpenVisStreamer.Upload' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-5a6d808b-1a1a-4dc1-9dcd-e999fa66863f","ServiceName":"OpenVisStreamer.Upload","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5008/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/954151230592812024c4d7f0c64e04df824b6d3249e93f386c724744fefffeaa b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/954151230592812024c4d7f0c64e04df824b6d3249e93f386c724744fefffeaa new file mode 100644 index 0000000..cc1fc4b --- /dev/null +++ b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/954151230592812024c4d7f0c64e04df824b6d3249e93f386c724744fefffeaa @@ -0,0 +1 @@ +{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-63aa5e41-def8-470d-b199-ecc62f1e8ff5","Name":"Service 'OpenVisStreamer.Upload' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-63aa5e41-def8-470d-b199-ecc62f1e8ff5","ServiceName":"OpenVisStreamer.Upload","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5008/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/9d35ebd061ca92b6a356396242fd6383c4663192a49d1a4f08ff92cf022a9d83 b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/9d35ebd061ca92b6a356396242fd6383c4663192a49d1a4f08ff92cf022a9d83 new file mode 100644 index 0000000..23f4751 --- /dev/null +++ b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/9d35ebd061ca92b6a356396242fd6383c4663192a49d1a4f08ff92cf022a9d83 @@ -0,0 +1 @@ +{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-2fac3c74-5694-47a2-89a0-45c7b13f824f","Name":"Service 'OpenVisStreamer.Upload' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-2fac3c74-5694-47a2-89a0-45c7b13f824f","ServiceName":"OpenVisStreamer.Upload","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5008/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a1c15452fbb80cdd7b4691f854e92c3258eb739b680f99ee615d3ed245a04cad b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a1c15452fbb80cdd7b4691f854e92c3258eb739b680f99ee615d3ed245a04cad deleted file mode 100644 index cf1915b..0000000 --- a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a1c15452fbb80cdd7b4691f854e92c3258eb739b680f99ee615d3ed245a04cad +++ /dev/null @@ -1 +0,0 @@ -{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-a03419f8-110e-4d0c-90c8-5205d43be024","Name":"Service 'OpenVisStreamer.Account' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-a03419f8-110e-4d0c-90c8-5205d43be024","ServiceName":"OpenVisStreamer.Account","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5005/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/7d910b191e1ef8b1f6c1cd58f070425fd71014a59e7b2f74286ed9b713ae1c03 b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a70da4ce99367e8edb2d677028888aad5b6fa3eaf8e07ae42f539f632b8efb3d similarity index 82% rename from Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/7d910b191e1ef8b1f6c1cd58f070425fd71014a59e7b2f74286ed9b713ae1c03 rename to Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a70da4ce99367e8edb2d677028888aad5b6fa3eaf8e07ae42f539f632b8efb3d index 9b6dfee..216b36b 100644 --- a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/7d910b191e1ef8b1f6c1cd58f070425fd71014a59e7b2f74286ed9b713ae1c03 +++ b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a70da4ce99367e8edb2d677028888aad5b6fa3eaf8e07ae42f539f632b8efb3d @@ -1 +1 @@ -{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-f0e80451-b36e-4ea6-a517-7586cd2a271f","Name":"Service 'OpenVisStreamer.VideoLibrary' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-f0e80451-b36e-4ea6-a517-7586cd2a271f","ServiceName":"OpenVisStreamer.VideoLibrary","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5004/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file +{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-4fe37622-1df7-4a32-8cf0-775f254627ac","Name":"Service 'OpenVisStreamer.VideoLibrary' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-4fe37622-1df7-4a32-8cf0-775f254627ac","ServiceName":"OpenVisStreamer.VideoLibrary","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5004/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a785d6854fe8d828d2d96d784551ef7946659c0dc7abef0542dfe859a248699b b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a785d6854fe8d828d2d96d784551ef7946659c0dc7abef0542dfe859a248699b deleted file mode 100644 index 129cefd..0000000 --- a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/a785d6854fe8d828d2d96d784551ef7946659c0dc7abef0542dfe859a248699b +++ /dev/null @@ -1 +0,0 @@ -{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-c1ce918a-500e-4717-856b-01b0ef901539","Name":"Service 'OpenVisStreamer.Account' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-c1ce918a-500e-4717-856b-01b0ef901539","ServiceName":"OpenVisStreamer.Account","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5005/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/e20f1c0e59b938cce1d7aa862bc6e465738f8acd4466bd4f917a0e7e00383152 b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/e20f1c0e59b938cce1d7aa862bc6e465738f8acd4466bd4f917a0e7e00383152 deleted file mode 100644 index 9918ea7..0000000 --- a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/e20f1c0e59b938cce1d7aa862bc6e465738f8acd4466bd4f917a0e7e00383152 +++ /dev/null @@ -1 +0,0 @@ -{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-e2664ccb-60d8-4245-9a5f-a3e553834c6c","Name":"Service 'OpenVisStreamer.Account' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-e2664ccb-60d8-4245-9a5f-a3e553834c6c","ServiceName":"OpenVisStreamer.Account","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5005/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/fb8b90e4f642e9f90bcb4a85af1075a25e12f0025b41a24dc592fffeadd5a4a2 b/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/fb8b90e4f642e9f90bcb4a85af1075a25e12f0025b41a24dc592fffeadd5a4a2 deleted file mode 100644 index 0db9fe4..0000000 --- a/Backend/OpenVidStreamer.ManagementNdiscovary/var/checks/fb8b90e4f642e9f90bcb4a85af1075a25e12f0025b41a24dc592fffeadd5a4a2 +++ /dev/null @@ -1 +0,0 @@ -{"Check":{"Node":"OpenVidStreamer.ManagementNdiscovary","CheckID":"service:ServiceName-raga70sRog-e1f28b1d-054b-4826-aa5f-100ca9d96664","Name":"Service 'OpenVisStreamer.VideoLibrary' check","Status":"critical","Notes":"","Output":"","ServiceID":"ServiceName-raga70sRog-e1f28b1d-054b-4826-aa5f-100ca9d96664","ServiceName":"OpenVisStreamer.VideoLibrary","ServiceTags":null,"Type":"http","Interval":"30s","Timeout":"","ExposedPort":0,"Definition":{},"CreateIndex":0,"ModifyIndex":0},"ChkType":{"CheckID":"","Name":"","Status":"","Notes":"","ScriptArgs":null,"HTTP":"https://localhost:5004/health","H2PING":"","H2PingUseTLS":false,"Header":null,"Method":"","Body":"","DisableRedirects":false,"TCP":"","TCPUseTLS":false,"UDP":"","Interval":30000000000,"AliasNode":"","AliasService":"","DockerContainerID":"","Shell":"","GRPC":"","GRPCUseTLS":false,"OSService":"","TLSServerName":"","TLSSkipVerify":false,"Timeout":0,"TTL":0,"SuccessBeforePassing":0,"FailuresBeforeWarning":0,"FailuresBeforeCritical":0,"ProxyHTTP":"","ProxyGRPC":"","DeregisterCriticalServiceAfter":0,"OutputMaxSize":0},"Token":"","Source":"remote"} \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/node-id b/Backend/OpenVidStreamer.ManagementNdiscovary/var/node-id index adef436..9160998 100644 --- a/Backend/OpenVidStreamer.ManagementNdiscovary/var/node-id +++ b/Backend/OpenVidStreamer.ManagementNdiscovary/var/node-id @@ -1 +1 @@ -9dd4b92d-5da4-8eb5-9ba6-925d5d5a1a89 \ No newline at end of file +f576fa39-64b7-f602-5f9b-025f9482fd86 \ No newline at end of file diff --git a/Backend/OpenVidStreamer.ManagementNdiscovary/var/raft/raft.db b/Backend/OpenVidStreamer.ManagementNdiscovary/var/raft/raft.db index 1a11d8f600df99f9808915c5a3efe6301eaf1238..803c3cb579e436348a17920b520073ce844cef85 100644 GIT binary patch literal 524288 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

)3z8FTl7N{?>-GB=@5? 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 zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; HG7 +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using RecommendationAlgo.Repository.EFC; + +#nullable disable + +namespace RecommendationAlgo.Migrations +{ + [DbContext(typeof(DatabaseContext))] + [Migration("20240309120844_InitialCreate")] + partial class InitialCreate + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("RecommendationAlgo.Repository.Entities.VideoStats", b => + { + b.Property("VideoId") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Category") + .HasColumnType("int"); + + b.Property("VideoLength") + .HasColumnType("decimal(65,30)"); + + b.HasKey("VideoId"); + + b.ToTable("VideoStats"); + }); + + modelBuilder.Entity("RecommendationAlgo.Repository.Entities.WatchHistory", b => + { + b.Property("UserId") + .HasColumnType("char(36)") + .HasColumnOrder(0); + + b.Property("VideoId") + .HasColumnType("char(36)") + .HasColumnOrder(1); + + b.Property("FullyWatched") + .HasColumnType("tinyint(1)"); + + b.Property("Liked") + .HasColumnType("int"); + + b.Property("WatchedTime") + .HasColumnType("decimal(18, 2)"); + + b.HasKey("UserId", "VideoId"); + + b.HasIndex("VideoId"); + + b.ToTable("WatchHistories"); + }); + + modelBuilder.Entity("RecommendationAlgo.Repository.Entities.WatchHistory", b => + { + b.HasOne("RecommendationAlgo.Repository.Entities.VideoStats", null) + .WithMany() + .HasForeignKey("VideoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Backend/RecommendationAlgo/Migrations/20240309120844_InitialCreate.cs b/Backend/RecommendationAlgo/Migrations/20240309120844_InitialCreate.cs new file mode 100644 index 0000000..786c56b --- /dev/null +++ b/Backend/RecommendationAlgo/Migrations/20240309120844_InitialCreate.cs @@ -0,0 +1,69 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace RecommendationAlgo.Migrations +{ + /// + public partial class InitialCreate : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterDatabase() + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "VideoStats", + columns: table => new + { + VideoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + VideoLength = table.Column(type: "decimal(65,30)", nullable: false), + Category = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_VideoStats", x => x.VideoId); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "WatchHistories", + columns: table => new + { + UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + VideoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WatchedTime = table.Column(type: "decimal(18,2)", nullable: false), + Liked = table.Column(type: "int", nullable: false), + FullyWatched = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_WatchHistories", x => new { x.UserId, x.VideoId }); + table.ForeignKey( + name: "FK_WatchHistories_VideoStats_VideoId", + column: x => x.VideoId, + principalTable: "VideoStats", + principalColumn: "VideoId", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateIndex( + name: "IX_WatchHistories_VideoId", + table: "WatchHistories", + column: "VideoId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "WatchHistories"); + + migrationBuilder.DropTable( + name: "VideoStats"); + } + } +} diff --git a/Backend/RecommendationAlgo/Migrations/DatabaseContextModelSnapshot.cs b/Backend/RecommendationAlgo/Migrations/DatabaseContextModelSnapshot.cs new file mode 100644 index 0000000..3e39e87 --- /dev/null +++ b/Backend/RecommendationAlgo/Migrations/DatabaseContextModelSnapshot.cs @@ -0,0 +1,79 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using RecommendationAlgo.Repository.EFC; + +#nullable disable + +namespace RecommendationAlgo.Migrations +{ + [DbContext(typeof(DatabaseContext))] + partial class DatabaseContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("RecommendationAlgo.Repository.Entities.VideoStats", b => + { + b.Property("VideoId") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Category") + .HasColumnType("int"); + + b.Property("VideoLength") + .HasColumnType("decimal(65,30)"); + + b.HasKey("VideoId"); + + b.ToTable("VideoStats"); + }); + + modelBuilder.Entity("RecommendationAlgo.Repository.Entities.WatchHistory", b => + { + b.Property("UserId") + .HasColumnType("char(36)") + .HasColumnOrder(0); + + b.Property("VideoId") + .HasColumnType("char(36)") + .HasColumnOrder(1); + + b.Property("FullyWatched") + .HasColumnType("tinyint(1)"); + + b.Property("Liked") + .HasColumnType("int"); + + b.Property("WatchedTime") + .HasColumnType("decimal(18, 2)"); + + b.HasKey("UserId", "VideoId"); + + b.HasIndex("VideoId"); + + b.ToTable("WatchHistories"); + }); + + modelBuilder.Entity("RecommendationAlgo.Repository.Entities.WatchHistory", b => + { + b.HasOne("RecommendationAlgo.Repository.Entities.VideoStats", null) + .WithMany() + .HasForeignKey("VideoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Backend/RecommendationAlgo/Program.cs b/Backend/RecommendationAlgo/Program.cs index 49dd80b..f92c252 100644 --- a/Backend/RecommendationAlgo/Program.cs +++ b/Backend/RecommendationAlgo/Program.cs @@ -5,6 +5,7 @@ using RecommendationAlgo.MessageConsumers; using RecommendationAlgo.Repository; using RecommendationAlgo.Repository.EFC; +using Microsoft.EntityFrameworkCore.Design; var builder = WebApplication.CreateBuilder(args); diff --git a/Backend/RecommendationAlgo/RecommendationAlgo.csproj b/Backend/RecommendationAlgo/RecommendationAlgo.csproj index 4daecc2..228b66e 100644 --- a/Backend/RecommendationAlgo/RecommendationAlgo.csproj +++ b/Backend/RecommendationAlgo/RecommendationAlgo.csproj @@ -13,6 +13,10 @@ + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/Backend/RecommendationAlgo/appsettings.json b/Backend/RecommendationAlgo/appsettings.json index 01a86bd..58322ee 100644 --- a/Backend/RecommendationAlgo/appsettings.json +++ b/Backend/RecommendationAlgo/appsettings.json @@ -6,7 +6,7 @@ } }, "ConnectionStrings": { - "DefaultConnection": "server=statistics-db-service;uid=admin;pwd=12345;database=StatisticsDB;" + "DefaultConnection": "server=statistics-db-service;uid=root;database=StatisticsDB;" }, "AllowedHosts": "*", "consulUri": "http://consul-service:8500", diff --git a/Backend/RecommendationAlgo/render-deployment.yaml b/Backend/RecommendationAlgo/recommendationAlgo-deployment.yaml similarity index 100% rename from Backend/RecommendationAlgo/render-deployment.yaml rename to Backend/RecommendationAlgo/recommendationAlgo-deployment.yaml diff --git a/Backend/RecommendationAlgo/render-hpa.yaml b/Backend/RecommendationAlgo/recommendationAlgo-hpa.yaml similarity index 100% rename from Backend/RecommendationAlgo/render-hpa.yaml rename to Backend/RecommendationAlgo/recommendationAlgo-hpa.yaml diff --git a/Backend/RecommendationAlgo/render-service.yaml b/Backend/RecommendationAlgo/recommendationAlgo-service.yaml similarity index 100% rename from Backend/RecommendationAlgo/render-service.yaml rename to Backend/RecommendationAlgo/recommendationAlgo-service.yaml diff --git a/Backend/Upload/Controllers/UploadController.cs b/Backend/Upload/Controllers/UploadController.cs index 9e71c0a..ca97d4c 100644 --- a/Backend/Upload/Controllers/UploadController.cs +++ b/Backend/Upload/Controllers/UploadController.cs @@ -18,9 +18,9 @@ public class UploadController(UploadService uploadService) :ControllerBase /// [HttpPost("upload")] public async Task UploadVideoWithMetadata( - [FromForm] string videoMetadata, - [FromForm] IFormFile videoFile, - [FromForm] IFormFile thumbnailFile) + [FromForm] string videoMetadata, + IFormFile videoFile, + IFormFile thumbnailFile) { var accId = AccIdExtractorFromHttpContext.GetAccId(HttpContext); diff --git a/Backend/Upload/Program.cs b/Backend/Upload/Program.cs index f7d1ed8..afa0ea5 100644 --- a/Backend/Upload/Program.cs +++ b/Backend/Upload/Program.cs @@ -6,13 +6,10 @@ // Add services to the container. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle -builder.Services.AddEndpointsApiExplorer(); -builder.Services.AddSwaggerGen(); builder.Services.AddScoped(); builder.Services.AddHealthChecks(); builder.Services.AddControllers(); - builder.Services.AddMassTransit(busConfigurator => { busConfigurator.SetKebabCaseEndpointNameFormatter(); @@ -28,6 +25,9 @@ }); +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + var app = builder.Build(); // Configure the HTTP request pipeline. @@ -38,6 +38,7 @@ } app.UseHttpsRedirection(); +app.MapControllers(); ConsulRegisterer.Register(app, app.Environment, app.Lifetime, builder.Configuration); diff --git a/Backend/Upload/appsettings.Development.json b/Backend/Upload/appsettings.Development.json index 8e4cb07..61a57b8 100644 --- a/Backend/Upload/appsettings.Development.json +++ b/Backend/Upload/appsettings.Development.json @@ -9,7 +9,7 @@ "PVstorageBucketPath": "D:\\PRJ\\OpenVidStreamer\\DEVstorageBucket", "RabbitMQ":{ - "HostAddress": "amqp://localhost:5672", + "HostAddress": "amqp://127.0.0.1:5672", "UserName": "guest", "Password": "guest" }, diff --git a/Backend/VideoLibrary/Controllers/VideoController.cs b/Backend/VideoLibrary/Controllers/VideoController.cs index 0a8b596..fe51e1e 100644 --- a/Backend/VideoLibrary/Controllers/VideoController.cs +++ b/Backend/VideoLibrary/Controllers/VideoController.cs @@ -27,7 +27,7 @@ public async Task>> GetRecommendedVideos(VideoCatego public async Task> GetVideoById(Guid id) { var video = await _videoService.GetVideoById(id); - if (video == null) + if (video is null) { return NotFound(); } diff --git a/Backend/VideoLibrary/Migrations/20240309122752_InitialCreate.Designer.cs b/Backend/VideoLibrary/Migrations/20240309122752_InitialCreate.Designer.cs new file mode 100644 index 0000000..dc16934 --- /dev/null +++ b/Backend/VideoLibrary/Migrations/20240309122752_InitialCreate.Designer.cs @@ -0,0 +1,73 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using OpenVisStreamer.VideoLibrary.Repository.EFC; + +#nullable disable + +namespace OpenVisStreamer.VideoLibrary.Migrations +{ + [DbContext(typeof(DatabaseContext))] + [Migration("20240309122752_InitialCreate")] + partial class InitialCreate + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("OpenVisStreamer.VideoLibrary.Repository.Entities.Video", b => + { + b.Property("VideoId") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Category") + .HasColumnType("int"); + + b.Property("Description") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("IsPublic") + .HasColumnType("tinyint(1)"); + + b.Property("ThumbnailUri") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)"); + + b.Property("UploadDateTime") + .HasColumnType("datetime(6)"); + + b.Property("VideoUri") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("uploadedByAccoutId") + .HasColumnType("char(36)"); + + b.Property("videoLength") + .HasColumnType("decimal(18, 2)"); + + b.HasKey("VideoId"); + + b.ToTable("Videos"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Backend/VideoLibrary/Migrations/20240309122752_InitialCreate.cs b/Backend/VideoLibrary/Migrations/20240309122752_InitialCreate.cs new file mode 100644 index 0000000..8525463 --- /dev/null +++ b/Backend/VideoLibrary/Migrations/20240309122752_InitialCreate.cs @@ -0,0 +1,50 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace OpenVisStreamer.VideoLibrary.Migrations +{ + /// + public partial class InitialCreate : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterDatabase() + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Videos", + columns: table => new + { + VideoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Title = table.Column(type: "varchar(255)", maxLength: 255, nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + Description = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + Category = table.Column(type: "int", nullable: false), + videoLength = table.Column(type: "decimal(18,2)", nullable: false), + VideoUri = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + ThumbnailUri = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + uploadedByAccoutId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UploadDateTime = table.Column(type: "datetime(6)", nullable: false), + IsPublic = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Videos", x => x.VideoId); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Videos"); + } + } +} diff --git a/Backend/VideoLibrary/Migrations/DatabaseContextModelSnapshot.cs b/Backend/VideoLibrary/Migrations/DatabaseContextModelSnapshot.cs new file mode 100644 index 0000000..d9592a7 --- /dev/null +++ b/Backend/VideoLibrary/Migrations/DatabaseContextModelSnapshot.cs @@ -0,0 +1,70 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using OpenVisStreamer.VideoLibrary.Repository.EFC; + +#nullable disable + +namespace OpenVisStreamer.VideoLibrary.Migrations +{ + [DbContext(typeof(DatabaseContext))] + partial class DatabaseContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("OpenVisStreamer.VideoLibrary.Repository.Entities.Video", b => + { + b.Property("VideoId") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Category") + .HasColumnType("int"); + + b.Property("Description") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("IsPublic") + .HasColumnType("tinyint(1)"); + + b.Property("ThumbnailUri") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)"); + + b.Property("UploadDateTime") + .HasColumnType("datetime(6)"); + + b.Property("VideoUri") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("uploadedByAccoutId") + .HasColumnType("char(36)"); + + b.Property("videoLength") + .HasColumnType("decimal(18, 2)"); + + b.HasKey("VideoId"); + + b.ToTable("Videos"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Backend/VideoLibrary/Model/Mappers/VideoMapper.cs b/Backend/VideoLibrary/Model/Mappers/VideoMapper.cs index 4a27086..87277f5 100644 --- a/Backend/VideoLibrary/Model/Mappers/VideoMapper.cs +++ b/Backend/VideoLibrary/Model/Mappers/VideoMapper.cs @@ -6,5 +6,7 @@ namespace OpenVisStreamer.VideoLibrary.Model.Mappers; [Mapper] public partial class VideoMapper { - public partial VideoDTO VideoToVideoDto(Video video); + + + public partial VideoDTO? VideoToVideoDto(Video video); } \ No newline at end of file diff --git a/Backend/VideoLibrary/Program.cs b/Backend/VideoLibrary/Program.cs index 532934a..5405472 100644 --- a/Backend/VideoLibrary/Program.cs +++ b/Backend/VideoLibrary/Program.cs @@ -1,16 +1,30 @@ using Consul; using MassTransit; +using Microsoft.EntityFrameworkCore; using OpenVisStreamer.VideoLibrary; using OpenVisStreamer.VideoLibrary.MessageConsumers; +using OpenVisStreamer.VideoLibrary.Repository; +using OpenVisStreamer.VideoLibrary.Repository.EFC; +using OpenVisStreamer.VideoLibrary.Services; var builder = WebApplication.CreateBuilder(args); // Add services to the container. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle + + +builder.Services.AddDbContext(options => + options.UseMySql(builder.Configuration.GetConnectionString("DefaultConnection"), + new MariaDbServerVersion(new Version(10, 4, 24)))); + +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddControllers(); + builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddHealthChecks(); -builder.Services.AddControllers(); + builder.Services.AddMassTransit(busConfigurator => { busConfigurator.SetKebabCaseEndpointNameFormatter(); diff --git a/Backend/VideoLibrary/Services/VideoService.cs b/Backend/VideoLibrary/Services/VideoService.cs index f10450c..9b0c826 100644 --- a/Backend/VideoLibrary/Services/VideoService.cs +++ b/Backend/VideoLibrary/Services/VideoService.cs @@ -20,9 +20,12 @@ public VideoService(VideoRepository videoRepository, IBus bus) } - public async Task GetVideoById(Guid videoId) + public async Task GetVideoById(Guid videoId) { var video = await _videoRepository.GetVideoById(videoId); + if (video is null) + return null; + return _videoMapper.VideoToVideoDto(video); } diff --git a/Backend/VideoLibrary/VideoLibrary.csproj b/Backend/VideoLibrary/VideoLibrary.csproj index c021dc2..ad5fa94 100644 --- a/Backend/VideoLibrary/VideoLibrary.csproj +++ b/Backend/VideoLibrary/VideoLibrary.csproj @@ -12,10 +12,14 @@ - + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + - + diff --git a/Backend/VideoLibrary/appsettings.Development.json b/Backend/VideoLibrary/appsettings.Development.json index eda1b69..8f7bdd4 100644 --- a/Backend/VideoLibrary/appsettings.Development.json +++ b/Backend/VideoLibrary/appsettings.Development.json @@ -6,7 +6,7 @@ } }, "ConnectionStrings": { - "DefaultConnection": "server=127.0.0.1;uid=admin;pwd=12345;database=videolibDB;" + "DefaultConnection": "server=127.0.0.1;uid=root;database=videolibDB;" }, "AllowedHosts": "*", "consulUri": "http://localhost:8500",