joist-core 2.1.0-next.40 → 2.1.0-next.42

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.
@@ -44,6 +44,8 @@ export interface EntityMetadata<T extends Entity = any> {
44
44
  }>;
45
45
  config: ConfigApi<any, any>;
46
46
  orderBy: string | undefined;
47
+ /** Flat field names that can be used to find existing rows before creating. I.e. [["email"], ["author", "title"]]. */
48
+ uniqueBy?: string[][];
47
49
  timestampFields: TimestampFields | undefined;
48
50
  factory: (em: EntityManager<any, any, any>, opts?: any) => DeepNew<T>;
49
51
  /** The list of base types for this subtype, e.g. for Dog it'd be [Animal, Mammal]. */
@@ -1 +1 @@
1
- {"version":3,"file":"EntityMetadata.d.ts","sourceRoot":"","sources":["../src/EntityMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityMetadata.d.ts","sourceRoot":"","sources":["../src/EntityMetadata.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityMetadata.js","sourceRoot":"","sources":["../src/EntityMetadata.ts"],"names":[],"mappings":";;AAUA,kCAOC;AAqLD,4CAEC;AAED,4CAEC;AAED,8CAEC;AAED,0CAEC;AAED,gDAEC;AAED,4CAEC;AAED,8CAEC;AAID,kDAEC;AAED,wDAEC;AAED,kCAGC;AAED,kCAMC;AAvPD,6CAA+C;AAC/C,qCAA4C;AAS5C,SAAgB,WAAW,CACzB,KAA6D;IAE7D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;IAC9D,OAAO,CACL,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAC,QAAQ,CAChG,CAAC;AACtB,CAAC;AAqLD,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAe;IAC/C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,eAAe,CAAC,QAAe;IAC7C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAe;IAChD,OAAO,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;AAClC,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;AACxF,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAe;IAC/C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AAC5D,CAAC;AAID,SAAgB,mBAAmB,CAAC,KAA8B;IAChE,OAAO,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACpG,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAoB;IACzD,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,WAAW,CAAC,IAAoB;IAC9C,uCAAuC;IACvC,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,SAAgB,WAAW,CAAC,IAAoB;IAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"EntityMetadata.js","sourceRoot":"","sources":["../src/EntityMetadata.ts"],"names":[],"mappings":";;AAUA,kCAOC;AAuLD,4CAEC;AAED,4CAEC;AAED,8CAEC;AAED,0CAEC;AAED,gDAEC;AAED,4CAEC;AAED,8CAEC;AAID,kDAEC;AAED,wDAEC;AAED,kCAGC;AAED,kCAMC;AAzPD,6CAA+C;AAC/C,qCAA4C;AAS5C,SAAgB,WAAW,CACzB,KAA6D;IAE7D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;IAC9D,OAAO,CACL,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAC,QAAQ,CAChG,CAAC;AACtB,CAAC;AAuLD,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAe;IAC/C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,eAAe,CAAC,QAAe;IAC7C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAe;IAChD,OAAO,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;AAClC,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;AACxF,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAe;IAC/C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AAC5D,CAAC;AAID,SAAgB,mBAAmB,CAAC,KAA8B;IAChE,OAAO,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACpG,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAoB;IACzD,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,WAAW,CAAC,IAAoB;IAC9C,uCAAuC;IACvC,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,SAAgB,WAAW,CAAC,IAAoB;IAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findOrCreateDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findOrCreateDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAY,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAA4B,MAAM,kBAAkB,CAAC;AAG9F,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIpC,UAAU,eAAe,CAAC,CAAC,SAAS,MAAM;IACxC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACzB,WAAW,EAAE,SAAS,GAAG,SAAS,GACjC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CA6FnC;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAgC5F"}
1
+ {"version":3,"file":"findOrCreateDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findOrCreateDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAY,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAA4B,MAAM,kBAAkB,CAAC;AAI9F,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIpC,UAAU,eAAe,CAAC,CAAC,SAAS,MAAM;IACxC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACzB,WAAW,EAAE,SAAS,GAAG,SAAS,GACjC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAgGnC;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAgC5F"}
@@ -6,6 +6,7 @@ const Entity_1 = require("../Entity");
6
6
  const EntityManager_1 = require("../EntityManager");
7
7
  const EntityMetadata_1 = require("../EntityMetadata");
8
8
  const relations_1 = require("../relations");
9
+ const resurrection_1 = require("../resurrection");
9
10
  const utils_1 = require("../utils");
10
11
  const findDataLoader_1 = require("./findDataLoader");
11
12
  function findOrCreateDataLoader(em, type, where, softDeletes) {
@@ -48,6 +49,7 @@ function findOrCreateDataLoader(em, type, where, softDeletes) {
48
49
  }
49
50
  else if (inMemory.length === 1) {
50
51
  const entity = inMemory[0];
52
+ (0, resurrection_1.resurrectIfSoftDeleted)(entity);
51
53
  if (upsert) {
52
54
  entity.set(upsert);
53
55
  }
@@ -66,13 +68,16 @@ function findOrCreateDataLoader(em, type, where, softDeletes) {
66
68
  // If we didn't find it in the EM, do the db query/em.create
67
69
  const entities = (await em.find(type,
68
70
  // Convert `publisher: undefined` --> `publisher: null`, and we need to make a copy anyway
69
- Object.fromEntries(Object.entries(where).map(([k, v]) => [k, v === undefined ? null : v])), { softDeletes })).filter((e) => !e.isDeletedEntity);
71
+ Object.fromEntries(Object.entries(where).map(([k, v]) => [k, v === undefined ? null : v])),
72
+ // Always include soft-deleted rows so findOrCreate can resurrect them instead of creating duplicates.
73
+ { softDeletes: "include" })).filter((e) => !e.isDeletedEntity);
70
74
  let entity;
71
75
  if (entities.length > 1) {
72
76
  throw new EntityManager_1.TooManyError(`Found more than one existing ${type.name} with ${whereAsString(where)}`);
73
77
  }
74
78
  else if (entities.length === 1) {
75
79
  entity = entities[0];
80
+ (0, resurrection_1.resurrectIfSoftDeleted)(entity);
76
81
  }
77
82
  else {
78
83
  entity = em.create(type, { ...where, ...ifNew });
@@ -1 +1 @@
1
- {"version":3,"file":"findOrCreateDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findOrCreateDataLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findOrCreateDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findOrCreateDataLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Entity } from "./Entity";
2
+ import { EntityManager, MaybeAbstractEntityConstructor } from "./EntityManager";
3
+ /** Clears the soft-delete marker so a matched entity is updated instead of recreated. */
4
+ export declare function resurrectIfSoftDeleted(entity: Entity): void;
5
+ /**
6
+ * Finds an existing entity when the input fully covers one configured `uniqueBy` candidate.
7
+ * I.e. with `uniqueBy = [["email"], ["author", "title"]]`, `{ email }` or `{ authorId, title }` can lookup an existing row.
8
+ */
9
+ export declare function findExistingIfUniqueBy<T extends Entity>(em: EntityManager<any, any, any>, constructor: MaybeAbstractEntityConstructor<T>, input: object): Promise<T | undefined>;
10
+ //# sourceMappingURL=resurrection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resurrection.d.ts","sourceRoot":"","sources":["../src/resurrection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAgB,MAAM,iBAAiB,CAAC;AAI9F,yFAAyF;AACzF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAK3D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAC3D,EAAE,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC,EAC9C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CA2BxB"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resurrectIfSoftDeleted = resurrectIfSoftDeleted;
4
+ exports.findExistingIfUniqueBy = findExistingIfUniqueBy;
5
+ const Entity_1 = require("./Entity");
6
+ const EntityManager_1 = require("./EntityManager");
7
+ const EntityMetadata_1 = require("./EntityMetadata");
8
+ const fields_1 = require("./fields");
9
+ /** Clears the soft-delete marker so a matched entity is updated instead of recreated. */
10
+ function resurrectIfSoftDeleted(entity) {
11
+ const deletedAt = (0, EntityMetadata_1.getBaseMeta)((0, EntityMetadata_1.getMetadata)(entity)).timestampFields?.deletedAt;
12
+ if (deletedAt && entity.isSoftDeletedEntity) {
13
+ (0, fields_1.setField)(entity, deletedAt, undefined);
14
+ }
15
+ }
16
+ /**
17
+ * Finds an existing entity when the input fully covers one configured `uniqueBy` candidate.
18
+ * I.e. with `uniqueBy = [["email"], ["author", "title"]]`, `{ email }` or `{ authorId, title }` can lookup an existing row.
19
+ */
20
+ async function findExistingIfUniqueBy(em, constructor, input) {
21
+ const meta = (0, EntityMetadata_1.getMetadata)(constructor);
22
+ const candidates = getUniqueByCandidates(meta, input);
23
+ for (const where of candidates) {
24
+ const inMemory = em.filterEntities(constructor, where);
25
+ if (inMemory.length > 1) {
26
+ throw new EntityManager_1.TooManyError(`Found more than one existing ${meta.type} with ${whereAsString(where)}`);
27
+ }
28
+ else if (inMemory.length === 1) {
29
+ resurrectIfSoftDeleted(inMemory[0]);
30
+ return inMemory[0];
31
+ }
32
+ // I.e. `{ publisher: newPublisherEntity }` cannot already exist in the database, so skip the `em.find`.
33
+ const hasNewEntityParam = Object.values(where).some((value) => (0, Entity_1.isEntity)(value) && value.isNewEntity);
34
+ if (hasNewEntityParam)
35
+ continue;
36
+ const entities = (await em.find(constructor, where, { softDeletes: "include" })).filter((entity) => !entity.isDeletedEntity);
37
+ if (entities.length > 1) {
38
+ throw new EntityManager_1.TooManyError(`Found more than one existing ${meta.type} with ${whereAsString(where)}`);
39
+ }
40
+ else if (entities.length === 1) {
41
+ resurrectIfSoftDeleted(entities[0]);
42
+ return entities[0];
43
+ }
44
+ }
45
+ return undefined;
46
+ }
47
+ /** Builds pushdown-safe where clauses from configured identity fields. */
48
+ function getUniqueByCandidates(meta, input) {
49
+ return (meta.uniqueBy ?? (0, EntityMetadata_1.getBaseMeta)(meta).uniqueBy ?? []).flatMap((fields) => {
50
+ const where = {};
51
+ for (const fieldName of fields) {
52
+ const field = meta.allFields[fieldName];
53
+ if (!field || !isQueryableIdentityField(field))
54
+ return [];
55
+ const value = getIdentityValue(field, input);
56
+ if (value === undefined || value === null)
57
+ return [];
58
+ where[field.fieldName] = value;
59
+ }
60
+ return [where];
61
+ });
62
+ }
63
+ /** Returns the identity value from the input. */
64
+ function getIdentityValue(field, input) {
65
+ if (Object.hasOwn(input, field.fieldName)) {
66
+ return normalizeIdentityValue(input[field.fieldName]);
67
+ }
68
+ if (field.fieldIdName && Object.hasOwn(input, field.fieldIdName)) {
69
+ return normalizeIdentityValue(input[field.fieldIdName]);
70
+ }
71
+ return undefined;
72
+ }
73
+ /** Returns raw ids from relation inputs, i.e. `{ publisher: { id: "p:1" } }` becomes `{ publisher: "p:1" }`. */
74
+ function normalizeIdentityValue(value) {
75
+ if (!(0, Entity_1.isEntity)(value) && value && typeof value === "object" && Object.hasOwn(value, "id")) {
76
+ return value.id;
77
+ }
78
+ return value;
79
+ }
80
+ /** Returns true if Joist can push this identity field into a flat find clause. */
81
+ function isQueryableIdentityField(field) {
82
+ return field.kind === "primitive" || field.kind === "enum" || field.kind === "m2o" || field.kind === "poly";
83
+ }
84
+ function whereAsString(where) {
85
+ return Object.entries(where)
86
+ .map(([key, value]) => `${key}=${value}`)
87
+ .join(", ");
88
+ }
89
+ //# sourceMappingURL=resurrection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resurrection.js","sourceRoot":"","sources":["../src/resurrection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../src/upsert.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,8BAA8B,EAAS,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EACL,aAAa,EAMd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAW,MAAM,SAAS,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;CAAE,GAAG,yCAAyC,CACnH,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CACvC,GACC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEd,8DAA8D;AAC9D,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;CACtD,CAAC;AAEF,2CAA2C;AAC3C,KAAK,UAAU,GAAG;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,KAAK,yCAAyC,CAAC,CAAC,IAAI;KACjD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,CAAC,GACjD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,SAAS,MAAM,GACd,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GACpE,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,MAAM,GACd,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GACxD,CAAC,CAAC,CAAC,CAAC,GACR,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAmM3G;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,CAAC,SAAS,MAAM,EAC3C,EAAE,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC,EAC9C,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,CAAC,CAAC,CAaZ"}
1
+ {"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../src/upsert.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,IAAI,EAAS,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAIL,aAAa,EAGd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAW,MAAM,SAAS,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;CAAE,GAAG,yCAAyC,CACnH,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CACvC,GACC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEd,8DAA8D;AAC9D,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;CACtD,CAAC;AAEF,2CAA2C;AAC3C,KAAK,UAAU,GAAG;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,KAAK,yCAAyC,CAAC,CAAC,IAAI;KACjD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,CAAC,GACjD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,SAAS,MAAM,GACd,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GACpE,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,MAAM,GACd,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GACxD,CAAC,CAAC,CAAC,CAAC,GACR,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAmM3G;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,CAAC,SAAS,MAAM,EAC3C,EAAE,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC,EAC9C,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,CAAC,CAAC,CAcZ"}
package/build/upsert.js CHANGED
@@ -8,6 +8,7 @@ const Entity_1 = require("./Entity");
8
8
  const EntityManager_1 = require("./EntityManager");
9
9
  const EntityMetadata_1 = require("./EntityMetadata");
10
10
  const index_1 = require("./index");
11
+ const resurrection_1 = require("./resurrection");
11
12
  const utils_1 = require("./utils");
12
13
  /**
13
14
  * A utility function to do partial-update style updates.
@@ -148,7 +149,7 @@ async function updatePartial(entity, input) {
148
149
  await Promise.all(values.map(async (value) => {
149
150
  const [, , op] = getCollectionMarkers(field, value);
150
151
  if (op === "delete") {
151
- const other = await upsert(em, otherMeta.cstr, value);
152
+ const other = await upsert(em, otherMeta.cstr, withOwnerField(field, value, entity));
152
153
  // We need to check if this is a soft-deletable entity, and if so, we will soft-delete it.
153
154
  if (maybeSoftDelete) {
154
155
  const serde = otherMeta.fields[maybeSoftDelete].serde;
@@ -160,11 +161,11 @@ async function updatePartial(entity, input) {
160
161
  }
161
162
  }
162
163
  else if (op === "remove") {
163
- const other = await upsert(em, otherMeta.cstr, value);
164
+ const other = await upsert(em, otherMeta.cstr, withOwnerField(field, value, entity));
164
165
  current.remove(other);
165
166
  }
166
167
  else if (op === "include") {
167
- const other = await upsert(em, otherMeta.cstr, value);
168
+ const other = await upsert(em, otherMeta.cstr, withOwnerField(field, value, entity));
168
169
  current.add(other);
169
170
  }
170
171
  else if (op === "incremental") {
@@ -193,7 +194,7 @@ async function updatePartial(entity, input) {
193
194
  else {
194
195
  // Look for `delete: true/false` and `remove: true/false` markers
195
196
  const [deleteMarker, removeMarker] = getCollectionMarkers(field, value);
196
- const other = await upsert(em, field.otherMetadata().cstr, value);
197
+ const other = await upsert(em, field.otherMetadata().cstr, withOwnerField(field, value, entity));
197
198
  if (deleteMarker) {
198
199
  // if (maybeSoftDelete) {
199
200
  // const serde = meta.fields[maybeSoftDelete].serde as TimestampSerde<unknown>;
@@ -226,18 +227,33 @@ async function updatePartial(entity, input) {
226
227
  */
227
228
  async function upsert(em, constructor, input) {
228
229
  const { id, ...rest } = input;
229
- const isNew = id === null || id === undefined;
230
- const entity = isNew
231
- ? // asConcreteCstr is not actually safe but for now we rely on our cstr runtime check to catch this
232
- em.createPartial((0, index_1.asConcreteCstr)(constructor), {})
233
- : await em.load(constructor, id);
230
+ const entity = id !== null && id !== undefined
231
+ ? await em.load(constructor, id)
232
+ : // Look for an existing entity we could resurrect
233
+ ((id === undefined ? await (0, resurrection_1.findExistingIfUniqueBy)(em, constructor, rest) : undefined) ??
234
+ em.createPartial((0, index_1.asConcreteCstr)(constructor), {}));
234
235
  await updatePartial(entity, rest);
235
236
  // Do this manually since we're not going through setOpts anymore
236
- if (isNew) {
237
+ if (entity.isNewEntity) {
237
238
  (0, defaults_1.setSyncDefaults)(entity);
238
239
  }
239
240
  return entity;
240
241
  }
242
+ /**
243
+ * Adds the o2m owner field so child resurrection can find rows whose `uniqueBy` includes their parent.
244
+ * I.e. upserting `Author.books: [{ title: "b1" }]` should lookup `Book.uniqueBy = [["author", "title"]]`.
245
+ */
246
+ function withOwnerField(field, value, owner) {
247
+ if (field.kind !== "o2m" || !(0, joist_utils_1.isPlainObject)(value))
248
+ return value;
249
+ const ownerField = field.otherFieldName;
250
+ const ownerFieldId = field.otherMetadata().allFields[ownerField]?.fieldIdName;
251
+ if (Object.hasOwn(value, ownerField) || (ownerFieldId && Object.hasOwn(value, ownerFieldId)))
252
+ return value;
253
+ if (ownerFieldId && !owner.isNewEntity)
254
+ return { ...value, [ownerFieldId]: owner.id };
255
+ return { ...value, [ownerField]: owner };
256
+ }
241
257
  function getCollectionMarkers(field, value) {
242
258
  const allowDelete = !field.otherMetadata().fields["delete"];
243
259
  const allowRemove = !field.otherMetadata().fields["remove"];
@@ -1 +1 @@
1
- {"version":3,"file":"upsert.js","sourceRoot":"","sources":["../src/upsert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upsert.js","sourceRoot":"","sources":["../src/upsert.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-core",
3
- "version": "2.1.0-next.40",
3
+ "version": "2.1.0-next.42",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,7 @@
20
20
  "build"
21
21
  ],
22
22
  "peerDependencies": {
23
- "joist-utils": "2.1.0-next.40"
23
+ "joist-utils": "2.1.0-next.42"
24
24
  },
25
25
  "dependencies": {
26
26
  "@types/object-hash": "^3.0.6",