mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-04 19:02:33 -06:00
добавил пользователей для сервера и роли
добавил инвайт-ссылки с ролью оператор для сервера добавил супер-админку для смены владельцев добавил уведомления о смене ролей на серверах добавил модалку для фото прям в черновике добавил UI для редактирования прав
This commit is contained in:
16
cmd/main.go
16
cmd/main.go
@@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/gin-contrib/cors"
|
||||
@@ -53,6 +54,9 @@ func main() {
|
||||
logger.Init(cfg.App.Mode)
|
||||
defer logger.Log.Sync()
|
||||
|
||||
if err := os.MkdirAll(cfg.App.StoragePath, 0755); err != nil {
|
||||
logger.Log.Fatal("Не удалось создать директорию для загрузок", zap.Error(err), zap.String("path", cfg.App.StoragePath))
|
||||
}
|
||||
logger.Log.Info("Запуск приложения rmser", zap.String("mode", cfg.App.Mode))
|
||||
|
||||
// 3. Crypto & DB
|
||||
@@ -81,7 +85,7 @@ func main() {
|
||||
|
||||
syncService := sync.NewService(rmsFactory, accountRepo, catalogRepo, recipesRepo, invoicesRepo, opsRepo, supplierRepo)
|
||||
recService := recServicePkg.NewService(recRepo)
|
||||
ocrService := ocrServicePkg.NewService(ocrRepo, catalogRepo, draftsRepo, accountRepo, pyClient)
|
||||
ocrService := ocrServicePkg.NewService(ocrRepo, catalogRepo, draftsRepo, accountRepo, pyClient, cfg.App.StoragePath)
|
||||
draftsService := draftsServicePkg.NewService(draftsRepo, ocrRepo, catalogRepo, accountRepo, supplierRepo, rmsFactory)
|
||||
|
||||
// 7. Handlers
|
||||
@@ -92,11 +96,11 @@ func main() {
|
||||
|
||||
// 8. Telegram Bot (Передаем syncService)
|
||||
if cfg.Telegram.Token != "" {
|
||||
// !!! syncService добавлен в аргументы
|
||||
bot, err := tgBot.NewBot(cfg.Telegram, ocrService, syncService, accountRepo, rmsFactory, cryptoManager)
|
||||
if err != nil {
|
||||
logger.Log.Fatal("Ошибка создания Telegram бота", zap.Error(err))
|
||||
}
|
||||
settingsHandler.SetNotifier(bot) // Внедряем зависимость
|
||||
go bot.Start()
|
||||
defer bot.Stop()
|
||||
}
|
||||
@@ -113,6 +117,10 @@ func main() {
|
||||
corsConfig.AllowHeaders = []string{"Origin", "Content-Length", "Content-Type", "Authorization", "X-Telegram-User-ID"}
|
||||
r.Use(cors.New(corsConfig))
|
||||
|
||||
// --- STATIC FILES SERVING ---
|
||||
// Раздаем папку uploads по урлу /api/uploads
|
||||
r.Static("/api/uploads", cfg.App.StoragePath)
|
||||
|
||||
api := r.Group("/api")
|
||||
|
||||
api.Use(middleware.AuthMiddleware(accountRepo, cfg.Telegram.Token))
|
||||
@@ -131,6 +139,10 @@ func main() {
|
||||
// Settings
|
||||
api.GET("/settings", settingsHandler.GetSettings)
|
||||
api.POST("/settings", settingsHandler.UpdateSettings)
|
||||
// User Management
|
||||
api.GET("/settings/users", settingsHandler.GetServerUsers)
|
||||
api.PATCH("/settings/users/:userId", settingsHandler.UpdateUserRole)
|
||||
api.DELETE("/settings/users/:userId", settingsHandler.RemoveUser)
|
||||
|
||||
// Dictionaries
|
||||
api.GET("/dictionaries", draftsHandler.GetDictionaries)
|
||||
|
||||
Reference in New Issue
Block a user