blockmine 1.18.3 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/CHANGELOG.md +144 -107
  2. package/backend/cli.js +59 -57
  3. package/backend/prisma/migrations/20250701190321_add/migration.sql +2 -2
  4. package/backend/prisma/migrations/20250709150611_add_run_on_startup_to_tasks/migration.sql +21 -21
  5. package/backend/prisma/migrations/20250709151124_make_cron_pattern_optional/migration.sql +21 -21
  6. package/backend/prisma/migrations/20250718181335_add_plugin_data_store/migration.sql +14 -14
  7. package/backend/prisma/migrations/20250719115906_add_plugin_owner_to_graphs/migration.sql +45 -45
  8. package/backend/prisma/migrations/20250723160648_add_bot_sort_order/migration.sql +2 -2
  9. package/backend/prisma/migrations/20250816083216_add_panel_user_bot_access/migration.sql +30 -0
  10. package/backend/prisma/migrations/migration_lock.toml +2 -2
  11. package/backend/prisma/schema.prisma +244 -229
  12. package/backend/src/api/middleware/botAccess.js +35 -0
  13. package/backend/src/api/routes/auth.js +633 -595
  14. package/backend/src/api/routes/bots.js +292 -68
  15. package/backend/src/api/routes/eventGraphs.js +459 -459
  16. package/backend/src/api/routes/servers.js +27 -0
  17. package/backend/src/core/GraphExecutionEngine.js +917 -917
  18. package/backend/src/core/PluginLoader.js +208 -86
  19. package/backend/src/core/PluginManager.js +465 -427
  20. package/backend/src/core/commands/dev.js +6 -1
  21. package/backend/src/real-time/presence.js +74 -0
  22. package/backend/src/real-time/socketHandler.js +2 -0
  23. package/backend/src/server.js +193 -186
  24. package/frontend/dist/assets/{index-BqqUSU9S.js → index-5m_JZxJ-.js} +1693 -1688
  25. package/frontend/dist/assets/index-BFd7YoAj.css +1 -0
  26. package/frontend/dist/index.html +2 -2
  27. package/package.json +1 -1
  28. package/frontend/dist/assets/index-THQP1_d3.css +0 -1
@@ -32,6 +32,33 @@ router.post('/', authorize('server:create'), async (req, res) => {
32
32
  }
33
33
  });
34
34
 
35
+ router.put('/:id', authorize('server:create'), async (req, res) => {
36
+ try {
37
+ const serverId = parseInt(req.params.id, 10);
38
+ if (isNaN(serverId)) return res.status(400).json({ error: 'Некорректный ID сервера' });
39
+
40
+ const { name, host, port, version } = req.body;
41
+ const dataToUpdate = {};
42
+ if (name !== undefined) dataToUpdate.name = name;
43
+ if (host !== undefined) dataToUpdate.host = host;
44
+ if (port !== undefined && port !== '') dataToUpdate.port = parseInt(port, 10);
45
+ if (version !== undefined) dataToUpdate.version = version;
46
+
47
+ Object.keys(dataToUpdate).forEach(k => { if (dataToUpdate[k] === undefined) delete dataToUpdate[k]; });
48
+
49
+ if (dataToUpdate.name) {
50
+ const existing = await prisma.server.findFirst({ where: { name: dataToUpdate.name, id: { not: serverId } } });
51
+ if (existing) return res.status(409).json({ error: 'Сервер с таким именем уже существует' });
52
+ }
53
+
54
+ const updated = await prisma.server.update({ where: { id: serverId }, data: dataToUpdate });
55
+ res.json(updated);
56
+ } catch (error) {
57
+ console.error('[API /api/servers] Ошибка обновления сервера:', error);
58
+ res.status(500).json({ error: 'Не удалось обновить сервер' });
59
+ }
60
+ });
61
+
35
62
  router.delete('/:id', authorize('server:delete'), async (req, res) => {
36
63
  try {
37
64
  const serverId = parseInt(req.params.id, 10);