89 lines
3.2 KiB
C#
89 lines
3.2 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Threading.Tasks;
|
|||
|
|
|
|||
|
|
namespace Database.Tenants
|
|||
|
|
{
|
|||
|
|
internal class Class1
|
|||
|
|
{
|
|||
|
|
private async Task InsertInitialData(string schema)
|
|||
|
|
{
|
|||
|
|
// Indsæt roles
|
|||
|
|
var insertRoles = $@"
|
|||
|
|
INSERT INTO {schema}.roles (name) VALUES
|
|||
|
|
('SYSTEM_ADMIN'),
|
|||
|
|
('TENANT_ADMIN'),
|
|||
|
|
('POWER_USER'),
|
|||
|
|
('BASIC_USER')";
|
|||
|
|
await _db.ExecuteAsync(insertRoles);
|
|||
|
|
|
|||
|
|
// Indsæt permissions
|
|||
|
|
var insertPermissions = $@"
|
|||
|
|
INSERT INTO {schema}.permissions (name) VALUES
|
|||
|
|
('OVERVIEW_VIEW'),
|
|||
|
|
('CALENDAR_VIEW'),
|
|||
|
|
('SALES_VIEW'),
|
|||
|
|
('CUSTOMERS_VIEW'),
|
|||
|
|
('POS_VIEW'),
|
|||
|
|
('STATISTICS_VIEW')";
|
|||
|
|
await _db.ExecuteAsync(insertPermissions);
|
|||
|
|
|
|||
|
|
// Indsæt role permissions for system admin (får alle permissions)
|
|||
|
|
var insertAdminPermissions = $@"
|
|||
|
|
INSERT INTO {schema}.role_permissions (role_id, permission_id)
|
|||
|
|
SELECT
|
|||
|
|
(SELECT id FROM {schema}.roles WHERE name = 'SYSTEM_ADMIN'),
|
|||
|
|
id
|
|||
|
|
FROM {schema}.permissions";
|
|||
|
|
await _db.ExecuteAsync(insertAdminPermissions);
|
|||
|
|
|
|||
|
|
// Indsæt navigation templates
|
|||
|
|
var insertTemplates = $@"
|
|||
|
|
INSERT INTO {schema}.navigation_link_templates
|
|||
|
|
(url, permission_id, icon, default_order)
|
|||
|
|
VALUES
|
|||
|
|
('/overview',
|
|||
|
|
(SELECT id FROM {schema}.permissions WHERE name = 'OVERVIEW_VIEW'),
|
|||
|
|
'home', 10),
|
|||
|
|
('/calendar',
|
|||
|
|
(SELECT id FROM {schema}.permissions WHERE name = 'CALENDAR_VIEW'),
|
|||
|
|
'calendar', 20),
|
|||
|
|
('/sales',
|
|||
|
|
(SELECT id FROM {schema}.permissions WHERE name = 'SALES_VIEW'),
|
|||
|
|
'shopping-cart', 30),
|
|||
|
|
('/customers',
|
|||
|
|
(SELECT id FROM {schema}.permissions WHERE name = 'CUSTOMERS_VIEW'),
|
|||
|
|
'users', 40),
|
|||
|
|
('/pos',
|
|||
|
|
(SELECT id FROM {schema}.permissions WHERE name = 'POS_VIEW'),
|
|||
|
|
'credit-card', 50),
|
|||
|
|
('/statistics',
|
|||
|
|
(SELECT id FROM {schema}.permissions WHERE name = 'STATISTICS_VIEW'),
|
|||
|
|
'chart-bar', 60)";
|
|||
|
|
await _db.ExecuteAsync(insertTemplates);
|
|||
|
|
|
|||
|
|
// Indsæt translations
|
|||
|
|
var insertTranslations = $@"
|
|||
|
|
INSERT INTO {schema}.navigation_link_template_translations
|
|||
|
|
(template_id, language, display_name)
|
|||
|
|
VALUES
|
|||
|
|
(1, 'da-DK', 'Overblik'),
|
|||
|
|
(1, 'en-US', 'Overview'),
|
|||
|
|
(2, 'da-DK', 'Kalender'),
|
|||
|
|
(2, 'en-US', 'Calendar'),
|
|||
|
|
(3, 'da-DK', 'Salg'),
|
|||
|
|
(3, 'en-US', 'Sales'),
|
|||
|
|
(4, 'da-DK', 'Kunder'),
|
|||
|
|
(4, 'en-US', 'Customers'),
|
|||
|
|
(5, 'da-DK', 'Kassesystem'),
|
|||
|
|
(5, 'en-US', 'POS System'),
|
|||
|
|
(6, 'da-DK', 'Statistik'),
|
|||
|
|
(6, 'en-US', 'Statistics')";
|
|||
|
|
await _db.ExecuteAsync(insertTranslations);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|