@c9up/atlas 0.2.7 → 0.3.1
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.
- package/db.win32-x64-msvc.node +0 -0
- package/dist/AtlasProvider.d.ts.map +1 -1
- package/dist/AtlasProvider.js +54 -2
- package/dist/AtlasProvider.js.map +1 -1
- package/dist/BaseEntity.d.ts +7 -0
- package/dist/BaseEntity.d.ts.map +1 -1
- package/dist/BaseEntity.js +100 -34
- package/dist/BaseEntity.js.map +1 -1
- package/dist/BaseRepository.d.ts +1 -1
- package/dist/BaseRepository.d.ts.map +1 -1
- package/dist/BaseRepository.js +26 -14
- package/dist/BaseRepository.js.map +1 -1
- package/dist/ModelQuery.d.ts +35 -4
- package/dist/ModelQuery.d.ts.map +1 -1
- package/dist/ModelQuery.js +60 -19
- package/dist/ModelQuery.js.map +1 -1
- package/dist/decorators/entity.d.ts +10 -0
- package/dist/decorators/entity.d.ts.map +1 -1
- package/dist/decorators/entity.js +13 -0
- package/dist/decorators/entity.js.map +1 -1
- package/dist/index.d.ts +13 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/naming/NamingStrategy.d.ts +9 -1
- package/dist/naming/NamingStrategy.d.ts.map +1 -1
- package/dist/naming/NamingStrategy.js +6 -1
- package/dist/naming/NamingStrategy.js.map +1 -1
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +1 -1
- package/src/AtlasProvider.ts +81 -2
- package/src/BaseEntity.ts +140 -43
- package/src/BaseRepository.ts +27 -13
- package/src/ModelQuery.ts +82 -20
- package/src/decorators/entity.ts +21 -0
- package/src/index.ts +28 -1
- package/src/naming/NamingStrategy.ts +15 -2
|
@@ -317,6 +317,19 @@ export function getPrimaryKey(target) {
|
|
|
317
317
|
return staticPk;
|
|
318
318
|
return Reflect.getMetadata(PRIMARY_KEY, target);
|
|
319
319
|
}
|
|
320
|
+
/**
|
|
321
|
+
* The foreign key a relation falls back to when none is declared.
|
|
322
|
+
*
|
|
323
|
+
* Goes through the entity's naming strategy rather than hardcoding `_id`, so a
|
|
324
|
+
* model whose primary key is not `id` gets `user_uuid` instead of a `user_id`
|
|
325
|
+
* column that does not exist. Lucid derives it the same way
|
|
326
|
+
* (`relationForeignKey` / `relationPivotForeignKey`), and for the usual `id`
|
|
327
|
+
* the result is unchanged.
|
|
328
|
+
*/
|
|
329
|
+
export function defaultRelationForeignKey(kind, entityClass) {
|
|
330
|
+
const pk = getPrimaryKey(entityClass) ?? "id";
|
|
331
|
+
return getNamingStrategy(entityClass).relationForeignKey(kind, entityClass.name, pk);
|
|
332
|
+
}
|
|
320
333
|
/** Get relation metadata for a class (returns a copy). */
|
|
321
334
|
export function getRelationMetadata(target) {
|
|
322
335
|
return [...(Reflect.getMetadata(RELATIONS_KEY, target) ?? [])];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/decorators/entity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/decorators/entity.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import "reflect-metadata";
|
|
7
7
|
export { SQLITE_PROD_PRAGMAS } from "./AtlasProvider.js";
|
|
8
|
-
export type { AsyncDatabaseConnection, ConnectRetryOptions, ObservabilityOptions, QueryMeta, } from "./adapters/NapiDbAdapter.js";
|
|
8
|
+
export type { AsyncDatabaseConnection, ConnectRetryOptions, IsolationLevel, ObservabilityOptions, QueryMeta, TransactionOptions, } from "./adapters/NapiDbAdapter.js";
|
|
9
9
|
export { createNapiConnection } from "./adapters/NapiDbAdapter.js";
|
|
10
10
|
export type { DomainEvent } from "./BaseEntity.js";
|
|
11
11
|
export { BaseEntity } from "./BaseEntity.js";
|
|
12
12
|
export { BaseModel } from "./BaseModel.js";
|
|
13
|
-
export type { DatabaseConnection } from "./BaseRepository.js";
|
|
13
|
+
export type { CreateOptions, DatabaseConnection } from "./BaseRepository.js";
|
|
14
14
|
export { BaseRepository } from "./BaseRepository.js";
|
|
15
15
|
export { defineConfig } from "./config.js";
|
|
16
16
|
export { configure } from "./configure.js";
|
|
@@ -29,7 +29,7 @@ export { scope } from "./decorators/scope.js";
|
|
|
29
29
|
export { AtlasError, EntityNotFoundError, MassAssignmentError, OptimisticLockError, RelationNotLoadedError, } from "./errors.js";
|
|
30
30
|
export type { DbQueryEvent, DbQueryListener } from "./events.js";
|
|
31
31
|
export { clearDbQueryListeners, onDbQuery, prettyPrintQuery, } from "./events.js";
|
|
32
|
-
export { isAtlasStrictMode, ModelQuery, setAtlasStrictMode, } from "./ModelQuery.js";
|
|
32
|
+
export { isAtlasStrictMode, ModelQuery, Paginator, setAtlasStrictMode, } from "./ModelQuery.js";
|
|
33
33
|
export type { NamingStrategy } from "./naming/NamingStrategy.js";
|
|
34
34
|
export { CamelCaseNamingStrategy, defaultNamingStrategy, getNamingStrategy, } from "./naming/NamingStrategy.js";
|
|
35
35
|
export type { AtlasDialect } from "./query/native.js";
|
|
@@ -46,8 +46,18 @@ export { ColumnBuilder, Schema, TableBuilder } from "./schema/SchemaBuilder.js";
|
|
|
46
46
|
export { checkSchema, formatSchemaFindings, runSchemaCheck, type SchemaFinding, type SchemaFindingKind, suggestColumn, typesCompatible, verifySchema, } from "./schema/SchemaCheck.js";
|
|
47
47
|
export { type PgForeignKey, readSchemaDumpManifest, renderPgCreateTable, renderPgForeignKeyDdl, SchemaDumper, type SchemaDumperOptions, type SchemaDumpManifest, type SchemaDumpResult, schemaDumpManifestPath, } from "./schema/SchemaDumper.js";
|
|
48
48
|
export { BaseSeeder, runSeederDirectory, runSeeders, Seeder, } from "./schema/Seeder.js";
|
|
49
|
+
/**
|
|
50
|
+
* The vocabulary of a migration callback.
|
|
51
|
+
*
|
|
52
|
+
* `onDelete(action)`, `foreign(...)` and the alter operations all take these,
|
|
53
|
+
* so a migration that pulls one into a named constant — or a helper that wraps
|
|
54
|
+
* a column definition — needs to be able to spell the type.
|
|
55
|
+
*/
|
|
56
|
+
export type { AlterOperation, CheckExpression, CheckOperator, CheckValue, ColumnPosition, ForeignKeyReference, IndexDefinition, ReferentialAction, TableConstraintSpec, TableOptionsSpec, TextVariant, } from "./schema/types.js";
|
|
49
57
|
export type { TransactionClient } from "./Transaction.js";
|
|
50
58
|
export { transaction } from "./Transaction.js";
|
|
59
|
+
export type { TestTransaction } from "./testing/DatabaseCleanup.js";
|
|
51
60
|
export { truncateAll, useTransaction } from "./testing/DatabaseCleanup.js";
|
|
61
|
+
export type { FactoryContext } from "./testing/Factory.js";
|
|
52
62
|
export { Factory, factory } from "./testing/Factory.js";
|
|
53
63
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EACX,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -25,7 +25,10 @@ export { addHook, afterCreate, afterDelete, afterFetch, afterFind, afterPaginate
|
|
|
25
25
|
export { scope } from "./decorators/scope.js";
|
|
26
26
|
export { AtlasError, EntityNotFoundError, MassAssignmentError, OptimisticLockError, RelationNotLoadedError, } from "./errors.js";
|
|
27
27
|
export { clearDbQueryListeners, onDbQuery, prettyPrintQuery, } from "./events.js";
|
|
28
|
-
export { isAtlasStrictMode, ModelQuery,
|
|
28
|
+
export { isAtlasStrictMode, ModelQuery,
|
|
29
|
+
// What `paginate()` hands back. Unexported, an app could not name the value
|
|
30
|
+
// it had just been given.
|
|
31
|
+
Paginator, setAtlasStrictMode, } from "./ModelQuery.js";
|
|
29
32
|
export { CamelCaseNamingStrategy, defaultNamingStrategy, getNamingStrategy, } from "./naming/NamingStrategy.js";
|
|
30
33
|
export { getAtlasDialect, registerColumnCast, registerTableCasts, setAtlasDialect, } from "./query/native.js";
|
|
31
34
|
export { QueryBuilder, RawSql } from "./query/QueryBuilder.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,15 @@ export interface NamingStrategy {
|
|
|
24
24
|
serializedName(propertyName: string): string;
|
|
25
25
|
/** Local key for a belongsTo/hasMany relation (usually the parent PK). */
|
|
26
26
|
relationLocalKey(kind: "belongsTo" | "hasMany" | "hasOne" | "manyToMany", parentPk: string): string;
|
|
27
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Foreign key COLUMN name on the owning side of a relation.
|
|
29
|
+
*
|
|
30
|
+
* NAMED DEVIATION — Lucid's method of the same name returns the model
|
|
31
|
+
* ATTRIBUTE (camelCase), which it then runs through `columnName()`; the one
|
|
32
|
+
* that returns a column upstream is `relationPivotForeignKey`. Atlas
|
|
33
|
+
* resolves relations by column throughout, so one method answers for both
|
|
34
|
+
* and it answers in snake_case. An override must return a column name.
|
|
35
|
+
*/
|
|
28
36
|
relationForeignKey(kind: "belongsTo" | "hasMany" | "hasOne" | "manyToMany", parentClass: string, parentPk: string): string;
|
|
29
37
|
/** Default pivot table name for a manyToMany relation. */
|
|
30
38
|
relationPivotTable(aClass: string, bClass: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NamingStrategy.d.ts","sourceRoot":"","sources":["../../src/naming/NamingStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC9B,kEAAkE;IAClE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,0EAA0E;IAC1E,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,4EAA4E;IAC5E,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,0EAA0E;IAC1E,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,0EAA0E;IAC1E,gBAAgB,CACf,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,EACvD,QAAQ,EAAE,MAAM,GACd,MAAM,CAAC;IACV
|
|
1
|
+
{"version":3,"file":"NamingStrategy.d.ts","sourceRoot":"","sources":["../../src/naming/NamingStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC9B,kEAAkE;IAClE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,0EAA0E;IAC1E,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,4EAA4E;IAC5E,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,0EAA0E;IAC1E,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,0EAA0E;IAC1E,gBAAgB,CACf,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,EACvD,QAAQ,EAAE,MAAM,GACd,MAAM,CAAC;IACV;;;;;;;;OAQG;IACH,kBAAkB,CACjB,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,EACvD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACd,MAAM,CAAC;IACV,0DAA0D;IAC1D,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3D;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,cAAc;IAC7D,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAOpC,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAIxC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIxC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAI5C,gBAAgB,CACf,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,EACxD,QAAQ,EAAE,MAAM,GACd,MAAM;IAIT,kBAAkB,CACjB,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,EACxD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACd,MAAM;IAST,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAM1D,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAgB5C;AAED,4FAA4F;AAC5F,eAAO,MAAM,qBAAqB,EAAE,cACN,CAAC;AAE/B;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CASrE"}
|
|
@@ -37,7 +37,12 @@ export class CamelCaseNamingStrategy {
|
|
|
37
37
|
return parentPk;
|
|
38
38
|
}
|
|
39
39
|
relationForeignKey(_kind, parentClass, parentPk) {
|
|
40
|
-
|
|
40
|
+
// The PK is snake_cased too, as Lucid does
|
|
41
|
+
// (`snakeCase(`${model.name}_${model.primaryKey}`)`). Identical to the
|
|
42
|
+
// old output for the usual `id`; a multi-word PK now yields a column
|
|
43
|
+
// name a migration would actually have created (`user_user_id`, not
|
|
44
|
+
// `user_userId`).
|
|
45
|
+
return `${camelToSnake(parentClass)}_${camelToSnake(parentPk)}`;
|
|
41
46
|
}
|
|
42
47
|
relationPivotTable(aClass, bClass) {
|
|
43
48
|
// Sort alphabetically so `UserSkill` and `SkillUser` collapse to the same name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NamingStrategy.js","sourceRoot":"","sources":["../../src/naming/NamingStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"NamingStrategy.js","sourceRoot":"","sources":["../../src/naming/NamingStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAyChE;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IACnC,SAAS,CAAC,SAAiB;QAC1B,+EAA+E;QAC/E,sEAAsE;QACtE,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;IAClD,CAAC;IAED,UAAU,CAAC,YAAoB;QAC9B,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,UAAkB;QAC9B,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,cAAc,CAAC,YAAoB;QAClC,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,gBAAgB,CACf,KAAwD,EACxD,QAAgB;QAEhB,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,kBAAkB,CACjB,KAAwD,EACxD,WAAmB,EACnB,QAAgB;QAEhB,2CAA2C;QAC3C,uEAAuE;QACvE,qEAAqE;QACrE,oEAAoE;QACpE,kBAAkB;QAClB,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,kBAAkB,CAAC,MAAc,EAAE,MAAc;QAChD,gFAAgF;QAChF,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IACpB,CAAC;IAED,kBAAkB;QACjB,0EAA0E;QAC1E,yEAAyE;QACzE,yDAAyD;QACzD,OAAO;YACN,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,gBAAgB;YAC9B,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,eAAe;YAC5B,eAAe,EAAE,mBAAmB;SACpC,CAAC;IACH,CAAC;CACD;AAED,4FAA4F;AAC5F,MAAM,CAAC,MAAM,qBAAqB,GACjC,IAAI,uBAAuB,EAAE,CAAC;AAE/B;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACpD,IAAI,OAAO,GAAkB,WAAW,CAAC;IACzC,OAAO,OAAO,IAAI,OAAO,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAI,OAA+C;aAC/D,cAAc,CAAC;QACjB,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,qBAAqB,CAAC;AAC9B,CAAC"}
|
|
Binary file
|
package/package.json
CHANGED
package/src/AtlasProvider.ts
CHANGED
|
@@ -436,6 +436,22 @@ export default class AtlasProvider {
|
|
|
436
436
|
"[atlas] Migrations are configured but were NOT run: boot auto-migrate is disabled in production. Run `migration:run` before serving traffic, or set migrations.autoRunInProduction = true to opt in.",
|
|
437
437
|
);
|
|
438
438
|
}
|
|
439
|
+
// Register with the framework's migration registry, so `ream migrate`
|
|
440
|
+
// can drive atlas without naming it. Independent of auto-migrate: the
|
|
441
|
+
// CLI sets REAM_SKIP_BOOT_MIGRATE precisely so boot does NOT migrate,
|
|
442
|
+
// and that is exactly the run that needs the registration.
|
|
443
|
+
if (migrationsPath) {
|
|
444
|
+
await this.#registerMigrationSource(
|
|
445
|
+
migrationsPath,
|
|
446
|
+
connections[defaultName]?.url,
|
|
447
|
+
defaultConn,
|
|
448
|
+
config.migrations?.table,
|
|
449
|
+
{
|
|
450
|
+
naturalSort: config.migrations?.naturalSort,
|
|
451
|
+
disableTransactions: config.migrations?.disableTransactions,
|
|
452
|
+
},
|
|
453
|
+
);
|
|
454
|
+
}
|
|
439
455
|
if (migrationsPath && !cliDrivesMigrations && autoMigrateAllowed) {
|
|
440
456
|
await this.#runMigrations(
|
|
441
457
|
migrationsPath,
|
|
@@ -589,7 +605,71 @@ export default class AtlasProvider {
|
|
|
589
605
|
): Promise<void> {
|
|
590
606
|
const { existsSync } = await import("node:fs");
|
|
591
607
|
if (!existsSync(migrationsPath)) return;
|
|
608
|
+
await this.#buildRunner(
|
|
609
|
+
migrationsPath,
|
|
610
|
+
url,
|
|
611
|
+
db,
|
|
612
|
+
tableName,
|
|
613
|
+
options,
|
|
614
|
+
).migrate();
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
/**
|
|
618
|
+
* Hand atlas's runner to the framework's `migrations` registry.
|
|
619
|
+
*
|
|
620
|
+
* Best-effort by design: a host with no registry (an older ream, or another
|
|
621
|
+
* framework entirely) must still boot. atlas does not import `@c9up/ream`,
|
|
622
|
+
* so the registry is duck-typed here like every other host binding.
|
|
623
|
+
*/
|
|
624
|
+
async #registerMigrationSource(
|
|
625
|
+
migrationsPath: string,
|
|
626
|
+
url: string,
|
|
627
|
+
db: AsyncDatabaseConnection,
|
|
628
|
+
tableName: string | undefined,
|
|
629
|
+
options?: { naturalSort?: boolean; disableTransactions?: boolean },
|
|
630
|
+
): Promise<void> {
|
|
631
|
+
const resolve = this.app.container.resolve;
|
|
632
|
+
if (typeof resolve !== "function") return;
|
|
592
633
|
|
|
634
|
+
let registry: unknown;
|
|
635
|
+
try {
|
|
636
|
+
registry = await resolve.call(this.app.container, "migrations");
|
|
637
|
+
} catch {
|
|
638
|
+
// No registry bound — an older ream. Booting still has to work; the
|
|
639
|
+
// CLI is the one that reports it, where the user can act on it.
|
|
640
|
+
return;
|
|
641
|
+
}
|
|
642
|
+
if (
|
|
643
|
+
typeof registry !== "object" ||
|
|
644
|
+
registry === null ||
|
|
645
|
+
!("register" in registry) ||
|
|
646
|
+
typeof registry.register !== "function"
|
|
647
|
+
) {
|
|
648
|
+
return;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
(registry.register as (source: unknown) => unknown)({
|
|
652
|
+
name: "atlas",
|
|
653
|
+
directory: migrationsPath,
|
|
654
|
+
runner: this.#buildRunner(migrationsPath, url, db, tableName, options),
|
|
655
|
+
});
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* Build the runner without running it.
|
|
660
|
+
*
|
|
661
|
+
* Split out of `#runMigrations` so the same runner can be handed to the
|
|
662
|
+
* `migrations` registry, where `ream migrate` drives it. Two constructions
|
|
663
|
+
* would be two chances for boot-time and CLI-time migrations to disagree
|
|
664
|
+
* about the table, the dialect or the sort.
|
|
665
|
+
*/
|
|
666
|
+
#buildRunner(
|
|
667
|
+
migrationsPath: string,
|
|
668
|
+
url: string,
|
|
669
|
+
db: AsyncDatabaseConnection,
|
|
670
|
+
tableName: string | undefined,
|
|
671
|
+
options?: { naturalSort?: boolean; disableTransactions?: boolean },
|
|
672
|
+
): MigrationRunner {
|
|
593
673
|
const adapter: DatabaseAdapter = {
|
|
594
674
|
execute: async (sql, params) => {
|
|
595
675
|
await db.execute(sql, params);
|
|
@@ -606,13 +686,12 @@ export default class AtlasProvider {
|
|
|
606
686
|
// atomically (schema + deferred + tracking committed together).
|
|
607
687
|
transaction: db.transaction?.bind(db),
|
|
608
688
|
};
|
|
609
|
-
|
|
689
|
+
return new MigrationRunner(adapter, {
|
|
610
690
|
migrationsDir: migrationsPath,
|
|
611
691
|
dialect: dialectFromUrl(url),
|
|
612
692
|
tableName,
|
|
613
693
|
naturalSort: options?.naturalSort,
|
|
614
694
|
disableTransactions: options?.disableTransactions,
|
|
615
695
|
});
|
|
616
|
-
await runner.migrate();
|
|
617
696
|
}
|
|
618
697
|
}
|
package/src/BaseEntity.ts
CHANGED
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
COMPUTED_KEY,
|
|
31
31
|
type ColumnSerializeConfig,
|
|
32
32
|
} from "./metadata-keys.js";
|
|
33
|
+
import { getNamingStrategy } from "./naming/NamingStrategy.js";
|
|
33
34
|
|
|
34
35
|
export interface DomainEvent {
|
|
35
36
|
name: string;
|
|
@@ -225,7 +226,26 @@ export type { ColumnSerializeConfig };
|
|
|
225
226
|
* Internal reserved keys on BaseEntity that must never be treated as database
|
|
226
227
|
* columns or serialized as data. Used by dirty tracking and by `toJSON`.
|
|
227
228
|
*/
|
|
228
|
-
const INTERNAL_KEYS = new Set<string>([
|
|
229
|
+
const INTERNAL_KEYS = new Set<string>([
|
|
230
|
+
"$extras",
|
|
231
|
+
"$original",
|
|
232
|
+
"$sideloaded",
|
|
233
|
+
// Serialization config, not a column. It only needs listing because Lucid
|
|
234
|
+
// serializes from `$attributes` while atlas walks the instance's own
|
|
235
|
+
// properties, so an instance-level `serializeExtras = true` would otherwise
|
|
236
|
+
// come out in the JSON it is configuring.
|
|
237
|
+
"serializeExtras",
|
|
238
|
+
]);
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* How a model opts into serializing `$extras` (Lucid `serializeExtras`).
|
|
242
|
+
*
|
|
243
|
+
* `true` nests the bag under `meta`; a function returns the shape to merge
|
|
244
|
+
* verbatim and receives the bag.
|
|
245
|
+
*/
|
|
246
|
+
export type SerializeExtras =
|
|
247
|
+
| boolean
|
|
248
|
+
| ((extras: Record<string, unknown>) => Record<string, unknown>);
|
|
229
249
|
|
|
230
250
|
/**
|
|
231
251
|
* Structural (cross-realm-safe) check for a date value exposing `toISO()` — a
|
|
@@ -652,7 +672,6 @@ export class BaseEntity {
|
|
|
652
672
|
`${ctor.name}: cannot declare both 'fillable' and 'guarded'`,
|
|
653
673
|
);
|
|
654
674
|
}
|
|
655
|
-
const known = this.#knownColumnKeys();
|
|
656
675
|
const allowed = (key: string): boolean => {
|
|
657
676
|
if (ctor.fillable) return ctor.fillable.includes(key);
|
|
658
677
|
if (ctor.guarded) return !ctor.guarded.includes(key);
|
|
@@ -676,25 +695,109 @@ export class BaseEntity {
|
|
|
676
695
|
}
|
|
677
696
|
}
|
|
678
697
|
for (const [k, v] of Object.entries(payload)) {
|
|
679
|
-
|
|
680
|
-
if (!allowed(k)) throw new MassAssignmentError(ctor.name, k);
|
|
681
|
-
// Otherwise reject keys that aren't declared columns at all (Lucid
|
|
682
|
-
// strict), unless the caller opts into dropping extras.
|
|
683
|
-
if (!known.has(k)) {
|
|
684
|
-
if (allowExtraProperties) continue;
|
|
685
|
-
throw new AtlasError(
|
|
686
|
-
"E_EXTRA_PROPERTIES",
|
|
687
|
-
`Cannot fill '${k}' on ${ctor.name}: it is not a declared column.`,
|
|
688
|
-
{
|
|
689
|
-
hint: "Declare it with @Column, or pass allowExtraProperties=true to ignore extra keys.",
|
|
690
|
-
},
|
|
691
|
-
);
|
|
692
|
-
}
|
|
693
|
-
this[k] = v;
|
|
698
|
+
this.#assign(ctor, "fill", allowed, k, v, allowExtraProperties);
|
|
694
699
|
}
|
|
695
700
|
return this;
|
|
696
701
|
}
|
|
697
702
|
|
|
703
|
+
/**
|
|
704
|
+
* Apply one payload entry, shared by `fill` and `merge`.
|
|
705
|
+
*
|
|
706
|
+
* The key is resolved to its property BEFORE the mass-assignment gate runs:
|
|
707
|
+
* gating the raw key would let `{ is_admin: true }` past a
|
|
708
|
+
* `guarded = ['isAdmin']` on its way to being resolved.
|
|
709
|
+
*/
|
|
710
|
+
#assign(
|
|
711
|
+
ctor: typeof BaseEntity,
|
|
712
|
+
operation: "fill" | "merge",
|
|
713
|
+
allowed: (key: string) => boolean,
|
|
714
|
+
key: string,
|
|
715
|
+
value: unknown,
|
|
716
|
+
allowExtraProperties: boolean,
|
|
717
|
+
): void {
|
|
718
|
+
// Mass assignment is the more specific gate and it wins: a key a
|
|
719
|
+
// `fillable` list does not cover is a blocked assignment, not an
|
|
720
|
+
// undeclared column.
|
|
721
|
+
if (!allowed(key)) throw new MassAssignmentError(ctor.name, key);
|
|
722
|
+
|
|
723
|
+
const target = this.#resolveAssignment(key);
|
|
724
|
+
|
|
725
|
+
if (target.kind === "ignore") return;
|
|
726
|
+
|
|
727
|
+
if (target.kind === "extra") {
|
|
728
|
+
// Lucid keeps an unknown key in `$extras` rather than dropping it:
|
|
729
|
+
// an aggregate or a pivot value travelling with the row is exactly
|
|
730
|
+
// what the bag is for. It is never a column, so it cannot reach an
|
|
731
|
+
// INSERT.
|
|
732
|
+
if (allowExtraProperties) {
|
|
733
|
+
this.$extras[key] = value;
|
|
734
|
+
return;
|
|
735
|
+
}
|
|
736
|
+
throw new AtlasError(
|
|
737
|
+
"E_EXTRA_PROPERTIES",
|
|
738
|
+
`Cannot ${operation} '${key}' on ${ctor.name}: it is not a declared column.`,
|
|
739
|
+
{
|
|
740
|
+
hint: `Declare it with @Column, or pass allowExtraProperties=true to keep extra keys in $extras.`,
|
|
741
|
+
},
|
|
742
|
+
);
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
// Checked again under the resolved name: the gate above saw the DB column
|
|
746
|
+
// name, so `{ is_admin: true }` would otherwise walk past a
|
|
747
|
+
// `guarded = ['isAdmin']` on its way to resolving.
|
|
748
|
+
if (target.property !== key && !allowed(target.property)) {
|
|
749
|
+
throw new MassAssignmentError(ctor.name, target.property);
|
|
750
|
+
}
|
|
751
|
+
this[target.property] = value;
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
/**
|
|
755
|
+
* Where a payload key should land: the property to assign, or why it cannot
|
|
756
|
+
* be assigned. Lucid's `merge` resolution order, in one place so `fill` and
|
|
757
|
+
* `merge` cannot drift apart.
|
|
758
|
+
*
|
|
759
|
+
* The DB column name resolves to its property (Lucid's
|
|
760
|
+
* `$keys.columnsToAttributes`): a payload coming straight off an API or a
|
|
761
|
+
* raw row keys by `created_at`, and refusing it while the model declares
|
|
762
|
+
* `createdAt` is a false rejection.
|
|
763
|
+
*/
|
|
764
|
+
#resolveAssignment(
|
|
765
|
+
key: string,
|
|
766
|
+
):
|
|
767
|
+
| { kind: "property"; property: string }
|
|
768
|
+
| { kind: "ignore" }
|
|
769
|
+
| { kind: "extra" } {
|
|
770
|
+
const ctor = this.constructor as typeof BaseEntity & {
|
|
771
|
+
fillable?: string[];
|
|
772
|
+
guarded?: string[];
|
|
773
|
+
};
|
|
774
|
+
|
|
775
|
+
if (this.#knownColumnKeys().has(key))
|
|
776
|
+
return { kind: "property", property: key };
|
|
777
|
+
|
|
778
|
+
const columns = getColumnMetadata(ctor);
|
|
779
|
+
const naming = getNamingStrategy(ctor);
|
|
780
|
+
for (const column of columns) {
|
|
781
|
+
const dbName = column.columnName ?? naming.columnName(column.propertyKey);
|
|
782
|
+
if (dbName === key)
|
|
783
|
+
return { kind: "property", property: column.propertyKey };
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
// A relation is set through its own API, never by mass assignment —
|
|
787
|
+
// Lucid ignores the key rather than treating it as an extra.
|
|
788
|
+
for (const relation of getRelationMetadata(ctor)) {
|
|
789
|
+
if (relation.propertyKey === key) return { kind: "ignore" };
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
// `$extras`, `$original`, `$sideloaded`: framework state that leaks in
|
|
793
|
+
// when an entity instance is passed as a payload. Not a column, not a
|
|
794
|
+
// typo, and certainly not something to overwrite.
|
|
795
|
+
if (INTERNAL_KEYS.has(key) || key.startsWith("$"))
|
|
796
|
+
return { kind: "ignore" };
|
|
797
|
+
|
|
798
|
+
return { kind: "extra" };
|
|
799
|
+
}
|
|
800
|
+
|
|
698
801
|
/**
|
|
699
802
|
* The set of keys `fill`/`merge` treat as declared attributes: `@Column`
|
|
700
803
|
* property keys, the primary key, and any names the user listed in
|
|
@@ -755,27 +858,13 @@ export class BaseEntity {
|
|
|
755
858
|
`${ctor.name}: cannot declare both 'fillable' and 'guarded'`,
|
|
756
859
|
);
|
|
757
860
|
}
|
|
758
|
-
const known = this.#knownColumnKeys();
|
|
759
861
|
const allowed = (key: string): boolean => {
|
|
760
862
|
if (ctor.fillable) return ctor.fillable.includes(key);
|
|
761
863
|
if (ctor.guarded) return !ctor.guarded.includes(key);
|
|
762
864
|
return true;
|
|
763
865
|
};
|
|
764
866
|
for (const [k, v] of Object.entries(payload)) {
|
|
765
|
-
|
|
766
|
-
throw new MassAssignmentError(ctor.name, k);
|
|
767
|
-
}
|
|
768
|
-
if (!known.has(k)) {
|
|
769
|
-
if (allowExtraProperties) continue;
|
|
770
|
-
throw new AtlasError(
|
|
771
|
-
"E_EXTRA_PROPERTIES",
|
|
772
|
-
`Cannot merge '${k}' on ${ctor.name}: it is not a declared column.`,
|
|
773
|
-
{
|
|
774
|
-
hint: "Declare it with @Column, or pass allowExtraProperties=true to ignore extra keys.",
|
|
775
|
-
},
|
|
776
|
-
);
|
|
777
|
-
}
|
|
778
|
-
this[k] = v;
|
|
867
|
+
this.#assign(ctor, "merge", allowed, k, v, allowExtraProperties);
|
|
779
868
|
}
|
|
780
869
|
return this;
|
|
781
870
|
}
|
|
@@ -838,9 +927,7 @@ export class BaseEntity {
|
|
|
838
927
|
*/
|
|
839
928
|
toJSON(): Record<string, unknown> {
|
|
840
929
|
const ctor = this.constructor as typeof BaseEntity & {
|
|
841
|
-
serializeExtras?:
|
|
842
|
-
| boolean
|
|
843
|
-
| ((extras: Record<string, unknown>) => Record<string, unknown>);
|
|
930
|
+
serializeExtras?: SerializeExtras;
|
|
844
931
|
};
|
|
845
932
|
const result: Record<string, unknown> = {
|
|
846
933
|
...this.serializeAttributes(),
|
|
@@ -849,14 +936,24 @@ export class BaseEntity {
|
|
|
849
936
|
};
|
|
850
937
|
|
|
851
938
|
// $extras (aggregates / pivot values) are serialized only when the model
|
|
852
|
-
// opts in
|
|
853
|
-
//
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
939
|
+
// opts in — Lucid parity (default OFF), so internal aggregates never leak
|
|
940
|
+
// into API JSON by default.
|
|
941
|
+
//
|
|
942
|
+
// Lucid reads `serializeExtras` off the INSTANCE. The static form is what
|
|
943
|
+
// atlas shipped, so both are honoured and the instance wins; a model
|
|
944
|
+
// written for either works unchanged.
|
|
945
|
+
const optIn =
|
|
946
|
+
(this as { serializeExtras?: SerializeExtras }).serializeExtras ??
|
|
947
|
+
ctor.serializeExtras;
|
|
948
|
+
if (!optIn) return result;
|
|
949
|
+
|
|
950
|
+
// `true` nests the bag under `meta`, as Lucid does — spreading it at the
|
|
951
|
+
// top level let an aggregate collide with a real column of the same name.
|
|
952
|
+
// A function returns the shape verbatim, so it can choose otherwise.
|
|
953
|
+
if (typeof optIn === "function") {
|
|
954
|
+
return { ...result, ...optIn.call(this, this.$extras) };
|
|
955
|
+
}
|
|
956
|
+
return { ...result, meta: this.$extras };
|
|
860
957
|
}
|
|
861
958
|
|
|
862
959
|
/**
|