Compare commits
110 Commits
e3caf31f57
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ac93279fb | ||
|
|
764e625631 | ||
|
|
7c1c1c6824 | ||
|
|
ff72c9cd87 | ||
|
|
f7d00555c1 | ||
|
|
6849892075 | ||
|
|
820e2d31a9 | ||
|
|
2b1a229623 | ||
|
|
7637a40eb6 | ||
| 33eb50146e | |||
| 5bc7cceb5b | |||
| af0d4a29ee | |||
| 8267f83243 | |||
| e16d6258c3 | |||
| ecc3a4d321 | |||
| cccd45caa7 | |||
| 2d853eaa02 | |||
| 35139d66a2 | |||
| 34a625361e | |||
| 884d994011 | |||
| f76d894e4e | |||
| 98e7b4e22e | |||
| 0b4caa20d5 | |||
| 2605b5d5a8 | |||
| 1baac63e22 | |||
| 557a74ca21 | |||
| 388762f34f | |||
| 2f90c3fe40 | |||
| d76a46a083 | |||
| 32bb6d34e0 | |||
| 10db158595 | |||
| d3a6161978 | |||
| 67e43f4bc1 | |||
|
|
c5063b8c04 | ||
| 800a8ee1b9 | |||
| a4b72664fd | |||
| 50a3c94af8 | |||
| f791625102 | |||
| f8038d9587 | |||
| 6da7a84cab | |||
| 31ca387339 | |||
| 2c984eaf0b | |||
| 4aab13329f | |||
| f3a5b28a99 | |||
| e7d4292d82 | |||
| 3e9426ebd0 | |||
| f83b76b2de | |||
| b2cf921b9a | |||
| 3f580831a1 | |||
| 016e5803a9 | |||
| b9d7f50cc9 | |||
|
|
10b0890915 | ||
|
|
0dc55aa9df | ||
|
|
5228f74c49 | ||
|
|
86d3e2d9b5 | ||
|
|
b3768afb91 | ||
|
|
c1edc35c28 | ||
|
|
2c485665b0 | ||
|
|
218484a0f1 | ||
|
|
be02399eb0 | ||
|
|
07de4fa972 | ||
|
|
26df236ae7 | ||
|
|
c4e266450d | ||
|
|
75b9958b97 | ||
| 7737725327 | |||
| b04841fb1d | |||
| 8b0c988a7f | |||
| 2a71885a85 | |||
| 06d9835406 | |||
|
|
0efca3b0b5 | ||
|
|
572c1c699f | ||
|
|
8d3839b53d | ||
|
|
99c0e0c410 | ||
|
|
3d5c349288 | ||
|
|
1b60bf776f | ||
|
|
e445c2bda1 | ||
|
|
f5349db697 | ||
|
|
63330d5fc0 | ||
|
|
806c0eaf76 | ||
|
|
7dad7f6aae | ||
|
|
13acfdc7da | ||
|
|
cd5d50f06b | ||
|
|
5fee059b51 | ||
|
|
c661201812 | ||
|
|
52b36a98a7 | ||
|
|
30ecde0fbe | ||
|
|
87a0feb11b | ||
|
|
ca5a38a522 | ||
|
|
d008455c4c | ||
|
|
27793d764d | ||
|
|
f7a3d9f065 | ||
|
|
7729cae185 | ||
| eac13fb2d3 | |||
| e73f0b04ec | |||
|
|
9f6b892831 | ||
|
|
8788809c5a | ||
| beb906a243 | |||
| b6b9f0500c | |||
| 142090c588 | |||
| 0924db0386 | |||
|
|
da2899bd90 | ||
|
|
73c0df27dd | ||
| a5fcbaf4ea | |||
| e057b532de | |||
| 4a7929b8db | |||
| a5aef87f79 | |||
| b010d0c056 | |||
| 59928c5ebc | |||
| 3700aea681 | |||
| 026360eec7 |
38
.drone.yml
Normal file
38
.drone.yml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: exec
|
||||||
|
name: default
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
clone:
|
||||||
|
# убрано так как сейчас не тестим ничего предварительно а сразу тянем в директорию
|
||||||
|
disable: true
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: pull into the folduh
|
||||||
|
commands:
|
||||||
|
- cd /usr/share/$DRONE_REPO_NAME
|
||||||
|
- git pull
|
||||||
|
- name: build
|
||||||
|
environment:
|
||||||
|
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
||||||
|
commands:
|
||||||
|
- cd /usr/share/$DRONE_REPO_NAME
|
||||||
|
- dotnet build
|
||||||
|
|
||||||
|
- name: recreate dist folder
|
||||||
|
commands:
|
||||||
|
- rm -rf /usr/share/$DRONE_REPO_NAME/dist
|
||||||
|
- mkdir -p /usr/share/$DRONE_REPO_NAME/dist
|
||||||
|
- mv -f /usr/share/$DRONE_REPO_NAME/bin/Debug/net6.0/* /usr/share/$DRONE_REPO_NAME/dist
|
||||||
|
- name: docker-compose-rebuild
|
||||||
|
commands:
|
||||||
|
- cd /usr/share/$DRONE_REPO_NAME
|
||||||
|
- docker compose up -d --build
|
||||||
|
- name: cleanup
|
||||||
|
commands:
|
||||||
|
- rm -rf /usr/share/$DRONE_REPO_NAME/bin /usr/share/$DRONE_REPO_NAME/obj
|
||||||
|
|
||||||
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
obj
|
||||||
|
bin
|
||||||
|
dist
|
||||||
12
.idea/NeDvachAPI.iml
generated
Normal file
12
.idea/NeDvachAPI.iml
generated
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/NeDvachAPI.iml" filepath="$PROJECT_DIR$/.idea/NeDvachAPI.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
45
.idea/workspace.xml
generated
Normal file
45
.idea/workspace.xml
generated
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ChangeListManager">
|
||||||
|
<list default="true" id="afeb71ff-aaed-4a5b-8ece-55d4f78fc0c7" name="Changes" comment="" />
|
||||||
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
|
</component>
|
||||||
|
<component name="Git.Settings">
|
||||||
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
|
<component name="MarkdownSettingsMigration">
|
||||||
|
<option name="stateVersion" value="1" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectId" id="2HppPxAx0SVc4HMyQfWgDlfmGn2" />
|
||||||
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||||
|
<component name="ProjectViewState">
|
||||||
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
|
<option name="showLibraryContents" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent"><![CDATA[{
|
||||||
|
"keyToString": {
|
||||||
|
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||||
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
|
"WebServerToolWindowFactoryState": "false",
|
||||||
|
"vue.rearranger.settings.migration": "true"
|
||||||
|
}
|
||||||
|
}]]></component>
|
||||||
|
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||||
|
<component name="TaskManager">
|
||||||
|
<task active="true" id="Default" summary="Default task">
|
||||||
|
<changelist id="afeb71ff-aaed-4a5b-8ece-55d4f78fc0c7" name="Changes" comment="" />
|
||||||
|
<created>1668991859805</created>
|
||||||
|
<option name="number" value="Default" />
|
||||||
|
<option name="presentableId" value="Default" />
|
||||||
|
<updated>1668991859805</updated>
|
||||||
|
<workItem from="1668991862249" duration="12000" />
|
||||||
|
</task>
|
||||||
|
<servers />
|
||||||
|
</component>
|
||||||
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
|
<option name="version" value="3" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Binary file not shown.
1026
.vs/NeDvachAPI/config/applicationhost.config
Normal file
1026
.vs/NeDvachAPI/config/applicationhost.config
Normal file
File diff suppressed because it is too large
Load Diff
BIN
.vs/NeDvachAPI/v17/.suo
Normal file
BIN
.vs/NeDvachAPI/v17/.suo
Normal file
Binary file not shown.
BIN
.vs/NeDvachAPI/v17/.wsuo
Normal file
BIN
.vs/NeDvachAPI/v17/.wsuo
Normal file
Binary file not shown.
7
.vs/VSWorkspaceState.json
Normal file
7
.vs/VSWorkspaceState.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"ExpandedNodes": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"SelectedNode": "\\appsettings.json",
|
||||||
|
"PreviewInSolutionExplorer": false
|
||||||
|
}
|
||||||
BIN
.vs/slnx.sqlite
Normal file
BIN
.vs/slnx.sqlite
Normal file
Binary file not shown.
35
.vscode/launch.json
vendored
Normal file
35
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
// Use IntelliSense to find out which attributes exist for C# debugging
|
||||||
|
// Use hover for the description of the existing attributes
|
||||||
|
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
|
||||||
|
"name": ".NET Core Launch (web)",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "launch",
|
||||||
|
"preLaunchTask": "build",
|
||||||
|
// If you have changed target frameworks, make sure to update the program path.
|
||||||
|
"program": "${workspaceFolder}/bin/Debug/net6.0/NeDvachAPI.dll",
|
||||||
|
"args": [],
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
|
"stopAtEntry": false,
|
||||||
|
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
|
||||||
|
"serverReadyAction": {
|
||||||
|
"action": "openExternally",
|
||||||
|
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
|
||||||
|
},
|
||||||
|
"env": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
},
|
||||||
|
"sourceFileMap": {
|
||||||
|
"/Views": "${workspaceFolder}/Views"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": ".NET Core Attach",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "attach"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
41
.vscode/tasks.json
vendored
Normal file
41
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "build",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"build",
|
||||||
|
"${workspaceFolder}/NeDvachAPI.csproj",
|
||||||
|
"/property:GenerateFullPaths=true",
|
||||||
|
"/consoleloggerparameters:NoSummary"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "publish",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"publish",
|
||||||
|
"${workspaceFolder}/NeDvachAPI.csproj",
|
||||||
|
"/property:GenerateFullPaths=true",
|
||||||
|
"/consoleloggerparameters:NoSummary"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "watch",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"watch",
|
||||||
|
"run",
|
||||||
|
"--project",
|
||||||
|
"${workspaceFolder}/NeDvachAPI.csproj"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
18
APIControllers/DeletePost.cs
Normal file
18
APIControllers/DeletePost.cs
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using NeDvachAPI.DBControllers;
|
||||||
|
|
||||||
|
namespace NeDvachAPI.Controllers
|
||||||
|
{
|
||||||
|
[ApiController]
|
||||||
|
[Route("[controller]")]
|
||||||
|
public class DeletePostController : ControllerBase
|
||||||
|
{
|
||||||
|
[HttpDelete("{id}")]
|
||||||
|
public JsonResult Get(string id)
|
||||||
|
{
|
||||||
|
DBchat.DeletePost(id);
|
||||||
|
return new JsonResult("Deleted Successfully!");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
APIControllers/GetPosts.cs
Normal file
21
APIControllers/GetPosts.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using NeDvachAPI.BufferControllers;
|
||||||
|
using System.Text.Json;
|
||||||
|
using System.Web.Http;
|
||||||
|
using HttpGetAttribute = Microsoft.AspNetCore.Mvc.HttpGetAttribute;
|
||||||
|
using RouteAttribute = Microsoft.AspNetCore.Mvc.RouteAttribute;
|
||||||
|
|
||||||
|
namespace NeDvachAPI.Controllers
|
||||||
|
{
|
||||||
|
[ApiController]
|
||||||
|
[Route("[controller]")]
|
||||||
|
public class ListController : ControllerBase
|
||||||
|
{
|
||||||
|
[HttpGet(Name = "GetPosts")]
|
||||||
|
public string Get([FromUri] string board, int thread)
|
||||||
|
{
|
||||||
|
string postsJson = JsonSerializer.Serialize(APIThreadBuffer.GetThread(thread));
|
||||||
|
return postsJson ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
50
APIControllers/PictureUpload.cs
Normal file
50
APIControllers/PictureUpload.cs
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using NeDvachAPI.DBControllers;
|
||||||
|
|
||||||
|
|
||||||
|
namespace NeDvachAPI.Controllers
|
||||||
|
{
|
||||||
|
[ApiController]
|
||||||
|
[Route("[controller]")]
|
||||||
|
public class UploadPic : ControllerBase
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
[HttpPost(Name = "UploadPicture")]
|
||||||
|
public async Task<JsonResult> ReceivePost([FromForm] IFormFile PostPicture)
|
||||||
|
{
|
||||||
|
|
||||||
|
string receivedFileName = PostPicture.FileName;
|
||||||
|
string fName = Path.GetFileNameWithoutExtension(receivedFileName);
|
||||||
|
string fExtention = Path.GetExtension(receivedFileName);
|
||||||
|
string previevFileName = fName + 's' + fExtention;
|
||||||
|
|
||||||
|
Console.WriteLine("Расширение файла: " + fExtention);
|
||||||
|
|
||||||
|
if (ImageController.CheckExtention(fExtention)) //file type check
|
||||||
|
{
|
||||||
|
///Local Buffer File Part
|
||||||
|
string filePath;
|
||||||
|
string previevPath;
|
||||||
|
filePath = Directory.GetCurrentDirectory() + "\\Buffer\\" + receivedFileName;
|
||||||
|
previevPath = Directory.GetCurrentDirectory() + "\\Buffer\\" + previevFileName;
|
||||||
|
//creating original file buffer
|
||||||
|
Stream picBuffer = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
|
||||||
|
PostPicture.CopyTo(picBuffer);
|
||||||
|
picBuffer.Close();
|
||||||
|
//resizing
|
||||||
|
ImageController.ResizeImage(filePath, previevPath, 300, 400);
|
||||||
|
///MinIo part
|
||||||
|
await MinIOchat.PictureUpload(previevPath, receivedFileName, "thread-pics-small"); //upload thumbnail
|
||||||
|
JsonResult picAdress = new(await MinIOchat.PictureUpload(filePath, receivedFileName, "thread-pics")); //upload fullsize
|
||||||
|
Console.WriteLine("Загружен файл:" + "http://static.vdk2ch.ru:15555/thread-pics/" + receivedFileName);
|
||||||
|
return picAdress;
|
||||||
|
}
|
||||||
|
|
||||||
|
else return new JsonResult("Неверный тип файла");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
34
APIControllers/PostPost.cs
Normal file
34
APIControllers/PostPost.cs
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using NeDvachAPI.BufferControllers;
|
||||||
|
using NeDvachAPI.DBControllers;
|
||||||
|
using NeDvachAPI.Models;
|
||||||
|
|
||||||
|
namespace NeDvachAPI.Controllers
|
||||||
|
{
|
||||||
|
[ApiController]
|
||||||
|
[Route("[controller]")]
|
||||||
|
public class PostToController : ControllerBase
|
||||||
|
{
|
||||||
|
[HttpPost(Name = "PostPosts")]
|
||||||
|
public JsonResult ReceivePost([FromBody] Post ReceivedPost)
|
||||||
|
{
|
||||||
|
string ipAddress = Request.HttpContext.Connection.RemoteIpAddress.ToString();
|
||||||
|
ReceivedPost.Ip = ipAddress;
|
||||||
|
|
||||||
|
if(ReceivedPost.Text.Length == 0)
|
||||||
|
{
|
||||||
|
return new JsonResult("Вы отправили пустое сообщение!");
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DBchat.SendPost(ReceivedPost);
|
||||||
|
APIThreadBuffer.RefreshThread(ReceivedPost.Thread_Id);
|
||||||
|
return new JsonResult("Сообщение успешно добавлено.");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new JsonResult("Произошла ошибка постинга");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
APIControllers/ShowThreads.cs
Normal file
21
APIControllers/ShowThreads.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using NeDvachAPI.BufferControllers;
|
||||||
|
using System.Text.Json;
|
||||||
|
using System.Web.Http;
|
||||||
|
using HttpGetAttribute = Microsoft.AspNetCore.Mvc.HttpGetAttribute;
|
||||||
|
using RouteAttribute = Microsoft.AspNetCore.Mvc.RouteAttribute;
|
||||||
|
|
||||||
|
namespace NeDvachAPI.Controllers
|
||||||
|
{
|
||||||
|
[ApiController]
|
||||||
|
[Route("[controller]")]
|
||||||
|
public class ThreadsController : ControllerBase
|
||||||
|
{
|
||||||
|
[HttpGet(Name = "GetThreads")]
|
||||||
|
public string Get([FromUri] string board)
|
||||||
|
{
|
||||||
|
string postsJson = JsonSerializer.Serialize(APIThreadBuffer.GetThreadPreviews());
|
||||||
|
return postsJson;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
24
AuthInfo.cs
Normal file
24
AuthInfo.cs
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
namespace NeDvachAPI
|
||||||
|
{
|
||||||
|
public class AuthInfo
|
||||||
|
{
|
||||||
|
public class MinIo
|
||||||
|
{
|
||||||
|
public static string endpoint = "static.vdk2ch.ru:15555";
|
||||||
|
public static string bucketName = "thread-pics thread-pics-small";
|
||||||
|
public static string username = "admin";
|
||||||
|
public static string password = "password2ch";
|
||||||
|
}
|
||||||
|
|
||||||
|
public class DB
|
||||||
|
{
|
||||||
|
public static string Host = "postgres.vdk2ch.ru";
|
||||||
|
public static string User = "postgres";
|
||||||
|
public static string DBname = "dvaach";
|
||||||
|
public static string Password = "postgres";
|
||||||
|
public static string Port = "5432";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
82
BufferControllers/APIThreadBuffer.cs
Normal file
82
BufferControllers/APIThreadBuffer.cs
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
using NeDvachAPI.DBControllers;
|
||||||
|
using NeDvachAPI.Models;
|
||||||
|
|
||||||
|
namespace NeDvachAPI.BufferControllers
|
||||||
|
{
|
||||||
|
public class APIThreadBuffer
|
||||||
|
{
|
||||||
|
private static List<Post>[] ThreadsPrewievs = new List<Post>[0];
|
||||||
|
private static List<Post>[] Threads = new List<Post>[0];
|
||||||
|
public static void WriteThreadPreviewsBuffer(List<Post> OPPostsToWrite) //add list of OP-posts and last post to buffer
|
||||||
|
{
|
||||||
|
for(int pos = 0; pos < OPPostsToWrite.Count; pos ++)
|
||||||
|
{
|
||||||
|
var deb = new List<Post>();
|
||||||
|
deb.Add(OPPostsToWrite[pos]);
|
||||||
|
ThreadsPrewievs = ThreadsPrewievs.Append(deb).ToArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AppendToThreadPreviews(int index,Post toAppend)
|
||||||
|
{
|
||||||
|
ThreadsPrewievs[index].Add(toAppend);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Post>[] GetThreadPreviews()
|
||||||
|
{
|
||||||
|
return ThreadsPrewievs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UpdateThreadsPreviews(int threadId)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Пытаюсь обновить превью треда " + threadId);
|
||||||
|
|
||||||
|
var newPreview = new List<Post>();
|
||||||
|
newPreview.Add(ThreadsPrewievs[threadId -1][0]);
|
||||||
|
int targetLength = APIThreadBuffer.GetThreadLength(threadId - 1);
|
||||||
|
for (int lastofthree = targetLength- 2; lastofthree <= targetLength; lastofthree ++)
|
||||||
|
{
|
||||||
|
newPreview.Add(GetSinglePost(threadId - 1,lastofthree));
|
||||||
|
}
|
||||||
|
ThreadsPrewievs[threadId -1] = newPreview;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AppendThreadsBuffer(List<Post> ThreadToAdd) //add thread's posts from DB to buffer
|
||||||
|
{
|
||||||
|
Threads = Threads.Append(ThreadToAdd).ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int GetThreadLength(int threadId)
|
||||||
|
{
|
||||||
|
return Threads[threadId].Count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Post> GetThread(int threadId)
|
||||||
|
{
|
||||||
|
if (threadId < Threads.Length + 1 & threadId != 0)
|
||||||
|
{
|
||||||
|
return Threads[threadId - 1];
|
||||||
|
}
|
||||||
|
else return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Post GetSinglePost(int thread, int postPosition)
|
||||||
|
{
|
||||||
|
List<Post> postsList = Threads[thread];
|
||||||
|
return postsList[postPosition-1];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UpdateThreadPosts(int threadId)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Пытаюсь обновить тред " + threadId);
|
||||||
|
Threads[threadId - 1] = DBchat.PostsList("b", threadId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RefreshThread(int threadId)
|
||||||
|
{
|
||||||
|
UpdateThreadPosts(threadId);
|
||||||
|
UpdateThreadsPreviews(threadId);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
15
BufferControllers/AccessController.cs
Normal file
15
BufferControllers/AccessController.cs
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
using NeDvachAPI.Models;
|
||||||
|
using Npgsql;
|
||||||
|
|
||||||
|
namespace NeDvachAPI.DBControllers
|
||||||
|
{
|
||||||
|
public class BanList
|
||||||
|
{
|
||||||
|
public static string[] GetBanned()
|
||||||
|
{
|
||||||
|
string[] bannedIPs = new string[0];
|
||||||
|
//
|
||||||
|
return bannedIPs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
33
BufferControllers/BufferFill.cs
Normal file
33
BufferControllers/BufferFill.cs
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
using NeDvachAPI.DBControllers;
|
||||||
|
using NeDvachAPI.Models;
|
||||||
|
|
||||||
|
namespace NeDvachAPI.BufferControllers
|
||||||
|
{
|
||||||
|
public class BufferFill
|
||||||
|
{
|
||||||
|
|
||||||
|
public static bool FillBuffer(string board) //method to get buffer of information, which is being ran while API is started
|
||||||
|
{
|
||||||
|
List<Post> Previews = DBchat.ThreadsList(board);
|
||||||
|
APIThreadBuffer.WriteThreadPreviewsBuffer(Previews);
|
||||||
|
Console.WriteLine("Adding OP-posts to buffer");
|
||||||
|
|
||||||
|
for (int threadId = 1; threadId <= Previews.Count; threadId++)
|
||||||
|
{
|
||||||
|
APIThreadBuffer.AppendThreadsBuffer(DBchat.PostsList(board, threadId));
|
||||||
|
}
|
||||||
|
Console.WriteLine($@"Buffering threads {1} to {Previews.Count}.");
|
||||||
|
|
||||||
|
for (int preview = 0; preview < Previews.Count; preview++)
|
||||||
|
{
|
||||||
|
int targetLength = APIThreadBuffer.GetThreadLength(preview);
|
||||||
|
for (int lastofthree = targetLength- 2; lastofthree <= targetLength; lastofthree ++)
|
||||||
|
{
|
||||||
|
APIThreadBuffer.AppendToThreadPreviews(preview,APIThreadBuffer.GetSinglePost(preview,lastofthree));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using System.Text.Json;
|
|
||||||
|
|
||||||
namespace NeDvachAPI.Controllers
|
|
||||||
{
|
|
||||||
[ApiController]
|
|
||||||
[Route("[controller]")]
|
|
||||||
public class HomeController : ControllerBase
|
|
||||||
{
|
|
||||||
[HttpGet(Name = "GetPosts")]
|
|
||||||
public string Get()
|
|
||||||
{
|
|
||||||
Post[] posts = DBchat.DbList();
|
|
||||||
string postsJson = JsonSerializer.Serialize(posts);
|
|
||||||
return postsJson ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using System.Text.Json;
|
|
||||||
|
|
||||||
namespace NeDvachAPI.Controllers
|
|
||||||
{
|
|
||||||
[ApiController]
|
|
||||||
[Route("[controller]")]
|
|
||||||
public class PostToController : ControllerBase
|
|
||||||
{
|
|
||||||
[HttpGet(Name = "PostPosts")]
|
|
||||||
public void ReceivePost(string postJson)
|
|
||||||
{
|
|
||||||
Post ReceivedPost = JsonSerializer.Deserialize<Post>(postJson);
|
|
||||||
DBchat.SendPost(ReceivedPost);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
211
DBControllers/DBchat.cs
Normal file
211
DBControllers/DBchat.cs
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
using NeDvachAPI.Models;
|
||||||
|
using Npgsql;
|
||||||
|
|
||||||
|
namespace NeDvachAPI.DBControllers
|
||||||
|
{
|
||||||
|
public class DBchat
|
||||||
|
{
|
||||||
|
public static List<Post> PostsList(string boardName, int thread)
|
||||||
|
{
|
||||||
|
List<Post> posts = new List<Post>();
|
||||||
|
string connString =
|
||||||
|
string.Format(
|
||||||
|
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
|
||||||
|
AuthInfo.DB.Host,
|
||||||
|
AuthInfo.DB.User,
|
||||||
|
AuthInfo.DB.DBname,
|
||||||
|
AuthInfo.DB.Port,
|
||||||
|
AuthInfo.DB.Password);
|
||||||
|
|
||||||
|
using (var conn = new NpgsqlConnection(connString))
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
conn.Open();
|
||||||
|
using (var command = new NpgsqlCommand($@"
|
||||||
|
SELECT * FROM
|
||||||
|
(
|
||||||
|
SELECT post_id, post_text, content, post_timestamp
|
||||||
|
FROM posts
|
||||||
|
WHERE thread_id = {thread}
|
||||||
|
ORDER BY post_id DESC
|
||||||
|
) subquery
|
||||||
|
ORDER BY post_id ASC", conn))
|
||||||
|
{
|
||||||
|
|
||||||
|
var reader = command.ExecuteReader();
|
||||||
|
while (reader.Read())
|
||||||
|
{
|
||||||
|
Post receivedPost = new()
|
||||||
|
{
|
||||||
|
Id = reader.GetInt32(0),
|
||||||
|
Text = reader.GetString(1),
|
||||||
|
ImgURL = reader.IsDBNull(2) ? null : reader.GetFieldValue<string[]>(2),
|
||||||
|
Timestamp = reader.GetString(3)
|
||||||
|
|
||||||
|
};
|
||||||
|
posts.Add(receivedPost);
|
||||||
|
}
|
||||||
|
reader.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return posts;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Post> ThreadsList(string boardName)
|
||||||
|
{
|
||||||
|
List<Post> posts = new List<Post>();
|
||||||
|
string connString =
|
||||||
|
string.Format(
|
||||||
|
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
|
||||||
|
AuthInfo.DB.Host,
|
||||||
|
AuthInfo.DB.User,
|
||||||
|
AuthInfo.DB.DBname,
|
||||||
|
AuthInfo.DB.Port,
|
||||||
|
AuthInfo.DB.Password);
|
||||||
|
|
||||||
|
using (var conn = new NpgsqlConnection(connString))
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
conn.Open();
|
||||||
|
|
||||||
|
using (var command = new NpgsqlCommand($@"
|
||||||
|
SELECT * FROM
|
||||||
|
(
|
||||||
|
SELECT post_id, post_text, content, post_timestamp, is_op, thread_id
|
||||||
|
FROM posts
|
||||||
|
WHERE
|
||||||
|
is_op = {true}
|
||||||
|
ORDER BY thread_id DESC
|
||||||
|
) subquery
|
||||||
|
ORDER BY thread_id ASC", conn))
|
||||||
|
{
|
||||||
|
|
||||||
|
var reader = command.ExecuteReader();
|
||||||
|
while (reader.Read())
|
||||||
|
{
|
||||||
|
Post receivedPost = new()
|
||||||
|
{
|
||||||
|
Id = reader.GetInt32(0),
|
||||||
|
Text = reader.GetString(1),
|
||||||
|
ImgURL = reader.IsDBNull(2) ? null : reader.GetFieldValue<string[]>(2),
|
||||||
|
Timestamp = reader.GetString(3),
|
||||||
|
Is_OP = reader.GetBoolean(4),
|
||||||
|
Thread_Id = reader.GetInt32(5)
|
||||||
|
|
||||||
|
};
|
||||||
|
posts.Add(receivedPost);
|
||||||
|
}
|
||||||
|
reader.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return posts;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void DbUpdate(string id, string text)
|
||||||
|
{
|
||||||
|
string connString =
|
||||||
|
string.Format(
|
||||||
|
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
|
||||||
|
AuthInfo.DB.Host,
|
||||||
|
AuthInfo.DB.User,
|
||||||
|
AuthInfo.DB.DBname,
|
||||||
|
AuthInfo.DB.Port,
|
||||||
|
AuthInfo.DB.Password);
|
||||||
|
|
||||||
|
using (var conn = new NpgsqlConnection(connString))
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
|
||||||
|
using (var command = new NpgsqlCommand("UPDATE dvach " +
|
||||||
|
"SET post = @postText WHERE post_id = @ID", conn))
|
||||||
|
{
|
||||||
|
command.Parameters.AddWithValue("ID", int.Parse(id));
|
||||||
|
command.Parameters.AddWithValue("postText", text);
|
||||||
|
|
||||||
|
int nRows = command.ExecuteNonQuery();
|
||||||
|
Console.Out.WriteLine(string.Format("Number of rows updated={0}", nRows));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine("Данные обновлены!");
|
||||||
|
Console.ReadLine();
|
||||||
|
}
|
||||||
|
public static void SendPost(Post postToSend) //sending post to database
|
||||||
|
{
|
||||||
|
string connString =
|
||||||
|
string.Format(
|
||||||
|
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
|
||||||
|
AuthInfo.DB.Host,
|
||||||
|
AuthInfo.DB.User,
|
||||||
|
AuthInfo.DB.DBname,
|
||||||
|
AuthInfo.DB.Port,
|
||||||
|
AuthInfo.DB.Password);
|
||||||
|
|
||||||
|
using (var conn = new NpgsqlConnection(connString))
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
int postNum = 14;
|
||||||
|
|
||||||
|
using (var command = new NpgsqlCommand(@"
|
||||||
|
INSERT INTO posts (post_id, post_text, post_number, content, thread_id, auth_ip, is_op, post_timestamp)
|
||||||
|
VALUES (
|
||||||
|
DEFAULT,
|
||||||
|
@postText,
|
||||||
|
@postNum,
|
||||||
|
@postImgUrl,
|
||||||
|
@threadId,
|
||||||
|
@ip,
|
||||||
|
false,
|
||||||
|
(
|
||||||
|
SELECT date_trunc(
|
||||||
|
'second',
|
||||||
|
(now()::timestamp(0) AT TIME ZONE 'UTC+10')::TIMESTAMP
|
||||||
|
)
|
||||||
|
) )", conn))
|
||||||
|
{
|
||||||
|
command.Parameters.AddWithValue("postText", postToSend.Text);
|
||||||
|
command.Parameters.AddWithValue("postNum", postNum);
|
||||||
|
command.Parameters.AddWithValue("postImgUrl", postToSend.ImgURL);
|
||||||
|
command.Parameters.AddWithValue("threadId", postToSend.Thread_Id);
|
||||||
|
command.Parameters.AddWithValue("ip", postToSend.Ip);
|
||||||
|
int nRows = command.ExecuteNonQuery();
|
||||||
|
Console.Out.WriteLine("Добавлен пост с текстом " + postToSend.Text + " номером " + 22);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public static void DeletePost(string idToDel) //удалялка
|
||||||
|
{
|
||||||
|
string connString =
|
||||||
|
string.Format(
|
||||||
|
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
|
||||||
|
AuthInfo.DB.Host,
|
||||||
|
AuthInfo.DB.User,
|
||||||
|
AuthInfo.DB.DBname,
|
||||||
|
AuthInfo.DB.Port,
|
||||||
|
AuthInfo.DB.Password);
|
||||||
|
|
||||||
|
using (var conn = new NpgsqlConnection(connString))
|
||||||
|
{
|
||||||
|
|
||||||
|
conn.Open();
|
||||||
|
|
||||||
|
using (var command = new NpgsqlCommand(@"
|
||||||
|
DELETE FROM dvach
|
||||||
|
WHERE post_id = @ID", conn))
|
||||||
|
{
|
||||||
|
command.Parameters.AddWithValue("ID", int.Parse(idToDel)); ;
|
||||||
|
|
||||||
|
int nRows = command.ExecuteNonQuery();
|
||||||
|
Console.Out.WriteLine(string.Format("Number of rows updated={0}", nRows));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine("Данные удалены!");
|
||||||
|
Console.ReadLine();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
43
DBControllers/ImageController.cs
Normal file
43
DBControllers/ImageController.cs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
|
||||||
|
using SkiaSharp;
|
||||||
|
|
||||||
|
namespace NeDvachAPI.DBControllers
|
||||||
|
{
|
||||||
|
public class ImageController
|
||||||
|
{
|
||||||
|
public static bool CheckExtention(string extentionToCheck)
|
||||||
|
{
|
||||||
|
var supportedTypes = new[] { ".jpg", ".png", ".jpeg" };
|
||||||
|
if (supportedTypes.Contains(extentionToCheck.ToLower()))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool ResizeImage(string picPath, string smallPath, int width, int height)
|
||||||
|
{
|
||||||
|
|
||||||
|
var bitmap = SKBitmap.Decode(picPath);
|
||||||
|
|
||||||
|
double ratio = Math.Max((double)bitmap.Width / (double)width , (double)bitmap.Height / (double)height);
|
||||||
|
int targetWidth = (int)(bitmap.Width/ ratio);
|
||||||
|
int targetHeight = (int)(bitmap.Height / ratio);
|
||||||
|
|
||||||
|
Console.WriteLine($"Ресайзим картинку до {targetWidth} ширины и {targetHeight} высоты.");
|
||||||
|
|
||||||
|
var dstInfo = new SKImageInfo(targetWidth , targetHeight);
|
||||||
|
var image = SKImage.FromBitmap(bitmap.Resize(dstInfo, SKFilterQuality.Medium));
|
||||||
|
var data = image.Encode(SKEncodedImageFormat.Jpeg, 90);
|
||||||
|
|
||||||
|
using (var stream = new FileStream(smallPath, FileMode.Create, FileAccess.Write))
|
||||||
|
data.SaveTo(stream);
|
||||||
|
|
||||||
|
data.Dispose();
|
||||||
|
image.Dispose();
|
||||||
|
bitmap.Dispose();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
36
DBControllers/MinIOchat.cs
Normal file
36
DBControllers/MinIOchat.cs
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Minio.DataModel;
|
||||||
|
using Minio;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
|
||||||
|
namespace NeDvachAPI.DBControllers
|
||||||
|
{
|
||||||
|
public class MinIOchat
|
||||||
|
{
|
||||||
|
public static async Task<JsonResult> PictureUpload(string fileroute, string filename, string bucket)
|
||||||
|
{
|
||||||
|
MinioClient DvachIo = new MinioClient()
|
||||||
|
.WithEndpoint(AuthInfo.MinIo.endpoint)
|
||||||
|
.WithCredentials(AuthInfo.MinIo.username, AuthInfo.MinIo.password)
|
||||||
|
//.WithSSL()
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
Aes aesEncryption = Aes.Create();
|
||||||
|
aesEncryption.KeySize = 256;
|
||||||
|
aesEncryption.GenerateKey();
|
||||||
|
var ssec = new SSEC(aesEncryption.Key);
|
||||||
|
PutObjectArgs putObjectArgs = new PutObjectArgs()
|
||||||
|
.WithBucket(bucket)
|
||||||
|
.WithObject(filename)
|
||||||
|
.WithFileName(fileroute)
|
||||||
|
.WithContentType("image/png");
|
||||||
|
//.WithServerSideEncryption(ssec);
|
||||||
|
await DvachIo.PutObjectAsync(putObjectArgs);
|
||||||
|
GC.Collect();
|
||||||
|
GC.WaitForPendingFinalizers();
|
||||||
|
File.Delete(fileroute);
|
||||||
|
|
||||||
|
return new JsonResult("http://static.vdk2ch.ru:15555/thread-pics/" + filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
129
DBchat.cs
129
DBchat.cs
@@ -1,129 +0,0 @@
|
|||||||
using Npgsql;
|
|
||||||
|
|
||||||
namespace NeDvachAPI
|
|
||||||
{
|
|
||||||
public class DBchat
|
|
||||||
{
|
|
||||||
// Obtain connection string information from the portal
|
|
||||||
//
|
|
||||||
private static string Host = "postgres.vdk2ch.ru";
|
|
||||||
private static string User = "postgres";
|
|
||||||
private static string DBname = "postgres";
|
|
||||||
private static string Password = "postgres";
|
|
||||||
private static string Port = "5432";
|
|
||||||
|
|
||||||
public static Post[] DbList()
|
|
||||||
{
|
|
||||||
// Build connection string using parameters from portal
|
|
||||||
Post[] posts = new Post[10];
|
|
||||||
int postCount = 0;
|
|
||||||
string received = "";
|
|
||||||
string connString =
|
|
||||||
String.Format(
|
|
||||||
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
|
|
||||||
Host,
|
|
||||||
User,
|
|
||||||
DBname,
|
|
||||||
Port,
|
|
||||||
Password);
|
|
||||||
|
|
||||||
using (var conn = new NpgsqlConnection(connString))
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
conn.Open();
|
|
||||||
|
|
||||||
|
|
||||||
using (var command = new NpgsqlCommand("SELECT * FROM (SELECT post_id, substring(post,1,200) FROM dvach ORDER BY post_id DESC limit 10) subquery ORDER BY post_id ASC", conn))
|
|
||||||
{
|
|
||||||
|
|
||||||
var reader = command.ExecuteReader();
|
|
||||||
while (reader.Read())
|
|
||||||
{
|
|
||||||
//received +=(
|
|
||||||
//string.Format(
|
|
||||||
//"#{0}: {1}" + "\n",
|
|
||||||
// reader.GetInt32(0).ToString(),
|
|
||||||
//reader.GetString(1)
|
|
||||||
//)
|
|
||||||
//);
|
|
||||||
Post receivedPost = new()
|
|
||||||
{
|
|
||||||
Date = DateTime.Now,
|
|
||||||
Id = reader.GetInt32(0),
|
|
||||||
Text = reader.GetString(1)
|
|
||||||
};
|
|
||||||
posts[postCount] = receivedPost;
|
|
||||||
postCount++;
|
|
||||||
}
|
|
||||||
reader.Close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return posts;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void DbUpdate(string id, string text)
|
|
||||||
{
|
|
||||||
// Build connection string using parameters from portal
|
|
||||||
string connString =
|
|
||||||
String.Format(
|
|
||||||
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
|
|
||||||
Host,
|
|
||||||
User,
|
|
||||||
DBname,
|
|
||||||
Port,
|
|
||||||
Password);
|
|
||||||
|
|
||||||
using (var conn = new NpgsqlConnection(connString))
|
|
||||||
{
|
|
||||||
|
|
||||||
//Console.Out.WriteLine("Opening connection");
|
|
||||||
conn.Open();
|
|
||||||
|
|
||||||
using (var command = new NpgsqlCommand("UPDATE dvach " +
|
|
||||||
"SET post = @postText WHERE post_id = @ID", conn))
|
|
||||||
{
|
|
||||||
command.Parameters.AddWithValue("ID", int.Parse(id));
|
|
||||||
command.Parameters.AddWithValue("postText", text);
|
|
||||||
|
|
||||||
int nRows = command.ExecuteNonQuery();
|
|
||||||
Console.Out.WriteLine(String.Format("Number of rows updated={0}", nRows));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Console.WriteLine("Данные обновлены!");
|
|
||||||
Console.ReadLine();
|
|
||||||
}
|
|
||||||
public static void SendPost(Post postToSend)
|
|
||||||
{
|
|
||||||
// Build connection string using parameters from portal
|
|
||||||
//
|
|
||||||
string connString =
|
|
||||||
String.Format(
|
|
||||||
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
|
|
||||||
Host,
|
|
||||||
User,
|
|
||||||
DBname,
|
|
||||||
Port,
|
|
||||||
Password);
|
|
||||||
|
|
||||||
using (var conn = new NpgsqlConnection(connString))
|
|
||||||
{
|
|
||||||
|
|
||||||
Console.Out.WriteLine("Opening connection");
|
|
||||||
conn.Open();
|
|
||||||
|
|
||||||
using (var command = new NpgsqlCommand("INSERT INTO dvach " +
|
|
||||||
"(post_id, post) VALUES (DEFAULT, @postText)", conn))
|
|
||||||
{
|
|
||||||
command.Parameters.AddWithValue("postText", postToSend.Text);
|
|
||||||
|
|
||||||
int nRows = command.ExecuteNonQuery();
|
|
||||||
Console.Out.WriteLine(String.Format("Number of rows updated={0}", nRows));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Console.WriteLine("С добавлением закончено");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
8
Dockerfile
Normal file
8
Dockerfile
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
FROM mcr.microsoft.com/dotnet/aspnet:6.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ADD dist /app
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
CMD ./NeDvachAPI
|
||||||
14
Models/Post.cs
Normal file
14
Models/Post.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
namespace NeDvachAPI.Models
|
||||||
|
{
|
||||||
|
public class Post
|
||||||
|
{
|
||||||
|
public string Timestamp { get; set; }
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Text { get; set; }
|
||||||
|
public string[]? ImgURL { get; set; }
|
||||||
|
public int Thread_Id { get; set; }
|
||||||
|
public bool Is_OP { get; set; }
|
||||||
|
public bool Is_Deleted { get; set; }
|
||||||
|
public string? Ip { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,8 +7,17 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Npgsql" Version="6.0.7" />
|
<PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.9" />
|
||||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
|
<PackageReference Include="Minio" Version="4.0.6" />
|
||||||
|
<PackageReference Include="Npgsql" Version="7.0.0" />
|
||||||
|
<PackageReference Include="SkiaSharp" Version="2.88.3" />
|
||||||
|
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="2.88.3" />
|
||||||
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||||
|
<PackageReference Include="System.Drawing.Common" Version="7.0.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Buffer\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -3,5 +3,9 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
|
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
|
||||||
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
|
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
|
||||||
|
<ActiveDebugProfile>NeDvachAPI</ActiveDebugProfile>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
11
Post.cs
11
Post.cs
@@ -1,11 +0,0 @@
|
|||||||
namespace NeDvachAPI
|
|
||||||
{
|
|
||||||
public class Post
|
|
||||||
{
|
|
||||||
public DateTime Date { get; set; }
|
|
||||||
|
|
||||||
public int Id { get; set; }
|
|
||||||
|
|
||||||
public string Text { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
37
Program.cs
37
Program.cs
@@ -1,25 +1,44 @@
|
|||||||
|
using NeDvachAPI.BufferControllers;
|
||||||
|
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
||||||
// Add services to the container.
|
|
||||||
|
|
||||||
builder.Services.AddControllers();
|
builder.Services.AddControllers();
|
||||||
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
|
||||||
builder.Services.AddEndpointsApiExplorer();
|
builder.Services.AddEndpointsApiExplorer();
|
||||||
builder.Services.AddSwaggerGen();
|
|
||||||
|
builder.Services.AddCors(setup =>
|
||||||
|
{
|
||||||
|
setup.AddDefaultPolicy(policyBuilder =>
|
||||||
|
{
|
||||||
|
policyBuilder.SetIsOriginAllowed(origin => new Uri(origin).Host == "localhost");
|
||||||
|
|
||||||
|
//policyBuilder.WithOrigins("http://www.vdk2ch.ru:4200").WithMethods("GET", "POST").WithHeaders("*");
|
||||||
|
policyBuilder.WithOrigins("https://www.vdk2ch.ru").WithMethods("GET", "POST").WithHeaders("*");
|
||||||
|
//policyBuilder.WithOrigins("http://localhost:4200").WithMethods("GET", "POST").WithHeaders("*");
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
var app = builder.Build();
|
var app = builder.Build();
|
||||||
|
|
||||||
// Configure the HTTP request pipeline.
|
|
||||||
if (app.Environment.IsDevelopment())
|
if (app.Environment.IsDevelopment())
|
||||||
{
|
{
|
||||||
app.UseSwagger();
|
|
||||||
app.UseSwaggerUI();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
app.UseHttpsRedirection();
|
app.UseCors();
|
||||||
|
|
||||||
app.UseAuthorization();
|
app.UseAuthorization();
|
||||||
|
|
||||||
app.MapControllers();
|
app.MapControllers();
|
||||||
|
|
||||||
app.Run();
|
app.UseHttpsRedirection();
|
||||||
|
|
||||||
|
if (BufferFill.FillBuffer("b"))
|
||||||
|
{
|
||||||
|
Console.WriteLine("Ready for work.");
|
||||||
|
app.Run();
|
||||||
|
}
|
||||||
|
else Console.WriteLine("Ошибка буферизации, проверьте доступность базы данных.");
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +1,29 @@
|
|||||||
{
|
{
|
||||||
|
"profiles": {
|
||||||
|
"NeDvachAPI": {
|
||||||
|
"commandName": "Project",
|
||||||
|
"launchUrl": "Home",
|
||||||
|
"environmentVariables": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
},
|
||||||
|
"dotnetRunMessages": true,
|
||||||
|
"applicationUrl": "https://0.0.0.0:7141"
|
||||||
|
},
|
||||||
|
"IIS Express": {
|
||||||
|
"commandName": "IISExpress",
|
||||||
|
"launchUrl": "Home",
|
||||||
|
"environmentVariables": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"$schema": "https://json.schemastore.org/launchsettings.json",
|
"$schema": "https://json.schemastore.org/launchsettings.json",
|
||||||
"iisSettings": {
|
"iisSettings": {
|
||||||
"windowsAuthentication": false,
|
"windowsAuthentication": false,
|
||||||
"anonymousAuthentication": true,
|
"anonymousAuthentication": true,
|
||||||
"iisExpress": {
|
"iisExpress": {
|
||||||
"applicationUrl": "http://localhost:31551",
|
"applicationUrl": "http://0.0.0.0:31551",
|
||||||
"sslPort": 44346
|
"sslPort": 44346
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"profiles": {
|
|
||||||
"NeDvachAPI": {
|
|
||||||
"commandName": "Project",
|
|
||||||
"dotnetRunMessages": true,
|
|
||||||
"launchBrowser": true,
|
|
||||||
"launchUrl": "Home",
|
|
||||||
"applicationUrl": "https://localhost:7141;http://localhost:5141",
|
|
||||||
"environmentVariables": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"IIS Express": {
|
|
||||||
"commandName": "IISExpress",
|
|
||||||
"launchBrowser": true,
|
|
||||||
"launchUrl": "Home",
|
|
||||||
"environmentVariables": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[](http://drone.vdk2ch.ru:38080/RakVhalate/2chBackAPI)
|
||||||
|
|
||||||
|
fdasdfs
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Logging": {
|
"Logging": {
|
||||||
"LogLevel": {
|
"LogLevel": {
|
||||||
"Default": "Information",
|
"Default": "Debug",
|
||||||
"Microsoft.AspNetCore": "Warning"
|
"Microsoft.AspNetCore": "Warning"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
|
"https_port": 443,
|
||||||
"Logging": {
|
"Logging": {
|
||||||
"LogLevel": {
|
"LogLevel": {
|
||||||
"Default": "Information",
|
"Default": "Debug",
|
||||||
"Microsoft.AspNetCore": "Warning"
|
"Microsoft.AspNetCore": "Warning"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Binary file not shown.
@@ -1,142 +0,0 @@
|
|||||||
{
|
|
||||||
"runtimeTarget": {
|
|
||||||
"name": ".NETCoreApp,Version=v6.0",
|
|
||||||
"signature": ""
|
|
||||||
},
|
|
||||||
"compilationOptions": {},
|
|
||||||
"targets": {
|
|
||||||
".NETCoreApp,Version=v6.0": {
|
|
||||||
"NeDvachAPI/1.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Npgsql": "6.0.7",
|
|
||||||
"Swashbuckle.AspNetCore": "6.2.3"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"NeDvachAPI.dll": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.ApiDescription.Server/3.0.0": {},
|
|
||||||
"Microsoft.OpenApi/1.2.3": {
|
|
||||||
"runtime": {
|
|
||||||
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
|
|
||||||
"assemblyVersion": "1.2.3.0",
|
|
||||||
"fileVersion": "1.2.3.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Npgsql/6.0.7": {
|
|
||||||
"dependencies": {
|
|
||||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net6.0/Npgsql.dll": {
|
|
||||||
"assemblyVersion": "6.0.7.0",
|
|
||||||
"fileVersion": "6.0.7.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore/6.2.3": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.ApiDescription.Server": "3.0.0",
|
|
||||||
"Swashbuckle.AspNetCore.Swagger": "6.2.3",
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerGen": "6.2.3",
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerUI": "6.2.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.Swagger/6.2.3": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.OpenApi": "1.2.3"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
|
|
||||||
"assemblyVersion": "6.2.3.0",
|
|
||||||
"fileVersion": "6.2.3.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerGen/6.2.3": {
|
|
||||||
"dependencies": {
|
|
||||||
"Swashbuckle.AspNetCore.Swagger": "6.2.3"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
|
|
||||||
"assemblyVersion": "6.2.3.0",
|
|
||||||
"fileVersion": "6.2.3.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerUI/6.2.3": {
|
|
||||||
"runtime": {
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
|
|
||||||
"assemblyVersion": "6.2.3.0",
|
|
||||||
"fileVersion": "6.2.3.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Runtime.CompilerServices.Unsafe/6.0.0": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"libraries": {
|
|
||||||
"NeDvachAPI/1.0.0": {
|
|
||||||
"type": "project",
|
|
||||||
"serviceable": false,
|
|
||||||
"sha512": ""
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.ApiDescription.Server/3.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==",
|
|
||||||
"path": "microsoft.extensions.apidescription.server/3.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.apidescription.server.3.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.OpenApi/1.2.3": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==",
|
|
||||||
"path": "microsoft.openapi/1.2.3",
|
|
||||||
"hashPath": "microsoft.openapi.1.2.3.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Npgsql/6.0.7": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-HhD5q/VUJY++tCzc0eCrhtsxmUdP7NxNhUMOdYW6sqpC6NRlFLvUDf5JyRj0gOGkXe3Tn49toaisgvLqlzQ2JQ==",
|
|
||||||
"path": "npgsql/6.0.7",
|
|
||||||
"hashPath": "npgsql.6.0.7.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore/6.2.3": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-cnzQDn0Le+hInsw2SYwlOhOCPXpYi/szcvnyqZJ12v+QyrLBwAmWXBg6RIyHB18s/mLeywC+Rg2O9ndz0IUNYQ==",
|
|
||||||
"path": "swashbuckle.aspnetcore/6.2.3",
|
|
||||||
"hashPath": "swashbuckle.aspnetcore.6.2.3.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.Swagger/6.2.3": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-qOF7j1sL0bWm8g/qqHVPCvkO3JlVvUIB8WfC98kSh6BT5y5DAnBNctfac7XR5EZf+eD7/WasvANncTqwZYfmWQ==",
|
|
||||||
"path": "swashbuckle.aspnetcore.swagger/6.2.3",
|
|
||||||
"hashPath": "swashbuckle.aspnetcore.swagger.6.2.3.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerGen/6.2.3": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-+Xq7WdMCCfcXlnbLJVFNgY8ITdP2TRYIlpbt6IKzDw5FwFxdi9lBfNDtcT+/wkKwX70iBBFmXldnnd02/VO72A==",
|
|
||||||
"path": "swashbuckle.aspnetcore.swaggergen/6.2.3",
|
|
||||||
"hashPath": "swashbuckle.aspnetcore.swaggergen.6.2.3.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerUI/6.2.3": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-bCRI87uKJVb4G+KURWm8LQrL64St04dEFZcF6gIM67Zc0Sr/N47EO83ybLMYOvfNdO1DCv8xwPcrz9J/VEhQ5g==",
|
|
||||||
"path": "swashbuckle.aspnetcore.swaggerui/6.2.3",
|
|
||||||
"hashPath": "swashbuckle.aspnetcore.swaggerui.6.2.3.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
|
|
||||||
"path": "system.runtime.compilerservices.unsafe/6.0.0",
|
|
||||||
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
"runtimeOptions": {
|
|
||||||
"tfm": "net6.0",
|
|
||||||
"frameworks": [
|
|
||||||
{
|
|
||||||
"name": "Microsoft.NETCore.App",
|
|
||||||
"version": "6.0.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Microsoft.AspNetCore.App",
|
|
||||||
"version": "6.0.0"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"configProperties": {
|
|
||||||
"System.GC.Server": true,
|
|
||||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft.AspNetCore": "Warning"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft.AspNetCore": "Warning"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"AllowedHosts": "*"
|
|
||||||
}
|
|
||||||
17
docker-compose.yml
Normal file
17
docker-compose.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
version: '3.1'
|
||||||
|
|
||||||
|
services:
|
||||||
|
dvachBackAPI:
|
||||||
|
image: dvach-back-api:latest
|
||||||
|
container_name: dvach-api
|
||||||
|
build:
|
||||||
|
context: /usr/share/2chBackAPI
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "5000:80"
|
||||||
|
# logging:
|
||||||
|
# driver: "gelf"
|
||||||
|
# options:
|
||||||
|
# gelf-address: "udp://graylog.vdk2ch.ru:12201"
|
||||||
|
# tag: "backend-logs"
|
||||||
5
libman.json
Normal file
5
libman.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"version": "1.0",
|
||||||
|
"defaultProvider": "cdnjs",
|
||||||
|
"libraries": []
|
||||||
|
}
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// <autogenerated />
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// Этот код создан программой.
|
|
||||||
// Исполняемая версия:4.0.30319.42000
|
|
||||||
//
|
|
||||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
|
||||||
// повторной генерации кода.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("NeDvachAPI")]
|
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("NeDvachAPI")]
|
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("NeDvachAPI")]
|
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
||||||
|
|
||||||
// Создано классом WriteCodeFragment MSBuild.
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
f9459023b9fef9a54770885db55ea1d3853a31c3
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
is_global = true
|
|
||||||
build_property.TargetFramework = net6.0
|
|
||||||
build_property.TargetPlatformMinVersion =
|
|
||||||
build_property.UsingMicrosoftNETSdkWeb = true
|
|
||||||
build_property.ProjectTypeGuids =
|
|
||||||
build_property.InvariantGlobalization =
|
|
||||||
build_property.PlatformNeutralAssembly =
|
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
|
||||||
build_property.RootNamespace = NeDvachAPI
|
|
||||||
build_property.RootNamespace = NeDvachAPI
|
|
||||||
build_property.ProjectDir = D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\
|
|
||||||
build_property.RazorLangVersion = 6.0
|
|
||||||
build_property.SupportLocalizedComponentNames =
|
|
||||||
build_property.GenerateRazorMetadataSourceChecksumAttributes =
|
|
||||||
build_property.MSBuildProjectDirectory = D:\Programming\CSharp\NeDvachAPI\NeDvachAPI
|
|
||||||
build_property._RazorSourceGeneratorDebug =
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
// <auto-generated/>
|
|
||||||
global using global::Microsoft.AspNetCore.Builder;
|
|
||||||
global using global::Microsoft.AspNetCore.Hosting;
|
|
||||||
global using global::Microsoft.AspNetCore.Http;
|
|
||||||
global using global::Microsoft.AspNetCore.Routing;
|
|
||||||
global using global::Microsoft.Extensions.Configuration;
|
|
||||||
global using global::Microsoft.Extensions.DependencyInjection;
|
|
||||||
global using global::Microsoft.Extensions.Hosting;
|
|
||||||
global using global::Microsoft.Extensions.Logging;
|
|
||||||
global using global::System;
|
|
||||||
global using global::System.Collections.Generic;
|
|
||||||
global using global::System.IO;
|
|
||||||
global using global::System.Linq;
|
|
||||||
global using global::System.Net.Http;
|
|
||||||
global using global::System.Net.Http.Json;
|
|
||||||
global using global::System.Threading;
|
|
||||||
global using global::System.Threading.Tasks;
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// Этот код создан программой.
|
|
||||||
// Исполняемая версия:4.0.30319.42000
|
|
||||||
//
|
|
||||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
|
||||||
// повторной генерации кода.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")]
|
|
||||||
|
|
||||||
// Создано классом WriteCodeFragment MSBuild.
|
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
12dedb350f4d8a828972342ab8cadb8b84636f3d
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\appsettings.Development.json
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\appsettings.json
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\NeDvachAPI.exe
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\NeDvachAPI.deps.json
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\NeDvachAPI.runtimeconfig.json
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\NeDvachAPI.dll
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\NeDvachAPI.pdb
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\Microsoft.OpenApi.dll
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\Swashbuckle.AspNetCore.Swagger.dll
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\Swashbuckle.AspNetCore.SwaggerGen.dll
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\Swashbuckle.AspNetCore.SwaggerUI.dll
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.csproj.AssemblyReference.cache
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.GeneratedMSBuildEditorConfig.editorconfig
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.AssemblyInfoInputs.cache
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.AssemblyInfo.cs
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.csproj.CoreCompileInputs.cache
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.MvcApplicationPartsAssemblyInfo.cs
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.MvcApplicationPartsAssemblyInfo.cache
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\staticwebassets.build.json
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\staticwebassets.development.json
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\scopedcss\bundle\NeDvachAPI.styles.css
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.csproj.CopyComplete
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.dll
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\refint\NeDvachAPI.dll
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.pdb
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\NeDvachAPI.genruntimeconfig.cache
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\obj\Debug\net6.0\ref\NeDvachAPI.dll
|
|
||||||
D:\Programming\CSharp\NeDvachAPI\NeDvachAPI\bin\Debug\net6.0\Npgsql.dll
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
a6493ebca4db808a4e82f8a5a5971c3d8e7c1c41
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"Version": 1,
|
|
||||||
"Hash": "CKpyQQoJZ4dOY1eC8AChpDa2o8ZpeSfFtpkAfnF79F8=",
|
|
||||||
"Source": "NeDvachAPI",
|
|
||||||
"BasePath": "_content/NeDvachAPI",
|
|
||||||
"Mode": "Default",
|
|
||||||
"ManifestType": "Build",
|
|
||||||
"ReferencedProjectsConfiguration": [],
|
|
||||||
"DiscoveryPatterns": [],
|
|
||||||
"Assets": []
|
|
||||||
}
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
{
|
|
||||||
"format": 1,
|
|
||||||
"restore": {
|
|
||||||
"D:\\Programming\\CSharp\\NeDvachAPI\\NeDvachAPI\\NeDvachAPI.csproj": {}
|
|
||||||
},
|
|
||||||
"projects": {
|
|
||||||
"D:\\Programming\\CSharp\\NeDvachAPI\\NeDvachAPI\\NeDvachAPI.csproj": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"restore": {
|
|
||||||
"projectUniqueName": "D:\\Programming\\CSharp\\NeDvachAPI\\NeDvachAPI\\NeDvachAPI.csproj",
|
|
||||||
"projectName": "NeDvachAPI",
|
|
||||||
"projectPath": "D:\\Programming\\CSharp\\NeDvachAPI\\NeDvachAPI\\NeDvachAPI.csproj",
|
|
||||||
"packagesPath": "C:\\Users\\Admin\\.nuget\\packages\\",
|
|
||||||
"outputPath": "D:\\Programming\\CSharp\\NeDvachAPI\\NeDvachAPI\\obj\\",
|
|
||||||
"projectStyle": "PackageReference",
|
|
||||||
"configFilePaths": [
|
|
||||||
"C:\\Users\\Admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
|
||||||
],
|
|
||||||
"originalTargetFrameworks": [
|
|
||||||
"net6.0"
|
|
||||||
],
|
|
||||||
"sources": {
|
|
||||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
|
||||||
"https://api.nuget.org/v3/index.json": {}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net6.0": {
|
|
||||||
"targetAlias": "net6.0",
|
|
||||||
"projectReferences": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"warningProperties": {
|
|
||||||
"warnAsError": [
|
|
||||||
"NU1605"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net6.0": {
|
|
||||||
"targetAlias": "net6.0",
|
|
||||||
"dependencies": {
|
|
||||||
"Npgsql": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[6.0.7, )"
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[6.2.3, )"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"imports": [
|
|
||||||
"net461",
|
|
||||||
"net462",
|
|
||||||
"net47",
|
|
||||||
"net471",
|
|
||||||
"net472",
|
|
||||||
"net48",
|
|
||||||
"net481"
|
|
||||||
],
|
|
||||||
"assetTargetFallback": true,
|
|
||||||
"warn": true,
|
|
||||||
"frameworkReferences": {
|
|
||||||
"Microsoft.AspNetCore.App": {
|
|
||||||
"privateAssets": "none"
|
|
||||||
},
|
|
||||||
"Microsoft.NETCore.App": {
|
|
||||||
"privateAssets": "all"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.401\\RuntimeIdentifierGraph.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
|
||||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
|
||||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
|
||||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
|
||||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Admin\.nuget\packages\</NuGetPackageFolders>
|
|
||||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
|
||||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.3.0</NuGetToolVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<SourceRoot Include="C:\Users\Admin\.nuget\packages\" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server\3.0.0\build\Microsoft.Extensions.ApiDescription.Server.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server\3.0.0\build\Microsoft.Extensions.ApiDescription.Server.props')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)swashbuckle.aspnetcore\6.2.3\build\Swashbuckle.AspNetCore.props" Condition="Exists('$(NuGetPackageRoot)swashbuckle.aspnetcore\6.2.3\build\Swashbuckle.AspNetCore.props')" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">C:\Users\Admin\.nuget\packages\microsoft.extensions.apidescription.server\3.0.0</PkgMicrosoft_Extensions_ApiDescription_Server>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server\3.0.0\build\Microsoft.Extensions.ApiDescription.Server.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server\3.0.0\build\Microsoft.Extensions.ApiDescription.Server.targets')" />
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
||||||
@@ -1,378 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"targets": {
|
|
||||||
"net6.0": {
|
|
||||||
"Microsoft.Extensions.ApiDescription.Server/3.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"build": {
|
|
||||||
"build/Microsoft.Extensions.ApiDescription.Server.props": {},
|
|
||||||
"build/Microsoft.Extensions.ApiDescription.Server.targets": {}
|
|
||||||
},
|
|
||||||
"buildMultiTargeting": {
|
|
||||||
"buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props": {},
|
|
||||||
"buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.OpenApi/1.2.3": {
|
|
||||||
"type": "package",
|
|
||||||
"compile": {
|
|
||||||
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
|
|
||||||
"related": ".pdb;.xml"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
|
|
||||||
"related": ".pdb;.xml"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Npgsql/6.0.7": {
|
|
||||||
"type": "package",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
|
||||||
},
|
|
||||||
"compile": {
|
|
||||||
"lib/net6.0/Npgsql.dll": {
|
|
||||||
"related": ".xml"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net6.0/Npgsql.dll": {
|
|
||||||
"related": ".xml"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore/6.2.3": {
|
|
||||||
"type": "package",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.ApiDescription.Server": "3.0.0",
|
|
||||||
"Swashbuckle.AspNetCore.Swagger": "6.2.3",
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerGen": "6.2.3",
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerUI": "6.2.3"
|
|
||||||
},
|
|
||||||
"build": {
|
|
||||||
"build/Swashbuckle.AspNetCore.props": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.Swagger/6.2.3": {
|
|
||||||
"type": "package",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.OpenApi": "1.2.3"
|
|
||||||
},
|
|
||||||
"compile": {
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
|
|
||||||
"related": ".pdb;.xml"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
|
|
||||||
"related": ".pdb;.xml"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworkReferences": [
|
|
||||||
"Microsoft.AspNetCore.App"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerGen/6.2.3": {
|
|
||||||
"type": "package",
|
|
||||||
"dependencies": {
|
|
||||||
"Swashbuckle.AspNetCore.Swagger": "6.2.3"
|
|
||||||
},
|
|
||||||
"compile": {
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
|
|
||||||
"related": ".pdb;.xml"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
|
|
||||||
"related": ".pdb;.xml"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerUI/6.2.3": {
|
|
||||||
"type": "package",
|
|
||||||
"compile": {
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
|
|
||||||
"related": ".pdb;.xml"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
|
|
||||||
"related": ".pdb;.xml"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworkReferences": [
|
|
||||||
"Microsoft.AspNetCore.App"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"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/_._": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"libraries": {
|
|
||||||
"Microsoft.Extensions.ApiDescription.Server/3.0.0": {
|
|
||||||
"sha512": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==",
|
|
||||||
"type": "package",
|
|
||||||
"path": "microsoft.extensions.apidescription.server/3.0.0",
|
|
||||||
"hasTools": true,
|
|
||||||
"files": [
|
|
||||||
".nupkg.metadata",
|
|
||||||
".signature.p7s",
|
|
||||||
"build/Microsoft.Extensions.ApiDescription.Server.props",
|
|
||||||
"build/Microsoft.Extensions.ApiDescription.Server.targets",
|
|
||||||
"buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props",
|
|
||||||
"buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets",
|
|
||||||
"microsoft.extensions.apidescription.server.3.0.0.nupkg.sha512",
|
|
||||||
"microsoft.extensions.apidescription.server.nuspec",
|
|
||||||
"tools/Newtonsoft.Json.dll",
|
|
||||||
"tools/dotnet-getdocument.deps.json",
|
|
||||||
"tools/dotnet-getdocument.dll",
|
|
||||||
"tools/dotnet-getdocument.runtimeconfig.json",
|
|
||||||
"tools/net461-x86/GetDocument.Insider.exe",
|
|
||||||
"tools/net461-x86/GetDocument.Insider.exe.config",
|
|
||||||
"tools/net461/GetDocument.Insider.exe",
|
|
||||||
"tools/net461/GetDocument.Insider.exe.config",
|
|
||||||
"tools/netcoreapp2.1/GetDocument.Insider.deps.json",
|
|
||||||
"tools/netcoreapp2.1/GetDocument.Insider.dll",
|
|
||||||
"tools/netcoreapp2.1/GetDocument.Insider.runtimeconfig.json"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Microsoft.OpenApi/1.2.3": {
|
|
||||||
"sha512": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==",
|
|
||||||
"type": "package",
|
|
||||||
"path": "microsoft.openapi/1.2.3",
|
|
||||||
"files": [
|
|
||||||
".nupkg.metadata",
|
|
||||||
".signature.p7s",
|
|
||||||
"lib/net46/Microsoft.OpenApi.dll",
|
|
||||||
"lib/net46/Microsoft.OpenApi.pdb",
|
|
||||||
"lib/net46/Microsoft.OpenApi.xml",
|
|
||||||
"lib/netstandard2.0/Microsoft.OpenApi.dll",
|
|
||||||
"lib/netstandard2.0/Microsoft.OpenApi.pdb",
|
|
||||||
"lib/netstandard2.0/Microsoft.OpenApi.xml",
|
|
||||||
"microsoft.openapi.1.2.3.nupkg.sha512",
|
|
||||||
"microsoft.openapi.nuspec"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Npgsql/6.0.7": {
|
|
||||||
"sha512": "HhD5q/VUJY++tCzc0eCrhtsxmUdP7NxNhUMOdYW6sqpC6NRlFLvUDf5JyRj0gOGkXe3Tn49toaisgvLqlzQ2JQ==",
|
|
||||||
"type": "package",
|
|
||||||
"path": "npgsql/6.0.7",
|
|
||||||
"files": [
|
|
||||||
".nupkg.metadata",
|
|
||||||
".signature.p7s",
|
|
||||||
"README.md",
|
|
||||||
"lib/net5.0/Npgsql.dll",
|
|
||||||
"lib/net5.0/Npgsql.xml",
|
|
||||||
"lib/net6.0/Npgsql.dll",
|
|
||||||
"lib/net6.0/Npgsql.xml",
|
|
||||||
"lib/netcoreapp3.1/Npgsql.dll",
|
|
||||||
"lib/netcoreapp3.1/Npgsql.xml",
|
|
||||||
"lib/netstandard2.0/Npgsql.dll",
|
|
||||||
"lib/netstandard2.0/Npgsql.xml",
|
|
||||||
"lib/netstandard2.1/Npgsql.dll",
|
|
||||||
"lib/netstandard2.1/Npgsql.xml",
|
|
||||||
"npgsql.6.0.7.nupkg.sha512",
|
|
||||||
"npgsql.nuspec",
|
|
||||||
"postgresql.png"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore/6.2.3": {
|
|
||||||
"sha512": "cnzQDn0Le+hInsw2SYwlOhOCPXpYi/szcvnyqZJ12v+QyrLBwAmWXBg6RIyHB18s/mLeywC+Rg2O9ndz0IUNYQ==",
|
|
||||||
"type": "package",
|
|
||||||
"path": "swashbuckle.aspnetcore/6.2.3",
|
|
||||||
"files": [
|
|
||||||
".nupkg.metadata",
|
|
||||||
".signature.p7s",
|
|
||||||
"build/Swashbuckle.AspNetCore.props",
|
|
||||||
"swashbuckle.aspnetcore.6.2.3.nupkg.sha512",
|
|
||||||
"swashbuckle.aspnetcore.nuspec"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.Swagger/6.2.3": {
|
|
||||||
"sha512": "qOF7j1sL0bWm8g/qqHVPCvkO3JlVvUIB8WfC98kSh6BT5y5DAnBNctfac7XR5EZf+eD7/WasvANncTqwZYfmWQ==",
|
|
||||||
"type": "package",
|
|
||||||
"path": "swashbuckle.aspnetcore.swagger/6.2.3",
|
|
||||||
"files": [
|
|
||||||
".nupkg.metadata",
|
|
||||||
".signature.p7s",
|
|
||||||
"lib/net5.0/Swashbuckle.AspNetCore.Swagger.dll",
|
|
||||||
"lib/net5.0/Swashbuckle.AspNetCore.Swagger.pdb",
|
|
||||||
"lib/net5.0/Swashbuckle.AspNetCore.Swagger.xml",
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll",
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.pdb",
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.xml",
|
|
||||||
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.dll",
|
|
||||||
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.pdb",
|
|
||||||
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.xml",
|
|
||||||
"lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll",
|
|
||||||
"lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.pdb",
|
|
||||||
"lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.xml",
|
|
||||||
"swashbuckle.aspnetcore.swagger.6.2.3.nupkg.sha512",
|
|
||||||
"swashbuckle.aspnetcore.swagger.nuspec"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerGen/6.2.3": {
|
|
||||||
"sha512": "+Xq7WdMCCfcXlnbLJVFNgY8ITdP2TRYIlpbt6IKzDw5FwFxdi9lBfNDtcT+/wkKwX70iBBFmXldnnd02/VO72A==",
|
|
||||||
"type": "package",
|
|
||||||
"path": "swashbuckle.aspnetcore.swaggergen/6.2.3",
|
|
||||||
"files": [
|
|
||||||
".nupkg.metadata",
|
|
||||||
".signature.p7s",
|
|
||||||
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
|
|
||||||
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
|
|
||||||
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
|
|
||||||
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
|
|
||||||
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
|
|
||||||
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
|
|
||||||
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
|
|
||||||
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
|
|
||||||
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
|
|
||||||
"swashbuckle.aspnetcore.swaggergen.6.2.3.nupkg.sha512",
|
|
||||||
"swashbuckle.aspnetcore.swaggergen.nuspec"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore.SwaggerUI/6.2.3": {
|
|
||||||
"sha512": "bCRI87uKJVb4G+KURWm8LQrL64St04dEFZcF6gIM67Zc0Sr/N47EO83ybLMYOvfNdO1DCv8xwPcrz9J/VEhQ5g==",
|
|
||||||
"type": "package",
|
|
||||||
"path": "swashbuckle.aspnetcore.swaggerui/6.2.3",
|
|
||||||
"files": [
|
|
||||||
".nupkg.metadata",
|
|
||||||
".signature.p7s",
|
|
||||||
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
|
|
||||||
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
|
|
||||||
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
|
|
||||||
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
|
|
||||||
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
|
|
||||||
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
|
|
||||||
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
|
|
||||||
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
|
|
||||||
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
|
|
||||||
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
|
|
||||||
"swashbuckle.aspnetcore.swaggerui.6.2.3.nupkg.sha512",
|
|
||||||
"swashbuckle.aspnetcore.swaggerui.nuspec"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"projectFileDependencyGroups": {
|
|
||||||
"net6.0": [
|
|
||||||
"Npgsql >= 6.0.7",
|
|
||||||
"Swashbuckle.AspNetCore >= 6.2.3"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packageFolders": {
|
|
||||||
"C:\\Users\\Admin\\.nuget\\packages\\": {}
|
|
||||||
},
|
|
||||||
"project": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"restore": {
|
|
||||||
"projectUniqueName": "D:\\Programming\\CSharp\\NeDvachAPI\\NeDvachAPI\\NeDvachAPI.csproj",
|
|
||||||
"projectName": "NeDvachAPI",
|
|
||||||
"projectPath": "D:\\Programming\\CSharp\\NeDvachAPI\\NeDvachAPI\\NeDvachAPI.csproj",
|
|
||||||
"packagesPath": "C:\\Users\\Admin\\.nuget\\packages\\",
|
|
||||||
"outputPath": "D:\\Programming\\CSharp\\NeDvachAPI\\NeDvachAPI\\obj\\",
|
|
||||||
"projectStyle": "PackageReference",
|
|
||||||
"configFilePaths": [
|
|
||||||
"C:\\Users\\Admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
|
||||||
],
|
|
||||||
"originalTargetFrameworks": [
|
|
||||||
"net6.0"
|
|
||||||
],
|
|
||||||
"sources": {
|
|
||||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
|
||||||
"https://api.nuget.org/v3/index.json": {}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net6.0": {
|
|
||||||
"targetAlias": "net6.0",
|
|
||||||
"projectReferences": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"warningProperties": {
|
|
||||||
"warnAsError": [
|
|
||||||
"NU1605"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net6.0": {
|
|
||||||
"targetAlias": "net6.0",
|
|
||||||
"dependencies": {
|
|
||||||
"Npgsql": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[6.0.7, )"
|
|
||||||
},
|
|
||||||
"Swashbuckle.AspNetCore": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[6.2.3, )"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"imports": [
|
|
||||||
"net461",
|
|
||||||
"net462",
|
|
||||||
"net47",
|
|
||||||
"net471",
|
|
||||||
"net472",
|
|
||||||
"net48",
|
|
||||||
"net481"
|
|
||||||
],
|
|
||||||
"assetTargetFallback": true,
|
|
||||||
"warn": true,
|
|
||||||
"frameworkReferences": {
|
|
||||||
"Microsoft.AspNetCore.App": {
|
|
||||||
"privateAssets": "none"
|
|
||||||
},
|
|
||||||
"Microsoft.NETCore.App": {
|
|
||||||
"privateAssets": "all"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.401\\RuntimeIdentifierGraph.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 2,
|
|
||||||
"dgSpecHash": "VZZJDEVtV6AJm7VuhECtp/QdzHlwVUIgRoFQWt3dO2bFK2SsLwcYXEsqbKup9UymFtCMtNHVhrIiLNgVlI/OkA==",
|
|
||||||
"success": true,
|
|
||||||
"projectFilePath": "D:\\Programming\\CSharp\\NeDvachAPI\\NeDvachAPI\\NeDvachAPI.csproj",
|
|
||||||
"expectedPackageFiles": [
|
|
||||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.apidescription.server\\3.0.0\\microsoft.extensions.apidescription.server.3.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.openapi\\1.2.3\\microsoft.openapi.1.2.3.nupkg.sha512",
|
|
||||||
"C:\\Users\\Admin\\.nuget\\packages\\npgsql\\6.0.7\\npgsql.6.0.7.nupkg.sha512",
|
|
||||||
"C:\\Users\\Admin\\.nuget\\packages\\swashbuckle.aspnetcore\\6.2.3\\swashbuckle.aspnetcore.6.2.3.nupkg.sha512",
|
|
||||||
"C:\\Users\\Admin\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\6.2.3\\swashbuckle.aspnetcore.swagger.6.2.3.nupkg.sha512",
|
|
||||||
"C:\\Users\\Admin\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\6.2.3\\swashbuckle.aspnetcore.swaggergen.6.2.3.nupkg.sha512",
|
|
||||||
"C:\\Users\\Admin\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.2.3\\swashbuckle.aspnetcore.swaggerui.6.2.3.nupkg.sha512",
|
|
||||||
"C:\\Users\\Admin\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
|
|
||||||
],
|
|
||||||
"logs": []
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
2.0
|
|
||||||
Reference in New Issue
Block a user