From 9da6b36fc20a4c4e4f3b57d8728e3bf5a1db7cc3 Mon Sep 17 00:00:00 2001 From: muktamyeesarker Date: Wed, 14 Aug 2024 13:45:20 -0600 Subject: [PATCH] Assignment 3 Done --- .vs/MyFirstBlog/DesignTimeBuild/.dtbcache.v2 | Bin 231247 -> 231247 bytes ...1451f00c-8a3c-4b67-9988-24ae06d88ff9.vsidx | Bin 1299 -> 0 bytes ...3671b2ea-91c1-4fa3-8590-3e73598d97ea.vsidx | Bin 40609 -> 0 bytes ...6bf9657e-a70c-444b-a131-f31ad350e9a7.vsidx | Bin 0 -> 44508 bytes ...bea523cd-fe70-40bf-a1b6-2697c5ede561.vsidx | Bin 0 -> 2770 bytes .vs/MyFirstBlog/v17/.suo | Bin 55808 -> 74752 bytes .vs/MyFirstBlogBackendd/v17/.wsuo | Bin 0 -> 14848 bytes MyFirstBlog/Controllers/PostsController.cs | 66 +++++++----- MyFirstBlog/Dtos/PostDto.cs | 33 ++++-- MyFirstBlog/Entities/Post.cs | 17 +-- MyFirstBlog/Extensions.cs | 25 ++--- MyFirstBlog/Helpers/ConnectionHelper.cs | 51 ++++----- MyFirstBlog/Helpers/DataContext.cs | 35 ++++--- MyFirstBlog/Helpers/DatabaseHelperBasecs.cs | 16 +++ MyFirstBlog/MyFirstBlog.csproj | 1 + MyFirstBlog/Program.cs | 12 ++- MyFirstBlog/Services/PostService.cs | 98 +++++++++++++----- 17 files changed, 228 insertions(+), 126 deletions(-) delete mode 100644 .vs/MyFirstBlog/FileContentIndex/1451f00c-8a3c-4b67-9988-24ae06d88ff9.vsidx delete mode 100644 .vs/MyFirstBlog/FileContentIndex/3671b2ea-91c1-4fa3-8590-3e73598d97ea.vsidx create mode 100644 .vs/MyFirstBlog/FileContentIndex/6bf9657e-a70c-444b-a131-f31ad350e9a7.vsidx create mode 100644 .vs/MyFirstBlog/FileContentIndex/bea523cd-fe70-40bf-a1b6-2697c5ede561.vsidx create mode 100644 .vs/MyFirstBlogBackendd/v17/.wsuo create mode 100644 MyFirstBlog/Helpers/DatabaseHelperBasecs.cs diff --git a/.vs/MyFirstBlog/DesignTimeBuild/.dtbcache.v2 b/.vs/MyFirstBlog/DesignTimeBuild/.dtbcache.v2 index e3a42a61722cbb1d434a36e84be936f5bce2e00e..bf866b1768a082ed4794a3660b5ec1332dec11bf 100644 GIT binary patch literal 231247 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

&R$ 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 E0t)hnKL7v# diff --git a/.vs/MyFirstBlog/FileContentIndex/1451f00c-8a3c-4b67-9988-24ae06d88ff9.vsidx b/.vs/MyFirstBlog/FileContentIndex/1451f00c-8a3c-4b67-9988-24ae06d88ff9.vsidx deleted file mode 100644 index ae1b509b18fc85122b87d6fe097b5b525f03b803..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1299 zcmZ>EaTnxZV0h2M00wKI^i&|v*(xTqIJKxaCb2v*FFi&tuQWZiB&HxSIXf{uwKyg> zGr1_gI6tjKuOzj&q#!4;BrU%v7tG1XFD{8OG}E)xGl@wm&CE%O$xAIs&M!($EGRJ2 zGmNP)Gl}tqYYzcx4}fWhF&vYMONtVcOEUBGiuF=*a=xy({hBTQ79(vP1@Z~V@gN%^ z0fLvD?tGJ;j!Laa#p@i1B$1BFE6vL+F$Q@!F(t8}B(*5USkKU0&j4$Lffehe=A~!m zrRpUXWD*%Z2-hl1nf!u?=p)}zpwvaGtBN1aqphQeOGSuK0884){6ax-tq00z zj*!SEF{lI$YUtspf|MlGz`)C6{ZRP;l%}9X76UU-HH-}`(%@`1BvU~0{80X3sN(Zb I`ZkmX09e6aa{vGU diff --git a/.vs/MyFirstBlog/FileContentIndex/3671b2ea-91c1-4fa3-8590-3e73598d97ea.vsidx b/.vs/MyFirstBlog/FileContentIndex/3671b2ea-91c1-4fa3-8590-3e73598d97ea.vsidx deleted file mode 100644 index 78b55c804b685e34fd51faf6a21f29190d8c8b2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40609 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 diff --git a/.vs/MyFirstBlog/FileContentIndex/6bf9657e-a70c-444b-a131-f31ad350e9a7.vsidx b/.vs/MyFirstBlog/FileContentIndex/6bf9657e-a70c-444b-a131-f31ad350e9a7.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..59405e995d8c18e784ebd5b5f4d1a647bc66c6de GIT binary patch literal 44508 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 fj7#r2lhMkFGc*$}<#6wi*xu33-qFt9 z>;`7C@>*w~$k``a(QfNb=PQ)-lN6^YG3tRaEvPg6;)X52TJ_N%W;A%!+xO zRZipH+5C-#>P2U>>db@c{iMcs#zE30P`#kkh}F?a=LfZpch8QoNWIsw)OAj3oduEa zYGsU4y_?s@TT*S;`I71>mA|x}Nf@{4=iLW;?atNc-q=okQ@1?Pn89pHjl8uYsV9{B zYN@>#U(}dFIy$cHw+m@V>nX{UxUT+pf36*`wECFp6^v5V+&Ys|>o`ABxm6l!xg&CB z-FL~G_9JyH^P-MkS8b4Ay{^0;Ql;%_gVdV)a=k~) z<{qSH#0k{AIQ3W%kD*!n#M}fZGw&ssx`PrklK!MjnrMS7Am!6byaHb zN<&&#u-ePg$k`vN&(@}`sbxsL*ZHq=XbdV>N=RzI%0p_8wk@>tZQh6E| zIi7OWvlGuG-1T`jQ2nfQeq1jMx+v)4psu&>N9S=*-5Xgd2imYL==r5;it{4fEvRie z3sUcL7Nm6z-ND!ubUo#1?DjpQnFoK~tBu#4fYf^z#ORf>-o(D#(d$#j z1@+n;tIq~JJ8(Dcx-ur{*r1c3u9#BuwFs$a2|f*&PpM51ah4dg*dV2*Y`gyg)mVGiLmD|Ov zYtqi3&b9Haw4M;jxvPLwPPIPu%y#toQu)#IOTE`fRq9>Fs8a7$+oW=BTq;!>?)0UO zSI;Q5rZX+I<`S&TU4*^3Qb=ucSMsZlR64V`_PLGmqITICdeKQ=Ufcf^{`Yie z52*2gbWf<-BGoS4?@E_JjbWwEylcADcAR}_XV6`P+I#hGjabZ@#tu?v$n{NXFRo_Q zze@Fk{#DN>l?T0)bhn^#+weDzx>~kYt6XhOTa?<%d_0d--n2HUEoe#7YB6%6MoVW0 zl?$~`D$nynp3cA5bq?jtd5|il%DdiM&+ff?8>yx4>7@4V9!+XZ<4&nkb#0b)Tlt}{!HoDvnZuzT%#|NP73O& zO zk4jx?FOErSecO=Ak8@gg?^0V(zMddE3ZqAdG!PT6Kpaodk6*r1fdJ9Jn6&l(?Qqny)vI)|~pJR9SW+Md`eta;lf`l)=%v zHZ}HF#;IOgQy(X_zO(5WguS>bso%Q=_1aZND!0zBbX-t5G&Ymgv!Z%J=h{;Da?ZZj z_NWd>tE~5m>w1PE4@M5seS$8B)_t@4(Z&gg+Tsk24k{<^kfe3@WABYUiaqMDq_%8? zF5MTpXUNuw+iUMNzBZ0?q(*}^uGErkU!NmYdiqpp-LY36xkuzUQvI3KeyeUd2VTp$ z)-0_SEI-<1;~Yosp79!vQD0GaHB#?&<&s+39W&y}<+b;^9!Zx$J%etX2UUI3hnQm> zJ%-e~_C~`!Et(v3&!EoHvZ%R?_B=)MofRW1>DZt?s~ZJ}^$iiJrTP=8Hlq%^Hmhao zt<=*&HCF1=VD(mNeb+c?eFkp-T)OH{4{G~00?=Z; zuFr66*%-|8FGtjPs^I*%Zq^fP{jy_mhaz>np6N>E(Y=Xux1hGI{!8or-yMdUFO_p; zEv@Hj^)yQ!)OP7|sHYK9IZ=lj@rpj(YwvRB=iWt$>A$45qkc-gRx_pcTUUvO&z2uO zrBr_OOzJ}AOKCW7RZf*tsdYU4lb*((8Ys19cSuP+^jgVuv$9Cl4WlWkQt}K?DxW^h zlBx;%QmNxrhoz2Jos-(DXMLVR%8Ajw+}KWCO^v#ICTC4g@8!~Ws?=5K*r1c3?gFH* z3u>u*WT`vUy8o{cq1tPXeftiPbU&y&1*vVS+s2OGyDi*0e*LIkT58K`yHwxS$-GF7 zo$Dz>jX2eObL>mM?TM=GjEfxKEbu(SeBZz6jwj~I*F2x4OLq*q6Vx4wRDJQefYNtw z>1m$Qm*@J-QcLk#KI`)mPa(aQLstsvyr4!*dO)ds%Ad1n%kDa)`Zl8?sim$OQv21K zq}v9S2UiWLJZL*o?{lS)+Gbs4wH>eRS2;@S+3o&ZyGAtPBt5d4B=!7Hs>D3cYnfa3GF4~0%0NzxLZx!9$8rB-9oH1s9{Y7QkvhNb%B7B|5iRNC)gM=>J%ieo z9@q$JOwh4G>vJbh9MuG=zQCP}baYVb&qDH2TlOSadK%PdLF#_UbIQhA=xpj!?9rWz zR33~cpV_~8ue%JXEf@nx=LNOC5wvtlQ0pwjUnw2W%#5d`w&{FH?W^tyUG0^iHI={A zI?A*@GnSgK{z~=ej==roWJaJTkuHOJ<{))luk+!vdOc=m&|QNrgnE)AwFTEHX^jSE zaILIrWZ>S&_SF!dtc(fIJ1gj%p!0(oLsXBfMZ5Rt3TnPHXN2Jigr}&!!RB4+lV@gi ze=?eDZNaBCb+6*v63WCUHwQ3UN9vfzLG>7(Pj^9$2rBXwVB9N^iL{-B;f8C|INzQLqE*QapW zz#OjK(Mh#bJ(c@^>nIb?biGys>xqDCoBX(Ek$SHhBGs1E3j5hMs8{<&P1iwBqPwB4 zvgR&=8WrqESr^o|*xUz7jgfp?&Yhue3rOcc<#Rv!=!SZRw;yTiI4`b;^~u?oSa-(; zogQ>X&^bXD2CZweE4kA4oxFKad-SQ>e5exe6w@3f?zy(t+KO*KPm1VoZmjNOpktU5 c>8|m1xx}~m{pNuG`RiZ)ck;A~^G~n%zv6oyX=QdE?S7r+~hR0Op_Zi)q~nIugEnKqr7MygQ>X+Y==npCaVM!6^g zDgvKjEk64TSj*4;1o#pB2Htm{H(3mm_t~@0KKtywXI9DP3LE=+-M>#cyQV$daWFen zooqH1o7K6cnO3cuTc|J1HRfB*YPdXdda>CGW*1HcwfanBetP@!L2-xtz55uQ|Vz1Y>`LT){9z3Qx9%OjK_QL4tWcGRdqmR5}8{vlm|6NloAsZfj zygzQB<7t~8OYnFnBD<^bf+%Fyw-xJ>#4~id%L*gOvu=t@k zEPf<@EM~+&%!)ZNFOG->aa1gdN5rFINesm?aa=5m6JjLBVj@n874Z}Cm^dYVDt;zb z#m~hr#4p9;Vof|D*2QVDA)XXZiC>AQ#WUiJI4jPH^WuVdRy-#zicPU4E{R`@--zFe z%i?$9_u>!YkK#|_&*F;M7Jm_c70-(o#Ear3@i*~z@v``bctyM_UK9Tm{}TTeuZ#bP zH^iIbE%Dka7`WEpx6|!%hoD6lyFr(88JBhimxqo*cjI4Z8k<#w#_%7u$YI-^aRGK^ zTo!)nIFuPOu4EcYLwLsUqh_JZLp^F5n@&L!{HR<_P#3euP-YI0lb#antX0iZhhVcN zY8hI>4o35wvWu+N1j-ya#L&aj^VYHNCNCem&Lcw^8se-xvalBB$-4uEdChwjvz~fiEyHvOK6%vBh<I+fi2CwS)>yRlB2K5Dy)X;?k$HGt z5$AEroDXL`24xOTrvUXmaNeAK0%djVssN=gbW^C0Z>3-wLOE9|^YN`v6DX&^ylK&}|y9CHtwvOazttdjp{_-i$=UN-*{@hbItZs_xT1Zz&~ A*#H0l literal 0 HcmV?d00001 diff --git a/.vs/MyFirstBlog/v17/.suo b/.vs/MyFirstBlog/v17/.suo index 74e1a08b389ec1a4707cb166375bcb43e683d83a..cbb91ce97d55e01a9dcc51064ca0dde0a5ede391 100644 GIT binary patch literal 74752 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 literal 0 HcmV?d00001 diff --git a/MyFirstBlog/Controllers/PostsController.cs b/MyFirstBlog/Controllers/PostsController.cs index 8fa6bf2c..f8c6b36c 100644 --- a/MyFirstBlog/Controllers/PostsController.cs +++ b/MyFirstBlog/Controllers/PostsController.cs @@ -1,34 +1,52 @@ -namespace MyFirstBlog.Controllers; - using Microsoft.AspNetCore.Mvc; -using MyFirstBlog.Dtos; using MyFirstBlog.Services; +using MyFirstBlog.Dtos; +using System.Collections.Generic; + +namespace MyFirstBlog.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class PostsController : ControllerBase + { + private readonly PostService _postService; + + public PostsController(PostService postService) + { + _postService = postService; + } -[ApiController] -[Route("posts")] + // GET: api/posts + [HttpGet] + public ActionResult> GetPosts() + { + var posts = _postService.GetPosts(); + return Ok(posts); + } -public class PostsController : ControllerBase { - private IPostService _postService; + // GET: api/posts/{slug} + [HttpGet("{slug}")] + public ActionResult GetPost(string slug) + { + var post = _postService.GetPost(slug); + if (post == null) + return NotFound(); - public PostsController(IPostService postService) { - _postService = postService; - } + return Ok(post); + } - // Get /posts - [HttpGet] - public IEnumerable GetPosts() { - return _postService.GetPosts(); - } + // POST: api/posts/new + [HttpPost("new")] + public ActionResult AddPost([FromBody] CreatePostDto createPostDto) + { + if (string.IsNullOrWhiteSpace(createPostDto.Title)) + { + return BadRequest(new { errors = new[] { "Title cannot be blank" } }); + } - // Get /posts/:slug - [HttpGet("{slug}")] - public ActionResult GetPost(string slug) { - var post = _postService.GetPost(slug); + var post = _postService.CreatePost(createPostDto); - if (post is null) { - return NotFound(); + return CreatedAtAction(nameof(GetPost), new { slug = post.Slug }, post); } - - return post; } -} +} \ No newline at end of file diff --git a/MyFirstBlog/Dtos/PostDto.cs b/MyFirstBlog/Dtos/PostDto.cs index 12ca4818..535404d5 100644 --- a/MyFirstBlog/Dtos/PostDto.cs +++ b/MyFirstBlog/Dtos/PostDto.cs @@ -1,9 +1,26 @@ -namespace MyFirstBlog.Dtos; - -public record PostDto { - public Guid Id { get; init; } - public string Title { get; init; } = default!; - public string Slug { get; init; } = default!; - public string Body { get; init; } = default!; - public DateTime CreatedDate { get; init; } +using System; +using System.ComponentModel.DataAnnotations; + +namespace MyFirstBlog.Dtos +{ + public class PostDto + { + public Guid Id { get; set; } + public string Title { get; set; } + public string Slug { get; set; } + public string Body { get; set; } + + [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd HH:mm:ss}")] + public DateTime CreatedDate { get; set; } + } + + public class CreatePostDto + { + public string Title { get; set; } + public string Slug { get; set; } + public string Body { get; set; } + + [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd HH:mm:ss}")] + public DateTime CreatedDate { get; set; } + } } diff --git a/MyFirstBlog/Entities/Post.cs b/MyFirstBlog/Entities/Post.cs index 9347e859..17410442 100644 --- a/MyFirstBlog/Entities/Post.cs +++ b/MyFirstBlog/Entities/Post.cs @@ -1,8 +1,11 @@ -namespace MyFirstBlog.Entities; -public record Post { - public Guid Id { get; init; } - public string Title { get; init; } = default!; - public string Slug { get; init; } = default!; - public string Body { get; init; } = default!; - public DateTime CreatedDate { get; init; } +namespace MyFirstBlog.Entities +{ + public class Post + { + public Guid Id { get; set; } + public string Title { get; set; } + public string Slug { get; set; } + public string Body { get; set; } + public DateTime CreatedDate { get; set; } // Updated to CreatedDate + } } diff --git a/MyFirstBlog/Extensions.cs b/MyFirstBlog/Extensions.cs index a5326018..f3865f08 100644 --- a/MyFirstBlog/Extensions.cs +++ b/MyFirstBlog/Extensions.cs @@ -1,18 +1,15 @@ using MyFirstBlog.Dtos; -using MyFirstBlog.Entities; +using System; -namespace MyFirstBlog { - public static class Extensions { - public static PostDto AsDto(this Post post) { - return new PostDto - { - Id = post.Id, - Title = post.Title, - Slug = post.Slug, - Body = post.Body, - CreatedDate = post.CreatedDate - }; - +namespace MyFirstBlog.Extensions +{ + public static class PostExtensions + { + public static void UpdatePost(this PostDto postDto, string title, string body, DateTime createDate) + { + postDto.Title = title; + postDto.Body = body; + postDto.CreatedDate = createDate; // Correct usage of CreateDate } } -}; +} diff --git a/MyFirstBlog/Helpers/ConnectionHelper.cs b/MyFirstBlog/Helpers/ConnectionHelper.cs index 5e6671a6..f985785f 100644 --- a/MyFirstBlog/Helpers/ConnectionHelper.cs +++ b/MyFirstBlog/Helpers/ConnectionHelper.cs @@ -1,31 +1,32 @@ -namespace MyFirstBlog.Helpers; - using Npgsql; +using Microsoft.Extensions.Configuration; -public static class ConnectionHelper +namespace MyFirstBlog.Helpers { - public static string GetConnectionString(IConfiguration configuration) + public static class ConnectionHelper { - var connectionString = configuration.GetConnectionString("DefaultConnection"); - var databaseUrl = Environment.GetEnvironmentVariable("DATABASE_URL"); - return string.IsNullOrEmpty(databaseUrl) ? connectionString : BuildConnectionString(databaseUrl); - } + public static string GetConnectionString(IConfiguration configuration) + { + var connectionString = configuration.GetConnectionString("DefaultConnection"); + var databaseUrl = Environment.GetEnvironmentVariable("DATABASE_URL"); + return string.IsNullOrEmpty(databaseUrl) ? connectionString : BuildConnectionString(databaseUrl); + } - //build the connection string from the environment. i.e. Heroku or Railway - private static string BuildConnectionString(string databaseUrl) - { - var databaseUri = new Uri(databaseUrl); - var userInfo = databaseUri.UserInfo.Split(':'); - var builder = new NpgsqlConnectionStringBuilder + private static string BuildConnectionString(string databaseUrl) { - Host = databaseUri.Host, - Port = databaseUri.Port, - Username = userInfo[0], - Password = userInfo[1], - Database = databaseUri.LocalPath.TrimStart('/'), - SslMode = SslMode.Require, - TrustServerCertificate = true - }; - return builder.ToString(); - } -} \ No newline at end of file + var databaseUri = new Uri(databaseUrl); + var userInfo = databaseUri.UserInfo.Split(':'); + var builder = new NpgsqlConnectionStringBuilder + { + Host = databaseUri.Host, + Port = databaseUri.Port, + Username = userInfo[0], + Password = userInfo[1], + Database = databaseUri.LocalPath.TrimStart('/'), + SslMode = SslMode.Require, + TrustServerCertificate = true + }; + return builder.ToString(); + } + } +} diff --git a/MyFirstBlog/Helpers/DataContext.cs b/MyFirstBlog/Helpers/DataContext.cs index 60ad2bfc..4ef28ad5 100644 --- a/MyFirstBlog/Helpers/DataContext.cs +++ b/MyFirstBlog/Helpers/DataContext.cs @@ -1,22 +1,23 @@ -namespace MyFirstBlog.Helpers; - -using Microsoft.EntityFrameworkCore; -using MyFirstBlog.Entities; - - -public class DataContext : DbContext +namespace MyFirstBlog.Helpers { - protected readonly IConfiguration Configuration; + using Microsoft.EntityFrameworkCore; + using MyFirstBlog.Entities; + using Microsoft.Extensions.Configuration; - public DataContext(IConfiguration configuration) + public class DataContext : DbContext { - Configuration = configuration; - } + protected readonly IConfiguration Configuration; - protected override void OnConfiguring(DbContextOptionsBuilder options) - { - options.UseNpgsql(ConnectionHelper.GetConnectionString(Configuration)); - } + public DataContext(IConfiguration configuration) + { + Configuration = configuration; + } - public DbSet Posts { get; set; } -} \ No newline at end of file + protected override void OnConfiguring(DbContextOptionsBuilder options) + { + options.UseNpgsql(ConnectionHelper.GetConnectionString(Configuration)); + } + + public DbSet Posts { get; set; } + } +} diff --git a/MyFirstBlog/Helpers/DatabaseHelperBasecs.cs b/MyFirstBlog/Helpers/DatabaseHelperBasecs.cs new file mode 100644 index 00000000..b874b3a2 --- /dev/null +++ b/MyFirstBlog/Helpers/DatabaseHelperBasecs.cs @@ -0,0 +1,16 @@ +namespace MyFirstBlog.Helpers +{ + public static class DatabaseHelperBase + { + + public static async Task ManageMigrationsAsync(IServiceProvider svcProvider) + { + //Service: An instance of db context + var dbContextSvc = svcProvider.GetRequiredService(); + + //Migration: This is the programmatic equivalent to Update-Database + + + } + } +} \ No newline at end of file diff --git a/MyFirstBlog/MyFirstBlog.csproj b/MyFirstBlog/MyFirstBlog.csproj index 04ccc9c1..23089edd 100644 --- a/MyFirstBlog/MyFirstBlog.csproj +++ b/MyFirstBlog/MyFirstBlog.csproj @@ -9,6 +9,7 @@ + runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/MyFirstBlog/Program.cs b/MyFirstBlog/Program.cs index 4042b610..a550bff7 100644 --- a/MyFirstBlog/Program.cs +++ b/MyFirstBlog/Program.cs @@ -1,7 +1,8 @@ using MyFirstBlog.Helpers; using MyFirstBlog.Services; +using Microsoft.EntityFrameworkCore; -var MyAllowLocalhostOrigins = "_myAllowLocalhostOrigins"; +var MyAllowLocalhostOrigins = "_myAllowLocalhostOrigins"; var builder = WebApplication.CreateBuilder(args); @@ -10,10 +11,11 @@ // Add services to the container. -services.AddDbContext(); +services.AddDbContext(options => + options.UseNpgsql(ConnectionHelper.GetConnectionString(builder.Configuration))); services.AddCors(policyBuilder => { - policyBuilder.AddPolicy( MyAllowLocalhostOrigins, + policyBuilder.AddPolicy(MyAllowLocalhostOrigins, policy => { policy.WithOrigins("http://localhost:3000").AllowAnyHeader().AllowAnyMethod(); }); @@ -24,7 +26,7 @@ services.AddEndpointsApiExplorer(); services.AddSwaggerGen(); -services.AddScoped(); +services.AddScoped(); // Register PostService directly var app = builder.Build(); @@ -49,4 +51,4 @@ app.MapControllers(); -app.Run(); +app.Run(); \ No newline at end of file diff --git a/MyFirstBlog/Services/PostService.cs b/MyFirstBlog/Services/PostService.cs index 6bac099f..98b424fb 100644 --- a/MyFirstBlog/Services/PostService.cs +++ b/MyFirstBlog/Services/PostService.cs @@ -1,37 +1,83 @@ -namespace MyFirstBlog.Services; - -using MyFirstBlog.Helpers; +using System; +using System.Collections.Generic; +using System.Linq; +using Dapper; +using Npgsql; using MyFirstBlog.Entities; -using System.Text.RegularExpressions; using MyFirstBlog.Dtos; +using Microsoft.Extensions.Configuration; +using MyFirstBlog.Helpers; -public interface IPostService +namespace MyFirstBlog.Services { - IEnumerable GetPosts(); - PostDto GetPost(String slug); -} + public class PostService + { + private readonly string _connectionString; -public class PostService : IPostService -{ - private DataContext _context; + public PostService(IConfiguration configuration) + { + _connectionString = ConnectionHelper.GetConnectionString(configuration); + } - public PostService(DataContext context) - { - _context = context; - } + public IEnumerable GetPosts() + { + using var connection = new NpgsqlConnection(_connectionString); + var posts = connection.Query("SELECT * FROM public.\"Posts\" ORDER BY \"Id\" ASC").ToList(); - public IEnumerable GetPosts() - { - return _context.Posts.Select(post => post.AsDto()); - } + return posts.Select(post => new PostDto + { + Id = post.Id, + Title = post.Title, + Slug = post.Slug, + Body = post.Body, + CreatedDate = post.CreatedDate + }).ToList(); + } - public PostDto GetPost(string slug) - { - return getPost(slug).AsDto(); - } + public PostDto GetPost(string slug) + { + using var connection = new NpgsqlConnection(_connectionString); + var post = connection.QuerySingleOrDefault("SELECT * FROM public.\"Posts\" WHERE \"Slug\" = @Slug", new { Slug = slug }); + if (post == null) + return null; - private Post getPost(string slug) - { - return _context.Posts.Where(a=>a.Slug==slug.ToString()).SingleOrDefault(); + return new PostDto + { + Id = post.Id, + Title = post.Title, + Slug = post.Slug, + Body = post.Body, + CreatedDate = post.CreatedDate + }; + } + + public PostDto CreatePost(CreatePostDto createPostDto) + { + var newPost = new Post + { + Id = Guid.NewGuid(), + Title = createPostDto.Title, + Slug = string.IsNullOrEmpty(createPostDto.Slug) ? GenerateSlug(createPostDto.Title) : createPostDto.Slug, + Body = createPostDto.Body, + CreatedDate = createPostDto.CreatedDate == default ? DateTime.UtcNow : createPostDto.CreatedDate + }; + + using var connection = new NpgsqlConnection(_connectionString); + connection.Execute("INSERT INTO public.\"Posts\" (\"Id\", \"Title\", \"Slug\", \"Body\", \"CreatedDate\") VALUES (@Id, @Title, @Slug, @Body, @CreatedDate)", newPost); + + return new PostDto + { + Id = newPost.Id, + Title = newPost.Title, + Slug = newPost.Slug, + Body = newPost.Body, + CreatedDate = newPost.CreatedDate + }; + } + + private static string GenerateSlug(string title) + { + return title.ToLower().Replace(" ", "-"); + } } }