package grpc import ( pb "git.lendry.ru/lendry-erp/contracts.git/gen/go/media" "lendry-erp/media/internal/application/usecases" handler "lendry-erp/media/internal/interfaces/grpc" "google.golang.org/grpc" ) // NewServer создает и настраивает gRPC сервер с нужными перехватчиками и лимитами func NewServer(uploadUC *usecases.UploadUseCase, presignUC *usecases.PresignUseCase) *grpc.Server { server := grpc.NewServer( grpc.ChainUnaryInterceptor( RequestLoggerInterceptor, TraceIDInterceptor, ), // Увеличиваем лимит размера пакета до 50 МБ для больших файлов grpc.MaxRecvMsgSize(50*1024*1024), ) // Создаем обработчик h := handler.NewMediaHandler(uploadUC, presignUC) // Регистрируем наш сервис (здесь используется функция из media_grpc.pb.go) pb.RegisterMediaServiceServer(server, h) return server }