@redocly/redoc 0.133.0-next.1 → 0.133.0-next.3

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 (188) hide show
  1. package/CHANGELOG.md +60 -2
  2. package/dist/server/constants/plugins/catalog-entities.d.ts +2 -0
  3. package/dist/server/constants/plugins/catalog-entities.js +1 -1
  4. package/dist/server/persistence/cache/mappers/create-cache-db-record.d.ts +1 -1
  5. package/dist/server/persistence/cache/mappers/create-cache-read-model.d.ts +1 -1
  6. package/dist/server/persistence/cache/repositories/{cache-local-repository.d.ts → cache-repository.d.ts} +3 -3
  7. package/dist/server/persistence/cache/repositories/cache-repository.js +1 -0
  8. package/dist/server/persistence/cache/services/cache-service.d.ts +2 -2
  9. package/dist/server/persistence/cache/services/cache-service.js +1 -1
  10. package/dist/server/persistence/file-hashes/mappers/create-file-hash-db-record.d.ts +1 -1
  11. package/dist/server/persistence/file-hashes/mappers/create-file-hash-read-model.d.ts +2 -2
  12. package/dist/server/persistence/file-hashes/mappers/create-file-hash-read-model.js +1 -1
  13. package/dist/server/persistence/file-hashes/repositories/{file-hashes-local-read-repository.d.ts → file-hashes-read-repository.d.ts} +3 -7
  14. package/dist/server/persistence/file-hashes/repositories/file-hashes-read-repository.js +1 -0
  15. package/dist/server/persistence/file-hashes/repositories/{file-hashes-local-repository.d.ts → file-hashes-repository.d.ts} +4 -3
  16. package/dist/server/persistence/file-hashes/repositories/file-hashes-repository.js +1 -0
  17. package/dist/server/persistence/file-hashes/repositories/{file-hashes-local-write-repository.d.ts → file-hashes-write-repository.d.ts} +2 -2
  18. package/dist/server/persistence/file-hashes/repositories/file-hashes-write-repository.js +1 -0
  19. package/dist/server/persistence/file-hashes/services/file-hashes-service.d.ts +3 -5
  20. package/dist/server/persistence/file-hashes/services/file-hashes-service.js +1 -1
  21. package/dist/server/persistence/kv/mappers/create-kv-db-record.d.ts +1 -1
  22. package/dist/server/persistence/kv/mappers/create-kv-list-entry.d.ts +1 -1
  23. package/dist/server/persistence/kv/mappers/create-kv-value.d.ts +1 -1
  24. package/dist/server/persistence/kv/repositories/{kv-remote-repository.d.ts → kv-repository.d.ts} +3 -3
  25. package/dist/server/persistence/kv/repositories/kv-repository.js +2 -0
  26. package/dist/server/persistence/kv/services/kv-service.d.ts +2 -2
  27. package/dist/server/persistence/kv/services/kv-service.js +1 -1
  28. package/dist/server/plugins/catalog-entities/database/catalog-entities-publisher.d.ts +6 -0
  29. package/dist/server/plugins/catalog-entities/database/catalog-entities-publisher.js +12 -0
  30. package/dist/server/plugins/catalog-entities/database/catalog-entities-service.d.ts +29 -66
  31. package/dist/server/plugins/catalog-entities/database/catalog-entities-service.js +1 -1
  32. package/dist/server/plugins/catalog-entities/database/consts.d.ts +45 -0
  33. package/dist/server/plugins/catalog-entities/database/consts.js +1 -0
  34. package/dist/server/plugins/catalog-entities/database/mappers/create-bff-entity.d.ts +1 -2
  35. package/dist/server/plugins/catalog-entities/database/mappers/create-bff-entity.js +1 -1
  36. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-attributes-db-record.d.ts +1 -1
  37. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-db-record.d.ts +1 -1
  38. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-read-model.d.ts +1 -3
  39. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-read-model.js +1 -1
  40. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-relation-db-record-from-dto.d.ts +1 -1
  41. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-relation-db-record-from-file-schema.d.ts +1 -1
  42. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-relation-read-model.d.ts +3 -3
  43. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-relation-read-model.js +1 -1
  44. package/dist/server/plugins/catalog-entities/database/repositories/{local/catalog-entities-bff-repository.d.ts → bffEntities/bff-entities-read-repository.d.ts} +4 -4
  45. package/dist/server/plugins/catalog-entities/database/repositories/bffEntities/bff-entities-read-repository.js +131 -0
  46. package/dist/server/plugins/catalog-entities/database/repositories/catalog-entities-repository.d.ts +26 -0
  47. package/dist/server/plugins/catalog-entities/database/repositories/catalog-entities-repository.js +1 -0
  48. package/dist/server/plugins/catalog-entities/database/repositories/common/filters-repository.d.ts +8 -0
  49. package/dist/server/plugins/catalog-entities/database/repositories/common/filters-repository.js +82 -0
  50. package/dist/server/plugins/catalog-entities/database/repositories/common/revision-repository.d.ts +7 -7
  51. package/dist/server/plugins/catalog-entities/database/repositories/common/revision-repository.js +1 -1
  52. package/dist/server/plugins/catalog-entities/database/repositories/common/version-repository.js +1 -1
  53. package/dist/server/plugins/catalog-entities/database/repositories/entities/entities-read-repository.d.ts +27 -0
  54. package/dist/server/plugins/catalog-entities/database/repositories/entities/entities-read-repository.js +1 -0
  55. package/dist/server/plugins/catalog-entities/database/repositories/entities/entities-write-repository.d.ts +27 -0
  56. package/dist/server/plugins/catalog-entities/database/repositories/entities/entities-write-repository.js +1 -0
  57. package/dist/server/plugins/catalog-entities/database/repositories/entityAttributes/entity-attributes-write-repository.d.ts +12 -0
  58. package/dist/server/plugins/catalog-entities/database/repositories/entityAttributes/entity-attributes-write-repository.js +1 -0
  59. package/dist/server/plugins/catalog-entities/database/repositories/{local/catalog-entities-relations-repository.d.ts → relations/relations-read-repository.d.ts} +7 -4
  60. package/dist/server/plugins/catalog-entities/database/repositories/relations/relations-read-repository.js +1 -0
  61. package/dist/server/plugins/catalog-entities/database/repositories/relations/relations-write-repository.d.ts +28 -0
  62. package/dist/server/plugins/catalog-entities/database/repositories/relations/relations-write-repository.js +1 -0
  63. package/dist/server/plugins/catalog-entities/database/repositories/types.d.ts +39 -0
  64. package/dist/server/plugins/catalog-entities/database/repositories/types.js +0 -0
  65. package/dist/server/plugins/catalog-entities/database/types.d.ts +26 -0
  66. package/dist/server/plugins/catalog-entities/database/types.js +0 -0
  67. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.js +1 -1
  68. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.d.ts +2 -2
  69. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.js +1 -1
  70. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.d.ts +2 -2
  71. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.js +1 -1
  72. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/graphql-entities-extractor.d.ts +2 -2
  73. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/graphql-entities-extractor.js +2 -2
  74. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.d.ts +2 -2
  75. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.js +1 -1
  76. package/dist/server/plugins/catalog-entities/extensions/extractors/fs-entities-extractor.js +1 -1
  77. package/dist/server/plugins/catalog-entities/get-server-props.js +1 -1
  78. package/dist/server/plugins/catalog-entities/plugin.js +1 -1
  79. package/dist/server/plugins/catalog-entities/schemas/database-schemas.d.ts +38 -36
  80. package/dist/server/plugins/catalog-entities/schemas/database-schemas.js +1 -1
  81. package/dist/server/plugins/catalog-entities/schemas/dto-schemas.d.ts +1 -3
  82. package/dist/server/plugins/catalog-entities/schemas/read-model-schemas.d.ts +3 -1
  83. package/dist/server/plugins/catalog-entities/utils/catalog-data-collector.d.ts +15 -0
  84. package/dist/server/plugins/catalog-entities/utils/catalog-data-collector.js +1 -1
  85. package/dist/server/plugins/catalog-entities/utils/hash-manager.d.ts +1 -0
  86. package/dist/server/plugins/catalog-entities/utils/hash-manager.js +1 -1
  87. package/dist/server/plugins/catalog-entities/utils/rbac-config-hash-cache.d.ts +18 -0
  88. package/dist/server/plugins/catalog-entities/utils/rbac-config-hash-cache.js +1 -0
  89. package/dist/server/plugins/entitlements/index.js +1 -1
  90. package/dist/server/plugins/entitlements/utils/get-billed-catalog-build-pages-count.d.ts +0 -1
  91. package/dist/server/plugins/entitlements/utils/get-billed-catalog-build-pages-count.js +1 -1
  92. package/dist/server/plugins/mcp/servers/docs-server.js +1 -1
  93. package/dist/server/plugins/mcp/types.d.ts +5 -0
  94. package/dist/server/plugins/mcp/workers/execute-mcp-tool.d.ts +1 -0
  95. package/dist/server/plugins/mcp/workers/execute-mcp-tool.js +1 -1
  96. package/dist/server/plugins/scorecards/database/repositories/{local/scorecards-config-local-repository.d.ts → scorecards-config-repository.d.ts} +4 -4
  97. package/dist/server/plugins/scorecards/database/repositories/scorecards-config-repository.js +1 -0
  98. package/dist/server/plugins/scorecards/database/scorecards-config-service.js +1 -1
  99. package/dist/server/plugins/search/ai-indexer/prepare-semantic-documents.js +1 -1
  100. package/dist/server/providers/database/base-repository.js +2 -2
  101. package/dist/server/providers/database/client.d.ts +1 -1
  102. package/dist/server/providers/database/client.js +1 -1
  103. package/dist/server/providers/database/constants.d.ts +4 -9
  104. package/dist/server/providers/database/constants.js +1 -1
  105. package/dist/server/providers/database/copy-migrations.js +1 -1
  106. package/dist/server/providers/database/database-connection-factory.d.ts +2 -2
  107. package/dist/server/providers/database/database-connection-factory.js +1 -1
  108. package/dist/server/providers/database/database-connections-manager.d.ts +3 -8
  109. package/dist/server/providers/database/database-connections-manager.js +1 -1
  110. package/dist/server/providers/database/database-preconnect-service.js +1 -1
  111. package/dist/server/providers/database/databases/sqlite-db/drizzle.config.d.ts +12 -0
  112. package/dist/server/providers/database/databases/sqlite-db/drizzle.config.js +1 -0
  113. package/dist/server/providers/database/databases/{catalog-sqlite → sqlite-db}/schemas/entities-relations-table.d.ts +19 -0
  114. package/dist/server/providers/database/databases/{catalog-sqlite → sqlite-db}/schemas/entities-relations-table.js +1 -1
  115. package/dist/server/providers/database/databases/{catalog-sqlite → sqlite-db}/schemas/entities-table.d.ts +19 -0
  116. package/dist/server/providers/database/databases/{catalog-sqlite → sqlite-db}/schemas/entities-table.js +1 -1
  117. package/dist/server/providers/database/pagination/limit.d.ts +5 -0
  118. package/dist/server/providers/database/pagination/limit.js +1 -1
  119. package/dist/server/providers/database/transient-sqld-error.d.ts +14 -0
  120. package/dist/server/providers/database/transient-sqld-error.js +1 -0
  121. package/dist/server/providers/database/types.d.ts +6 -6
  122. package/dist/server/providers/database/utils/get-first-row.d.ts +19 -0
  123. package/dist/server/providers/database/utils/get-first-row.js +1 -0
  124. package/dist/server/store.d.ts +1 -0
  125. package/dist/server/store.js +1 -1
  126. package/dist/server/types/plugins/common.d.ts +1 -0
  127. package/dist/server/web-server/routes/catalog/catalog-relations.js +1 -1
  128. package/dist/server/web-server/routes/catalog/catalog.js +1 -1
  129. package/dist/server/web-server/routes/catalog/helpers/create-entity-schema.d.ts +0 -147
  130. package/dist/server/web-server/routes/catalog/helpers/create-entity-schema.js +1 -1
  131. package/dist/server/web-server/routes/catalog/helpers/upsert-pages-stats.js +1 -1
  132. package/dist/server/web-server/routes/catalog/parsers/entities/parse-entities.d.ts +1 -2
  133. package/dist/server/web-server/routes/catalog/parsers/entities/parse-entity-update-data.d.ts +1 -2
  134. package/dist/server/web-server/routes/catalog/parsers/entities/parse-entity.d.ts +1 -2
  135. package/dist/server/web-server/routes/catalog/parsers/relations/parse-entities-relations.d.ts +1 -1
  136. package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation-update-data.d.ts +1 -1
  137. package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation.d.ts +1 -1
  138. package/dist/server/workers/mcp-tool-worker-pool.d.ts +1 -0
  139. package/dist/server/workers/mcp-tool-worker-pool.js +1 -1
  140. package/dist/server/workers/mcp-tool-worker.js +1 -1
  141. package/dist/server/workers/types.d.ts +5 -1
  142. package/package.json +9 -9
  143. package/dist/server/persistence/cache/repositories/cache-local-repository.js +0 -1
  144. package/dist/server/persistence/file-hashes/repositories/file-hashes-local-read-repository.js +0 -1
  145. package/dist/server/persistence/file-hashes/repositories/file-hashes-local-repository.js +0 -1
  146. package/dist/server/persistence/file-hashes/repositories/file-hashes-local-write-repository.js +0 -1
  147. package/dist/server/persistence/file-hashes/repositories/utils.d.ts +0 -10
  148. package/dist/server/persistence/file-hashes/repositories/utils.js +0 -1
  149. package/dist/server/persistence/kv/repositories/kv-remote-repository.js +0 -2
  150. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-bff-repository.js +0 -123
  151. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.d.ts +0 -98
  152. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.js +0 -145
  153. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-repository.d.ts +0 -100
  154. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-repository.js +0 -1
  155. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-write-repository.d.ts +0 -43
  156. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-write-repository.js +0 -1
  157. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-relations-repository.js +0 -1
  158. package/dist/server/plugins/catalog-entities/database/repositories/remote/catalog-entities-remote-repository.d.ts +0 -20
  159. package/dist/server/plugins/catalog-entities/database/repositories/remote/catalog-entities-remote-repository.js +0 -1
  160. package/dist/server/plugins/scorecards/database/repositories/local/scorecards-config-local-repository.js +0 -1
  161. package/dist/server/providers/database/database-initialization-strategy.d.ts +0 -17
  162. package/dist/server/providers/database/database-initialization-strategy.js +0 -1
  163. package/dist/server/providers/database/databases/catalog-sqlite/drizzle.config.d.ts +0 -11
  164. package/dist/server/providers/database/databases/catalog-sqlite/drizzle.config.js +0 -1
  165. package/dist/server/providers/database/databases/main-sqlite/drizzle.config.d.ts +0 -10
  166. package/dist/server/providers/database/databases/main-sqlite/drizzle.config.js +0 -1
  167. package/dist/server/providers/database/databases/sqld-sqlite/drizzle.config.d.ts +0 -14
  168. package/dist/server/providers/database/databases/sqld-sqlite/drizzle.config.js +0 -1
  169. /package/dist/server/providers/database/databases/{main-sqlite → sqlite-db}/schemas/cache-table.d.ts +0 -0
  170. /package/dist/server/providers/database/databases/{main-sqlite → sqlite-db}/schemas/cache-table.js +0 -0
  171. /package/dist/server/providers/database/databases/{catalog-sqlite → sqlite-db}/schemas/entities-attributes-table.d.ts +0 -0
  172. /package/dist/server/providers/database/databases/{catalog-sqlite → sqlite-db}/schemas/entities-attributes-table.js +0 -0
  173. /package/dist/server/providers/database/databases/{main-sqlite → sqlite-db}/schemas/file-hashes-table.d.ts +0 -0
  174. /package/dist/server/providers/database/databases/{main-sqlite → sqlite-db}/schemas/file-hashes-table.js +0 -0
  175. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/kv-table.d.ts +0 -0
  176. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/kv-table.js +0 -0
  177. /package/dist/server/providers/database/databases/{main-sqlite → sqlite-db}/schemas/scorecards-config-table.d.ts +0 -0
  178. /package/dist/server/providers/database/databases/{main-sqlite → sqlite-db}/schemas/scorecards-config-table.js +0 -0
  179. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/scorecards-evaluation-runs-table.d.ts +0 -0
  180. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/scorecards-evaluation-runs-table.js +0 -0
  181. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/scorecards-level-results-table.d.ts +0 -0
  182. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/scorecards-level-results-table.js +0 -0
  183. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/scorecards-levels-rules-results-table.d.ts +0 -0
  184. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/scorecards-levels-rules-results-table.js +0 -0
  185. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/scorecards-results-table.d.ts +0 -0
  186. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/scorecards-results-table.js +0 -0
  187. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/scorecards-rule-results-table.d.ts +0 -0
  188. /package/dist/server/providers/database/databases/{sqld-sqlite → sqlite-db}/schemas/scorecards-rule-results-table.js +0 -0
@@ -1,20 +0,0 @@
1
- import type { EntityReadModelSchema, EntityRelationReadModelSchema } from '../../../schemas/read-model-schemas.js';
2
- import type { EntityDtoSchema, EntityRelationDtoSchema } from '../../../schemas/dto-schemas.js';
3
- import type { Filter } from '../../../../../providers/database/pagination/types.js';
4
- import type { DatabaseConnection, RepositoryInstanceOptions } from '../../../../../providers/database/types.js';
5
- import { BaseRepository } from '../../../../../providers/database/base-repository.js';
6
- export declare class CatalogEntitiesRemoteRepository extends BaseRepository {
7
- #private;
8
- get transactionsManager(): import("../../../../../providers/database/transactions-manager.js").TransactionsManager;
9
- constructor(dbConnection: DatabaseConnection);
10
- sync(): Promise<void>;
11
- static getInstance(options: RepositoryInstanceOptions): Promise<CatalogEntitiesRemoteRepository | null>;
12
- createEntity(entity: EntityDtoSchema): Promise<EntityReadModelSchema | null>;
13
- updateEntity(incomingEntity: Partial<EntityDtoSchema>, entityToBeUpdated: EntityReadModelSchema): Promise<EntityReadModelSchema | null>;
14
- deleteEntity(entityToBeRemoved: EntityReadModelSchema): Promise<string | null>;
15
- createEntityRelations(relations: EntityRelationDtoSchema[]): Promise<(EntityRelationReadModelSchema | null)[]>;
16
- createEntityRelation(entityRelation: EntityRelationDtoSchema): Promise<EntityRelationReadModelSchema | null>;
17
- deleteEntityRelation(id: string): Promise<string | null>;
18
- deleteEntitiesRelations(filter: Filter): Promise<boolean>;
19
- }
20
- //# sourceMappingURL=catalog-entities-remote-repository.d.ts.map
@@ -1 +0,0 @@
1
- import{and as g,eq as n,ne as C,or as w,sql as p}from"drizzle-orm";import{convertFilterToWhereCondition as D}from"../../../../../providers/database/pagination/filter.js";import{promiseMapLimit as V}from"../../../../../utils/async/promise-map-limit.js";import{sha1 as E}from"../../../../../utils/crypto/sha1.js";import{logger as a}from"../../../../../tools/notifiers/logger.js";import{entitiesTable as i}from"../../../../../providers/database/databases/catalog-sqlite/schemas/entities-table.js";import{telemetryTraceStep as c}from"../../../../../telemetry/helpers/trace-step.js";import{BaseRepository as A}from"../../../../../providers/database/base-repository.js";import{DatabaseConnectionFactory as I}from"../../../../../providers/database/database-connection-factory.js";import{entitiesRelationsTable as r}from"../../../../../providers/database/databases/catalog-sqlite/schemas/entities-relations-table.js";import{VERSION_NOT_SPECIFIED as b}from"@redocly/theme/core/constants";import{createEntityDbRecord as _}from"../../mappers/create-entity-db-record.js";import{createEntityReadModel as k}from"../../mappers/create-entity-read-model.js";import{createEntityRelationDbRecordFromDto as O}from"../../mappers/create-entity-relation-db-record-from-dto.js";import{RevisionRepository as K}from"../common/revision-repository.js";import{VersionRepository as F}from"../common/version-repository.js";import{createEntityRelationReadModel as S}from"../../mappers/create-entity-relation-read-model.js";const L=15;class h extends A{static#r;#t;#i;#n=!1;get transactionsManager(){return this.databaseClient.transactionsManager}constructor(t){super(t),this.#t=new K(t.client),this.#i=new F(t.client)}async sync(){if(!this.#n&&this.isNonRemoteDatabaseMode()){a.warn("Catalog entities database is currently operating in local mode: not connected to the remote database. All changes and data will only persist locally and will not be synced remotely."),this.#n=!0;return}return c("catalog_entities.remote_repository.sync",async()=>{await this.#e(),await this.databaseClient.sync()})}static async getInstance(t){return await c("catalog_entities.remote_repository.get_instance",async e=>{if(!h.#r)try{const o=await I.create("sqld-remote",t);if(!o)return a.error("Failed to create db connection for catalog entities remote repository"),e?.error(new Error("Failed to create db connection for catalog entities remote repository")),h.#r=null,null;h.#r=new h(o)}catch(o){return a.error("Error creating db connection for catalog entities remote repository",o),e?.error(o),h.#r=null,null}return h.#r})}async createEntity(t){return c("catalog_entities.remote_repository.create_entity",async()=>{await this.#e();try{a.info(`Adding entity ${t.key} to remote database`);const{relations:e=[],...o}=t,l=E(JSON.stringify(o)),s=t.version??b,y=t.revision??new Date().toISOString();if(await this.#t.shouldSkipRevisionCreation(t.key,s,l))throw new Error("Entity validation failed: entity already exists");const d=await this.#t.shouldSetNewCurrentRevision({key:t.key,version:s,revision:y}),u=_({entity:{...t,revision:y,hash:l,isCurrent:d,isDefaultVersion:d,version:s},organizationId:this.organizationId,projectId:this.projectId,source:"remote",sourceFile:null,fileHash:null}),{key:m,source:M,...N}=u;d&&(await this.#t.markAllRevisionsAsNotCurrent(m),await this.#i.markAllVersionsAsNotDefault(m));const v=await this.databaseClient.client.insert(i).values(u).onConflictDoUpdate({target:[i.key,i.source,i.revision,i.version],set:N}).returning();return v.length?(e&&await this.createEntityRelations(e.map(R=>({...R,sourceKey:t.key,targetKey:R.key}))),k(v[0])):null}catch(e){throw a.error("Error adding entity",e),e}})}async updateEntity(t,e){return c("catalog_entities.remote_repository.update_entity",async()=>{await this.#e();try{a.info(`Updating entity ${e.key} in remote database`);const o=await this.#t.shouldSetNewCurrentRevision({key:e.key,version:t.version??e.version??b,revision:e.revision});o&&(await this.#t.markAllRevisionsAsNotCurrent(e.key),await this.#i.markAllVersionsAsNotDefault(e.key));const l=_({entity:{...e,...t,hash:E(JSON.stringify({...e,...t})),isCurrent:o,isDefaultVersion:o,createdAt:e.createdAt??void 0},organizationId:this.organizationId,projectId:this.projectId,source:"remote",sourceFile:null,fileHash:null}),{key:s,source:y,scorecardsStatus:f,...d}=l,u=await this.databaseClient.client.insert(i).values(l).onConflictDoUpdate({target:[i.key,i.source,i.revision,i.version],set:{...d,scorecardsStatus:p`CASE WHEN ${i.scorecardsStatus} = 'CALCULATING' THEN 'CANCELLED' ELSE 'OUTDATED' END`}}).returning();return u.length?k(u[0]):null}catch(o){return a.error("Error updating entity",o),null}})}async deleteEntity(t){return c("catalog_entities.remote_repository.delete_entity",async()=>{await this.#e();try{return await this.#o(t),await this.databaseClient.client.delete(i).where(n(i.id,t.id)),await this.#t.ensureDefaultAndCurrentRevisionForKey(t.key),t.id}catch(e){return a.error("Error deleting entity",e),null}})}async createEntityRelations(t){return c("catalog_entities.remote_repository.create_entity_relations",async()=>(await this.#e(),await V(t,L,async e=>this.createEntityRelation(e))))}async createEntityRelation(t){return c("catalog_entities.remote_repository.create_entity_relation",async()=>{if(await this.#e(),!t)return null;try{const e=O(t,this.organizationId,this.projectId),{sourceKey:o,targetKey:l,sourceVersion:s,targetVersion:y,sourceRevision:f,targetRevision:d,...u}=e,m=await this.databaseClient.client.insert(r).values(e).onConflictDoUpdate({target:[r.sourceKey,r.targetKey,r.sourceVersion,r.targetVersion,r.sourceRevision,r.targetRevision,r.sourceToTargetRelation],set:u}).returning();return m.length?S(m[0]):null}catch(e){throw a.error("Error creating entity relation",e),e}})}async deleteEntityRelation(t){return c("catalog_entities.remote_repository.delete_entity_relation",async()=>{await this.#e();try{return await this.databaseClient.client.delete(r).where(n(r.id,t)),t}catch(e){return a.error("Error deleting entity relation",e),null}})}async deleteEntitiesRelations(t){return c("catalog_entities.remote_repository.delete_entities_relations",async()=>{await this.#e();try{const e=D(t);return e?(await this.databaseClient.client.delete(r).where(e),!0):!1}catch(e){return a.error("Error deleting entities relations",e),!1}})}async#o(t){const{key:e,version:o,revision:l}=t,s=o??"",y=l??"";if(((await this.databaseClient.client.select({count:p`COUNT(*)`}).from(i).where(g(n(i.key,e),C(i.id,t.id))).get())?.count??0)===0){await this.databaseClient.client.delete(r).where(w(n(r.sourceKey,e),n(r.targetKey,e)));return}if(((await this.databaseClient.client.select({count:p`COUNT(*)`}).from(i).where(g(n(i.key,e),n(i.version,s),C(i.id,t.id))).get())?.count??0)===0){await this.databaseClient.client.delete(r).where(w(g(n(r.sourceKey,e),n(r.sourceVersion,s)),g(n(r.targetKey,e),n(r.targetVersion,s))));return}await this.databaseClient.client.delete(r).where(w(g(n(r.sourceKey,e),n(r.sourceVersion,s),n(r.sourceRevision,y)),g(n(r.targetKey,e),n(r.targetVersion,s),n(r.targetRevision,y))))}#e(){return c("catalog_entities.remote_repository.db_health",async t=>{if(this.databaseClient.dbClient.$client.closed){const e=new Error("The remote database connection is closed!");throw t?.error(e),e}})}}export{h as CatalogEntitiesRemoteRepository};
@@ -1 +0,0 @@
1
- import{and as o,eq as n,isNull as s}from"drizzle-orm";import{scorecardsConfigTable as r}from"../../../../../providers/database/databases/main-sqlite/schemas/scorecards-config-table.js";class d{#e;constructor(e){this.#e=e}async findActiveConfigByKey(e){return(await this.#e.client.select().from(r).where(o(n(r.key,e),s(r.archivedAt))).limit(1))[0]??null}async findAllActiveConfigs(){return await this.#e.client.select().from(r).where(s(r.archivedAt))}async insertConfig(e){const t=await this.#e.client.insert(r).values(e).returning();if(!t[0])throw new Error(`Failed to insert scorecard config with key: ${e.key}`);return t[0]}async updateConfigById(e,t){const i=await this.#e.client.update(r).set(t).where(n(r.id,e)).returning();if(!i[0])throw new Error(`Failed to update scorecard config with id: ${e}`);return i[0]}async archiveConfigById(e,t){const i=await this.#e.client.update(r).set({archivedAt:t}).where(n(r.id,e)).returning();if(!i[0])throw new Error(`Failed to archive scorecard config with id: ${e}`);return i[0]}}export{d as ScorecardsConfigLocalRepository};
@@ -1,17 +0,0 @@
1
- import type { DatabaseConnectionOptions, DatabaseConnection, DatabaseConnectionInitOptions, RemoteDatabaseConnectionInitOptions } from './types.js';
2
- export type DatabaseInitializationStrategy = {
3
- initialize(options: DatabaseConnectionOptions): Promise<DatabaseConnection>;
4
- };
5
- export declare class LocalDatabaseInitializationStrategy implements DatabaseInitializationStrategy {
6
- initialize({ removeExisting, baseDbDir, runWithPragmaWalWriteOptimization, databaseName, additionalFolder, migrationsFolder, }: DatabaseConnectionInitOptions): Promise<DatabaseConnection>;
7
- }
8
- type RemoteDatabaseInitializationStrategyParams = {
9
- skipLogs?: boolean;
10
- };
11
- export declare class RemoteDatabaseInitializationStrategy implements DatabaseInitializationStrategy {
12
- #private;
13
- constructor(params?: RemoteDatabaseInitializationStrategyParams);
14
- initialize({ removeExisting, baseDbDir, syncUrl, authToken, databaseName, additionalFolder, migrationsFolder, }: RemoteDatabaseConnectionInitOptions): Promise<DatabaseConnection>;
15
- }
16
- export {};
17
- //# sourceMappingURL=database-initialization-strategy.d.ts.map
@@ -1 +0,0 @@
1
- import{logger as n}from"../../tools/notifiers/logger.js";import{DatabaseClient as g}from"./client.js";import{DatabasePathGenerator as p}from"./database-path-generator.js";import{retryAsyncOperation as f}from"./utils/retry-async-operation.js";import{SqldNotRunningError as d}from"./sqld-not-running-error.js";class R{async initialize({removeExisting:i,baseDbDir:a,runWithPragmaWalWriteOptimization:o,databaseName:s,additionalFolder:l,migrationsFolder:c}){n.info("Initializing local database client...");const m=n.startTiming(),{databasePath:r}=await p.prepareDatabasePath({baseDir:a,databaseName:s,additionalFolder:l,removeExisting:i}),t={url:`file:${r}`},e=await g.init(t,{runWithPragmaWalWriteOptimization:o});return await e.migrate(a,c),n.infoTime(m,"Local database client initialized"),{client:e,path:r}}}class x{#i;#t;constructor(i){this.#i=i?.skipLogs??!1,this.#t=this.#i?void 0:n}async initialize({removeExisting:i,baseDbDir:a,syncUrl:o,authToken:s,databaseName:l,additionalFolder:c,migrationsFolder:m}){this.#t?.info("Initializing remote database client...");const r=this.#t?.startTiming();return await f(async()=>{try{const{databasePath:t}=await p.prepareDatabasePath({baseDir:a,databaseName:l,additionalFolder:c,removeExisting:i}),e=await g.init({url:`file:${t}`,syncUrl:o,authToken:s});return await e.migrate(a,m),this.#t?.infoTime(r??"","Remote database client initialized"),{client:e,path:t}}catch(t){throw d.isSqldNotRunningError(t)?new d("SQLD server is not running yet, wait for production deployment",{cause:t}):t}},{maxRetries:3,retryStrategy:"exponential",delay:1e3,logger:this.#t,messages:{retry:"Retrying remote database client initialization",maxRetriesReached:"Max retries reached, remote database client initialization failed"}})}}export{R as LocalDatabaseInitializationStrategy,x as RemoteDatabaseInitializationStrategy};
@@ -1,11 +0,0 @@
1
- export declare const SCHEMAS_PATH = "./src/server/providers/database/databases/catalog-sqlite/schemas/*";
2
- declare const _default: {
3
- schema: string;
4
- out: string;
5
- dialect: "turso";
6
- dbCredentials: {
7
- url: string;
8
- };
9
- };
10
- export default _default;
11
- //# sourceMappingURL=drizzle.config.d.ts.map
@@ -1 +0,0 @@
1
- import{DatabasePathGenerator as a}from"../../database-path-generator.js";import{CATALOG_LOCAL_DATABASE_NAME as e,CATALOG_LOCAL_DATABASE_FOLDER as t}from"../../constants.js";const s="./dist/server/esbuild/cache/server",r="./src/server/providers/database/databases/catalog-sqlite/schemas/*",A="./src/server/providers/database/databases/catalog-sqlite/migrations",o=()=>({url:a.generateDatabasePath({baseDir:s,databaseName:e,additionalFolder:t})});var c={schema:r,out:A,dialect:"turso",dbCredentials:o()};export{r as SCHEMAS_PATH,c as default};
@@ -1,10 +0,0 @@
1
- declare const _default: {
2
- schema: string;
3
- out: string;
4
- dialect: "turso";
5
- dbCredentials: {
6
- url: string;
7
- };
8
- };
9
- export default _default;
10
- //# sourceMappingURL=drizzle.config.d.ts.map
@@ -1 +0,0 @@
1
- import{DatabasePathGenerator as e}from"../../database-path-generator";import{MAIN_LOCAL_DATABASE_NAME as a,MAIN_LOCAL_DATABASE_FOLDER as s}from"../../constants";const r="./dist/server/esbuild/cache/server",t="./src/server/providers/database/databases/main-sqlite/schemas/*",A="./src/server/providers/database/databases/main-sqlite/migrations",i=()=>({url:e.generateDatabasePath({baseDir:r,databaseName:a,additionalFolder:s})});var n={schema:t,out:A,dialect:"turso",dbCredentials:i()};export{n as default};
@@ -1,14 +0,0 @@
1
- declare const _default: {
2
- schema: string[];
3
- out: string;
4
- dialect: "turso";
5
- dbCredentials: {
6
- url: string;
7
- authToken: string;
8
- } | {
9
- url: string;
10
- authToken?: undefined;
11
- };
12
- };
13
- export default _default;
14
- //# sourceMappingURL=drizzle.config.d.ts.map
@@ -1 +0,0 @@
1
- import{DatabasePathGenerator as s}from"../../database-path-generator.js";import{SQLD_REMOTE_DATABASE_FOLDER as t,SQLD_REMOTE_DATABASE_NAME as A}from"../../constants.js";import{SCHEMAS_PATH as o}from"../catalog-sqlite/drizzle.config.js";import{envConfig as r}from"../../../../config/env-config.js";const E="./dist/server/esbuild/cache/server",_="./src/server/providers/database/databases/sqld-sqlite/schemas/*",i="./src/server/providers/database/databases/sqld-sqlite/migrations",d=()=>{const e=r.SQLD_REMOTE_DATABASE_URL,a=r.SQLD_REMOTE_DATABASE_AUTH_TOKEN;return e&&a?{url:e,authToken:a}:{url:s.generateDatabasePath({baseDir:E,databaseName:A,additionalFolder:t})}};var c={schema:[_,o],out:i,dialect:"turso",dbCredentials:d()};export{c as default};