From 2e2fb95cff241802d6738b25ffc2189c26365f65 Mon Sep 17 00:00:00 2001 From: Liza275 Date: Mon, 18 Dec 2023 22:46:49 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/voronkova-es/lab_3/.gitignore | 477 ++++++++++++++++++ tasks/voronkova-es/lab_3/README.md | 70 +++ tasks/voronkova-es/lab_3/images/screen_1.png | Bin 0 -> 63937 bytes tasks/voronkova-es/lab_3/images/screen_2.png | Bin 0 -> 65664 bytes tasks/voronkova-es/lab_3/nginx.conf | 26 + tasks/voronkova-es/lab_3/worker-1/Program.cs | 88 ++++ .../worker-1/Properties/launchSettings.json | 38 ++ .../worker-1/appsettings.Development.json | 8 + .../lab_3/worker-1/appsettings.json | 9 + .../lab_3/worker-1/worker-1.csproj | 15 + .../voronkova-es/lab_3/worker-1/worker-1.sln | 31 ++ tasks/voronkova-es/lab_3/worker-2/Program.cs | 80 +++ .../worker-2/Properties/launchSettings.json | 38 ++ .../worker-2/appsettings.Development.json | 8 + .../lab_3/worker-2/appsettings.json | 9 + .../lab_3/worker-2/worker-2.csproj | 15 + 16 files changed, 912 insertions(+) create mode 100644 tasks/voronkova-es/lab_3/.gitignore create mode 100644 tasks/voronkova-es/lab_3/README.md create mode 100644 tasks/voronkova-es/lab_3/images/screen_1.png create mode 100644 tasks/voronkova-es/lab_3/images/screen_2.png create mode 100644 tasks/voronkova-es/lab_3/nginx.conf create mode 100644 tasks/voronkova-es/lab_3/worker-1/Program.cs create mode 100644 tasks/voronkova-es/lab_3/worker-1/Properties/launchSettings.json create mode 100644 tasks/voronkova-es/lab_3/worker-1/appsettings.Development.json create mode 100644 tasks/voronkova-es/lab_3/worker-1/appsettings.json create mode 100644 tasks/voronkova-es/lab_3/worker-1/worker-1.csproj create mode 100644 tasks/voronkova-es/lab_3/worker-1/worker-1.sln create mode 100644 tasks/voronkova-es/lab_3/worker-2/Program.cs create mode 100644 tasks/voronkova-es/lab_3/worker-2/Properties/launchSettings.json create mode 100644 tasks/voronkova-es/lab_3/worker-2/appsettings.Development.json create mode 100644 tasks/voronkova-es/lab_3/worker-2/appsettings.json create mode 100644 tasks/voronkova-es/lab_3/worker-2/worker-2.csproj diff --git a/tasks/voronkova-es/lab_3/.gitignore b/tasks/voronkova-es/lab_3/.gitignore new file mode 100644 index 0000000..154e127 --- /dev/null +++ b/tasks/voronkova-es/lab_3/.gitignore @@ -0,0 +1,477 @@ +## 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/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET +project.lock.json +project.fragment.lock.json +artifacts/ + +# Tye +.tye/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.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 + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# 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 +# Note: 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 +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/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 +*.appx +*.appxbundle +*.appxupload + +# 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 + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# 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 +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# 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 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# 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/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml + +## +## Visual studio for Mac +## + + +# globs +Makefile.in +*.userprefs +*.usertasks +config.make +config.status +aclocal.m4 +install-sh +autom4te.cache/ +*.tar.gz +tarballs/ +test-results/ + +# Mac bundle stuff +*.dmg +*.app + +# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk diff --git a/tasks/voronkova-es/lab_3/README.md b/tasks/voronkova-es/lab_3/README.md new file mode 100644 index 0000000..690dbab --- /dev/null +++ b/tasks/voronkova-es/lab_3/README.md @@ -0,0 +1,70 @@ +# Отчет по лабораторной работе №3 + +Выполнила студентка гр. ИСЭбд-41 Воронкова Е.С. + +## REST API, Gateway и синхронный обмен между микросервисами + +## Создание микросервисов + +1. С помощью команды `dotnet new web -n worker-1` в терминале был создан первый микросервис +2. В папке созданного проекта добавлено решение командой `dotnet new sln` +3. Затем связали решение и проект командой `dotnet sln worker-2.sln add worker-1.csproj` +4. Повторили те же действия для второго микросервиса +5. Добавили библиотеку Swagger и OpenAi в обе папки проектов и запустили с помощью команды `dotnet run` + +Моя предметная область - Медицина. Реализовала две сущности - лекарство и аптека + +Скриншоты протестированных микросервисов: +Worker-1: +![](images/screen_1.png) +Worker-2: +![](images/screen_2.png) + +## Реализация синхронного обмена + +Был реализован код, который вызывает сихронно данные из соседнего микросервиса + +```cs +//worker-2 +app.MapGet("/Requests/", async () => +{ + var httpClient = new HttpClient(); + var secondWorkerResponse = await httpClient.GetStringAsync("http://worker-1:8085/"); + + return secondWorkerResponse; +}); +``` + +## Реализация gateway при помощи nginx + +Добавила nginx.conf: + +```conf +server { + listen 8085; + listen [::]:8085; + server_name localhost; + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + location /worker-1/ { + proxy_pass http://worker-1:8085/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Prefix /worker-1; + } + + location /worker-2/ { + proxy_pass http://worker-2:8085/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Prefix /worker-2; + } +} + +``` \ No newline at end of file diff --git a/tasks/voronkova-es/lab_3/images/screen_1.png b/tasks/voronkova-es/lab_3/images/screen_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8084bd1d8f651a7c0bbd96c3a4845084e9a6503e GIT binary patch literal 63937 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 -y86kf2N58DY4*Wb=;Y{ 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 KKRq|N9PtmDB&{a^ literal 0 HcmV?d00001 diff --git a/tasks/voronkova-es/lab_3/images/screen_2.png b/tasks/voronkova-es/lab_3/images/screen_2.png new file mode 100644 index 0000000000000000000000000000000000000000..08d862d753b03c3e982aa1e8b541ae544f936b24 GIT binary patch literal 65664 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 OS`GC~b#t^G!v6|!zo7^K literal 0 HcmV?d00001 diff --git a/tasks/voronkova-es/lab_3/nginx.conf b/tasks/voronkova-es/lab_3/nginx.conf new file mode 100644 index 0000000..018ce2a --- /dev/null +++ b/tasks/voronkova-es/lab_3/nginx.conf @@ -0,0 +1,26 @@ +server { + listen 8085; + listen [::]:8085; + server_name localhost; + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + location /worker-1/ { + proxy_pass http://worker-1:8085/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Prefix /worker-1; + } + + location /worker-2/ { + proxy_pass http://worker-2:8085/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Prefix /worker-2; + } +} \ No newline at end of file diff --git a/tasks/voronkova-es/lab_3/worker-1/Program.cs b/tasks/voronkova-es/lab_3/worker-1/Program.cs new file mode 100644 index 0000000..e97950e --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-1/Program.cs @@ -0,0 +1,88 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.OpenApi.Models; +using System; +using System.Collections.Generic; +using System.Linq; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddSingleton(); + +// Add Swagger services +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(c => +{ + c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); +}); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. + +app.UseSwagger(); +app.UseSwaggerUI(c => +{ + c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); +}); + + +app.MapGet("/", (DrugstoreService service) => service.GetAll()); + +app.MapGet("/drugstores/{id}", (DrugstoreService service, Guid id) => +{ + var drugstore = service.Get(id); + return drugstore is not null ? Results.Ok(drugstore) : Results.NotFound(); +}); + +app.MapPost("/drugstores", (DrugstoreService service, Drugstore drugstore) => +{ + service.Create(drugstore); + return Results.Created($"/drugstores/{drugstore.Id}", drugstore); +}); + +app.MapPut("/drugstores/{id}", (DrugstoreService service, Drugstore updatedDrugstore, Guid id) => +{ + var drugstore = service.Get(id); + if (drugstore is null) return Results.NotFound(); + + service.Update(updatedDrugstore); + return Results.Ok(updatedDrugstore); +}); + +app.MapDelete("/drugstores/{id}", (DrugstoreService service, Guid id) => +{ + service.Delete(id); + return Results.Ok(); +}); + +app.Run(); + +public record Drugstore(Guid Id, string Name, string Address); + +public class DrugstoreService +{ + private readonly List _drugstores = new(); + + public List GetAll() => _drugstores; + + public Drugstore? Get(Guid id) => _drugstores.FirstOrDefault(d => d.Id == id); + + public void Create(Drugstore newDrugstore) => _drugstores.Add(newDrugstore); + + public void Update(Drugstore updatedDrugstore) + { + var index = _drugstores.FindIndex(d => d.Id == updatedDrugstore.Id); + if (index == -1) return; + + _drugstores[index] = updatedDrugstore; + } + + public void Delete(Guid id) + { + var drugstore = Get(id); + if (drugstore is null) return; + + _drugstores.Remove(drugstore); + } +} \ No newline at end of file diff --git a/tasks/voronkova-es/lab_3/worker-1/Properties/launchSettings.json b/tasks/voronkova-es/lab_3/worker-1/Properties/launchSettings.json new file mode 100644 index 0000000..ddd71e9 --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-1/Properties/launchSettings.json @@ -0,0 +1,38 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:27639", + "sslPort": 44315 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5111", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7158;http://localhost:5111", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/tasks/voronkova-es/lab_3/worker-1/appsettings.Development.json b/tasks/voronkova-es/lab_3/worker-1/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-1/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/tasks/voronkova-es/lab_3/worker-1/appsettings.json b/tasks/voronkova-es/lab_3/worker-1/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-1/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/tasks/voronkova-es/lab_3/worker-1/worker-1.csproj b/tasks/voronkova-es/lab_3/worker-1/worker-1.csproj new file mode 100644 index 0000000..1b61a49 --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-1/worker-1.csproj @@ -0,0 +1,15 @@ + + + + net7.0 + enable + enable + worker_1 + + + + + + + + diff --git a/tasks/voronkova-es/lab_3/worker-1/worker-1.sln b/tasks/voronkova-es/lab_3/worker-1/worker-1.sln new file mode 100644 index 0000000..0408137 --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-1/worker-1.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "worker-1", "worker-1.csproj", "{1349D735-BA13-4E34-A67C-D6C50025DFA2}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "worker-2", "..\worker-2\worker-2.csproj", "{55A9B14A-B8D5-42C0-A17E-6615A6A224E9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1349D735-BA13-4E34-A67C-D6C50025DFA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1349D735-BA13-4E34-A67C-D6C50025DFA2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1349D735-BA13-4E34-A67C-D6C50025DFA2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1349D735-BA13-4E34-A67C-D6C50025DFA2}.Release|Any CPU.Build.0 = Release|Any CPU + {55A9B14A-B8D5-42C0-A17E-6615A6A224E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {55A9B14A-B8D5-42C0-A17E-6615A6A224E9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {55A9B14A-B8D5-42C0-A17E-6615A6A224E9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {55A9B14A-B8D5-42C0-A17E-6615A6A224E9}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D167A75B-99E2-45CB-8668-84D336B4370C} + EndGlobalSection +EndGlobal diff --git a/tasks/voronkova-es/lab_3/worker-2/Program.cs b/tasks/voronkova-es/lab_3/worker-2/Program.cs new file mode 100644 index 0000000..f53b37d --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-2/Program.cs @@ -0,0 +1,80 @@ +using Microsoft.OpenApi.Models; + +var builder = WebApplication.CreateBuilder(args); + +// Add Swagger services +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(c => +{ + c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); +}); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. + +app.UseSwagger(); +app.UseSwaggerUI(c => +{ + c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); +}); + + +List medicines = new List(); + +app.MapGet("/medicines", () => medicines); + +app.MapGet("/medicine/{id}", (Guid id) => +{ +var medicine = medicines.FirstOrDefault(m => m.Id == id); +return medicine is null ? Results.NotFound() : Results.Ok(medicine); +}); + +app.MapPost("/medicine", (Medicine medicine) => +{ +medicines.Add(medicine); +return Results.Created($"/medicine/{medicine.Id}", medicine); +}); + +app.MapPut("/medicine/{id}", (Guid id, Medicine inputMedicine) => +{ +var medicine = medicines.FirstOrDefault(m => m.Id == id); + +if (medicine is null) return Results.NotFound(); + +medicine.Name = inputMedicine.Name; +medicine.Dose = inputMedicine.Dose; +medicine.ExpirationDate = inputMedicine.ExpirationDate; + +return Results.NoContent(); +}); + +app.MapDelete("/medicine/{id}", (Guid id) => +{ +var medicine = medicines.FirstOrDefault(m => m.Id == id); + +if (medicine is null) return Results.NotFound(); + +medicines.Remove(medicine); + +return Results.Ok(medicine); +}); + +app.MapGet("/Requests/", async () => +{ + var httpClient = new HttpClient(); + var secondWorkerResponse = await httpClient.GetStringAsync("http://worker-1:8085/"); + + return secondWorkerResponse; +}); + +app.Run(); + + +public class Medicine +{ + public Guid Id { get; set; } + public string Name { get; set; } + public int Dose { get; set; } + public DateTime ExpirationDate { get; set; } +} \ No newline at end of file diff --git a/tasks/voronkova-es/lab_3/worker-2/Properties/launchSettings.json b/tasks/voronkova-es/lab_3/worker-2/Properties/launchSettings.json new file mode 100644 index 0000000..6526c0c --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-2/Properties/launchSettings.json @@ -0,0 +1,38 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:6437", + "sslPort": 44360 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5041", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7064;http://localhost:5041", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/tasks/voronkova-es/lab_3/worker-2/appsettings.Development.json b/tasks/voronkova-es/lab_3/worker-2/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-2/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/tasks/voronkova-es/lab_3/worker-2/appsettings.json b/tasks/voronkova-es/lab_3/worker-2/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-2/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/tasks/voronkova-es/lab_3/worker-2/worker-2.csproj b/tasks/voronkova-es/lab_3/worker-2/worker-2.csproj new file mode 100644 index 0000000..8664100 --- /dev/null +++ b/tasks/voronkova-es/lab_3/worker-2/worker-2.csproj @@ -0,0 +1,15 @@ + + + + net7.0 + enable + enable + worker_2 + + + + + + + +