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