@onroad/core 4.0.0-alpha.1 → 4.0.0-alpha.10

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 (42) hide show
  1. package/README.md +444 -8
  2. package/dist/OnRoadExpress.d.ts.map +1 -1
  3. package/dist/OnRoadExpress.js +12 -3
  4. package/dist/OnRoadExpress.js.map +1 -1
  5. package/dist/container/Container.d.ts +1 -1
  6. package/dist/container/Container.d.ts.map +1 -1
  7. package/dist/container/Container.js +15 -6
  8. package/dist/container/Container.js.map +1 -1
  9. package/dist/core/AbstractService.d.ts +12 -0
  10. package/dist/core/AbstractService.d.ts.map +1 -1
  11. package/dist/core/AbstractService.js +14 -0
  12. package/dist/core/AbstractService.js.map +1 -1
  13. package/dist/core/index.d.ts +1 -1
  14. package/dist/core/index.d.ts.map +1 -1
  15. package/dist/database/ConnectionManager.d.ts +1 -0
  16. package/dist/database/ConnectionManager.d.ts.map +1 -1
  17. package/dist/database/ConnectionManager.js +2 -0
  18. package/dist/database/ConnectionManager.js.map +1 -1
  19. package/dist/dev/DevServer.d.ts +51 -0
  20. package/dist/dev/DevServer.d.ts.map +1 -0
  21. package/dist/dev/DevServer.js +404 -0
  22. package/dist/dev/DevServer.js.map +1 -0
  23. package/dist/dev/MigrationCLI.d.ts +19 -0
  24. package/dist/dev/MigrationCLI.d.ts.map +1 -0
  25. package/dist/dev/MigrationCLI.js +140 -0
  26. package/dist/dev/MigrationCLI.js.map +1 -0
  27. package/dist/dev/index.d.ts +5 -0
  28. package/dist/dev/index.d.ts.map +1 -0
  29. package/dist/dev/index.js +3 -0
  30. package/dist/dev/index.js.map +1 -0
  31. package/dist/entity/EntityRegistry.d.ts +25 -0
  32. package/dist/entity/EntityRegistry.d.ts.map +1 -1
  33. package/dist/entity/EntityRegistry.js +130 -4
  34. package/dist/entity/EntityRegistry.js.map +1 -1
  35. package/dist/entity/decorators.d.ts +1 -0
  36. package/dist/entity/decorators.d.ts.map +1 -1
  37. package/dist/entity/decorators.js.map +1 -1
  38. package/dist/index.d.ts +3 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -0
  41. package/dist/index.js.map +1 -1
  42. package/package.json +6 -2
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > TypeScript backend framework for multi-tenant Express APIs — DI Container, Filter Chain, EventBus, Provider Pattern.
4
4
 
5
- **v4.0.0-alpha.0** — Full TypeScript rewrite of the onRoad framework.
5
+ **v4.0.0-alpha.1** — Full TypeScript rewrite of the onRoad framework.
6
6
 
7
7
  ---
8
8
 
@@ -25,8 +25,11 @@
25
25
  - [Storage](#storage)
26
26
  - [Health Endpoint](#health-endpoint)
27
27
  - [Graceful Shutdown](#graceful-shutdown)
28
+ - [Local Development (DevServer)](#local-development-devserver)
29
+ - [Migration CLI](#migration-cli)
28
30
  - [Testing](#testing)
29
31
  - [Subpath Exports](#subpath-exports)
32
+ - [Known Pitfalls](#known-pitfalls)
30
33
 
31
34
  ---
32
35
 
@@ -600,7 +603,7 @@ await app.shutdown()
600
603
 
601
604
  ## Testing
602
605
 
603
- TypeRoad uses [Vitest](https://vitest.dev/) with **223 tests** across 9 test files:
606
+ TypeRoad uses [Vitest](https://vitest.dev/) with **242 tests** across 10 test files:
604
607
 
605
608
  ```bash
606
609
  npm test # Run all tests
@@ -610,7 +613,7 @@ npm run test:coverage # Coverage report
610
613
 
611
614
  | Test File | Tests | Covers |
612
615
  |-----------|-------|--------|
613
- | `container.test.ts` | 16 | DI Container, decorators, scopes |
616
+ | `container.test.ts` | 19 | DI Container, decorators, scopes |
614
617
  | `entity.test.ts` | 14 | Entity, Column, associations |
615
618
  | `database.test.ts` | 13 | ConnectionManagers |
616
619
  | `filters.test.ts` | 33 | FilterChain, all 5 built-in filters |
@@ -619,6 +622,7 @@ npm run test:coverage # Coverage report
619
622
  | `logging.test.ts` | 20 | PinoLogger, OnRoadLogger |
620
623
  | `providers.test.ts` | 41 | All 4 providers, graceful-fail, shutdown |
621
624
  | `transport.test.ts` | 25 | HttpTransport, MessagingTransport, TransportFactory, RequestContext |
625
+ | `dev.test.ts` | 16 | DevServer, MigrationCLI |
622
626
 
623
627
  ---
624
628
 
@@ -631,21 +635,184 @@ src/
631
635
  ├── container/ # DI Container + decorators
632
636
  ├── context/ # RequestContext (AsyncLocalStorage)
633
637
  ├── core/ # AbstractController/Service/Repository, Sentinel, EventBus
638
+ ├── database/ # ConnectionManager abstract + Sequelize/Mongo implementations
639
+ │ └── migrations/ # MigrationRunner (Umzug)
640
+ ├── dev/ # DevServer, MigrationCLI — local dev tools
634
641
  ├── entity/ # @Entity, @Column, @Field, associations
635
642
  ├── filters/ # FilterChain, @Filter, built-in filters (Cors, JWT, Tenant, Role, RequestContext)
636
- ├── security/ # @Roles, @Public
637
- ├── database/ # ConnectionManager abstract + Sequelize/Mongo implementations
638
- ├── transport/ # InterServiceTransport, HttpTransport, MessagingTransport, TransportFactory
639
- ├── messaging/ # MatchingObject
640
- ├── providers/ # MessagingProvider, RealtimeProvider, TaskSchedulerProvider, SocketProvider
641
643
  ├── logging/ # OnRoadLogger interface + PinoLogger
644
+ ├── messaging/ # MatchingObject
642
645
  ├── plugins/ # OnRoadPlugin interface
646
+ ├── providers/ # MessagingProvider, RealtimeProvider, TaskSchedulerProvider, SocketProvider
647
+ ├── security/ # @Roles, @Public
643
648
  ├── storage/ # StorageProvider abstract
649
+ ├── transport/ # InterServiceTransport, HttpTransport, MessagingTransport, TransportFactory
644
650
  └── types/ # Express Request augmentation
645
651
  ```
646
652
 
647
653
  ---
648
654
 
655
+ ## Local Development (DevServer)
656
+
657
+ TypeRoad includes a `DevServer` that makes local development self-sufficient — it starts database containers, runs migrations, and logs all environment variables your frontend needs.
658
+
659
+ ### Quick Start
660
+
661
+ ```ts
662
+ import "reflect-metadata"
663
+ import { OnRoadExpress } from "@onroad/core"
664
+ import { SequelizeConnectionManager } from "@onroad/core/database"
665
+ import { DevServer } from "@onroad/core/dev"
666
+
667
+ const app = new OnRoadExpress({
668
+ connections: [
669
+ new SequelizeConnectionManager({
670
+ dialect: "postgres",
671
+ host: "localhost",
672
+ port: 5432,
673
+ user: "typeroad",
674
+ password: "typeroad_dev",
675
+ database: "typeroad_dev",
676
+ migrations: {
677
+ path: "./src/migrations",
678
+ runOnConnect: true,
679
+ },
680
+ }),
681
+ ],
682
+ })
683
+
684
+ // Register your controllers, services, repositories...
685
+ app.register([/* ... */])
686
+
687
+ const devServer = new DevServer({
688
+ app,
689
+ databases: [{ engine: "postgres", port: 5432 }],
690
+ migrationsPath: "./src/migrations",
691
+ tenants: ["default"],
692
+ frontendVars: {
693
+ REACT_APP_TENANT: "default",
694
+ REACT_APP_WS_URL: "ws://localhost:3000",
695
+ },
696
+ })
697
+
698
+ await devServer.start({ port: 3000 })
699
+ // Press Ctrl+C to stop
700
+ ```
701
+
702
+ ### What DevServer Does
703
+
704
+ 1. **Generates `docker-compose.dev.yml`** — PostgreSQL (or MySQL) container with healthcheck, volumes, and sensible defaults
705
+ 2. **Starts the container** — `docker compose up -d` automatically
706
+ 3. **Waits for readiness** — polls `pg_isready` / `mysqladmin ping` until the DB accepts connections
707
+ 4. **Runs migrations** — applies all pending Umzug migrations from your configured path
708
+ 5. **Starts the API server** — calls `app.buildServer()` as usual
709
+ 6. **Logs frontend env vars** — prints a copy-pasteable block and writes `.env.dev`:
710
+
711
+ ```
712
+ ┌──────────────────────────────────────────────────────────────┐
713
+ │ FRONTEND ENVIRONMENT VARIABLES │
714
+ ├──────────────────────────────────────────────────────────────┤
715
+ │ REACT_APP_API_URL=http://localhost:3000
716
+ │ NEXT_PUBLIC_API_URL=http://localhost:3000
717
+ │ VITE_API_URL=http://localhost:3000
718
+ │ DATABASE_URL=postgresql://typeroad:typeroad_dev@localhost:5432/typeroad_dev
719
+ │ REACT_APP_TENANT=default
720
+ └──────────────────────────────────────────────────────────────┘
721
+ ```
722
+
723
+ ### DevServer Config
724
+
725
+ | Option | Type | Default | Description |
726
+ |--------|------|---------|-------------|
727
+ | `app` | `OnRoadExpress` | required | The app instance |
728
+ | `databases` | `DevDatabaseConfig[]` | `[{ engine: "postgres" }]` | Database containers to start |
729
+ | `frontendVars` | `Record<string, string>` | `{}` | Extra vars to log for frontend |
730
+ | `migrationsPath` | `string` | — | Path to migration files |
731
+ | `autoMigrate` | `boolean` | `true` | Run migrations on start |
732
+ | `tenants` | `string[]` | `["default"]` | Tenants to run migrations for |
733
+ | `composeFile` | `string` | `"docker-compose.dev.yml"` | Docker compose filename |
734
+
735
+ ### Database Defaults
736
+
737
+ | Engine | Image | Port | User | Password | Database |
738
+ |--------|-------|------|------|----------|----------|
739
+ | `postgres` | `postgres:16-alpine` | `5432` | `typeroad` | `typeroad_dev` | `typeroad_dev` |
740
+ | `mysql` | `mysql:8.0` | `3306` | `typeroad` | `typeroad_dev` | `typeroad_dev` |
741
+
742
+ ---
743
+
744
+ ## Migration CLI
745
+
746
+ The `MigrationCLI` class provides a programmatic API for managing database migrations.
747
+
748
+ ### Usage
749
+
750
+ ```ts
751
+ import { MigrationCLI } from "@onroad/core/dev"
752
+ import { SequelizeConnectionManager } from "@onroad/core/database"
753
+
754
+ const connection = new SequelizeConnectionManager({
755
+ dialect: "postgres",
756
+ host: "localhost",
757
+ user: "typeroad",
758
+ password: "typeroad_dev",
759
+ database: "typeroad_dev",
760
+ migrations: { path: "./src/migrations" },
761
+ })
762
+
763
+ const cli = new MigrationCLI({
764
+ migrationsPath: "./src/migrations",
765
+ connection,
766
+ tenant: "default",
767
+ })
768
+
769
+ // Run from CLI args
770
+ await cli.run() // reads process.argv
771
+
772
+ // Or call directly
773
+ cli.create("add-users-table") // creates timestamped migration file
774
+ await cli.up() // apply all pending
775
+ await cli.up(1) // apply 1 step
776
+ await cli.down() // revert last migration
777
+ await cli.status() // show status table
778
+ ```
779
+
780
+ ### CLI Commands
781
+
782
+ | Command | Description | Example |
783
+ |---------|-------------|---------|
784
+ | `create <name>` | Create a new migration file | `cli.run(["create", "add-orders"])` |
785
+ | `up [steps]` | Apply pending migrations | `cli.run(["up"])` or `cli.run(["up", "3"])` |
786
+ | `down [steps]` | Revert migrations (default: 1) | `cli.run(["down", "2"])` |
787
+ | `status` | Show applied/pending status | `cli.run(["status"])` |
788
+
789
+ ### Migration File Format
790
+
791
+ Generated `.ts` files follow the Umzug/Sequelize pattern:
792
+
793
+ ```ts
794
+ import type { QueryInterface, Sequelize } from "sequelize"
795
+
796
+ export default {
797
+ async up(queryInterface: QueryInterface, sequelize: Sequelize): Promise<void> {
798
+ await queryInterface.createTable("ordens", {
799
+ id: { type: sequelize.constructor["DataTypes"].UUID, primaryKey: true },
800
+ descricao: { type: sequelize.constructor["DataTypes"].STRING, allowNull: false },
801
+ createdAt: sequelize.constructor["DataTypes"].DATE,
802
+ updatedAt: sequelize.constructor["DataTypes"].DATE,
803
+ })
804
+ },
805
+
806
+ async down(queryInterface: QueryInterface): Promise<void> {
807
+ await queryInterface.dropTable("ordens")
808
+ },
809
+ }
810
+ ```
811
+
812
+ Migration state is tracked in the `__typeroad_migrations` table (configurable via `tableName` in `MigrationConfig`).
813
+
814
+ ---
815
+
649
816
  ## Subpath Exports
650
817
 
651
818
  Import only what you need:
@@ -661,6 +828,275 @@ import { HttpTransport, TransportFactory } from "@onroad/core/transport" // Tran
661
828
  import { MatchingObject } from "@onroad/core/messaging" // Messaging
662
829
  import { PinoLogger } from "@onroad/core/logging" // Logging
663
830
  import { StorageProvider } from "@onroad/core/storage" // Storage
831
+ import { DevServer, MigrationCLI } from "@onroad/core/dev" // Dev Tools
832
+ ```
833
+
834
+ ---
835
+
836
+ ## Known Pitfalls
837
+
838
+ ### Controller base path must not be empty
839
+
840
+ Always pass `/` or a non-empty path to `@Controller()`. An empty string is falsy and previously caused the route guard to **silently drop all routes** of that controller.
841
+
842
+ ```ts
843
+ // ❌ Wrong — all routes silently skipped
844
+ @Controller("")
845
+ class UserController extends AbstractController<UserService> { ... }
846
+
847
+ // ✅ Correct — root-level routes
848
+ @Controller("/")
849
+ class UserController extends AbstractController<UserService> { ... }
850
+
851
+ // ✅ Correct — prefixed routes
852
+ @Controller("/users")
853
+ class UserController extends AbstractController<UserService> { ... }
854
+ ```
855
+
856
+ > Since **v4.0.0-alpha.1** the path guard was tightened (`basePath === undefined || basePath === null`) and paths are normalized (`//auth` → `/auth`), so `@Controller("/")` + route `"/auth"` resolves correctly to `/auth` instead of `//auth`.
857
+
858
+ ---
859
+
860
+ ### Circular service dependencies
861
+
862
+ When two services reference each other (e.g. `UserService ↔ CompanyService`), eager instantiation inside `configDependencies()` causes a `RangeError: Maximum call stack size exceeded` at startup because the constructors recurse infinitely.
863
+
864
+ ```ts
865
+ // ❌ Wrong — infinite recursion on startup
866
+ @Service()
867
+ class UserService extends AbstractService<UserRepository> {
868
+ companySVC!: CompanyService
869
+
870
+ configDependencies() {
871
+ this.companySVC = new CompanyService() // → CompanyService() → new UserService() → ...
872
+ }
873
+ }
874
+ ```
875
+
876
+ Fix: replace the eager field with a **lazy getter**. The getter body only runs on first access, never during construction, which breaks the cycle:
877
+
878
+ ```ts
879
+ // ✅ Correct — lazy getter breaks the circular chain
880
+ @Service()
881
+ class UserService extends AbstractService<UserRepository> {
882
+ private _companySVC?: CompanyService
883
+
884
+ protected get companySVC(): CompanyService {
885
+ if (!this._companySVC) this._companySVC = new CompanyService()
886
+ return this._companySVC
887
+ }
888
+ }
889
+
890
+ @Service()
891
+ class CompanyService extends AbstractService<CompanyRepository> {
892
+ private _userSVC?: UserService
893
+
894
+ protected get userSVC(): UserService {
895
+ if (!this._userSVC) this._userSVC = new UserService()
896
+ return this._userSVC
897
+ }
898
+ }
899
+ ```
900
+
901
+ > **Why it was masked before**: the `if (!basePath)` bug meant controllers (and therefore services) were never instantiated during `buildServer()`. The circular dep crash only surfaced after fixing the route guard.
902
+
903
+ ---
904
+
905
+ ### Overriding `fullAssociation` in Repositories
906
+
907
+ When using `@onroad/core`, the `@Repository` decorator automatically builds relations and injects the `fullAssociation` property populated with the appropriate Sequelize Models. Manually overriding this property in your repository class using raw ES classes will cause crashes during runtime (e.g., `TypeError: include.model.getTableName is not a function`) because Sequelize expects internal model objects, not raw classes.
908
+
909
+ ```ts
910
+ // ❌ Wrong — overriding fullAssociation with raw ES classes crashes Sequelize
911
+ @Repository({ entity: User })
912
+ export class UserRepository extends BaseRepository<User> {
913
+ readonly fullAssociation = [{ model: FilterPref, as: "filters" }]
914
+ }
915
+ ```
916
+
917
+ **Fix:** Remove the hardcoded override. If you are extending a custom `BaseRepository` and need TypeScript to recognize the property without emitting an overriding value in the compiled JavaScript, use the `declare` modifier:
918
+
919
+ ```ts
920
+ // ✅ Correct — Let the decorator inject the value and use `declare` for typings
921
+ export abstract class BaseRepository<TEntity = unknown> extends SequelizeRepository<TEntity> {
922
+ declare readonly fullAssociation: any[] // Tells TS it exists without overriding it
923
+ }
924
+
925
+ @Repository({ entity: User })
926
+ export class UserRepository extends BaseRepository<User> {
927
+ // No fullAssociation override here!
928
+ }
929
+ ```
930
+
931
+ ---
932
+
933
+ ---
934
+
935
+ ## Migration Guide — Lessons Learned (v3 → v4)
936
+
937
+ This section documents the key issues found while migrating `teraprox-api-user` from onRoad v3 to TypeRoad v4. Use this as a checklist when migrating other APIs (`api-manutencao`, `api-processo`, etc.).
938
+
939
+ ### 1. Entity Associations — Use Decorators, Not `buildAssociations()`
940
+
941
+ v3 used `buildAssociations()` inside repositories. v4 uses decorators on entity classes. **Every association must be declared on the entity itself.**
942
+
943
+ ```ts
944
+ // ❌ v3 — Repository-based associations (REMOVE)
945
+ class UserRepository extends BaseRepository {
946
+ buildAssociations() {
947
+ this.hasMany(UserRole, "userRole")
948
+ this.belongsTo(Company, "company")
949
+ }
950
+ }
951
+
952
+ // ✅ v4 — Entity decorator associations
953
+ @Entity("user", { engine: "sequelize", timestamps: true })
954
+ class User {
955
+ @HasMany(() => UserRole, "userId")
956
+ userRole!: UserRole[]
957
+
958
+ @BelongsToMany(() => Company, () => UserCompany, "userId", "companyId")
959
+ companies!: Company[]
960
+ }
961
+ ```
962
+
963
+ **Checklist per entity:**
964
+ - Join table entities (e.g. `UserRole`, `UserSetor`, `UserCompany`) **must** declare their FK columns with `@Column` AND the `@BelongsTo` back-reference.
965
+
966
+ ```ts
967
+ @Entity("userRole", { engine: "sequelize", timestamps: true })
968
+ class UserRole {
969
+ @Column({ type: DataType.STRING })
970
+ userId!: string
971
+
972
+ @Column({ type: DataType.STRING })
973
+ roleId!: string
974
+
975
+ @BelongsTo(() => Role, "roleId")
976
+ role!: Role
977
+ }
978
+ ```
979
+
980
+ ### 2. Includes — Use String-Based Associations, Not Model References
981
+
982
+ v3 used `this.repository.fullAssociation` (injected array of `{ model: SequelizeModel }`).
983
+ v4 uses **string-based `association` names** that match the decorator property name.
984
+
985
+ ```ts
986
+ // ❌ v3 — model-based includes (CRASH: model is a raw class, not Sequelize model)
987
+ const user = await this.repository.findOne({
988
+ where: { email },
989
+ include: this.repository.fullAssociation
990
+ })
991
+
992
+ // ✅ v4 — string-based association includes
993
+ const USER_FULL_INCLUDE = [
994
+ { association: "filters" },
995
+ { association: "tickets" },
996
+ { association: "userRole" },
997
+ { association: "userSetor" }
998
+ ]
999
+ const user = await this.repository.findOne({
1000
+ where: { email },
1001
+ include: USER_FULL_INCLUDE
1002
+ })
1003
+ ```
1004
+
1005
+ **Nested includes follow the same pattern:**
1006
+ ```ts
1007
+ include: [
1008
+ {
1009
+ association: "userRole",
1010
+ include: [{ association: "role", where: { companyId }, required: false }]
1011
+ },
1012
+ {
1013
+ association: "userSetor",
1014
+ include: [{ association: "setor", where: { companyId }, required: false }]
1015
+ }
1016
+ ]
1017
+ ```
1018
+
1019
+ ### 3. Raw Queries — Use `getSequelizeConnection()`
1020
+
1021
+ v3 accessed `(this.repository as any).connection.query(...)`.
1022
+ v4 exposes this through `BaseRepository.getSequelizeConnection()`.
1023
+
1024
+ ```ts
1025
+ // ❌ v3
1026
+ const [results] = await (this.repository as any).connection.query(sql)
1027
+
1028
+ // ✅ v4 — add this method to your BaseRepository
1029
+ getSequelizeConnection() { return this.getConnection() }
1030
+
1031
+ // Usage in service:
1032
+ const [results] = await this.repository.getSequelizeConnection().query(sql)
1033
+ ```
1034
+
1035
+ ### 4. Remove `fullAssociation` from BaseRepository
1036
+
1037
+ v3 APIs declare `fullAssociation` on `BaseRepository`. **Remove it entirely** — v4 does not use it. Includes are now inline at the query site.
1038
+
1039
+ ```ts
1040
+ // ❌ v3
1041
+ export abstract class BaseRepository<T> extends SequelizeRepository<T> {
1042
+ declare readonly fullAssociation: any[]
1043
+ }
1044
+
1045
+ // ✅ v4
1046
+ export abstract class BaseRepository<T> extends SequelizeRepository<T> {
1047
+ // No fullAssociation — define includes where you query
1048
+ }
1049
+ ```
1050
+
1051
+ ### 5. Controller Return Values Are Auto-Serialized
1052
+
1053
+ v4's `OnRoadExpress` automatically calls `res.json(result)` when a controller method returns a value and `res.headersSent` is false. **Do not manually call `res.json()` in controllers if you return a value** — it will cause "headers already sent" errors.
1054
+
1055
+ ```ts
1056
+ // ✅ Just return the value — framework serializes it
1057
+ async login(form: any, req: Request, res: Response) {
1058
+ const userData = await this.service.login(form, req, res)
1059
+ return userData // Framework calls res.json(userData)
1060
+ }
1061
+ ```
1062
+
1063
+ ### 6. `BelongsToMany` Includes — Beware of Query Hangs
1064
+
1065
+ Using `BelongsToMany` associations (like `User ↔ Company` through `UserCompany`) in Sequelize `include` can cause queries to hang with large datasets or complex joins. **Avoid including BelongsToMany in default/frequent queries.** Use it only in specific methods that need it, and consider raw SQL queries for performance-critical paths.
1066
+
1067
+ ### 7. Common Migration Search Patterns
1068
+
1069
+ When migrating an API, search for these patterns and replace them:
1070
+
1071
+ | Search Pattern | Replace With |
1072
+ |---|---|
1073
+ | `this.repository.fullAssociation` | Inline `[{ association: "..." }]` array |
1074
+ | `(this.xxxRepo as any).model` | `{ association: "aliasName" }` |
1075
+ | `(this.xxxRepo as any).xxxRepo` | `{ association: "aliasName" }` |
1076
+ | `(this.repository as any).connection` | `this.repository.getSequelizeConnection()` |
1077
+ | `buildAssociations()` | `@HasMany`, `@BelongsTo`, `@HasOne`, `@BelongsToMany` on entity |
1078
+ | `{ model: SomeClass, as: "..." }` | `{ association: "..." }` |
1079
+
1080
+ ### 8. `ARRAY` Column Type
1081
+
1082
+ For PostgreSQL `varchar[]` columns, use the custom `arrayType` option:
1083
+
1084
+ ```ts
1085
+ @Column({ type: DataType.ARRAY, arrayType: DataType.STRING })
1086
+ componentesBloqueados!: string[]
1087
+ ```
1088
+
1089
+ ### 9. Env & Local Dev Setup
1090
+
1091
+ Each API needs a `.env` at its server root with:
1092
+ - `LOCAL_NO_JWT=true` — skips JWT validation for local dev
1093
+ - DB connection vars (`DB_HOST`, `DB_PORT`, `DB_USER`, `DB_PASSWORD`, `DBNAME`)
1094
+ - `TOKEN_KEY` — any string for local token signing
1095
+ - `API_PORT` — local port for the service
1096
+
1097
+ Use `cloud-sql-proxy` for connecting to GCP Cloud SQL locally:
1098
+ ```bash
1099
+ ./cloud-sql-proxy <PROJECT>:<REGION>:<INSTANCE> --port=5432
664
1100
  ```
665
1101
 
666
1102
  ---
@@ -1 +1 @@
1
- {"version":3,"file":"OnRoadExpress.d.ts","sourceRoot":"","sources":["../src/OnRoadExpress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OnRoadExpress.d.ts","sourceRoot":"","sources":["../src/OnRoadExpress.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,12 @@ import "reflect-metadata";
2
2
  import express from "express";
3
3
  import { createServer } from "http";
4
4
  import { v4 as uuidv4 } from "uuid";
5
- import { OnRoadContainer } from "./container/Container.js";
5
+ import { OnRoadContainer, METADATA_KEY } from "./container/Container.js";
6
6
  import { FilterChain, getFilterConfig, isFilterInstance, getFilterConstructor } from "./filters/FilterChain.js";
7
7
  import { getRoles } from "./security/decorators.js";
8
8
  import { RequestEventBus } from "./core/RequestEventBus.js";
9
9
  import { TransportFactory } from "./transport/TransportFactory.js";
10
+ import { EntityRegistry } from "./entity/EntityRegistry.js";
10
11
  import { PinoLogger } from "./logging/PinoLogger.js";
11
12
  import { requestContext } from "./context/RequestContext.js";
12
13
  // --- Main Class ---
@@ -109,6 +110,11 @@ export class OnRoadExpress {
109
110
  // --- Module registration ---
110
111
  register(modules) {
111
112
  this.container.scan(modules);
113
+ // Register entity classes with EntityRegistry for association wiring
114
+ const entityClasses = modules.filter((mod) => Reflect.getMetadata(METADATA_KEY.ENTITY, mod) !== undefined);
115
+ if (entityClasses.length > 0) {
116
+ EntityRegistry.registerEntityClasses(entityClasses);
117
+ }
112
118
  // Auto-discover @Filter decorated classes
113
119
  for (const mod of modules) {
114
120
  const filterConfig = getFilterConfig(mod);
@@ -162,7 +168,7 @@ export class OnRoadExpress {
162
168
  }
163
169
  // Apply registered controllers as routes
164
170
  const tenantResolver = config.tenantResolver ?? ((req) => {
165
- return req.headers["x-tenant-id"] ?? "default";
171
+ return req.tenant ?? req.headers["x-tenant-id"] ?? "default";
166
172
  });
167
173
  const controllers = this.container.getByType("controller");
168
174
  for (const meta of controllers) {
@@ -200,7 +206,10 @@ export class OnRoadExpress {
200
206
  }
201
207
  // Call the controller method
202
208
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
203
- await controller[methodName](req, res, next);
209
+ const result = await controller[methodName](req, res, next);
210
+ if (result !== undefined && !res.headersSent) {
211
+ res.json(result);
212
+ }
204
213
  }
205
214
  catch (err) {
206
215
  next(err);
@@ -1 +1 @@
1
- {"version":3,"file":"OnRoadExpress.js","sourceRoot":"","sources":["../src/OnRoadExpress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OnRoadExpress.js","sourceRoot":"","sources":["../src/OnRoadExpress.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export declare class OnRoadContainer {
43
43
  registerConnectionManager(engine: string, manager: unknown): void;
44
44
  scan(modules: Constructor[]): void;
45
45
  resolve<T>(token: Constructor<T>, scope?: RequestScope): T;
46
- private createAndWire;
46
+ private wire;
47
47
  createScope(requestId: string, tenant?: string): RequestScope;
48
48
  getControllerPath(target: Constructor): string | undefined;
49
49
  getByType(type: ClassMetadata["type"]): ClassMetadata[];
@@ -1 +1 @@
1
- {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/container/Container.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AAEpE,oBAAY,KAAK;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAA;CACnF;AAID,QAAA,MAAM,YAAY;;;;;;;;;CASR,CAAA;AAEV,OAAO,EAAE,YAAY,EAAE,CAAA;AAIvB,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAKtE;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAM3D;AAED,wBAAgB,OAAO,IAAI,cAAc,CAMxC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAMrE;AAID,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,kBAAkB,CAA6B;IAEvD,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAIjE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IAyBlC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,CAAC;IA+B1D,OAAO,CAAC,aAAa;IAqDrB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY;IAQ7D,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAI1D,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE;IAIvD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI3B,KAAK,IAAI,IAAI;CAId"}
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/container/Container.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AAEpE,oBAAY,KAAK;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAA;CACnF;AAID,QAAA,MAAM,YAAY;;;;;;;;;CASR,CAAA;AAEV,OAAO,EAAE,YAAY,EAAE,CAAA;AAIvB,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAKtE;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAM3D;AAED,wBAAgB,OAAO,IAAI,cAAc,CAMxC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAMrE;AAID,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,kBAAkB,CAA6B;IAEvD,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAIjE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IAyBlC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,CAAC;IAqC1D,OAAO,CAAC,IAAI;IAuDZ,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY;IAQ7D,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAI1D,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE;IAIvD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI3B,KAAK,IAAI,IAAI;CAId"}