Compare commits

...

110 Commits

Author SHA1 Message Date
Simple_Not
3ac93279fb #VDK2CH-3 пробуем починку
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-30 20:41:52 +10:00
Simple_Not
764e625631 #VDK2CH-3 пробуем починку
Some checks reported errors
continuous-integration/drone/push Build was killed
2023-06-30 20:40:58 +10:00
Simple_Not
7c1c1c6824 cors?
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-20 13:30:52 +10:00
Simple_Not
ff72c9cd87 cors?
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-20 13:25:14 +10:00
Simple_Not
f7d00555c1 cors?
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-20 13:19:17 +10:00
Simple_Not
6849892075 cors?
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-20 13:05:22 +10:00
Simple_Not
820e2d31a9 cors?
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-20 12:59:09 +10:00
Simple_Not
2b1a229623 Merge branch 'master' of http://git.vdk2ch.ru:3000/RakVhalate/2chBackAPI
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-20 12:21:05 +10:00
Simple_Not
7637a40eb6 cors? 2023-06-20 11:58:33 +10:00
33eb50146e 88
All checks were successful
continuous-integration/drone/push Build is passing
2023-01-30 11:02:30 +10:00
5bc7cceb5b 148
All checks were successful
continuous-integration/drone/push Build is passing
2023-01-29 22:58:53 +10:00
af0d4a29ee 228
All checks were successful
continuous-integration/drone/push Build is passing
2023-01-29 22:49:17 +10:00
8267f83243 123
All checks were successful
continuous-integration/drone/push Build is passing
2023-01-29 22:40:06 +10:00
e16d6258c3 Previev Sorting Algorytm
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-21 12:06:10 +05:00
ecc3a4d321 123
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-20 18:45:22 +05:00
cccd45caa7 small changes
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-14 20:32:54 +05:00
2d853eaa02 Resize now keeps aspect ratio.
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-13 22:50:24 +05:00
35139d66a2 Refactoring
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-13 19:18:23 +05:00
34a625361e Изменил(а) на 'docker-compose.yml'
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-09 10:31:45 -05:00
884d994011 12345
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 23:52:08 +10:00
f76d894e4e Linux
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 21:16:42 +10:00
98e7b4e22e `1234
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 21:14:26 +10:00
0b4caa20d5 222
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 21:00:49 +10:00
2605b5d5a8 111
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 20:56:45 +10:00
1baac63e22 123
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 20:55:18 +10:00
557a74ca21 libconfig
Some checks failed
continuous-integration/drone/push Build is failing
2022-12-07 20:46:46 +10:00
388762f34f cors
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 20:35:52 +10:00
2f90c3fe40 Cors?
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 20:13:30 +10:00
d76a46a083 Cors
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 20:07:41 +10:00
32bb6d34e0 Thumbnail feature.
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 19:55:18 +10:00
10db158595 3456436
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-01 22:55:49 +10:00
d3a6161978 123
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-01 22:52:36 +10:00
67e43f4bc1 COЯS
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-01 22:08:11 +10:00
rak
c5063b8c04 did some
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-01 21:40:53 +10:00
800a8ee1b9 Cors
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-25 22:42:57 +10:00
a4b72664fd Added some folders.
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-25 22:40:17 +10:00
50a3c94af8 added buffer and some error handling
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-25 12:37:26 +10:00
f791625102 Added threads listing controller
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-24 12:56:07 +10:00
f8038d9587 cors
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-22 18:05:34 +10:00
6da7a84cab added Ip logging
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-22 18:03:38 +10:00
31ca387339 cors
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-20 12:37:36 +10:00
2c984eaf0b new structure
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-18 14:46:31 +10:00
4aab13329f added board name parameter
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-12 03:10:57 +10:00
f3a5b28a99 no sec
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-03 20:23:56 +10:00
e7d4292d82 Image upload function
Some checks failed
continuous-integration/drone/push Build is failing
2022-11-03 15:13:58 +10:00
3e9426ebd0 adding picture posting controller
Some checks failed
continuous-integration/drone/push Build is failing
2022-11-02 17:42:11 +10:00
f83b76b2de adding picture posting controller
Some checks failed
continuous-integration/drone/push Build is failing
2022-11-02 17:39:39 +10:00
b2cf921b9a fix
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-02 01:55:21 +10:00
3f580831a1 some scretches about file upload
Some checks failed
continuous-integration/drone/push Build is failing
2022-11-02 01:46:58 +10:00
016e5803a9 some scretches about file upload 2022-11-02 01:46:07 +10:00
b9d7f50cc9 some scretches about file upload 2022-11-02 01:45:42 +10:00
Simple_Not
10b0890915 not getting ip addresses
Some checks failed
continuous-integration/drone/push Build is failing
2022-11-02 01:00:29 +10:00
Simple_Not
0dc55aa9df getting ip addresses
Some checks failed
continuous-integration/drone/push Build is failing
2022-11-02 00:58:07 +10:00
Simple_Not
5228f74c49 getting ip addresses
Some checks failed
continuous-integration/drone/push Build is failing
2022-11-02 00:56:19 +10:00
Simple_Not
86d3e2d9b5 timestamp type fix
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-29 14:11:01 +10:00
Simple_Not
b3768afb91 back to VDK
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-29 13:58:32 +10:00
Simple_Not
c1edc35c28 backing up my SKOBKA
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-29 13:56:11 +10:00
Simple_Not
2c485665b0 send date
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-29 13:51:57 +10:00
Simple_Not
218484a0f1 send date
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-29 13:51:09 +10:00
Simple_Not
be02399eb0 send date
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-29 13:48:50 +10:00
Simple_Not
07de4fa972 recieve date
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-29 13:40:06 +10:00
Simple_Not
26df236ae7 recieve date
Some checks failed
continuous-integration/drone/push Build is failing
2022-10-29 13:38:24 +10:00
Simple_Not
c4e266450d ff
Some checks failed
continuous-integration/drone/push Build is failing
2022-10-29 13:37:47 +10:00
Simple_Not
75b9958b97 asdf 2022-10-29 13:36:25 +10:00
7737725327 HotFix
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-29 04:34:35 +10:00
b04841fb1d Added Timestamp Feature
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-29 04:20:10 +10:00
8b0c988a7f _
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-20 22:35:08 +10:00
2a71885a85 some fix
Some checks failed
continuous-integration/drone/push Build is failing
2022-10-20 22:28:12 +10:00
06d9835406 some fix 2022-10-20 22:24:04 +10:00
Simple_Not
0efca3b0b5 cors
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-20 13:58:39 +10:00
Simple_Not
572c1c699f cors
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-20 13:57:11 +10:00
Simple_Not
8d3839b53d cors
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-20 13:55:34 +10:00
Simple_Not
99c0e0c410 post list
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-20 11:42:03 +10:00
Simple_Not
3d5c349288 post list
Some checks failed
continuous-integration/drone/push Build is failing
2022-10-20 11:41:05 +10:00
Simple_Not
1b60bf776f post list
Some checks failed
continuous-integration/drone/push Build is failing
2022-10-20 11:39:58 +10:00
Simple_Not
e445c2bda1 post list
Some checks failed
continuous-integration/drone/push Build is failing
2022-10-20 11:38:52 +10:00
Simple_Not
f5349db697 post list 2022-10-20 11:35:59 +10:00
Simple_Not
63330d5fc0 Merge branch 'master' of http://git.vdk2ch.ru:3000/RakVhalate/2chBackAPI into master
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-20 11:17:13 +10:00
Simple_Not
806c0eaf76 cors 2022-10-20 11:17:03 +10:00
rak
7dad7f6aae Added Test echo posting2
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-18 22:40:27 +10:00
rak
13acfdc7da Added Test echo posting2
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-18 22:35:19 +10:00
rak
cd5d50f06b Added Test echo posting
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-18 22:10:33 +10:00
rak
5fee059b51 Added Test echo posting
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-18 20:35:11 +10:00
Simple_Not
c661201812 disable dotnet telemetry 2
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-18 13:07:30 +10:00
Simple_Not
52b36a98a7 disable dotnet telemetry 2022-10-18 13:06:27 +10:00
Simple_Not
30ecde0fbe tests end
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-18 13:05:11 +10:00
Simple_Not
87a0feb11b tests end
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-18 12:48:46 +10:00
Simple_Not
ca5a38a522 tests
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-18 12:47:46 +10:00
root
d008455c4c docker compose into drone-yml
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-17 22:41:36 -04:00
root
27793d764d docker compose into drone-yml
Some checks failed
continuous-integration/drone/push Build is failing
2022-10-17 22:38:58 -04:00
root
f7a3d9f065 docker compose into drone-yml
Some checks failed
continuous-integration/drone/push Build is failing
2022-10-17 22:36:17 -04:00
root
7729cae185 docker compose added
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-17 22:34:06 -04:00
eac13fb2d3 Post function modified
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
2022-10-18 01:31:20 +10:00
e73f0b04ec Post function modified 2022-10-18 01:25:59 +10:00
root
9f6b892831 added Dockerfile
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-17 11:25:12 -04:00
root
8788809c5a fdsa
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-17 07:14:31 -04:00
beb906a243 fixed ignoring
Some checks failed
continuous-integration/drone/push Build is failing
2022-10-17 21:12:43 +10:00
b6b9f0500c Merge branch 'master' of http://git.vdk2ch.ru:3000/RakVhalate/2chBackAPI
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-17 20:06:49 +10:00
142090c588 http 2022-10-17 20:06:09 +10:00
0924db0386 Http 2022-10-17 19:59:44 +10:00
root
da2899bd90 fix .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-17 01:12:08 -04:00
root
73c0df27dd asdf 2022-10-17 01:11:15 -04:00
a5fcbaf4ea Изменил(а) на '.drone.yml ' 2022-10-17 01:09:21 -04:00
e057b532de Создал(а) '.drone.yml ' 2022-10-17 01:07:55 -04:00
4a7929b8db Изменил(а) на 'README.md ' 2022-10-17 01:05:38 -04:00
a5aef87f79 Изменил(а) на 'READ' 2022-10-17 01:05:28 -04:00
b010d0c056 d 2022-10-17 01:05:20 -04:00
59928c5ebc Создал(а) 'READ' 2022-10-17 01:05:07 -04:00
3700aea681 added ignore 2022-10-17 15:00:16 +10:00
026360eec7 added ignore 2022-10-17 14:56:53 +10:00
79 changed files with 1923 additions and 1027 deletions

38
.drone.yml Normal file
View 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
View File

@@ -0,0 +1,3 @@
obj
bin
dist

12
.idea/NeDvachAPI.iml generated Normal file
View 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
View 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
View 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
View 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>

File diff suppressed because it is too large Load Diff

BIN
.vs/NeDvachAPI/v17/.suo Normal file

Binary file not shown.

BIN
.vs/NeDvachAPI/v17/.wsuo Normal file

Binary file not shown.

View File

@@ -0,0 +1,7 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\appsettings.json",
"PreviewInSolutionExplorer": false
}

BIN
.vs/slnx.sqlite Normal file

Binary file not shown.

35
.vscode/launch.json vendored Normal file
View 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
View 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"
}
]
}

View 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!");
}
}
}

View 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 ;
}
}
}

View 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("Неверный тип файла");
}
}
}

View 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("Произошла ошибка постинга");
}
}
}
}

View 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
View 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";
}
}
}

View 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);
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View File

@@ -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 ;
}
}
}

View File

@@ -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
View 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();
}
}
}

View 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;
}
}
}

View 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
View File

@@ -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
View 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
View 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; }
}
}

View File

@@ -7,8 +7,17 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Npgsql" Version="6.0.7" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
<PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.9" />
<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>
</Project>

View File

@@ -3,5 +3,9 @@
<PropertyGroup>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
<ActiveDebugProfile>NeDvachAPI</ActiveDebugProfile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>

11
Post.cs
View File

@@ -1,11 +0,0 @@
namespace NeDvachAPI
{
public class Post
{
public DateTime Date { get; set; }
public int Id { get; set; }
public string Text { get; set; }
}
}

View File

@@ -1,25 +1,44 @@
using NeDvachAPI.BufferControllers;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
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();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.UseCors();
app.UseAuthorization();
app.MapControllers();
app.Run();
app.UseHttpsRedirection();
if (BufferFill.FillBuffer("b"))
{
Console.WriteLine("Ready for work.");
app.Run();
}
else Console.WriteLine("Ошибка буферизации, проверьте доступность базы данных.");

View File

@@ -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",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:31551",
"applicationUrl": "http://0.0.0.0:31551",
"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
View File

@@ -0,0 +1,3 @@
[![Build Status](http://drone.vdk2ch.ru:38080/api/badges/RakVhalate/2chBackAPI/status.svg)](http://drone.vdk2ch.ru:38080/RakVhalate/2chBackAPI)
fdasdfs

View File

@@ -1,7 +1,7 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Default": "Debug",
"Microsoft.AspNetCore": "Warning"
}
}

View File

@@ -1,7 +1,8 @@
{
"https_port": 443,
"Logging": {
"LogLevel": {
"Default": "Information",
"Default": "Debug",
"Microsoft.AspNetCore": "Warning"
}
},

View File

@@ -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.

View File

@@ -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.

View File

@@ -1,8 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@@ -1,9 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

17
docker-compose.yml Normal file
View 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
View File

@@ -0,0 +1,5 @@
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": []
}

View File

@@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]

View File

@@ -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.

View File

@@ -1 +0,0 @@
f9459023b9fef9a54770885db55ea1d3853a31c3

View File

@@ -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 =

View File

@@ -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;

View File

@@ -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.

View File

@@ -1 +0,0 @@
12dedb350f4d8a828972342ab8cadb8b84636f3d

View File

@@ -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.

View File

@@ -1 +0,0 @@
a6493ebca4db808a4e82f8a5a5971c3d8e7c1c41

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,11 +0,0 @@
{
"Version": 1,
"Hash": "CKpyQQoJZ4dOY1eC8AChpDa2o8ZpeSfFtpkAfnF79F8=",
"Source": "NeDvachAPI",
"BasePath": "_content/NeDvachAPI",
"Mode": "Default",
"ManifestType": "Build",
"ReferencedProjectsConfiguration": [],
"DiscoveryPatterns": [],
"Assets": []
}

View File

@@ -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"
}
}
}
}
}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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"
}
}
}
}

View File

@@ -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": []
}

View File

@@ -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