From 6d576d13e225d55a340ec7f63e2763b6a534db75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=8C=90=EB=8F=8C?= Date: Tue, 21 Nov 2023 22:48:08 +0900 Subject: [PATCH] =?UTF-8?q?=EC=97=91=EC=85=80=20db=EC=97=85=EB=A5=B4?= =?UTF-8?q?=EB=8F=84=20=EC=B5=9C=EC=A2=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Server/Git/ExcelManager.cs | 37 +- Server/Git/ExcelSQL.cs | 150 ++++++ Server/Git/XlsxToJson.cs | 19 +- Server/Server.csproj | 1 + Server/System/Statics.cs | 7 +- Server/obj/Debug/net6.0/Server.assets.cache | Bin 8714 -> 12601 bytes .../Server.csproj.AssemblyReference.cache | Bin 491843 -> 495538 bytes .../Server.csproj.CoreCompileInputs.cache | 2 +- .../net6.0/Server.csproj.FileListAbsolute.txt | 7 + Server/obj/Debug/net6.0/Server.dll | Bin 20992 -> 24064 bytes Server/obj/Debug/net6.0/Server.pdb | Bin 27612 -> 28952 bytes Server/obj/Debug/net6.0/ref/Server.dll | Bin 9728 -> 9728 bytes Server/obj/Debug/net6.0/refint/Server.dll | Bin 9728 -> 9728 bytes Server/obj/Server.csproj.nuget.dgspec.json | 4 + Server/obj/Server.csproj.nuget.g.targets | 7 +- Server/obj/project.assets.json | 431 +++++++++++++++++- Server/obj/project.nuget.cache | 11 +- 17 files changed, 641 insertions(+), 35 deletions(-) create mode 100644 Server/Git/ExcelSQL.cs diff --git a/Server/Git/ExcelManager.cs b/Server/Git/ExcelManager.cs index 363019d..a9e5ebb 100644 --- a/Server/Git/ExcelManager.cs +++ b/Server/Git/ExcelManager.cs @@ -4,28 +4,29 @@ using NLog; namespace Server.Git { + public class sheet + { + string _name; + public string name { get { return _name; } } + List _variable; + public List variable { get { return _variable; } } + List _type; + public List type { get { return _type; } } + Dictionary> _dicViewer; + public Dictionary> dicViewer { get { return _dicViewer; } } + + public sheet(string name, List variable, List type, Dictionary> dicViewer) + { + this._name = name; + this._variable = variable; + this._type = type; + this._dicViewer = dicViewer; + } + } class ExcelManager { private static readonly NLog.ILogger logger = LogManager.GetCurrentClassLogger(); - public class sheet - { - string _name; - public string name { get { return _name; } } - List _variable; - public List variable { get { return _variable; } } - List _type; - public List type { get { return _type; } } - Dictionary> _dicViewer; - public Dictionary> dicViewer { get { return _dicViewer; } } - public sheet(string name, List variable, List type, Dictionary> dicViewer) - { - this._name = name; - this._variable = variable; - this._type = type; - this._dicViewer = dicViewer; - } - } List _sheets; public List sheets { get { return _sheets; } } diff --git a/Server/Git/ExcelSQL.cs b/Server/Git/ExcelSQL.cs new file mode 100644 index 0000000..1d75ffb --- /dev/null +++ b/Server/Git/ExcelSQL.cs @@ -0,0 +1,150 @@ +using Microsoft.AspNetCore.Http; +using Npgsql; +using Server.SQL; +using Server.System; +using System.Globalization; + +namespace Server.Git +{ + public class ExcelSQL + { + List sheets; + + public ExcelSQL(List sheets) + { + this.sheets = sheets; + } + + public void DataUpdate() + { + using (NpgsqlConnection connection = new NpgsqlConnection(STATICS.EXCEL_SQL_URL)) + { + try + { + // 데이터베이스 연결 열기 + connection.Open(); + + // 쿼리 작성 및 실행 + //모든 쿼리 삭제 + string query; + string header1 = "CREATE TABLE IF NOT EXISTS excel."; + string header2 = "INSERT INTO excel."; + string newTableQuery; + string tableDatas; + #region 모든 테이블 삭제 + query = "DROP SCHEMA excel CASCADE;" + + "CREATE SCHEMA excel AUTHORIZATION manager;"; + ExecuteNonQuery(connection, query); + #endregion + #region 테이블 세팅 + query = ""; + for (int n = 0; n < sheets.Count; n++) + { + //초기화 + newTableQuery = ""; + tableDatas = "("; + + #region 신규 테이블 생성 + newTableQuery += header1; + newTableQuery += sheets[n].name + "("; + for (int m = 0; m < sheets[n].variable.Count; m++) + { + if (sheets[n].type[m] == "long" && sheets[n].variable[m] == "index") + { + newTableQuery += "index SERIAL PRIMARY KEY"; + tableDatas += "index"; + continue; + } + if (m != 0) + { + newTableQuery += ",\n"; + tableDatas += ", "; + } + + switch (sheets[n].type[m]) + { + case "int": + newTableQuery += $"{sheets[n].variable[m]} INT "; + break; + case "string": + newTableQuery += $"{sheets[n].variable[m]} VARCHAR(255) "; + break; + case "enum": + newTableQuery += $"{sheets[n].variable[m]} INT2 "; + break; + case "text": + newTableQuery += $"{sheets[n].variable[m]} TEXT "; + break; + case "time": + newTableQuery += $"{sheets[n].variable[m]} timestamp "; + break; + } + tableDatas += sheets[n].variable[m]; + } + newTableQuery += ");\n"; + tableDatas += ") VALUES "; + bool isStart = true; + query += newTableQuery; + + #endregion + #region 신규 테이블 데이터 올리기 + + query += header2; + query += sheets[n].name; + query += tableDatas; + foreach(KeyValuePair> pair in sheets[n].dicViewer) + { + if (isStart) + { + isStart = !isStart; + } + else + { + query += ", "; + } + query += "("; + for (int m = 0; m < sheets[n].variable.Count; m++) + { + switch (sheets[n].type[m]) + { + case "int": + case "enum": + query += $"{pair.Value[sheets[n].variable[m]]}"; + break; + case "string": + case "text": + query += $"'{pair.Value[sheets[n].variable[m]]}'"; + break; + case "time": + query += $"'{((DateTime)pair.Value[sheets[n].variable[m]]).ToString("yyyy-MM-dd HH:mm:ss")}'"; + break; + } + if(m != sheets[n].variable.Count -1) + { + query += ", "; + } + } + query += ")"; + } + #endregion + } + ExecuteNonQuery(connection, query); + + #endregion + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } + } + private void ExecuteNonQuery(NpgsqlConnection connection, string query) + { + using (NpgsqlCommand command = new NpgsqlCommand(query, connection)) + { + Console.WriteLine(query); + command.ExecuteNonQuery(); + } + } + } +} diff --git a/Server/Git/XlsxToJson.cs b/Server/Git/XlsxToJson.cs index 4288efe..fce72fe 100644 --- a/Server/Git/XlsxToJson.cs +++ b/Server/Git/XlsxToJson.cs @@ -15,13 +15,13 @@ namespace Server.Git List fileList = GetFiles(repositoryPath, ".xlsx"); Dictionary>> sheetList = new Dictionary>>(); - + List sheets = null; for (int n = 0; n < fileList.Count; n++) { ExcelManager em = new ExcelManager(fileList[n]); if (em.Play()) { - List sheets = em.sheets; + sheets = em.sheets; for (int m = 0; m < sheets.Count; m++) { sheetList.Add(sheets[m].name, sheets[m].dicViewer); @@ -35,13 +35,14 @@ namespace Server.Git } excel = JsonConvert.SerializeObject(sheetList); - - - //db에 데이터를올리는것은 이곳에 작성할 예정 - - - - + //현재 서버는 PostgreSQL기준으로 쿼리를 생성하는 코드와 패키지가 세팅되어 있습니다 이점 참고바랍니다 + //추가로 해당 기능을 사용하려면 서버에 excel이라는 스키마가 존재하여야 합니다. + if (sheets != null) + { + ExcelSQL sql = new ExcelSQL(sheets); + sql.DataUpdate(); + } + } } } \ No newline at end of file diff --git a/Server/Server.csproj b/Server/Server.csproj index 06b4f92..13f7ac0 100644 --- a/Server/Server.csproj +++ b/Server/Server.csproj @@ -11,6 +11,7 @@ + diff --git a/Server/System/Statics.cs b/Server/System/Statics.cs index 4b5ac2f..1da03e6 100644 --- a/Server/System/Statics.cs +++ b/Server/System/Statics.cs @@ -4,13 +4,14 @@ { #region Dev #if DEBUG - public static readonly string SQL_URL = "Server=myServerAddress;Port=myPort;Database=myDatabase;Uid=myUsername;Pwd=myPassword;"; -#endif + public static readonly string SQL_URL = "Host=myHost;Port=myPort;Username=myUsername;Password=myPassword;Database=myDatabase;"; + public static readonly string EXCEL_SQL_URL = "Host=myHost;Port=myPort;Username=myUsername;Password=myPassword;Database=myDatabase;"; + #endif #endregion //비공계 프로젝트의 경우 아래와같이 작성해주세요 //"https://username:password@www.example.com/"; - public static readonly string remoteUrl = "https://www.example.com"; + public static readonly string remoteUrl = "https://username:password@www.example.com/"; public static readonly string PATTERN = "[^a-zA-Z0-9가-힣 ]"; diff --git a/Server/obj/Debug/net6.0/Server.assets.cache b/Server/obj/Debug/net6.0/Server.assets.cache index c946a69c9bdc035198f281062a54dab2b504e5d7..147e0f72ed6f82fea572dc8d9dabb26a454f5699 100644 GIT binary patch literal 12601 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 Idcp|*1Bi*|A^-pY diff --git a/Server/obj/Debug/net6.0/Server.csproj.AssemblyReference.cache b/Server/obj/Debug/net6.0/Server.csproj.AssemblyReference.cache index 07583fcc382fd3fb8214f2331909c4e746c991e3..fea32bf99fdd03dab88d060710cd0011875c6869 100644 GIT binary patch delta 1150 zcmX@yB)4h494i}RAv42t!%#-wX|EW$rpujT5opY5&0%cKVQS4`Zp~q7&0%fLVcVL+ ze!YR2aX#a8$1-+#``parqWt3gv=Y74ijvg4;>`TKV!f2qg4Dc})V$=%%)G4BglarY=eW4h;JKN@8SCnqup8igZ-I|eO@&<=cnZ%@^~vrun%yIN?u(UN z)xyN!J+HK0E-4fVQ)$XixPIcf%mvl0Aq&K-Z<;P|n5Ow*`TFA(ueYpawv+xUba3Ud zbFb7kl<#pnb<%>tIj&ss9U}+OAFt09?zVICqtCkJ?fjT4GTgai|P+SP3wN=mGObehM(j73-C!CLuZJ!E08L=^Gxga!hYfVq_IX zM69@&9x$7LB35#G;ACb=XsVlhU?LB~kusQOBb+v!QI=5#Z0z*1SFE>Tjtd1lP72v^ zS;hHzsBTh{eHU~WYQI1*B!ELe{_p}Sg@zZm78{aNguzY$nS|;Bk?D_=8LvSs_XYr? CNRJ}` delta 51 zcmdlqU+!>|94i}RHZ#L?!%#-wX|EW$rpujT5opY5&0%cKVQS4`Zp~q7&0%fLVcVL+ He!T$zsCN+k diff --git a/Server/obj/Debug/net6.0/Server.csproj.CoreCompileInputs.cache b/Server/obj/Debug/net6.0/Server.csproj.CoreCompileInputs.cache index 1dfdffb..4d51c9b 100644 --- a/Server/obj/Debug/net6.0/Server.csproj.CoreCompileInputs.cache +++ b/Server/obj/Debug/net6.0/Server.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -d882a30783b347e0385e4792c4e197dd727824a4 +e06c50d31a8c60a25c1a22bc641412d14691fe3a diff --git a/Server/obj/Debug/net6.0/Server.csproj.FileListAbsolute.txt b/Server/obj/Debug/net6.0/Server.csproj.FileListAbsolute.txt index 1bea4fc..c5d083d 100644 --- a/Server/obj/Debug/net6.0/Server.csproj.FileListAbsolute.txt +++ b/Server/obj/Debug/net6.0/Server.csproj.FileListAbsolute.txt @@ -131,3 +131,10 @@ E:\git\CsServer\Server\bin\Debug\net6.0\runtimes\win-arm64\native\libSkiaSharp.d E:\git\CsServer\Server\bin\Debug\net6.0\runtimes\win-x64\native\libSkiaSharp.dll E:\git\CsServer\Server\bin\Debug\net6.0\runtimes\win-x86\native\libSkiaSharp.dll E:\git\CsServer\Server\bin\Debug\net6.0\runtimes\win\lib\net6.0\System.Security.Cryptography.Pkcs.dll +E:\git\CsServer\Server\bin\Debug\net6.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll +E:\git\CsServer\Server\bin\Debug\net6.0\Microsoft.Extensions.Logging.Abstractions.dll +E:\git\CsServer\Server\bin\Debug\net6.0\Npgsql.dll +E:\git\CsServer\Server\bin\Debug\net6.0\System.Diagnostics.DiagnosticSource.dll +E:\git\CsServer\Server\bin\Debug\net6.0\System.Text.Encodings.Web.dll +E:\git\CsServer\Server\bin\Debug\net6.0\System.Text.Json.dll +E:\git\CsServer\Server\bin\Debug\net6.0\runtimes\browser\lib\net6.0\System.Text.Encodings.Web.dll diff --git a/Server/obj/Debug/net6.0/Server.dll b/Server/obj/Debug/net6.0/Server.dll index b30a297e5b02b305abdbcfe2e5c3af44e17256c3..03d3ae77616d248219d1a656a02493c9d4bda8dd 100644 GIT binary patch delta 10777 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 delta 7587 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 BDn9@K diff --git a/Server/obj/Debug/net6.0/Server.pdb b/Server/obj/Debug/net6.0/Server.pdb index 9dd4b4883490d1a39c3676132df8f781f11e1c7c..dc4812fc5d397ba9367b4aff5f863bd631c3bc85 100644 GIT binary patch delta 4949 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 diff --git a/Server/obj/Debug/net6.0/ref/Server.dll b/Server/obj/Debug/net6.0/ref/Server.dll index bd05fd2e3f3eeb937f290a542a97b99264ae68cf..a90568d9f2d073ac86a40bf700829fd7723532bf 100644 GIT binary patch delta 3174 zcmZ`+eQZ_b9e&>Tob%q>s<*fITFPw;y|tos+5$sG{1}kZL9qs~En+aKwa6^1h)^>! zh^Kco43#aEGn&lpj}bOe(-=)RUD%djx)eX6(anT0KO)vRjd3J0b(t>P^Zw2~=k}8A zB+v2d0VPyBd`v!`pPQ%;1ivv? z&TFKa$9t`Hc`M#F)Anv<@Nd)T>tYn>aIFg%T;@FH8B7Rn)Iap9aNM);-4Y4(KOBR= zIqVuF1plZlKO^{UiR=~LtZh9foCoM`HWt67E$$M&*CqGyG#{1t2s2I!xx`nr7r`c- zRu+G$Y!zud=B4ntvF-#rl))8v8W}7l+KcndOWEP6G^+JkZ&|Fiu@hEtp!E7Ugk|J* z>eATi`W!bLcu*|c&1ff;5jDs$caj?vn7UAHcRP?Osw=!uRf_k8YgH9zRWWmhs)f&# zsAE*OpqkoxS4(Dwy1>qiVY|JwtDSsMTIx z<*6=7xp~z>)hg-}6K1xF$}`iqsoxa&X)*O`8Pj3&h_TIIBi=)za=2cm z?Rw98IV=}%8$#7C>bLGAW(z&eYEv3dG2dpchQsmNz1e|!tifeCiTAPXq`fRV42t*F&|l&BJiuzm%*j(u|r+>C0L`gxf; zQl`p1TQ0n&y_cP1k@7L^tuYgkq^d|f6Ib()G^mRWPIH4l$GsbN=6vt>?!^D`Y`2fc zUN{J+Sc`Av3GVr@(s8UYC;2u+>WF!jGcbGfks8N(_l?*ahs{jHvB2rDrZ#&Ge#vBSzEM)i^=6f7j4GvfOG#l-;yE-$9=<@giWM_A zsY_z-Z_4oCix$QXB2wX8_~r6{t1~K{C>1=To@Y11({zd_hC*v1omTwWNvAb`f^1{~ zPiuwc_B<-`b;AG5GezUCLFH^9|xXh#+CW;77HCBB)sg!SwT-l>}Bx9U+0 zu zUa2tXv>?elm1vQy)J69BfUdNVYDk9B%srE@)K#hA?fP_PZ}^ca{T;V_#aPoEwSTgv VVN6Y?=KssnPh2bi1;!R7{tMV|<>>$b delta 3058 zcmai03v5+Y7G39lP9FtcUtcLgd9S?s1Z$9{ieNy+LMhl0wX&8$djbn)MpNN{MiAsz{jm8<*-uJ%S7Gu20U1zPm z_c{Cg?m4$-WzWjpcYD`wUH(A-uAEuizi)l|i#A{t_-q8u_WSFqCiMW5sQ*hxF06A- z4L6uoX4%j_v);*!H2v?n-EXeC@UN?fgXa6T)D2a7$BctQXl#{#TQy)<?}e z8T9yRyr`)e`;Gf9iOrks&D;gP|$>4kQroWIpQmfesQI7grIE01dGIbfO^a7v- zE_@h9FQm1V%Bot$F}IRi^fI(yF7jHCj#Y&psdDwb?}@75tQtnXOjXY^t?C}C3s6Zd zz8a0pQunf>cjBUe6{|2soo(9a)L50{Pwd)MOjBQ@AE{bZ*U)F_o26>5UugQRd3iRvO$$)y+A@wS9v53JwwN|-F8_?KVK)R;ES4uMH=}JughLR zwHR()1`jYod`)mUCfR>2sKF9Wat7B}QF&TtR%|0K^#pGvw|K&C zC(csKTHL`%!vzQ|J~GlomH!vwr*;okH*pBqIjw^m&x}!jAEzD~r^frFUi6Ik``t&! zs0KSYMjf;JgQS@qn$U?8j+n1;fKwQC=6K)3-r#Teq}$IXzGx8cm_Z!m_Kw;dK!ZJu zz)$2|_BGDH*wL5N02X*}B)$PiWLZ*AnklI$VQO3}iNaI%EsUzS%?FqeltQu5evZkB z`qF&E?Gtwf-QG|9+GCY^mS1vJqJ}wxqpIBu^7|=8c5y?Fs$HD?>clr-GgQIY@lGu{ zF>F1PC|#HnV&4d-Z4jeM)^}8KMH3ax#k8cJENDq3zMx4qN+MN7DN3OukQAdzQj}Cw zZ~C|tB{kl6oJu*|K@!RHkLkIhmNI%q{0CK)CjZ}lxhXXoZNwRI!kwuFc8W<9=P5s` zFtzLezx+}wpQ30=Y6Oy@R(z5_>YK{nQAf>prHYI^Y93>{q+aTFuKmnX!qgg5Z${PY zwI%p%h zI70N$;^(mm6VTxsUNv%%O(&M~))amkF@uE>F43Y@agE{z#Z8KxM7jSu{AvtCCVv<* z>F=N;++MLF=;laf@zdmCf{6%B13$&Pi8Jshv50eNpM(A6^Y9h%Ec{4phVL}sd}N91 z)P4zZ9^1LiX+}G1HKUx^uDm_w*P`h3sijXXeYiHjADq2va?OdzJFbzgv@35{-lKeP zjN(0{{E&J-R{pVaINCyt5?NGUbc8o6Z+2?X?X)Xzr+qz}Q*lUxj4PpaibYqND=KeR z-mH9+Vy|MKD`VZOcu?_>+CL0Wsm!0hG1W(JC3n+wE@=(_QEGVx125u_T;y%$QsVtq z(0YQ4>_%d*+S^Pg`4PnyzdP)&oOjtW9;|k((w(DR8S1XSleDgd5W}*&WkL=#D z&mwL~$y$2qu~P%a+g=LmvQ=}xVC?bHRT`LM);!-@jzgXT{v2MG-I8j%;mWP+)~v+P z(d<=bXzi5q{9pYahlA65O;^}Zv!^OmKy|j;WN-Ehj!CDzf^otZYEC=Ztw)M)I#nP0 z%OaAVEai<(xj;HMG=D~g376)wlcz*KjM|lka8quEDGc47>o;MebM;WV_DA1oTA=^s I{f%Y606hE0ZU6uP diff --git a/Server/obj/Debug/net6.0/refint/Server.dll b/Server/obj/Debug/net6.0/refint/Server.dll index bd05fd2e3f3eeb937f290a542a97b99264ae68cf..a90568d9f2d073ac86a40bf700829fd7723532bf 100644 GIT binary patch delta 3174 zcmZ`+eQZ_b9e&>Tob%q>s<*fITFPw;y|tos+5$sG{1}kZL9qs~En+aKwa6^1h)^>! zh^Kco43#aEGn&lpj}bOe(-=)RUD%djx)eX6(anT0KO)vRjd3J0b(t>P^Zw2~=k}8A zB+v2d0VPyBd`v!`pPQ%;1ivv? z&TFKa$9t`Hc`M#F)Anv<@Nd)T>tYn>aIFg%T;@FH8B7Rn)Iap9aNM);-4Y4(KOBR= zIqVuF1plZlKO^{UiR=~LtZh9foCoM`HWt67E$$M&*CqGyG#{1t2s2I!xx`nr7r`c- zRu+G$Y!zud=B4ntvF-#rl))8v8W}7l+KcndOWEP6G^+JkZ&|Fiu@hEtp!E7Ugk|J* z>eATi`W!bLcu*|c&1ff;5jDs$caj?vn7UAHcRP?Osw=!uRf_k8YgH9zRWWmhs)f&# zsAE*OpqkoxS4(Dwy1>qiVY|JwtDSsMTIx z<*6=7xp~z>)hg-}6K1xF$}`iqsoxa&X)*O`8Pj3&h_TIIBi=)za=2cm z?Rw98IV=}%8$#7C>bLGAW(z&eYEv3dG2dpchQsmNz1e|!tifeCiTAPXq`fRV42t*F&|l&BJiuzm%*j(u|r+>C0L`gxf; zQl`p1TQ0n&y_cP1k@7L^tuYgkq^d|f6Ib()G^mRWPIH4l$GsbN=6vt>?!^D`Y`2fc zUN{J+Sc`Av3GVr@(s8UYC;2u+>WF!jGcbGfks8N(_l?*ahs{jHvB2rDrZ#&Ge#vBSzEM)i^=6f7j4GvfOG#l-;yE-$9=<@giWM_A zsY_z-Z_4oCix$QXB2wX8_~r6{t1~K{C>1=To@Y11({zd_hC*v1omTwWNvAb`f^1{~ zPiuwc_B<-`b;AG5GezUCLFH^9|xXh#+CW;77HCBB)sg!SwT-l>}Bx9U+0 zu zUa2tXv>?elm1vQy)J69BfUdNVYDk9B%srE@)K#hA?fP_PZ}^ca{T;V_#aPoEwSTgv VVN6Y?=KssnPh2bi1;!R7{tMV|<>>$b delta 3058 zcmai03v5+Y7G39lP9FtcUtcLgd9S?s1Z$9{ieNy+LMhl0wX&8$djbn)MpNN{MiAsz{jm8<*-uJ%S7Gu20U1zPm z_c{Cg?m4$-WzWjpcYD`wUH(A-uAEuizi)l|i#A{t_-q8u_WSFqCiMW5sQ*hxF06A- z4L6uoX4%j_v);*!H2v?n-EXeC@UN?fgXa6T)D2a7$BctQXl#{#TQy)<?}e z8T9yRyr`)e`;Gf9iOrks&D;gP|$>4kQroWIpQmfesQI7grIE01dGIbfO^a7v- zE_@h9FQm1V%Bot$F}IRi^fI(yF7jHCj#Y&psdDwb?}@75tQtnXOjXY^t?C}C3s6Zd zz8a0pQunf>cjBUe6{|2soo(9a)L50{Pwd)MOjBQ@AE{bZ*U)F_o26>5UugQRd3iRvO$$)y+A@wS9v53JwwN|-F8_?KVK)R;ES4uMH=}JughLR zwHR()1`jYod`)mUCfR>2sKF9Wat7B}QF&TtR%|0K^#pGvw|K&C zC(csKTHL`%!vzQ|J~GlomH!vwr*;okH*pBqIjw^m&x}!jAEzD~r^frFUi6Ik``t&! zs0KSYMjf;JgQS@qn$U?8j+n1;fKwQC=6K)3-r#Teq}$IXzGx8cm_Z!m_Kw;dK!ZJu zz)$2|_BGDH*wL5N02X*}B)$PiWLZ*AnklI$VQO3}iNaI%EsUzS%?FqeltQu5evZkB z`qF&E?Gtwf-QG|9+GCY^mS1vJqJ}wxqpIBu^7|=8c5y?Fs$HD?>clr-GgQIY@lGu{ zF>F1PC|#HnV&4d-Z4jeM)^}8KMH3ax#k8cJENDq3zMx4qN+MN7DN3OukQAdzQj}Cw zZ~C|tB{kl6oJu*|K@!RHkLkIhmNI%q{0CK)CjZ}lxhXXoZNwRI!kwuFc8W<9=P5s` zFtzLezx+}wpQ30=Y6Oy@R(z5_>YK{nQAf>prHYI^Y93>{q+aTFuKmnX!qgg5Z${PY zwI%p%h zI70N$;^(mm6VTxsUNv%%O(&M~))amkF@uE>F43Y@agE{z#Z8KxM7jSu{AvtCCVv<* z>F=N;++MLF=;laf@zdmCf{6%B13$&Pi8Jshv50eNpM(A6^Y9h%Ec{4phVL}sd}N91 z)P4zZ9^1LiX+}G1HKUx^uDm_w*P`h3sijXXeYiHjADq2va?OdzJFbzgv@35{-lKeP zjN(0{{E&J-R{pVaINCyt5?NGUbc8o6Z+2?X?X)Xzr+qz}Q*lUxj4PpaibYqND=KeR z-mH9+Vy|MKD`VZOcu?_>+CL0Wsm!0hG1W(JC3n+wE@=(_QEGVx125u_T;y%$QsVtq z(0YQ4>_%d*+S^Pg`4PnyzdP)&oOjtW9;|k((w(DR8S1XSleDgd5W}*&WkL=#D z&mwL~$y$2qu~P%a+g=LmvQ=}xVC?bHRT`LM);!-@jzgXT{v2MG-I8j%;mWP+)~v+P z(d<=bXzi5q{9pYahlA65O;^}Zv!^OmKy|j;WN-Ehj!CDzf^otZYEC=Ztw)M)I#nP0 z%OaAVEai<(xj;HMG=D~g376)wlcz*KjM|lka8quEDGc47>o;MebM;WV_DA1oTA=^s I{f%Y606hE0ZU6uP diff --git a/Server/obj/Server.csproj.nuget.dgspec.json b/Server/obj/Server.csproj.nuget.dgspec.json index d4cbc18..7a5491a 100644 --- a/Server/obj/Server.csproj.nuget.dgspec.json +++ b/Server/obj/Server.csproj.nuget.dgspec.json @@ -59,6 +59,10 @@ "Newtonsoft.Json": { "target": "Package", "version": "[13.0.3, )" + }, + "Npgsql": { + "target": "Package", + "version": "[8.0.0, )" } }, "imports": [ diff --git a/Server/obj/Server.csproj.nuget.g.targets b/Server/obj/Server.csproj.nuget.g.targets index 35a7576..bf75a7a 100644 --- a/Server/obj/Server.csproj.nuget.g.targets +++ b/Server/obj/Server.csproj.nuget.g.targets @@ -1,2 +1,7 @@  - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/Server/obj/project.assets.json b/Server/obj/project.assets.json index 7ed26d9..e60f862 100644 --- a/Server/obj/project.assets.json +++ b/Server/obj/project.assets.json @@ -91,6 +91,41 @@ } } }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + } + }, "Microsoft.NETCore.Platforms/3.1.0": { "type": "package", "compile": { @@ -126,6 +161,25 @@ } } }, + "Npgsql/8.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "System.Diagnostics.DiagnosticSource": "8.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "8.0.0" + }, + "compile": { + "lib/net6.0/Npgsql.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Npgsql.dll": { + "related": ".xml" + } + } + }, "SkiaSharp/2.88.6": { "type": "package", "dependencies": { @@ -181,6 +235,25 @@ } } }, + "System.Diagnostics.DiagnosticSource/8.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, "System.Formats.Asn1/6.0.0": { "type": "package", "compile": { @@ -197,6 +270,22 @@ "buildTransitive/netcoreapp3.1/_._": {} } }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, "System.Security.Cryptography.Pkcs/6.0.3": { "type": "package", "dependencies": { @@ -243,6 +332,51 @@ "rid": "win" } } + }, + "System.Text.Encodings.Web/8.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Text.Encodings.Web.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Text.Encodings.Web.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + }, + "runtimeTargets": { + "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll": { + "assetType": "runtime", + "rid": "browser" + } + } + }, + "System.Text.Json/8.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "8.0.0" + }, + "compile": { + "lib/net6.0/System.Text.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Text.Json.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/System.Text.Json.targets": {} + } } } }, @@ -325,6 +459,111 @@ "runtimes/win-x86/native/git2-e632535.dll" ] }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "sha512": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "sha512": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, "Microsoft.NETCore.Platforms/3.1.0": { "sha512": "z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==", "type": "package", @@ -396,6 +635,29 @@ "nlog.nuspec" ] }, + "Npgsql/8.0.0": { + "sha512": "Qiz74U+O7Mv4knrsXgKVYGJjgwoziK+aMFZqz7PtKR3vyGIhZA0tnW6HoUnL3X+YqtmVuhmoKkN8LDWEHMxPbw==", + "type": "package", + "path": "npgsql/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net6.0/Npgsql.dll", + "lib/net6.0/Npgsql.xml", + "lib/net7.0/Npgsql.dll", + "lib/net7.0/Npgsql.xml", + "lib/net8.0/Npgsql.dll", + "lib/net8.0/Npgsql.xml", + "lib/netstandard2.0/Npgsql.dll", + "lib/netstandard2.0/Npgsql.xml", + "lib/netstandard2.1/Npgsql.dll", + "lib/netstandard2.1/Npgsql.xml", + "npgsql.8.0.0.nupkg.sha512", + "npgsql.nuspec", + "postgresql.png" + ] + }, "SkiaSharp/2.88.6": { "sha512": "wdfeBAQrEQCbJIRgAiargzP1Uy+0grZiG4CSgBnhAgcJTsPzlifIaO73JRdwIlT3TyBoeU9jEqzwFUhl4hTYnQ==", "type": "package", @@ -518,6 +780,35 @@ "skiasharp.nativeassets.win32.nuspec" ] }, + "System.Diagnostics.DiagnosticSource/8.0.0": { + "sha512": "c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==", + "type": "package", + "path": "system.diagnostics.diagnosticsource/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", + "lib/net462/System.Diagnostics.DiagnosticSource.dll", + "lib/net462/System.Diagnostics.DiagnosticSource.xml", + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net6.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net7.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net7.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net8.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net8.0/System.Diagnostics.DiagnosticSource.xml", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", + "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512", + "system.diagnostics.diagnosticsource.nuspec", + "useSharedDesignerContext.txt" + ] + }, "System.Formats.Asn1/6.0.0": { "sha512": "T6fD00dQ3NTbPDy31m4eQUwKW84s03z0N2C8HpOklyeaDgaJPa/TexP4/SkORMSOwc7WhKifnA6Ya33AkzmafA==", "type": "package", @@ -541,6 +832,31 @@ "useSharedDesignerContext.txt" ] }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "type": "package", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net461/System.Runtime.CompilerServices.Unsafe.xml", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", + "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "system.runtime.compilerservices.unsafe.nuspec", + "useSharedDesignerContext.txt" + ] + }, "System.Security.Cryptography.Pkcs/6.0.3": { "sha512": "18UT1BdZ4TYFBHk/wuq7JzCdE3X75z81X+C2rXqIlmEnC21Pm60spGV/dKQSzbyomstqYE33EuN5hfnC86VFxA==", "type": "package", @@ -617,6 +933,114 @@ "useSharedDesignerContext.txt", "version.txt" ] + }, + "System.Text.Encodings.Web/8.0.0": { + "sha512": "yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==", + "type": "package", + "path": "system.text.encodings.web/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.Text.Encodings.Web.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets", + "lib/net462/System.Text.Encodings.Web.dll", + "lib/net462/System.Text.Encodings.Web.xml", + "lib/net6.0/System.Text.Encodings.Web.dll", + "lib/net6.0/System.Text.Encodings.Web.xml", + "lib/net7.0/System.Text.Encodings.Web.dll", + "lib/net7.0/System.Text.Encodings.Web.xml", + "lib/net8.0/System.Text.Encodings.Web.dll", + "lib/net8.0/System.Text.Encodings.Web.xml", + "lib/netstandard2.0/System.Text.Encodings.Web.dll", + "lib/netstandard2.0/System.Text.Encodings.Web.xml", + "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll", + "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.xml", + "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.dll", + "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.xml", + "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll", + "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.xml", + "system.text.encodings.web.8.0.0.nupkg.sha512", + "system.text.encodings.web.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Text.Json/8.0.0": { + "sha512": "OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", + "type": "package", + "path": "system.text.json/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", + "buildTransitive/net461/System.Text.Json.targets", + "buildTransitive/net462/System.Text.Json.targets", + "buildTransitive/net6.0/System.Text.Json.targets", + "buildTransitive/netcoreapp2.0/System.Text.Json.targets", + "buildTransitive/netstandard2.0/System.Text.Json.targets", + "lib/net462/System.Text.Json.dll", + "lib/net462/System.Text.Json.xml", + "lib/net6.0/System.Text.Json.dll", + "lib/net6.0/System.Text.Json.xml", + "lib/net7.0/System.Text.Json.dll", + "lib/net7.0/System.Text.Json.xml", + "lib/net8.0/System.Text.Json.dll", + "lib/net8.0/System.Text.Json.xml", + "lib/netstandard2.0/System.Text.Json.dll", + "lib/netstandard2.0/System.Text.Json.xml", + "system.text.json.8.0.0.nupkg.sha512", + "system.text.json.nuspec", + "useSharedDesignerContext.txt" + ] } }, "projectFileDependencyGroups": { @@ -624,7 +1048,8 @@ "Aspose.Cells >= 23.11.0", "LibGit2Sharp >= 0.28.0", "NLog >= 5.2.5", - "Newtonsoft.Json >= 13.0.3" + "Newtonsoft.Json >= 13.0.3", + "Npgsql >= 8.0.0" ] }, "packageFolders": { @@ -686,6 +1111,10 @@ "Newtonsoft.Json": { "target": "Package", "version": "[13.0.3, )" + }, + "Npgsql": { + "target": "Package", + "version": "[8.0.0, )" } }, "imports": [ diff --git a/Server/obj/project.nuget.cache b/Server/obj/project.nuget.cache index 8bde66e..11347c7 100644 --- a/Server/obj/project.nuget.cache +++ b/Server/obj/project.nuget.cache @@ -1,21 +1,28 @@ { "version": 2, - "dgSpecHash": "99RXt0NwS8q6F1wF/mcbT3nbDzb+Y98MRQt/+irrxH7z/JXUyGO93qBq4+P2ULoeTYxJIlW/A+rxMPCl3+EIeA==", + "dgSpecHash": "mqjrT0psY1bh5pPYuFvVGksqVDGIb9h3wRTl0WKT65Jvc3vVnbn6gASe/F71xdFwk7B4tkYfnfbGzX7I7bZYhQ==", "success": true, "projectFilePath": "E:\\git\\CsServer\\Server\\Server.csproj", "expectedPackageFiles": [ "C:\\Users\\acst0\\.nuget\\packages\\aspose.cells\\23.11.0\\aspose.cells.23.11.0.nupkg.sha512", "C:\\Users\\acst0\\.nuget\\packages\\libgit2sharp\\0.28.0\\libgit2sharp.0.28.0.nupkg.sha512", "C:\\Users\\acst0\\.nuget\\packages\\libgit2sharp.nativebinaries\\2.0.320\\libgit2sharp.nativebinaries.2.0.320.nupkg.sha512", + "C:\\Users\\acst0\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.0\\microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\acst0\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.0\\microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512", "C:\\Users\\acst0\\.nuget\\packages\\microsoft.netcore.platforms\\3.1.0\\microsoft.netcore.platforms.3.1.0.nupkg.sha512", "C:\\Users\\acst0\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", "C:\\Users\\acst0\\.nuget\\packages\\nlog\\5.2.5\\nlog.5.2.5.nupkg.sha512", + "C:\\Users\\acst0\\.nuget\\packages\\npgsql\\8.0.0\\npgsql.8.0.0.nupkg.sha512", "C:\\Users\\acst0\\.nuget\\packages\\skiasharp\\2.88.6\\skiasharp.2.88.6.nupkg.sha512", "C:\\Users\\acst0\\.nuget\\packages\\skiasharp.nativeassets.macos\\2.88.6\\skiasharp.nativeassets.macos.2.88.6.nupkg.sha512", "C:\\Users\\acst0\\.nuget\\packages\\skiasharp.nativeassets.win32\\2.88.6\\skiasharp.nativeassets.win32.2.88.6.nupkg.sha512", + "C:\\Users\\acst0\\.nuget\\packages\\system.diagnostics.diagnosticsource\\8.0.0\\system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512", "C:\\Users\\acst0\\.nuget\\packages\\system.formats.asn1\\6.0.0\\system.formats.asn1.6.0.0.nupkg.sha512", + "C:\\Users\\acst0\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", "C:\\Users\\acst0\\.nuget\\packages\\system.security.cryptography.pkcs\\6.0.3\\system.security.cryptography.pkcs.6.0.3.nupkg.sha512", - "C:\\Users\\acst0\\.nuget\\packages\\system.text.encoding.codepages\\4.7.0\\system.text.encoding.codepages.4.7.0.nupkg.sha512" + "C:\\Users\\acst0\\.nuget\\packages\\system.text.encoding.codepages\\4.7.0\\system.text.encoding.codepages.4.7.0.nupkg.sha512", + "C:\\Users\\acst0\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512", + "C:\\Users\\acst0\\.nuget\\packages\\system.text.json\\8.0.0\\system.text.json.8.0.0.nupkg.sha512" ], "logs": [] } \ No newline at end of file