@revisium/core 1.3.0 → 1.4.0

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 (137) hide show
  1. package/dist/package.json +5 -10
  2. package/dist/prisma/migrations/20250602142630_add_published_at_to_row/migration.sql +5 -0
  3. package/dist/prisma/schema.prisma +2 -0
  4. package/dist/src/__tests__/utils/prepareProject.d.ts +19 -1
  5. package/dist/src/__tests__/utils/prepareProject.js +8 -3
  6. package/dist/src/__tests__/utils/prepareProject.js.map +1 -1
  7. package/dist/src/api/graphql-api/draft/draft.resolver.d.ts +2 -0
  8. package/dist/src/api/graphql-api/draft/draft.resolver.js +18 -0
  9. package/dist/src/api/graphql-api/draft/draft.resolver.js.map +1 -1
  10. package/dist/src/api/graphql-api/draft/input/patch-row.input.d.ts +13 -0
  11. package/dist/src/api/graphql-api/draft/input/patch-row.input.js +48 -0
  12. package/dist/src/api/graphql-api/draft/input/patch-row.input.js.map +1 -0
  13. package/dist/src/api/graphql-api/draft/model/patch-row-result.model.d.ts +8 -0
  14. package/dist/src/api/graphql-api/draft/model/patch-row-result.model.js +38 -0
  15. package/dist/src/api/graphql-api/draft/model/patch-row-result.model.js.map +1 -0
  16. package/dist/src/api/graphql-api/registerGraphqlEnums.js +7 -0
  17. package/dist/src/api/graphql-api/registerGraphqlEnums.js.map +1 -1
  18. package/dist/src/api/graphql-api/row/inputs/get-rows.input.d.ts +65 -0
  19. package/dist/src/api/graphql-api/row/inputs/get-rows.input.js +233 -1
  20. package/dist/src/api/graphql-api/row/inputs/get-rows.input.js.map +1 -1
  21. package/dist/src/api/graphql-api/row/model/row.model.d.ts +1 -0
  22. package/dist/src/api/graphql-api/row/model/row.model.js +4 -0
  23. package/dist/src/api/graphql-api/row/model/row.model.js.map +1 -1
  24. package/dist/src/api/graphql-api/row/row.resolver.d.ts +1 -1
  25. package/dist/src/api/graphql-api/row/row.resolver.js +7 -2
  26. package/dist/src/api/graphql-api/row/row.resolver.js.map +1 -1
  27. package/dist/src/api/graphql-api/share/mapToPrismaOrderBy.d.ts +3 -0
  28. package/dist/src/api/graphql-api/share/mapToPrismaOrderBy.js +12 -0
  29. package/dist/src/api/graphql-api/share/mapToPrismaOrderBy.js.map +1 -0
  30. package/dist/src/api/rest-api/branch/branch-by-name.controller.d.ts +2 -2
  31. package/dist/src/api/rest-api/branch/branch-by-name.controller.js +4 -2
  32. package/dist/src/api/rest-api/branch/branch-by-name.controller.js.map +1 -1
  33. package/dist/src/api/rest-api/branch/dto/index.d.ts +1 -0
  34. package/dist/src/api/rest-api/branch/dto/index.js +1 -0
  35. package/dist/src/api/rest-api/branch/dto/index.js.map +1 -1
  36. package/dist/src/api/rest-api/branch/dto/touched.model.d.ts +3 -0
  37. package/dist/src/api/rest-api/branch/dto/touched.model.js +26 -0
  38. package/dist/src/api/rest-api/branch/dto/touched.model.js.map +1 -0
  39. package/dist/src/api/rest-api/project/project.controller.d.ts +5 -4
  40. package/dist/src/api/rest-api/project/project.controller.js +21 -8
  41. package/dist/src/api/rest-api/project/project.controller.js.map +1 -1
  42. package/dist/src/api/rest-api/row/model/row.model.d.ts +1 -0
  43. package/dist/src/api/rest-api/row/model/row.model.js +4 -0
  44. package/dist/src/api/rest-api/row/model/row.model.js.map +1 -1
  45. package/dist/src/api/rest-api/share/model/order-by.model.d.ts +1 -0
  46. package/dist/src/api/rest-api/share/model/order-by.model.js +1 -0
  47. package/dist/src/api/rest-api/share/model/order-by.model.js.map +1 -1
  48. package/dist/src/api/rest-api/share/model/success.model.d.ts +3 -0
  49. package/dist/src/api/rest-api/share/model/success.model.js +26 -0
  50. package/dist/src/api/rest-api/share/model/success.model.js.map +1 -0
  51. package/dist/src/api/rest-api/share/utils/transformFromPrismaToRowModel.js +1 -0
  52. package/dist/src/api/rest-api/share/utils/transformFromPrismaToRowModel.js.map +1 -1
  53. package/dist/src/api/rest-api/table/dto/row/row-where-input.dto.d.ts +1 -0
  54. package/dist/src/api/rest-api/table/dto/row/row-where-input.dto.js +10 -0
  55. package/dist/src/api/rest-api/table/dto/row/row-where-input.dto.js.map +1 -1
  56. package/dist/src/features/draft/commands/handlers/__tests__/utils.d.ts +2 -0
  57. package/dist/src/features/draft/commands/handlers/__tests__/utils.js +3 -0
  58. package/dist/src/features/draft/commands/handlers/__tests__/utils.js.map +1 -1
  59. package/dist/src/features/draft/commands/handlers/api-patch-row.handler.d.ts +13 -0
  60. package/dist/src/features/draft/commands/handlers/api-patch-row.handler.js +57 -0
  61. package/dist/src/features/draft/commands/handlers/api-patch-row.handler.js.map +1 -0
  62. package/dist/src/features/draft/commands/handlers/index.d.ts +3 -1
  63. package/dist/src/features/draft/commands/handlers/index.js +4 -0
  64. package/dist/src/features/draft/commands/handlers/index.js.map +1 -1
  65. package/dist/src/features/draft/commands/handlers/patch-row.handler.d.ts +20 -0
  66. package/dist/src/features/draft/commands/handlers/patch-row.handler.js +93 -0
  67. package/dist/src/features/draft/commands/handlers/patch-row.handler.js.map +1 -0
  68. package/dist/src/features/draft/commands/handlers/transactional/get-or-create-draft-row.handler.js +1 -0
  69. package/dist/src/features/draft/commands/handlers/transactional/get-or-create-draft-row.handler.js.map +1 -1
  70. package/dist/src/features/draft/commands/handlers/transactional/get-or-create-draft-rows.handler.js +2 -0
  71. package/dist/src/features/draft/commands/handlers/transactional/get-or-create-draft-rows.handler.js.map +1 -1
  72. package/dist/src/features/draft/commands/handlers/transactional/internal-update-row.handler.js +1 -0
  73. package/dist/src/features/draft/commands/handlers/transactional/internal-update-row.handler.js.map +1 -1
  74. package/dist/src/features/draft/commands/handlers/update-row.handler.d.ts +6 -1
  75. package/dist/src/features/draft/commands/handlers/update-row.handler.js +18 -2
  76. package/dist/src/features/draft/commands/handlers/update-row.handler.js.map +1 -1
  77. package/dist/src/features/draft/commands/impl/api-patch-row.command.d.ts +26 -0
  78. package/dist/src/features/draft/commands/impl/api-patch-row.command.js +10 -0
  79. package/dist/src/features/draft/commands/impl/api-patch-row.command.js.map +1 -0
  80. package/dist/src/features/draft/commands/impl/patch-row.command.d.ts +22 -0
  81. package/dist/src/features/draft/commands/impl/patch-row.command.js +10 -0
  82. package/dist/src/features/draft/commands/impl/patch-row.command.js.map +1 -0
  83. package/dist/src/features/draft/commands/impl/transactional/internal-update-row.command.d.ts +2 -0
  84. package/dist/src/features/draft/commands/impl/transactional/internal-update-row.command.js.map +1 -1
  85. package/dist/src/features/plugin/index.d.ts +2 -1
  86. package/dist/src/features/plugin/index.js +2 -0
  87. package/dist/src/features/plugin/index.js.map +1 -1
  88. package/dist/src/features/plugin/plugin.list.service.d.ts +2 -1
  89. package/dist/src/features/plugin/plugin.list.service.js +4 -1
  90. package/dist/src/features/plugin/plugin.list.service.js.map +1 -1
  91. package/dist/src/features/plugin/row-published-at/row-published-at.plugin.d.ts +13 -0
  92. package/dist/src/features/plugin/row-published-at/row-published-at.plugin.js +70 -0
  93. package/dist/src/features/plugin/row-published-at/row-published-at.plugin.js.map +1 -0
  94. package/dist/src/features/project/commands/handlers/add-user-to-project.handler.d.ts +1 -0
  95. package/dist/src/features/project/commands/handlers/add-user-to-project.handler.js +12 -0
  96. package/dist/src/features/project/commands/handlers/add-user-to-project.handler.js.map +1 -1
  97. package/dist/src/features/project/commands/handlers/delete-project.handler.d.ts +1 -0
  98. package/dist/src/features/project/commands/handlers/delete-project.handler.js +12 -0
  99. package/dist/src/features/project/commands/handlers/delete-project.handler.js.map +1 -1
  100. package/dist/src/features/row/queries/handlers/get-row-by-id.handler.d.ts +1 -0
  101. package/dist/src/features/row/queries/handlers/get-rows.handler.js +4 -3
  102. package/dist/src/features/row/queries/handlers/get-rows.handler.js.map +1 -1
  103. package/dist/src/features/row/queries/handlers/resolve-row-foreign-keys-by.handler.d.ts +1 -0
  104. package/dist/src/features/row/queries/handlers/resolve-row-foreign-keys-to.handler.d.ts +1 -0
  105. package/dist/src/features/row/queries/impl/get-rows.query.d.ts +5 -0
  106. package/dist/src/features/row/queries/impl/get-rows.query.js.map +1 -1
  107. package/dist/src/features/share/foreign-keys.service.d.ts +2 -0
  108. package/dist/src/features/share/json-schema-store.service.js +1 -0
  109. package/dist/src/features/share/json-schema-store.service.js.map +1 -1
  110. package/dist/src/features/share/json-schema-validator.service.js +1 -0
  111. package/dist/src/features/share/json-schema-validator.service.js.map +1 -1
  112. package/dist/src/features/share/schema/plugins/index.d.ts +1 -0
  113. package/dist/src/features/share/schema/plugins/index.js +1 -0
  114. package/dist/src/features/share/schema/plugins/index.js.map +1 -1
  115. package/dist/src/features/share/schema/plugins/row-published-at.schema.d.ts +4 -0
  116. package/dist/src/features/share/schema/plugins/row-published-at.schema.js +14 -0
  117. package/dist/src/features/share/schema/plugins/row-published-at.schema.js.map +1 -0
  118. package/dist/src/features/share/schema-ids.consts.d.ts +1 -0
  119. package/dist/src/features/share/schema-ids.consts.js +1 -0
  120. package/dist/src/features/share/schema-ids.consts.js.map +1 -1
  121. package/dist/src/features/share/utils/schema/lib/createJsonValueStore.d.ts +2 -0
  122. package/dist/src/features/share/utils/schema/lib/createJsonValueStore.js +13 -5
  123. package/dist/src/features/share/utils/schema/lib/createJsonValueStore.js.map +1 -1
  124. package/dist/src/features/share/utils/schema/lib/getJsonValueByPath.d.ts +2 -0
  125. package/dist/src/features/share/utils/schema/lib/getJsonValueByPath.js +46 -0
  126. package/dist/src/features/share/utils/schema/lib/getJsonValueByPath.js.map +1 -0
  127. package/dist/src/features/share/utils/schema/types/json-value-patch.types.d.ts +21 -0
  128. package/dist/src/features/share/utils/schema/types/json-value-patch.types.js +3 -0
  129. package/dist/src/features/share/utils/schema/types/json-value-patch.types.js.map +1 -0
  130. package/dist/src/features/table/queries/handlers/get-rows-by-table.handler.d.ts +1 -0
  131. package/dist/src/index.d.ts +1 -0
  132. package/dist/src/index.js +3 -1
  133. package/dist/src/index.js.map +1 -1
  134. package/dist/src/infrastructure/database/s3.service.js +1 -0
  135. package/dist/src/infrastructure/database/s3.service.js.map +1 -1
  136. package/dist/tsconfig.build.tsbuildinfo +1 -1
  137. package/package.json +5 -10
@@ -0,0 +1,4 @@
1
+ import { Schema } from 'ajv/dist/2020';
2
+ import { JsonStringSchema } from '../../../../features/share/utils/schema/types/schema.types';
3
+ export declare const rowPublishedAtSchema: JsonStringSchema;
4
+ export declare const ajvRowPublishedAtSchema: Schema;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ajvRowPublishedAtSchema = exports.rowPublishedAtSchema = void 0;
4
+ const schema_ids_consts_1 = require("../../schema-ids.consts");
5
+ const schema_types_1 = require("../../utils/schema/types/schema.types");
6
+ exports.rowPublishedAtSchema = {
7
+ type: schema_types_1.JsonSchemaTypeName.String,
8
+ default: '',
9
+ };
10
+ exports.ajvRowPublishedAtSchema = {
11
+ $id: schema_ids_consts_1.SystemSchemaIds.RowPublishedAt,
12
+ ...exports.rowPublishedAtSchema,
13
+ };
14
+ //# sourceMappingURL=row-published-at.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-published-at.schema.js","sourceRoot":"","sources":["../../../../../../src/features/share/schema/plugins/row-published-at.schema.ts"],"names":[],"mappings":";;;AACA,+DAAuE;AACvE,wEAG4D;AAE/C,QAAA,oBAAoB,GAAqB;IACpD,IAAI,EAAE,iCAAkB,CAAC,MAAM;IAC/B,OAAO,EAAE,EAAE;CACZ,CAAC;AAEW,QAAA,uBAAuB,GAAW;IAC7C,GAAG,EAAE,mCAAe,CAAC,cAAc;IACnC,GAAG,4BAAoB;CACxB,CAAC"}
@@ -3,6 +3,7 @@ export declare enum SystemSchemaIds {
3
3
  RowCreatedId = "urn:jsonschema:io:revisium:row-created-id-schema:1.0.0",
4
4
  RowVersionId = "urn:jsonschema:io:revisium:row-version-id-schema:1.0.0",
5
5
  RowCreatedAt = "urn:jsonschema:io:revisium:row-created-at-schema:1.0.0",
6
+ RowPublishedAt = "urn:jsonschema:io:revisium:row-published-at-schema:1.0.0",
6
7
  RowUpdatedAt = "urn:jsonschema:io:revisium:row-updated-at-schema:1.0.0",
7
8
  RowHash = "urn:jsonschema:io:revisium:row-hash-schema:1.0.0",
8
9
  RowSchemaHash = "urn:jsonschema:io:revisium:row-schema-hash-schema:1.0.0",
@@ -7,6 +7,7 @@ var SystemSchemaIds;
7
7
  SystemSchemaIds["RowCreatedId"] = "urn:jsonschema:io:revisium:row-created-id-schema:1.0.0";
8
8
  SystemSchemaIds["RowVersionId"] = "urn:jsonschema:io:revisium:row-version-id-schema:1.0.0";
9
9
  SystemSchemaIds["RowCreatedAt"] = "urn:jsonschema:io:revisium:row-created-at-schema:1.0.0";
10
+ SystemSchemaIds["RowPublishedAt"] = "urn:jsonschema:io:revisium:row-published-at-schema:1.0.0";
10
11
  SystemSchemaIds["RowUpdatedAt"] = "urn:jsonschema:io:revisium:row-updated-at-schema:1.0.0";
11
12
  SystemSchemaIds["RowHash"] = "urn:jsonschema:io:revisium:row-hash-schema:1.0.0";
12
13
  SystemSchemaIds["RowSchemaHash"] = "urn:jsonschema:io:revisium:row-schema-hash-schema:1.0.0";
@@ -1 +1 @@
1
- {"version":3,"file":"schema-ids.consts.js","sourceRoot":"","sources":["../../../../src/features/share/schema-ids.consts.ts"],"names":[],"mappings":";;;AAAA,IAAY,eASX;AATD,WAAY,eAAe;IACzB,2EAAwD,CAAA;IACxD,0FAAuE,CAAA;IACvE,0FAAuE,CAAA;IACvE,0FAAuE,CAAA;IACvE,0FAAuE,CAAA;IACvE,+EAA4D,CAAA;IAC5D,4FAAyE,CAAA;IACzE,wEAAqD,CAAA;AACvD,CAAC,EATW,eAAe,+BAAf,eAAe,QAS1B"}
1
+ {"version":3,"file":"schema-ids.consts.js","sourceRoot":"","sources":["../../../../src/features/share/schema-ids.consts.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAUX;AAVD,WAAY,eAAe;IACzB,2EAAwD,CAAA;IACxD,0FAAuE,CAAA;IACvE,0FAAuE,CAAA;IACvE,0FAAuE,CAAA;IACvE,8FAA2E,CAAA;IAC3E,0FAAuE,CAAA;IACvE,+EAA4D,CAAA;IAC5D,4FAAyE,CAAA;IACzE,wEAAqD,CAAA;AACvD,CAAC,EAVW,eAAe,+BAAf,eAAe,QAU1B"}
@@ -7,5 +7,7 @@ import { JsonValueStore, JsonValueStorePrimitives } from '../../../../../feature
7
7
  import { JsonArray, JsonObject, JsonPrimitives, JsonValue } from '../../../../../features/share/utils/schema/types/json.types';
8
8
  export declare const createJsonValueStore: (schema: JsonSchemaStore, rowId: string, rawValue: JsonValue) => JsonValueStore;
9
9
  export declare const createJsonObjectValueStore: (schema: JsonObjectStore, rowId: string, rawValue: JsonObject) => JsonObjectValueStore;
10
+ export declare const createJsonObjectRecord: (schema: JsonObjectStore, rowId: string, rawValue: JsonObject) => Record<string, JsonValueStore>;
10
11
  export declare const createJsonArrayValueStore: (schema: JsonArrayStore, rowId: string, rawValue: JsonArray) => JsonArrayValueStore;
12
+ export declare const createJsonArrayValueItems: (schema: JsonArrayStore, rowId: string, rawValue: JsonArray) => JsonValueStore[];
11
13
  export declare const createPrimitiveValueStore: (schema: JsonSchemaStorePrimitives, rowId: string, rawValue: JsonPrimitives) => JsonValueStorePrimitives;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPrimitiveValueStore = exports.createJsonArrayValueStore = exports.createJsonObjectValueStore = exports.createJsonValueStore = void 0;
3
+ exports.createPrimitiveValueStore = exports.createJsonArrayValueItems = exports.createJsonArrayValueStore = exports.createJsonObjectRecord = exports.createJsonObjectValueStore = exports.createJsonValueStore = void 0;
4
4
  const json_array_value_store_1 = require("../model/value/json-array-value.store");
5
5
  const json_boolean_value_store_1 = require("../model/value/json-boolean-value.store");
6
6
  const json_number_value_store_1 = require("../model/value/json-number-value.store");
@@ -20,7 +20,12 @@ const createJsonValueStore = (schema, rowId, rawValue) => {
20
20
  };
21
21
  exports.createJsonValueStore = createJsonValueStore;
22
22
  const createJsonObjectValueStore = (schema, rowId, rawValue) => {
23
- const value = Object.entries(rawValue).reduce((reduceValue, [key, itemValue]) => {
23
+ const value = (0, exports.createJsonObjectRecord)(schema, rowId, rawValue);
24
+ return new json_object_value_store_1.JsonObjectValueStore(schema, rowId, value);
25
+ };
26
+ exports.createJsonObjectValueStore = createJsonObjectValueStore;
27
+ const createJsonObjectRecord = (schema, rowId, rawValue) => {
28
+ return Object.entries(rawValue).reduce((reduceValue, [key, itemValue]) => {
24
29
  const itemSchema = schema.getProperty(key);
25
30
  if (itemSchema === undefined || itemValue === undefined) {
26
31
  throw new Error('Invalid item');
@@ -28,14 +33,17 @@ const createJsonObjectValueStore = (schema, rowId, rawValue) => {
28
33
  reduceValue[key] = (0, exports.createJsonValueStore)(itemSchema, rowId, itemValue);
29
34
  return reduceValue;
30
35
  }, {});
31
- return new json_object_value_store_1.JsonObjectValueStore(schema, rowId, value);
32
36
  };
33
- exports.createJsonObjectValueStore = createJsonObjectValueStore;
37
+ exports.createJsonObjectRecord = createJsonObjectRecord;
34
38
  const createJsonArrayValueStore = (schema, rowId, rawValue) => {
35
- const value = rawValue.map((value) => (0, exports.createJsonValueStore)(schema.items, rowId, value));
39
+ const value = (0, exports.createJsonArrayValueItems)(schema, rowId, rawValue);
36
40
  return new json_array_value_store_1.JsonArrayValueStore(schema, rowId, value);
37
41
  };
38
42
  exports.createJsonArrayValueStore = createJsonArrayValueStore;
43
+ const createJsonArrayValueItems = (schema, rowId, rawValue) => {
44
+ return rawValue.map((value) => (0, exports.createJsonValueStore)(schema.items, rowId, value));
45
+ };
46
+ exports.createJsonArrayValueItems = createJsonArrayValueItems;
39
47
  const createPrimitiveValueStore = (schema, rowId, rawValue) => {
40
48
  if (schema.type === schema_types_1.JsonSchemaTypeName.String) {
41
49
  return new json_string_value_store_1.JsonStringValueStore(schema, rowId, rawValue);
@@ -1 +1 @@
1
- {"version":3,"file":"createJsonValueStore.js","sourceRoot":"","sources":["../../../../../../../src/features/share/utils/schema/lib/createJsonValueStore.ts"],"names":[],"mappings":";;;AAMA,kFAAyG;AACzG,sFAA6G;AAC7G,oFAA2G;AAC3G,oFAA2G;AAC3G,oFAA2G;AAW3G,wDAAwF;AAEjF,MAAM,oBAAoB,GAAG,CAClC,MAAuB,EACvB,KAAa,EACb,QAAmB,EACH,EAAE;IAClB,IAAI,MAAM,CAAC,IAAI,KAAK,iCAAkB,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,IAAA,kCAA0B,EAAC,MAAM,EAAE,KAAK,EAAE,QAAsB,CAAC,CAAC;IAC3E,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,iCAAkB,CAAC,KAAK,EAAE,CAAC;QACpD,OAAO,IAAA,iCAAyB,EAAC,MAAM,EAAE,KAAK,EAAE,QAAqB,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,IAAA,iCAAyB,EAAC,MAAM,EAAE,KAAK,EAAE,QAA0B,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B;AAEK,MAAM,0BAA0B,GAAG,CACxC,MAAuB,EACvB,KAAa,EACb,QAAoB,EACE,EAAE;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC3C,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,GAAG,IAAA,4BAAoB,EAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtE,OAAO,WAAW,CAAC;IACrB,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,IAAI,8CAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC;AArBW,QAAA,0BAA0B,8BAqBrC;AAEK,MAAM,yBAAyB,GAAG,CACvC,MAAsB,EACtB,KAAa,EACb,QAAmB,EACE,EAAE;IACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,IAAA,4BAAoB,EAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CACjD,CAAC;IAEF,OAAO,IAAI,4CAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC,CAAC;AAVW,QAAA,yBAAyB,6BAUpC;AAEK,MAAM,yBAAyB,GAAG,CACvC,MAAiC,EACjC,KAAa,EACb,QAAwB,EACE,EAAE;IAC5B,IAAI,MAAM,CAAC,IAAI,KAAK,iCAAkB,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,IAAI,8CAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAyB,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,iCAAkB,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,IAAI,8CAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAyB,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,iCAAkB,CAAC,OAAO,EAAE,CAAC;QACtD,OAAO,IAAI,gDAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,QAA0B,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,yBAAyB,6BAcpC"}
1
+ {"version":3,"file":"createJsonValueStore.js","sourceRoot":"","sources":["../../../../../../../src/features/share/utils/schema/lib/createJsonValueStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { JsonValueStore } from '../../../../../features/share/utils/schema/model/value/json-value.store';
2
+ export declare const getJsonValueStoreByPath: (root: JsonValueStore, path: string) => JsonValueStore;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getJsonValueStoreByPath = void 0;
4
+ const json_array_value_store_1 = require("../model/value/json-array-value.store");
5
+ const json_object_value_store_1 = require("../model/value/json-object-value.store");
6
+ const getJsonValueStoreByPath = (root, path) => {
7
+ if (!path) {
8
+ return root;
9
+ }
10
+ const segments = getSegments(path);
11
+ let current = root;
12
+ for (const seg of segments) {
13
+ if (current instanceof json_object_value_store_1.JsonObjectValueStore) {
14
+ current = current.value[String(seg)];
15
+ }
16
+ else if (current instanceof json_array_value_store_1.JsonArrayValueStore) {
17
+ if (typeof seg !== 'number') {
18
+ throw new Error(`Invalid array index "${seg}"`);
19
+ }
20
+ current = current.value[seg];
21
+ }
22
+ else {
23
+ throw new Error(`Cannot navigate into primitive at segment "${seg}"`);
24
+ }
25
+ if (!current) {
26
+ throw new Error(`Path not found at segment "${seg}"`);
27
+ }
28
+ }
29
+ return current;
30
+ };
31
+ exports.getJsonValueStoreByPath = getJsonValueStoreByPath;
32
+ const regex = /([^.[\]]+)|\[(\d+)]/g;
33
+ const getSegments = (path) => {
34
+ const segments = [];
35
+ let match;
36
+ while ((match = regex.exec(path))) {
37
+ if (match[1] !== undefined) {
38
+ segments.push(match[1]);
39
+ }
40
+ else if (match[2] !== undefined) {
41
+ segments.push(Number(match[2]));
42
+ }
43
+ }
44
+ return segments;
45
+ };
46
+ //# sourceMappingURL=getJsonValueByPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJsonValueByPath.js","sourceRoot":"","sources":["../../../../../../../src/features/share/utils/schema/lib/getJsonValueByPath.ts"],"names":[],"mappings":";;;AAAA,kFAAyG;AACzG,oFAA2G;AAGpG,MAAM,uBAAuB,GAAG,CACrC,IAAoB,EACpB,IAAY,EACI,EAAE;IAClB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,OAAO,GAAmB,IAAI,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,OAAO,YAAY,8CAAoB,EAAE,CAAC;YAC5C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,YAAY,4CAAmB,EAAE,CAAC;YAClD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,GAAG,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AA9BW,QAAA,uBAAuB,2BA8BlC;AAEF,MAAM,KAAK,GAAG,sBAAsB,CAAC;AAErC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;IACnC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,IAAI,KAA6B,CAAC;IAElC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { JsonValue } from './json.types';
2
+ export type JsonValuePatchMove = {
3
+ op: 'move';
4
+ from: string;
5
+ path: string;
6
+ };
7
+ export type JsonValuePatchReplace = {
8
+ op: 'replace';
9
+ path: string;
10
+ value: JsonValue;
11
+ };
12
+ export type JsonValuePatchRemove = {
13
+ op: 'remove';
14
+ path: string;
15
+ };
16
+ export type JsonValuePatchAdd = {
17
+ op: 'add';
18
+ path: string;
19
+ value: JsonValue;
20
+ };
21
+ export type JsonValuePatch = JsonValuePatchMove | JsonValuePatchReplace | JsonValuePatchRemove | JsonValuePatchAdd;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=json-value-patch.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-value-patch.types.js","sourceRoot":"","sources":["../../../../../../../src/features/share/utils/schema/types/json-value-patch.types.ts"],"names":[],"mappings":""}
@@ -22,6 +22,7 @@ export declare class GetRowsByTableHandler implements IQueryHandler<GetRowsByTab
22
22
  updatedAt: Date;
23
23
  hash: string;
24
24
  meta: Prisma.JsonValue;
25
+ publishedAt: Date;
25
26
  schemaHash: string;
26
27
  }>>;
27
28
  private getRows;
@@ -3,3 +3,4 @@ export { MetricsApiModule } from './infrastructure/metrics-api/metrics-api.modul
3
3
  export { AdminModule } from './infrastructure/admin/admin.module';
4
4
  export { AdminModuleOptions } from './infrastructure/admin/admin-module.options';
5
5
  export { GracefulShutdownModule } from './infrastructure/graceful-shutdown/graceful-shutdown.module';
6
+ export { initSwagger } from './api/rest-api/init-swagger';
package/dist/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GracefulShutdownModule = exports.AdminModule = exports.MetricsApiModule = exports.CoreModule = void 0;
3
+ exports.initSwagger = exports.GracefulShutdownModule = exports.AdminModule = exports.MetricsApiModule = exports.CoreModule = void 0;
4
4
  var core_module_1 = require("./core/core.module");
5
5
  Object.defineProperty(exports, "CoreModule", { enumerable: true, get: function () { return core_module_1.CoreModule; } });
6
6
  var metrics_api_module_1 = require("./infrastructure/metrics-api/metrics-api.module");
@@ -9,4 +9,6 @@ var admin_module_1 = require("./infrastructure/admin/admin.module");
9
9
  Object.defineProperty(exports, "AdminModule", { enumerable: true, get: function () { return admin_module_1.AdminModule; } });
10
10
  var graceful_shutdown_module_1 = require("./infrastructure/graceful-shutdown/graceful-shutdown.module");
11
11
  Object.defineProperty(exports, "GracefulShutdownModule", { enumerable: true, get: function () { return graceful_shutdown_module_1.GracefulShutdownModule; } });
12
+ var init_swagger_1 = require("./api/rest-api/init-swagger");
13
+ Object.defineProperty(exports, "initSwagger", { enumerable: true, get: function () { return init_swagger_1.initSwagger; } });
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAAzC,yGAAA,UAAU,OAAA;AACnB,sFAAqF;AAA5E,sHAAA,gBAAgB,OAAA;AACzB,oEAAoE;AAA3D,2GAAA,WAAW,OAAA;AAEpB,wGAAuG;AAA9F,kIAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAAzC,yGAAA,UAAU,OAAA;AACnB,sFAAqF;AAA5E,sHAAA,gBAAgB,OAAA;AACzB,oEAAoE;AAA3D,2GAAA,WAAW,OAAA;AAEpB,wGAAuG;AAA9F,kIAAA,sBAAsB,OAAA;AAC/B,4DAA4D;AAAnD,2GAAA,WAAW,OAAA"}
@@ -50,6 +50,7 @@ let S3Service = S3Service_1 = class S3Service {
50
50
  Body: file.buffer,
51
51
  ContentType: file.mimetype,
52
52
  ContentLength: file.size,
53
+ CacheControl: 'public, max-age=31536000, immutable',
53
54
  ACL: 'public-read',
54
55
  }));
55
56
  this.logger.log(`File uploaded to S3: ${path}, bucket: ${this.bucket}`);
@@ -1 +1 @@
1
- {"version":3,"file":"s3.service.js","sourceRoot":"","sources":["../../../../src/infrastructure/database/s3.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.service.js","sourceRoot":"","sources":["../../../../src/infrastructure/database/s3.service.ts"],"names":[],"mappings":"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"}