Merge pull request #2 from jtom38/features/database-project
This commit is contained in:
commit
549953ca61
@ -0,0 +1,72 @@
|
|||||||
|
-- +goose Up
|
||||||
|
-- +goose StatementBegin
|
||||||
|
SELECT 'up SQL query';
|
||||||
|
CREATE TABLE Articles (
|
||||||
|
ID uuid PRIMARY KEY,
|
||||||
|
SourceId uuid NOT null,
|
||||||
|
Tags TEXT NOT NULL,
|
||||||
|
Title TEXT NOT NULL,
|
||||||
|
Url TEXT NOT NULL,
|
||||||
|
PubDate timestamp NOT NULL,
|
||||||
|
Video TEXT,
|
||||||
|
VideoHeight int NOT NULL,
|
||||||
|
VideoWidth int NOT NULL,
|
||||||
|
Thumbnail TEXT NOT NULL,
|
||||||
|
Description TEXT NOT NULL,
|
||||||
|
AuthorName TEXT,
|
||||||
|
AuthorImage TEXT
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE Table DiscordQueue (
|
||||||
|
ID uuid PRIMARY KEY,
|
||||||
|
ArticleId uuid NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE Table DiscordWebHooks (
|
||||||
|
ID uuid PRIMARY KEY,
|
||||||
|
Name TEXT NOT NULL, -- Defines webhook purpose
|
||||||
|
Key TEXT,
|
||||||
|
Url TEXT NOT NULL, -- Webhook Url
|
||||||
|
Server TEXT NOT NULL, -- Defines the server its bound it. Used for refrence
|
||||||
|
Channel TEXT NOT NULL, -- Defines the channel its bound to. Used for refrence
|
||||||
|
Enabled BOOLEAN NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE Table Icons (
|
||||||
|
ID uuid PRIMARY Key,
|
||||||
|
FileName TEXT NOT NULL,
|
||||||
|
Site TEXT NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
Create Table Settings (
|
||||||
|
ID uuid PRIMARY Key,
|
||||||
|
Key TEXT NOT NULL, -- How you search for a entry
|
||||||
|
Value TEXT NOT NULL, -- The value for one
|
||||||
|
Options TEXT -- any notes about the entry
|
||||||
|
);
|
||||||
|
|
||||||
|
Create Table Sources (
|
||||||
|
ID uuid PRIMARY Key,
|
||||||
|
Site TEXT NOT NULL, -- Vanity name
|
||||||
|
Name TEXT NOT NULL, -- Defines the name of the source. IE: dadjokes
|
||||||
|
Source TEXT NOT NULL, -- Defines the service that will use this reocrd. IE reddit or youtube
|
||||||
|
Type TEXT NOT NULL, -- Defines what kind of feed this is. feed, user, tag
|
||||||
|
Value TEXT,
|
||||||
|
Enabled BOOLEAN NOT NULL,
|
||||||
|
Url TEXT NOT NULL,
|
||||||
|
Tags TEXT NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- +goose StatementEnd
|
||||||
|
|
||||||
|
-- +goose Down
|
||||||
|
-- +goose StatementBegin
|
||||||
|
Drop Table Articles;
|
||||||
|
Drop Table DiscordQueue;
|
||||||
|
Drop Table DiscordWebHooks;
|
||||||
|
Drop Table Icons;
|
||||||
|
Drop Table Settings;
|
||||||
|
Drop Table Sources;
|
||||||
|
-- +goose StatementEnd
|
@ -0,0 +1,50 @@
|
|||||||
|
-- +goose Up
|
||||||
|
-- +goose StatementBegin
|
||||||
|
SELECT 'up SQL query';
|
||||||
|
|
||||||
|
-- Enable UUID's
|
||||||
|
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||||||
|
|
||||||
|
-- Final Fantasy XIV Entries
|
||||||
|
INSERT INTO sources VALUES
|
||||||
|
(uuid_generate_v4(), 'ffxiv', 'Final Fantasy XIV - NA', 'ffxiv', 'scrape', 'a', TRUE, 'https://na.finalfantasyxiv.com/lodestone/', 'ffxiv, final, fantasy, xiv, na, lodestone');
|
||||||
|
INSERT INTO sources VALUES
|
||||||
|
(uuid_generate_v4(), 'ffxiv', 'Final Fantasy XIV - JP', 'ffxiv', 'scrape', 'a', FALSE, 'https://jp.finalfantasyxiv.com/lodestone/', 'ffxiv, final, fantasy, xiv, jp, lodestone');
|
||||||
|
INSERT INTO sources VALUES
|
||||||
|
(uuid_generate_v4(), 'ffxiv', 'Final Fantasy XIV - EU', 'ffxiv', 'scrape', 'a', FALSE, 'https://eu.finalfantasyxiv.com/lodestone/', 'ffxiv, final, fantasy, xiv, eu, lodestone');
|
||||||
|
INSERT INTO sources VALUES
|
||||||
|
(uuid_generate_v4(), 'ffxiv', 'Final Fantasy XIV - FR', 'ffxiv', 'scrape', 'a', FALSE, 'https://fr.finalfantasyxiv.com/lodestone/', 'ffxiv, final, fantasy, xiv, fr, lodestone');
|
||||||
|
INSERT INTO sources VALUES
|
||||||
|
(uuid_generate_v4(), 'ffxiv', 'Final Fantasy XIV - DE', 'ffxiv', 'scrape', 'a', FALSE, 'https://de.finalfantasyxiv.com/lodestone/', 'ffxiv, final, fantasy, xiv, de, lodestone');
|
||||||
|
|
||||||
|
-- Reddit Entries
|
||||||
|
INSERT INTO sources VALUES
|
||||||
|
(uuid_generate_v4(), 'reddit', 'dadjokes', 'reddit', 'feed', 'a', TRUE, 'https://reddit.com/r/dadjokes', 'reddit, dadjokes');
|
||||||
|
INSERT INTO sources VALUES
|
||||||
|
(uuid_generate_v4(), 'reddit', 'steamdeck', 'reddit', 'feed', 'a', TRUE, 'https://reddit.com/r/steamdeck', 'reddit, steam deck, steam, deck');
|
||||||
|
|
||||||
|
-- Youtube Entries
|
||||||
|
INSERT INTO sources VALUES
|
||||||
|
(uuid_generate_v4(), 'youtube', 'Game Grumps', 'youtube', 'feed', 'a', TRUE, 'https://www.youtube.com/user/GameGrumps', 'youtube, game grumps, game, grumps');
|
||||||
|
|
||||||
|
-- RSS Entries
|
||||||
|
INSERT INTO sources VALUES
|
||||||
|
(uuid_generate_v4(), 'steampowered', 'steam deck', 'rss', 'feed', 'a', TRUE, 'https://store.steampowered.com/feeds/news/app/1675200/?cc=US&l=english&snr=1_2108_9__2107', 'rss, steampowered, steam, deck, steam deck');
|
||||||
|
|
||||||
|
-- Twitch Entries
|
||||||
|
INSERT INTO sources VALUES
|
||||||
|
(uuid_generate_v4(), 'twitch', 'Nintendo', 'twitch', 'api', 'a', TRUE, 'https://twitch.tv/nintendo', 'twitch, nintendo');
|
||||||
|
|
||||||
|
-- +goose StatementEnd
|
||||||
|
|
||||||
|
-- +goose Down
|
||||||
|
-- +goose StatementBegin
|
||||||
|
--SELECT 'down SQL query';
|
||||||
|
|
||||||
|
DELETE FROM sources where source = 'reddit' and name = 'dadjokes';
|
||||||
|
DELETE FROM sources where source = 'reddit' and name = 'steamdeck';
|
||||||
|
DELETE FROM sources where source = 'ffxiv';
|
||||||
|
DELETE FROM sources WHERE source = 'twitch' and name = 'Nintendo';
|
||||||
|
DELETE FROM sources WHERE source = 'youtube' and name = 'Game Grumps';
|
||||||
|
DELETE FROM SOURCES WHERE source = 'rss' and name = 'steam deck';
|
||||||
|
-- +goose StatementEnd
|
@ -0,0 +1,21 @@
|
|||||||
|
-- +goose Up
|
||||||
|
-- +goose StatementBegin
|
||||||
|
SELECT 'up SQL query';
|
||||||
|
Create TABLE Subscriptions (
|
||||||
|
ID uuid Primary Key,
|
||||||
|
DiscordWebHookID uuid Not Null,
|
||||||
|
SourceID uuid Not Null
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE discordwebhooks drop COLUMN Name;
|
||||||
|
ALTER TABLE discordwebhooks drop COLUMN Key;
|
||||||
|
|
||||||
|
-- +goose StatementEnd
|
||||||
|
|
||||||
|
-- +goose Down
|
||||||
|
-- +goose StatementBegin
|
||||||
|
SELECT 'down SQL query';
|
||||||
|
Drop Table Subscriptions;
|
||||||
|
ALTER TABLE discordwebhooks Add COLUMN Name TEXT;
|
||||||
|
--ALTER TABLE discordwebhooks Add COLUMN Key TEXT;
|
||||||
|
-- +goose StatementEnd
|
@ -0,0 +1,11 @@
|
|||||||
|
-- +goose Up
|
||||||
|
-- +goose StatementBegin
|
||||||
|
SELECT 'up SQL query';
|
||||||
|
ALTER TABLE sources Add COLUMN Deleted BOOLEAN;
|
||||||
|
-- +goose StatementEnd
|
||||||
|
|
||||||
|
-- +goose Down
|
||||||
|
-- +goose StatementBegin
|
||||||
|
SELECT 'down SQL query';
|
||||||
|
ALTER TABLE sources Drop Deleted Deleted BOOLEAN;
|
||||||
|
-- +goose StatementEnd
|
13
Newsbot.Collector.Database/Newsbot.Collector.Database.csproj
Normal file
13
Newsbot.Collector.Database/Newsbot.Collector.Database.csproj
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Newsbot.Collector.Domain\Newsbot.Collector.Domain.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newsbot.Collector.Services"
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newsbot.Collector.Tests", "Newsbot.Collector.Tests\Newsbot.Collector.Tests.csproj", "{B677151F-5E71-4AA9-968A-D2AAB6375DE4}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newsbot.Collector.Tests", "Newsbot.Collector.Tests\Newsbot.Collector.Tests.csproj", "{B677151F-5E71-4AA9-968A-D2AAB6375DE4}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newsbot.Collector.Database", "Newsbot.Collector.Database\Newsbot.Collector.Database.csproj", "{EC10CB2C-EA71-4D0C-95AB-AC9A2A15415C}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@ -36,5 +38,9 @@ Global
|
|||||||
{B677151F-5E71-4AA9-968A-D2AAB6375DE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{B677151F-5E71-4AA9-968A-D2AAB6375DE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{B677151F-5E71-4AA9-968A-D2AAB6375DE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{B677151F-5E71-4AA9-968A-D2AAB6375DE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{B677151F-5E71-4AA9-968A-D2AAB6375DE4}.Release|Any CPU.Build.0 = Release|Any CPU
|
{B677151F-5E71-4AA9-968A-D2AAB6375DE4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{EC10CB2C-EA71-4D0C-95AB-AC9A2A15415C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{EC10CB2C-EA71-4D0C-95AB-AC9A2A15415C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{EC10CB2C-EA71-4D0C-95AB-AC9A2A15415C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{EC10CB2C-EA71-4D0C-95AB-AC9A2A15415C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
Loading…
Reference in New Issue
Block a user