Merge remote-tracking branch 'origin/master'
This commit is contained in:
97
svc/main.go
97
svc/main.go
@@ -104,7 +104,26 @@ func autoRegisterRouteV3(
|
||||
return
|
||||
}
|
||||
|
||||
// 2) ADMIN AUTO PERMISSION (module+action bazlı)
|
||||
// 2) MODULE LOOKUP AUTO SEED (permission ekranları için)
|
||||
moduleLabel := strings.TrimSpace(strings.ReplaceAll(module, "_", " "))
|
||||
if moduleLabel == "" {
|
||||
moduleLabel = module
|
||||
}
|
||||
_, err = tx.Exec(`
|
||||
INSERT INTO mk_sys_modules (code, name)
|
||||
VALUES ($1::text, $2::text)
|
||||
ON CONFLICT (code) DO UPDATE
|
||||
SET name = COALESCE(NULLIF(EXCLUDED.name, ''), mk_sys_modules.name)
|
||||
`,
|
||||
module,
|
||||
moduleLabel,
|
||||
)
|
||||
if err != nil {
|
||||
log.Printf("❌ Module seed error (%s %s): %v", method, path, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 3) ROLE PERMISSION AUTO SEED (admin=true, diğer roller=false)
|
||||
_, err = tx.Exec(`
|
||||
INSERT INTO mk_sys_role_permissions
|
||||
(role_id, module_code, action, allowed)
|
||||
@@ -112,16 +131,50 @@ func autoRegisterRouteV3(
|
||||
id,
|
||||
$1,
|
||||
$2,
|
||||
true
|
||||
CASE
|
||||
WHEN id = 3 OR LOWER(code) = 'admin' THEN true
|
||||
ELSE false
|
||||
END
|
||||
FROM dfrole
|
||||
WHERE id = 3 -- ADMIN
|
||||
ON CONFLICT DO NOTHING
|
||||
`,
|
||||
module,
|
||||
action,
|
||||
)
|
||||
if err != nil {
|
||||
log.Printf("❌ Admin perm seed error (%s %s): %v", method, path, err)
|
||||
log.Printf("❌ Role perm seed error (%s %s): %v", method, path, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 4) ROLE+DEPARTMENT PERMISSION AUTO SEED
|
||||
// Existing role+department kombinasyonlarına yeni module+action satırı açılır.
|
||||
_, err = tx.Exec(`
|
||||
WITH role_dept_scope AS (
|
||||
SELECT DISTINCT role_id, department_code
|
||||
FROM mk_sys_role_department_permissions
|
||||
UNION
|
||||
SELECT 3 AS role_id, d.code AS department_code
|
||||
FROM mk_dprt d
|
||||
)
|
||||
INSERT INTO mk_sys_role_department_permissions
|
||||
(role_id, department_code, module_code, action, allowed)
|
||||
SELECT
|
||||
rds.role_id,
|
||||
rds.department_code,
|
||||
$1,
|
||||
$2,
|
||||
CASE
|
||||
WHEN rds.role_id = 3 THEN true
|
||||
ELSE false
|
||||
END
|
||||
FROM role_dept_scope rds
|
||||
ON CONFLICT DO NOTHING
|
||||
`,
|
||||
module,
|
||||
action,
|
||||
)
|
||||
if err != nil {
|
||||
log.Printf("❌ Role+Dept perm seed error (%s %s): %v", method, path, err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -265,6 +318,41 @@ func InitRoutes(pgDB *sql.DB, mssql *sql.DB, ml *mailer.GraphMailer) *mux.Router
|
||||
"system", "update",
|
||||
wrapV3(routes.SaveMarketMailMappingHandler(pgDB)),
|
||||
)
|
||||
bindV3(r, pgDB,
|
||||
"/api/language/translations", "GET",
|
||||
"language", "update",
|
||||
wrapV3(routes.GetTranslationRowsHandler(pgDB)),
|
||||
)
|
||||
bindV3(r, pgDB,
|
||||
"/api/language/translations/{id}", "PUT",
|
||||
"language", "update",
|
||||
wrapV3(routes.UpdateTranslationRowHandler(pgDB)),
|
||||
)
|
||||
bindV3(r, pgDB,
|
||||
"/api/language/translations/upsert-missing", "POST",
|
||||
"language", "update",
|
||||
wrapV3(routes.UpsertMissingTranslationsHandler(pgDB)),
|
||||
)
|
||||
bindV3(r, pgDB,
|
||||
"/api/language/translations/sync-sources", "POST",
|
||||
"language", "update",
|
||||
wrapV3(routes.SyncTranslationSourcesHandler(pgDB, mssql)),
|
||||
)
|
||||
bindV3(r, pgDB,
|
||||
"/api/language/translations/translate-selected", "POST",
|
||||
"language", "update",
|
||||
wrapV3(routes.TranslateSelectedTranslationsHandler(pgDB)),
|
||||
)
|
||||
bindV3(r, pgDB,
|
||||
"/api/language/translations/bulk-approve", "POST",
|
||||
"language", "update",
|
||||
wrapV3(routes.BulkApproveTranslationsHandler(pgDB)),
|
||||
)
|
||||
bindV3(r, pgDB,
|
||||
"/api/language/translations/bulk-update", "POST",
|
||||
"language", "update",
|
||||
wrapV3(routes.BulkUpdateTranslationsHandler(pgDB)),
|
||||
)
|
||||
|
||||
// ============================================================
|
||||
// PERMISSIONS
|
||||
@@ -777,6 +865,7 @@ func main() {
|
||||
// 🌍 SERVER
|
||||
// -------------------------------------------------------
|
||||
router := InitRoutes(pgDB, db.MssqlDB, graphMailer)
|
||||
startTranslationSyncScheduler(pgDB, db.MssqlDB)
|
||||
|
||||
handler := enableCORS(
|
||||
middlewares.GlobalAuthMiddleware(
|
||||
|
||||
Reference in New Issue
Block a user