From a98127137f8e9752f0636dedcff37ef893aa3aa1 Mon Sep 17 00:00:00 2001 From: HosseinJavadi Date: Fri, 5 Sep 2025 17:16:03 +0430 Subject: [PATCH] . --- VizhTalk.Grpc.CDN/Commands.cs | 3 ++ VizhTalk.Grpc.CDN/Commands.proto | 10 ++++++ VizhTalk.Grpc.CDN/DTOs.proto | 3 ++ VizhTalk.Grpc.CDN/Id.cs | 36 +++++++++++++++++++ VizhTalk.Grpc.CDN/Services.proto | 1 + VizhTalk.Grpc.CDN/VizhTalk.Grpc.CDN.csproj | 3 ++ .../Entities/MediaGroupMedia.cs | 2 +- .../Services/CDNService.cs | 4 +++ 8 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 VizhTalk.Grpc.CDN/Commands.cs create mode 100644 VizhTalk.Grpc.CDN/Id.cs diff --git a/VizhTalk.Grpc.CDN/Commands.cs b/VizhTalk.Grpc.CDN/Commands.cs new file mode 100644 index 0000000..434bb2d --- /dev/null +++ b/VizhTalk.Grpc.CDN/Commands.cs @@ -0,0 +1,3 @@ +namespace VizhTalk.Grpc.CDN; + +public sealed partial class UploadFileCommand; \ No newline at end of file diff --git a/VizhTalk.Grpc.CDN/Commands.proto b/VizhTalk.Grpc.CDN/Commands.proto index 73e8117..c7449ec 100644 --- a/VizhTalk.Grpc.CDN/Commands.proto +++ b/VizhTalk.Grpc.CDN/Commands.proto @@ -4,6 +4,16 @@ option csharp_namespace="VizhTalk.Grpc.CDN"; package greet; +import "DTOs.proto"; + message UploadFileCommand{ bytes file = 1; + Id mediaGroupId = 2; + string clientId = 3; + string fileName = 4; +} +message CreateMediaGroupCommand{ + string key = 1; + bool isSecure = 2; + string title = 3; } \ No newline at end of file diff --git a/VizhTalk.Grpc.CDN/DTOs.proto b/VizhTalk.Grpc.CDN/DTOs.proto index d449833..13f9f14 100644 --- a/VizhTalk.Grpc.CDN/DTOs.proto +++ b/VizhTalk.Grpc.CDN/DTOs.proto @@ -9,5 +9,8 @@ message Id{ } message UploadFileDTO{ + Id mediaGroupMediaId = 1; +} +message MediaGroupDTO{ Id id = 1; } \ No newline at end of file diff --git a/VizhTalk.Grpc.CDN/Id.cs b/VizhTalk.Grpc.CDN/Id.cs new file mode 100644 index 0000000..9b5c664 --- /dev/null +++ b/VizhTalk.Grpc.CDN/Id.cs @@ -0,0 +1,36 @@ + + +using VizhTalk.BuildingBlocks.Domain; + +namespace VizhTalk.Grpc.CDN; + +public sealed partial class Id +{ + public static implicit operator string(Id id) + => EncryptionIdHelper.Decrypt(id.Value); + + public static implicit operator Id(string id) + => new Id() + { + Value = EncryptionIdHelper.Encrypt(id) + }; + + public static implicit operator int(Id id) + => int.Parse(EncryptionIdHelper.Decrypt(id.Value)); + + public static implicit operator Guid(Id id) + => Guid.Parse(EncryptionIdHelper.Decrypt(id.Value)); + + public static implicit operator long(Id id) + => long.Parse(EncryptionIdHelper.Decrypt(id.Value)); + + + public static implicit operator Id(int id) + => (Id)id.ToString(); + + public static implicit operator Id(long id) + => (Id)id.ToString(); + + public static implicit operator Id(Guid id) + => (Id)id.ToString(); +} diff --git a/VizhTalk.Grpc.CDN/Services.proto b/VizhTalk.Grpc.CDN/Services.proto index 3504ead..434b223 100644 --- a/VizhTalk.Grpc.CDN/Services.proto +++ b/VizhTalk.Grpc.CDN/Services.proto @@ -9,4 +9,5 @@ import "Commands.proto"; service CDNGrpc{ rpc UploadFile (UploadFileCommand) returns (UploadFileDTO); + rpc CreateMediaGroup (CreateMediaGroupCommand) returns (MediaGroupDTO); } \ No newline at end of file diff --git a/VizhTalk.Grpc.CDN/VizhTalk.Grpc.CDN.csproj b/VizhTalk.Grpc.CDN/VizhTalk.Grpc.CDN.csproj index 1d53f75..c9a81ba 100644 --- a/VizhTalk.Grpc.CDN/VizhTalk.Grpc.CDN.csproj +++ b/VizhTalk.Grpc.CDN/VizhTalk.Grpc.CDN.csproj @@ -10,6 +10,9 @@ + + + diff --git a/Vizhtalk.CDN.Presentation/Entities/MediaGroupMedia.cs b/Vizhtalk.CDN.Presentation/Entities/MediaGroupMedia.cs index ed2dc52..08418f4 100644 --- a/Vizhtalk.CDN.Presentation/Entities/MediaGroupMedia.cs +++ b/Vizhtalk.CDN.Presentation/Entities/MediaGroupMedia.cs @@ -7,6 +7,6 @@ namespace Vizhtalk.CDN.Presentation.Entities { public MediaId MediaId { get; set; } public MediaGroupId MediaGroupId { get; set; } - public List MediaClients { get; set; } + public List MediaClients { get; set; } } } diff --git a/Vizhtalk.CDN.Presentation/Services/CDNService.cs b/Vizhtalk.CDN.Presentation/Services/CDNService.cs index 8dbf38b..859be08 100644 --- a/Vizhtalk.CDN.Presentation/Services/CDNService.cs +++ b/Vizhtalk.CDN.Presentation/Services/CDNService.cs @@ -5,6 +5,10 @@ namespace Vizhtalk.CDN.Presentation.Services; public class CDNService : CDNGrpc.CDNGrpcBase { + public override Task CreateMediaGroup(CreateMediaGroupCommand request, ServerCallContext context) + { + return base.CreateMediaGroup(request, context); + } public override Task UploadFile(UploadFileCommand request, ServerCallContext context) { return base.UploadFile(request, context);