@fjell/lib-sequelize 4.4.81 → 4.4.82

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.
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../src/QueryBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,SAAS,EAKT,SAAS,EAIV,MAAM,aAAa,CAAC;AAErB,OAAO,EAAe,WAAW,EAAM,MAAM,WAAW,CAAC;AAGzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CACtB,CAAA;AAkFD,eAAO,MAAM,oBAAoB,GAC/B,SAAS,GAAG,EACZ,mBAAmB,iBAAiB,EACpC,OAAO,WAAW,CAAC,GAAG,CAAC,EACvB,aAAa,4BAA4B,EAAE,EAC3C,gBAAgB,GAAG,CAAC,MAAM,EAAE,4BAA4B,EAAE,CAAC,EAC3D,WAAW,QAAQ,QAqCpB,CAAA;AAqfD,eAAO,MAAM,YAAY,GACvB,YAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,WAAW,SAAS,EACpB,OAAO,WAAW,CAAC,GAAG,CAAC,EACvB,UAAU,GAAG,EACb,aAAa,4BAA4B,EAAE,EAC3C,gBAAgB,GAAG,CAAC,MAAM,EAAE,4BAA4B,EAAE,CAAC,EAC3D,WAAW,QAAQ,wBAWpB,CAAA;AAuED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,GAAG,EACZ,OAAO,WAAW,CAAC,GAAG,CAAC,EACvB,sBAAsB,4BAA4B,EAAE,KACnD;IAAE,OAAO,EAAE,GAAG,CAAC;IAAC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAiD9C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,GAAG,EACZ,OAAO,WAAW,CAAC,GAAG,CAAC,EACvB,wBAAwB,GAAG,EAAE,KAC5B;IAAE,OAAO,EAAE,GAAG,CAAC;IAAC,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAiDhD,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,WAAW,SAAS,EACpB,OAAO,WAAW,CAAC,GAAG,CAAC,EACvB,aAAa,4BAA4B,EAAE,EAC3C,WAAW,QAAQ,KAClB,GAuEF,CAAA"}
1
+ {"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../src/QueryBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,SAAS,EAKT,SAAS,EAIV,MAAM,aAAa,CAAC;AAErB,OAAO,EAAe,WAAW,EAAM,MAAM,WAAW,CAAC;AAGzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CACtB,CAAA;AAkFD,eAAO,MAAM,oBAAoB,GAC/B,SAAS,GAAG,EACZ,mBAAmB,iBAAiB,EACpC,OAAO,WAAW,CAAC,GAAG,CAAC,EACvB,aAAa,4BAA4B,EAAE,EAC3C,gBAAgB,GAAG,CAAC,MAAM,EAAE,4BAA4B,EAAE,CAAC,EAC3D,WAAW,QAAQ,QAqCpB,CAAA;AAsfD,eAAO,MAAM,YAAY,GACvB,YAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,WAAW,SAAS,EACpB,OAAO,WAAW,CAAC,GAAG,CAAC,EACvB,UAAU,GAAG,EACb,aAAa,4BAA4B,EAAE,EAC3C,gBAAgB,GAAG,CAAC,MAAM,EAAE,4BAA4B,EAAE,CAAC,EAC3D,WAAW,QAAQ,wBAYpB,CAAA;AAuED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,GAAG,EACZ,OAAO,WAAW,CAAC,GAAG,CAAC,EACvB,sBAAsB,4BAA4B,EAAE,KACnD;IAAE,OAAO,EAAE,GAAG,CAAC;IAAC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAiD9C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,GAAG,EACZ,OAAO,WAAW,CAAC,GAAG,CAAC,EACvB,wBAAwB,GAAG,EAAE,KAC5B;IAAE,OAAO,EAAE,GAAG,CAAC;IAAC,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAiDhD,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,WAAW,SAAS,EACpB,OAAO,WAAW,CAAC,GAAG,CAAC,EACvB,aAAa,4BAA4B,EAAE,EAC3C,WAAW,QAAQ,KAClB,GAuEF,CAAA"}
package/dist/index.js CHANGED
@@ -1913,7 +1913,42 @@ var getCreateOperation = (models, definition, registry) => {
1913
1913
  logger10.trace(`[CREATE] Executing ${model.name}.create() with data: ${stringifyJSON(itemData)}`);
1914
1914
  queryMetrics.recordQuery(model.name);
1915
1915
  const createdRecord = await model.create(itemData);
1916
- const processedRecord = await processRow(createdRecord, kta, references || [], aggregations || [], registry, void 0, void 0);
1916
+ let recordToProcess = createdRecord;
1917
+ if (kta.length > 1) {
1918
+ const includesForKey = [];
1919
+ let currentInclude = null;
1920
+ for (let i = kta.length - 1; i > 0; i--) {
1921
+ const relationshipType = kta[i];
1922
+ const relationshipInfo = buildRelationshipPath(model, relationshipType, kta, true);
1923
+ if (relationshipInfo.found && !relationshipInfo.isDirect) {
1924
+ const intermediateType = kta[i - 1];
1925
+ const newInclude = {
1926
+ association: intermediateType,
1927
+ required: false
1928
+ };
1929
+ if (currentInclude) {
1930
+ newInclude.include = [currentInclude];
1931
+ }
1932
+ currentInclude = newInclude;
1933
+ }
1934
+ }
1935
+ if (currentInclude) {
1936
+ includesForKey.push(currentInclude);
1937
+ }
1938
+ if (includesForKey.length > 0) {
1939
+ logger10.debug(`[CREATE] Reloading ${model.name} with includes for key construction`, { includes: includesForKey });
1940
+ queryMetrics.recordQuery(model.name);
1941
+ const reloadedRecord = await model.findByPk(createdRecord.get("id"), {
1942
+ include: includesForKey
1943
+ });
1944
+ if (reloadedRecord) {
1945
+ recordToProcess = reloadedRecord;
1946
+ } else {
1947
+ logger10.warning(`[CREATE] Failed to reload ${model.name} after creation, using original record`);
1948
+ }
1949
+ }
1950
+ }
1951
+ const processedRecord = await processRow(recordToProcess, kta, references || [], aggregations || [], registry, void 0, void 0);
1917
1952
  const result = validateKeys2(processedRecord, kta);
1918
1953
  logger10.debug(`[CREATE] Created ${model.name} with key: ${result.key ? JSON.stringify(result.key) : `id=${createdRecord.id}`}`);
1919
1954
  return result;