Kyryll O.
3451a23e8e
feat: add callAsService for service-to-service auth
...
- Add CoreService.callAsService(pluginId, path, body) method
- Signs requests with HMAC-SHA256 using REGISTRATION_KEY
- Sends X-Service-Auth header for service-to-service authentication
2026-06-04 13:28:50 +03:00
Kyryll O.
b4d214d9c3
feat: add HelpModule (HelpController, HelpService) for standardized FAQ/HELP system
...
HelpModule auto-discovers articles from help/*.md files or articles.json.
Exposes GET /api/help (articles list) and GET /api/help/:id (markdown content).
Supports i18n via {id}.{lang}.md file pattern.
2026-06-03 15:41:48 +03:00
Kyryll O.
4c31519308
chore: bump 1.10.0, publish
2026-06-01 14:31:24 +03:00
Kyryll O.
c5f43da97b
fix(sdk): requestPlugin skips cross-service 'no matching handler' errors with fallback timer
2026-06-01 14:30:29 +03:00
Кирилл Осипков
89d871e5d6
chore: bump 1.9.2, safe discoverPlugins with error handling
2026-06-01 14:06:44 +03:00
Кирилл Осипков
04cbcb791e
fix: convert endpoint kebab-case to camelCase in createReportController handlerMethod — v1.9.1
2026-06-01 11:27:41 +03:00
Кирилл Осипков
3136f0b5f4
feat: add ReportCapabilityProvider factory for report data sources — v1.9.0
2026-06-01 11:02:31 +03:00
Kyryll O
f92adbd683
feat: add DatePicker component to UIKit and CLI scaffold
2026-05-29 22:04:11 +03:00
Кирилл Осипков
25fe858c2b
feat: sync UIKit types - add Modal, Tabs, Table, SearchableSelect, MultiSelect, Typography.Small — v1.7.1
2026-05-28 12:08:39 +03:00
Кирилл Осипков
4efaa25452
feat: raw amqplib exchange publishing for inter-plugin RPC — v1.7.0
2026-05-28 11:05:49 +03:00
Кирилл Осипков
acc8c3178d
feat: inter-plugin discovery, targeted events, RPC — v1.4.0
2026-05-28 09:32:27 +03:00
Кирилл Осипков
11e1827031
docs: add inter-plugin communication (RPC + discovery) docs to README
2026-05-28 09:17:15 +03:00
Кирилл Осипков
d9c87aef0a
feat: add callPluginApi() and discoverPlugins() for inter-plugin HTTP RPC
2026-05-28 09:15:34 +03:00
Кирилл Осипков
8fd1160f79
fix: widen reflect-metadata peerDep to ^0.1.12 || ^0.2.0
2026-05-27 16:23:54 +03:00
Кирилл Осипков
02ccbaa2d5
fix: widen NestJS peerDeps to ^10.0.0 || ^11.0.0 for backward compatibility
2026-05-27 16:21:45 +03:00
Кирилл Осипков
755a093b61
fix: move @nestjs/*, rxjs, reflect-metadata to peerDependencies
...
instanceof checks for NestJS classes (TransformInterceptor, guards, etc.)
now work correctly in consuming plugins because they share the same
NestJS singletons instead of getting a separate copy from the SDK.
2026-05-27 15:10:51 +03:00
Кирилл Осипков
33f426925b
chore: add .npmrc to gitignore
2026-05-27 14:01:07 +03:00
Кирилл Осипков
6537f3c892
docs: add comprehensive README with full SDK API reference
...
feat: add AttributeAccessService for ABAC
chore: bump to v1.2.1, update CLI template dep
2026-05-27 14:00:12 +03:00
Кирилл Осипков
ff39034a14
fix: add routingKey '#' to getRabbitMQOptions so queues receive events
2026-05-27 13:15:15 +03:00
Кирилл Осипков
8f98bf8cae
chore: bump to 1.1.1
2026-05-27 12:58:59 +03:00
Кирилл Осипков
578e2bf9b3
fix(cli): include .npmrc copy in generated Dockerfile
2026-05-27 12:58:34 +03:00
Кирилл Осипков
4ac6b061a8
feat: rename to @erp/plugin-sdk, publish via Gitea Packages
2026-05-27 12:50:40 +03:00
Кирилл Осипков
d6efcc5bd1
chore: configure Gitea Packages publishing
2026-05-27 12:47:12 +03:00
Kyryll O
788acab14e
feat(cli): generate plugins with dual DB mode (self/provide)
...
- manifest.json includes "database": "self" field
- main.ts reads manifest and conditionally calls CoreService.setupDatabase()
- TypeORM with PLUGIN_DB_* -> POSTGRES_* fallback for both modes
- Example Item entity, controller, service with CRUD
- @nestjs/typeorm, typeorm, pg added to generated package.json
- Dynamic import for AppModule to support provide mode
2026-05-26 23:44:55 +03:00
Kyryll O
107af7b0f1
feat: setupDatabase returns host/port/username/password and sets PLUGIN_DB_* env vars
2026-05-26 23:28:22 +03:00
Kyryll O
975fe8ef73
fix: move all deps to dependencies for npm sub-dependency install
2026-05-26 22:57:14 +03:00
Kyryll O
d0f0bfab79
fix: setupDatabase() correctly extracts dbName from nested response
2026-05-26 22:46:26 +03:00
Kyryll O
d998ea2d85
feat: add setupDatabase() static method for core-provided DB
2026-05-26 22:16:08 +03:00
Kyryll O
d5484b074b
Update rabbitmq topic config and CLI template
2026-05-26 00:05:35 +03:00
Kyryll O
3d0dbd694b
fix: make remoteEntry resolution robust for relative paths
2026-05-25 16:04:36 +03:00
Kyryll O
90d6298f1c
Downgrade uuid to v9 and add sendNotification method
2026-05-25 15:29:00 +03:00
Kyryll O
519ecb23b2
feat: add create-erp-plugin CLI
...
A CLI that scaffolds an empty plugin in the current directory.
Usage: create-erp-plugin <plugin-name> [--port <port>]
2026-05-24 00:01:31 +03:00
Кирилл Осипков
0a2319dbef
Fix remoteEntry path
2026-05-22 15:02:03 +03:00
Кирилл Осипков
a18cef45c1
Add prepare script for NPM git installation
2026-05-22 14:41:01 +03:00
Кирилл Осипков
97e680f87c
Initial commit of ERP Plugin SDK
2026-05-22 14:40:26 +03:00