2025-02-06 16:58:13 +01:00
|
|
|
|
using Insight.Database;
|
|
|
|
|
|
using System.Data;
|
|
|
|
|
|
|
2025-02-06 23:46:55 +01:00
|
|
|
|
namespace Database.NavigationSystem
|
2025-02-06 16:58:13 +01:00
|
|
|
|
{
|
2025-02-06 23:46:55 +01:00
|
|
|
|
internal class Setup
|
2025-02-06 16:58:13 +01:00
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
private readonly IDbConnection _db;
|
|
|
|
|
|
|
2025-02-06 23:46:55 +01:00
|
|
|
|
public Setup(IDbConnection db)
|
2025-02-06 16:58:13 +01:00
|
|
|
|
{
|
|
|
|
|
|
_db = db;
|
|
|
|
|
|
}
|
2025-02-06 23:46:55 +01:00
|
|
|
|
public void CreateSystem()
|
|
|
|
|
|
{
|
|
|
|
|
|
//await CreateNavigationLinkTemplatesTable(schema);
|
|
|
|
|
|
//await CreateNavigationLinkTemplateTranslationsTable(schema);
|
|
|
|
|
|
}
|
2025-02-06 16:58:13 +01:00
|
|
|
|
|
|
|
|
|
|
private async Task CreateNavigationLinkTemplatesTable(string schema)
|
|
|
|
|
|
{
|
|
|
|
|
|
var sql = $@"
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS {schema}.navigation_link_templates (
|
|
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
|
|
parent_id INTEGER NULL,
|
|
|
|
|
|
url VARCHAR(500) NOT NULL,
|
|
|
|
|
|
permission_id INTEGER NULL,
|
|
|
|
|
|
icon VARCHAR(100) NULL,
|
|
|
|
|
|
default_order INTEGER NOT NULL,
|
|
|
|
|
|
FOREIGN KEY (permission_id) REFERENCES {schema}.permissions(id),
|
|
|
|
|
|
FOREIGN KEY (parent_id) REFERENCES {schema}.navigation_link_templates(id)
|
|
|
|
|
|
)";
|
|
|
|
|
|
await _db.ExecuteAsync(sql);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private async Task CreateNavigationLinkTemplateTranslationsTable(string schema)
|
|
|
|
|
|
{
|
|
|
|
|
|
var sql = $@"
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS {schema}.navigation_link_template_translations (
|
|
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
|
|
template_id INTEGER NOT NULL,
|
|
|
|
|
|
language VARCHAR(10) NOT NULL,
|
|
|
|
|
|
display_name VARCHAR(100) NOT NULL,
|
|
|
|
|
|
FOREIGN KEY (template_id) REFERENCES {schema}.navigation_link_templates(id)
|
|
|
|
|
|
)";
|
|
|
|
|
|
await _db.ExecuteAsync(sql);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|