@antelopejs/dms-database 0.0.14 → 0.1.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 (173) hide show
  1. package/README.md +30 -5
  2. package/dist/db/models/query_history.model.d.ts +1 -0
  3. package/dist/db/models/query_history.model.js +6 -0
  4. package/dist/db/models/query_history.model.js.map +1 -1
  5. package/dist/db/tables/query_history.table.d.ts +3 -0
  6. package/dist/db/tables/query_history.table.js +12 -0
  7. package/dist/db/tables/query_history.table.js.map +1 -1
  8. package/dist/db/tables/saved_queries.table.d.ts +1 -0
  9. package/dist/db/tables/saved_queries.table.js +4 -0
  10. package/dist/db/tables/saved_queries.table.js.map +1 -1
  11. package/dist/i18n/messages.d.ts +39 -0
  12. package/dist/i18n/messages.js +64 -0
  13. package/dist/i18n/messages.js.map +1 -0
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.js +1 -7
  16. package/dist/index.js.map +1 -1
  17. package/dist/module.d.ts +11 -0
  18. package/dist/module.js +55 -0
  19. package/dist/module.js.map +1 -0
  20. package/dist/pages/data.d.ts +1 -1
  21. package/dist/pages/data.js +9 -6
  22. package/dist/pages/data.js.map +1 -1
  23. package/dist/pages/diagram.d.ts +9 -0
  24. package/dist/pages/diagram.js +45 -0
  25. package/dist/pages/diagram.js.map +1 -0
  26. package/dist/pages/index.d.ts +1 -0
  27. package/dist/pages/index.js +1 -0
  28. package/dist/pages/index.js.map +1 -1
  29. package/dist/pages/overview.d.ts +4 -1
  30. package/dist/pages/overview.js +113 -6
  31. package/dist/pages/overview.js.map +1 -1
  32. package/dist/pages/query.d.ts +1 -1
  33. package/dist/pages/query.js +22 -6
  34. package/dist/pages/query.js.map +1 -1
  35. package/dist/pages/schemas.d.ts +2 -1
  36. package/dist/pages/schemas.js +143 -6
  37. package/dist/pages/schemas.js.map +1 -1
  38. package/dist/routes/data.d.ts +8 -0
  39. package/dist/routes/data.js +84 -21
  40. package/dist/routes/data.js.map +1 -1
  41. package/dist/routes/index.d.ts +1 -0
  42. package/dist/routes/index.js +1 -0
  43. package/dist/routes/index.js.map +1 -1
  44. package/dist/routes/overview.d.ts +12 -0
  45. package/dist/routes/overview.js +55 -0
  46. package/dist/routes/overview.js.map +1 -0
  47. package/dist/routes/query.d.ts +5 -1
  48. package/dist/routes/query.js +162 -27
  49. package/dist/routes/query.js.map +1 -1
  50. package/dist/routes/tables.d.ts +15 -12
  51. package/dist/routes/tables.js +95 -55
  52. package/dist/routes/tables.js.map +1 -1
  53. package/dist/service/catalog.d.ts +3 -0
  54. package/dist/service/catalog.js +26 -0
  55. package/dist/service/catalog.js.map +1 -0
  56. package/dist/service/health.d.ts +3 -3
  57. package/dist/service/health.js +17 -14
  58. package/dist/service/health.js.map +1 -1
  59. package/dist/service/introspect.d.ts +3 -1
  60. package/dist/service/introspect.js +131 -43
  61. package/dist/service/introspect.js.map +1 -1
  62. package/dist/service/overview.d.ts +9 -0
  63. package/dist/service/overview.js +113 -0
  64. package/dist/service/overview.js.map +1 -0
  65. package/dist/service/queryInspection.d.ts +15 -0
  66. package/dist/service/queryInspection.js +107 -0
  67. package/dist/service/queryInspection.js.map +1 -0
  68. package/dist/service/references.d.ts +9 -0
  69. package/dist/service/references.js +52 -0
  70. package/dist/service/references.js.map +1 -0
  71. package/dist/service/schemaFilters.d.ts +26 -0
  72. package/dist/service/schemaFilters.js +42 -0
  73. package/dist/service/schemaFilters.js.map +1 -0
  74. package/dist/service/stagedSerialization.d.ts +2 -0
  75. package/dist/service/stagedSerialization.js +38 -10
  76. package/dist/service/stagedSerialization.js.map +1 -1
  77. package/dist/service/types.d.ts +11 -1
  78. package/dist/types/constants.d.ts +2 -0
  79. package/dist/types/constants.js +3 -1
  80. package/dist/types/constants.js.map +1 -1
  81. package/dist/utils/query.d.ts +0 -2
  82. package/dist/utils/query.js +0 -20
  83. package/dist/utils/query.js.map +1 -1
  84. package/frontend-vue/app/{composables → build/composables}/useDataBrowserGrid.ts +65 -50
  85. package/frontend-vue/app/build/composables/useDataBrowserTabs.ts +366 -0
  86. package/frontend-vue/app/build/composables/useDatabaseHealth.ts +50 -0
  87. package/frontend-vue/app/build/composables/useDatabaseSchemas.ts +140 -0
  88. package/frontend-vue/app/{composables → build/composables}/useDiagramPersistence.ts +47 -39
  89. package/frontend-vue/app/build/composables/useQueryRuntime.ts +217 -0
  90. package/frontend-vue/app/build/composables/useQueryStore.ts +162 -0
  91. package/frontend-vue/app/build/data/cellValues.ts +132 -0
  92. package/frontend-vue/app/build/data/instanceOptions.ts +36 -0
  93. package/frontend-vue/app/build/data/pickerMenus.ts +175 -0
  94. package/frontend-vue/app/build/data/recentTables.ts +48 -0
  95. package/frontend-vue/app/build/data/stagedEdits.ts +117 -0
  96. package/frontend-vue/app/build/data/stagedWrites.ts +64 -0
  97. package/frontend-vue/app/build/data/useStagedSave.ts +298 -0
  98. package/frontend-vue/app/build/diagram/autosave.ts +72 -0
  99. package/frontend-vue/app/build/diagram/graph.ts +585 -0
  100. package/frontend-vue/app/build/diagram/history.ts +178 -0
  101. package/frontend-vue/app/build/diagram/shortcuts.ts +62 -0
  102. package/frontend-vue/app/build/diagram/sync.ts +137 -0
  103. package/frontend-vue/app/build/query/completion.ts +100 -0
  104. package/frontend-vue/app/build/query/csv.ts +32 -0
  105. package/frontend-vue/app/build/query/examples.ts +38 -0
  106. package/frontend-vue/app/build/query/runs.ts +168 -0
  107. package/frontend-vue/app/build/query/tableColumns.ts +35 -0
  108. package/frontend-vue/app/build/query/target.ts +143 -0
  109. package/frontend-vue/app/build/schemas/filterState.ts +128 -0
  110. package/frontend-vue/app/build/schemas/useSchemasListing.ts +62 -0
  111. package/frontend-vue/app/build/utils/databaseLinks.ts +98 -0
  112. package/frontend-vue/app/build/utils/fieldTypes.ts +198 -0
  113. package/frontend-vue/app/build/utils/relativeTime.ts +19 -0
  114. package/frontend-vue/app/{utils → build/utils}/stagedSerialization.ts +7 -1
  115. package/frontend-vue/app/components/ConnectionStatus.vue +122 -0
  116. package/frontend-vue/app/components/DataBrowser.vue +126 -0
  117. package/frontend-vue/app/components/DataBrowserSidebar.vue +293 -210
  118. package/frontend-vue/app/components/DataBrowserTabBar.vue +185 -93
  119. package/frontend-vue/app/components/DataFilterBar.vue +163 -0
  120. package/frontend-vue/app/components/DataGrid.vue +737 -499
  121. package/frontend-vue/app/components/DataGridCell.vue +125 -77
  122. package/frontend-vue/app/components/DataGridHeaderCell.vue +119 -81
  123. package/frontend-vue/app/components/DiagramNoteNode.vue +81 -63
  124. package/frontend-vue/app/components/DiagramRelationEdge.vue +57 -27
  125. package/frontend-vue/app/components/DiagramStubNode.vue +16 -17
  126. package/frontend-vue/app/components/DiagramTableNode.vue +106 -68
  127. package/frontend-vue/app/components/InstancePicker.vue +195 -0
  128. package/frontend-vue/app/components/JsonCellPanel.vue +30 -29
  129. package/frontend-vue/app/components/QueryBuilderPanel.vue +290 -238
  130. package/frontend-vue/app/components/QueryConsole.vue +726 -0
  131. package/frontend-vue/app/components/QueryLibrary.vue +314 -0
  132. package/frontend-vue/app/components/QueryResultPanel.vue +556 -126
  133. package/frontend-vue/app/components/RowDrawer.vue +520 -0
  134. package/frontend-vue/app/components/SchemaDiagram.vue +1016 -1051
  135. package/frontend-vue/app/components/SchemaPicker.vue +86 -0
  136. package/frontend-vue/app/components/SchemasFilterBar.vue +201 -0
  137. package/frontend-vue/app/components/TableInspector.vue +741 -0
  138. package/frontend-vue/app/config/shortcuts-registry.ts +65 -0
  139. package/frontend-vue/dms.frontend.ts +5 -14
  140. package/frontend-vue/i18n/locales/database-en-GB.json +526 -193
  141. package/frontend-vue/i18n/locales/database-fr-FR.json +528 -195
  142. package/frontend-vue/package.json +2 -1
  143. package/frontend-vue/pnpm-lock.yaml +2601 -858
  144. package/frontend-vue/pnpm-workspace.yaml +1 -1
  145. package/frontend-vue/tests/dataBrowser.test.ts +206 -0
  146. package/frontend-vue/tests/diagram.test.ts +516 -0
  147. package/frontend-vue/tests/helpers.test.ts +205 -0
  148. package/frontend-vue/tests/instanceOptions.test.ts +53 -0
  149. package/frontend-vue/tests/locales.test.ts +56 -0
  150. package/frontend-vue/tests/persistence.test.ts +106 -5
  151. package/frontend-vue/tests/pickerMenus.test.ts +254 -0
  152. package/frontend-vue/tests/queryConsole.test.ts +282 -0
  153. package/frontend-vue/tests/queryRuntime.test.ts +2 -2
  154. package/frontend-vue/tests/registration.test.ts +36 -25
  155. package/frontend-vue/tests/schemasFilters.test.ts +115 -0
  156. package/package.json +7 -7
  157. package/frontend-vue/app/components/QueryFavoritesPanel.vue +0 -127
  158. package/frontend-vue/app/components/QueryHistoryPanel.vue +0 -134
  159. package/frontend-vue/app/components/SchemaTableInspector.vue +0 -278
  160. package/frontend-vue/app/composables/useDataBrowserTabs.ts +0 -255
  161. package/frontend-vue/app/composables/useDatabaseHealth.ts +0 -50
  162. package/frontend-vue/app/composables/useDatabaseSchemas.ts +0 -92
  163. package/frontend-vue/app/composables/useQueryRuntime.ts +0 -118
  164. package/frontend-vue/app/composables/useQueryStore.ts +0 -117
  165. package/frontend-vue/app/composables/useTableViewRowClick.ts +0 -22
  166. package/frontend-vue/app/custom-pages/database/data.vue +0 -41
  167. package/frontend-vue/app/custom-pages/database/overview.vue +0 -367
  168. package/frontend-vue/app/custom-pages/database/query.vue +0 -436
  169. package/frontend-vue/app/custom-pages/database/schemas.vue +0 -218
  170. package/frontend-vue/app/utils/databaseFieldModifiers.ts +0 -33
  171. package/frontend-vue/app/utils/databaseFieldTypeIcons.ts +0 -224
  172. package/frontend-vue/app/utils/dmsTableView.ts +0 -83
  173. package/frontend-vue/app/utils/relativeTime.ts +0 -18
package/README.md CHANGED
@@ -6,9 +6,26 @@
6
6
  <a href="https://antelopejs.com"><img src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000" alt="Documentation"></a>
7
7
  </div>
8
8
 
9
- Database administration for AntelopeJS DMS. The module uses the Database interface to provide
10
- health and schema overviews, schema and table inspection, data browsing, a schema diagram, and an
11
- AQL query workspace under `/modules/database`.
9
+ Database administration for AntelopeJS DMS. The module uses the Database interface to give the
10
+ platform owner, under `/modules/database`:
11
+
12
+ - **Overview**: connection health, one card per registered schema, the largest tables and the
13
+ latest queries.
14
+ - **Schemas**: every registered table, with a filter bar (schema, instance, table or column name,
15
+ structure flags) kept in the URL, and an inspector on the right listing its columns, indexes,
16
+ relations (both ways) and a sample row.
17
+ - **Diagram**: the tables and relations of a schema. The layout saves itself and is shared by the
18
+ team; auto layout is previewed before it is kept.
19
+ - **Data browser**: the rows of any table, in any instance or across all of them (read only).
20
+ Edits are staged, reviewed and written only when saved, and a save can be undone for a few
21
+ seconds.
22
+
23
+ Links between the pages carry the instance in an `instance` query key: absent for the default
24
+ instance, `all` for every instance, otherwise the instance's name.
25
+ - **Query console**: AQL with completion of the workspace's schemas, a library of past, saved and
26
+ shared queries, and a dry run before any query that changes data.
27
+
28
+ The module requires `@antelopejs/dms` 0.7.2 or later and `@antelopejs/dms-frontend` 0.5.2.
12
29
 
13
30
  ## Installation
14
31
 
@@ -41,8 +58,16 @@ pnpm build
41
58
  pnpm test
42
59
  ```
43
60
 
44
- The module registers its Vue 3 Inertia frontend through `frontend-vue/dms.frontend.ts`. The adapter
45
- discovers composables and locale files from this directory; Nuxt is not required.
61
+ The module registers its Vue 3 frontend through `frontend-vue/dms.frontend.ts`, under the
62
+ `DmsDatabase` component prefix: `app/components/DataBrowser.vue` is the `DmsDatabaseDataBrowser`
63
+ the backend page names. The pages themselves are declared in `src/pages`, as DMS blocks plus the
64
+ module's own components. Everything under `frontend-vue/app/build` is private to the layer and
65
+ imported by path.
66
+
67
+ The playground (`pnpm dev`, then `pnpm frontend:dev`) registers a `demo` schema
68
+ and a `shop` schema with `eu` and `us` instances, seeded on first start.
69
+
70
+ `docs/redesign-v2-grill.md` records the decisions behind the v2 redesign.
46
71
 
47
72
  Run `pnpm --dir frontend-vue install` and `pnpm --dir frontend-vue test` for frontend tests. Set
48
73
  `DMS_FRONTEND_WORKSPACE` to a generated Inertia workspace before running
@@ -20,6 +20,7 @@ declare const QueryHistoryModel_base: {
20
20
  };
21
21
  export declare class QueryHistoryModel extends QueryHistoryModel_base {
22
22
  addAndPrune(entry: Omit<QueryHistoryRow, "_id">): Promise<void>;
23
+ clearForUser(userId: string): Promise<void>;
23
24
  listForUser(userId: string, limit: number, offset: number): Promise<PaginatedResult<QueryHistoryRow>>;
24
25
  }
25
26
  export {};
@@ -16,6 +16,12 @@ class QueryHistoryModel extends (0, interface_database_decorators_1.BasicDataMod
16
16
  await this.delete(row._id);
17
17
  }
18
18
  }
19
+ async clearForUser(userId) {
20
+ await this.table
21
+ .filter((d) => d.key("userId").eq(userId))
22
+ .delete()
23
+ .run();
24
+ }
19
25
  async listForUser(userId, limit, offset) {
20
26
  const baseFilter = this.table.filter((d) => d.key("userId").eq(userId));
21
27
  const [total, items] = await Promise.all([
@@ -1 +1 @@
1
- {"version":3,"file":"query_history.model.js","sourceRoot":"","sources":["../../../src/db/models/query_history.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,qDAA6D;AAE7D,uEAGuC;AAEvC,MAAa,iBAAkB,SAAQ,IAAA,8CAAc,EACnD,qCAAe,EACf,2CAAqB,CACtB;IACC,KAAK,CAAC,WAAW,CAAC,KAAmC;QACnD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aAC/C,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;aAC7B,KAAK,CAAC,gCAAoB,CAAC;aAC3B,GAAG,EAAE,CAAC;QAET,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAc,EACd,KAAa,EACb,MAAc;QAEd,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAExE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE;YACxB,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE;SACpE,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAhCD,8CAgCC"}
1
+ {"version":3,"file":"query_history.model.js","sourceRoot":"","sources":["../../../src/db/models/query_history.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,qDAA6D;AAE7D,uEAGuC;AAEvC,MAAa,iBAAkB,SAAQ,IAAA,8CAAc,EACnD,qCAAe,EACf,2CAAqB,CACtB;IACC,KAAK,CAAC,WAAW,CAAC,KAAmC;QACnD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aAC/C,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;aAC7B,KAAK,CAAC,gCAAoB,CAAC;aAC3B,GAAG,EAAE,CAAC;QAET,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,MAAM,IAAI,CAAC,KAAK;aACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;aACzC,MAAM,EAAE;aACR,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAc,EACd,KAAa,EACb,MAAc;QAEd,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAExE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE;YACxB,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE;SACpE,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAxCD,8CAwCC"}
@@ -8,4 +8,7 @@ export declare class QueryHistoryRow extends Table {
8
8
  language: "aql";
9
9
  durationMs: number;
10
10
  rowCount: number;
11
+ status?: "ok" | "error";
12
+ mutation?: boolean;
13
+ error?: string;
11
14
  }
@@ -48,6 +48,18 @@ __decorate([
48
48
  (0, interface_database_decorators_1.Field)("number"),
49
49
  __metadata("design:type", Number)
50
50
  ], QueryHistoryRow.prototype, "rowCount", void 0);
51
+ __decorate([
52
+ (0, interface_database_decorators_1.Field)("string"),
53
+ __metadata("design:type", String)
54
+ ], QueryHistoryRow.prototype, "status", void 0);
55
+ __decorate([
56
+ (0, interface_database_decorators_1.Field)("boolean"),
57
+ __metadata("design:type", Boolean)
58
+ ], QueryHistoryRow.prototype, "mutation", void 0);
59
+ __decorate([
60
+ (0, interface_database_decorators_1.Field)("string"),
61
+ __metadata("design:type", String)
62
+ ], QueryHistoryRow.prototype, "error", void 0);
51
63
  exports.QueryHistoryRow = QueryHistoryRow = __decorate([
52
64
  (0, interface_database_decorators_1.RegisterTable)(exports.queryHistoryTableName, constants_1.SCHEMA_NAME)
53
65
  ], QueryHistoryRow);
@@ -1 +1 @@
1
- {"version":3,"file":"query_history.table.js","sourceRoot":"","sources":["../../../src/db/tables/query_history.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAMmD;AACnD,0DAAyD;AACzD,qDAAoD;AAEvC,QAAA,qBAAqB,GAAG,eAAe,CAAC;AAG9C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,qCAAK;CAwBzC,CAAA;AAxBY,0CAAe;AAIlB;IAHP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACrC,IAAA,qCAAK,EAAC,QAAQ,CAAC;IACf,IAAA,wCAAQ,EAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,SAAI,EAAE,CAAC;;+CACN;AAIf;IAFP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACrC,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACM,IAAI;mDAAC;AAGjB;IADP,IAAA,qCAAK,EAAC,KAAK,CAAC;;8CAC0B;AAG/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACO;AAGf;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACW;AAGnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;0BAvBd,eAAe;IAD3B,IAAA,6CAAa,EAAC,6BAAqB,EAAE,uBAAW,CAAC;GACrC,eAAe,CAwB3B"}
1
+ {"version":3,"file":"query_history.table.js","sourceRoot":"","sources":["../../../src/db/tables/query_history.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAMmD;AACnD,0DAAyD;AACzD,qDAAoD;AAEvC,QAAA,qBAAqB,GAAG,eAAe,CAAC;AAG9C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,qCAAK;CAkCzC,CAAA;AAlCY,0CAAe;AAIlB;IAHP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACrC,IAAA,qCAAK,EAAC,QAAQ,CAAC;IACf,IAAA,wCAAQ,EAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,SAAI,EAAE,CAAC;;+CACN;AAIf;IAFP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACrC,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACM,IAAI;mDAAC;AAGjB;IADP,IAAA,qCAAK,EAAC,KAAK,CAAC;;8CAC0B;AAG/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACO;AAGf;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACW;AAGnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;AAIjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACgB;AAGxB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;iDACU;AAGnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;8CACO;0BAjCZ,eAAe;IAD3B,IAAA,6CAAa,EAAC,6BAAqB,EAAE,uBAAW,CAAC;GACrC,eAAe,CAkC3B"}
@@ -9,4 +9,5 @@ export declare class SavedQueryRow extends Table {
9
9
  source: string;
10
10
  language: "aql";
11
11
  createdAt: Date;
12
+ updatedAt?: Date;
12
13
  }
@@ -52,6 +52,10 @@ __decorate([
52
52
  (0, interface_database_decorators_1.Field)("date"),
53
53
  __metadata("design:type", Date)
54
54
  ], SavedQueryRow.prototype, "createdAt", void 0);
55
+ __decorate([
56
+ (0, interface_database_decorators_1.Field)("date"),
57
+ __metadata("design:type", Date)
58
+ ], SavedQueryRow.prototype, "updatedAt", void 0);
55
59
  exports.SavedQueryRow = SavedQueryRow = __decorate([
56
60
  (0, interface_database_decorators_1.RegisterTable)(exports.savedQueriesTableName, constants_1.SCHEMA_NAME)
57
61
  ], SavedQueryRow);
@@ -1 +1 @@
1
- {"version":3,"file":"saved_queries.table.js","sourceRoot":"","sources":["../../../src/db/tables/saved_queries.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAMmD;AACnD,0DAAyD;AACzD,qDAAoD;AAEvC,QAAA,qBAAqB,GAAG,eAAe,CAAC;AAG9C,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,qCAAK;CA2BvC,CAAA;AA3BY,sCAAa;AAIhB;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;IACf,IAAA,wCAAQ,EAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,SAAI,EAAE,CAAC;;6CACN;AAIf;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,SAAS,CAAC;;6CACO;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACK;AAGb;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACY;AAGpB;IADP,IAAA,qCAAK,EAAC,KAAK,CAAC;;4CAC0B;AAG/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACO;AAGf;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;gDAAC;wBA1Bb,aAAa;IADzB,IAAA,6CAAa,EAAC,6BAAqB,EAAE,uBAAW,CAAC;GACrC,aAAa,CA2BzB"}
1
+ {"version":3,"file":"saved_queries.table.js","sourceRoot":"","sources":["../../../src/db/tables/saved_queries.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAMmD;AACnD,0DAAyD;AACzD,qDAAoD;AAEvC,QAAA,qBAAqB,GAAG,eAAe,CAAC;AAG9C,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,qCAAK;CA+BvC,CAAA;AA/BY,sCAAa;AAIhB;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;IACf,IAAA,wCAAQ,EAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,SAAI,EAAE,CAAC;;6CACN;AAIf;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,SAAS,CAAC;;6CACO;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACK;AAGb;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACY;AAGpB;IADP,IAAA,qCAAK,EAAC,KAAK,CAAC;;4CAC0B;AAG/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACO;AAGf;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;gDAAC;AAIhB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACM,IAAI;gDAAC;wBA9Bd,aAAa;IADzB,IAAA,6CAAa,EAAC,6BAAqB,EAAE,uBAAW,CAAC;GACrC,aAAa,CA+BzB"}
@@ -0,0 +1,39 @@
1
+ export type ServerLocale = "en" | "fr";
2
+ declare const MESSAGES: {
3
+ readonly en: {
4
+ readonly tables: "{count} tables";
5
+ readonly table: "1 table";
6
+ readonly rows: "{count} rows";
7
+ readonly row: "1 row";
8
+ readonly schemas: "{count} schemas";
9
+ readonly schema: "1 schema";
10
+ readonly connectionDown: "Connection unavailable";
11
+ readonly latency: "probe {value} ms";
12
+ readonly HashModifier: "Hashed";
13
+ readonly LocalizationModifier: "Localized";
14
+ readonly EncryptionModifier: "Encrypted";
15
+ };
16
+ readonly fr: {
17
+ readonly tables: "{count} tables";
18
+ readonly table: "1 table";
19
+ readonly rows: "{count} lignes";
20
+ readonly row: "1 ligne";
21
+ readonly schemas: "{count} schémas";
22
+ readonly schema: "1 schéma";
23
+ readonly connectionDown: "Connexion indisponible";
24
+ readonly latency: "sonde {value} ms";
25
+ readonly HashModifier: "Haché";
26
+ readonly LocalizationModifier: "Traduit";
27
+ readonly EncryptionModifier: "Chiffré";
28
+ };
29
+ };
30
+ type MessageKey = keyof (typeof MESSAGES)["en"];
31
+ export interface LocaleCarrier {
32
+ language?: string;
33
+ }
34
+ export declare function localeOf(user: LocaleCarrier | undefined): ServerLocale;
35
+ export declare function formatCompact(locale: ServerLocale, value: number): string;
36
+ export declare function formatMessage(locale: ServerLocale, key: MessageKey, params?: Record<string, string>): string;
37
+ export declare function formatModifier(locale: ServerLocale, id: string): string;
38
+ export declare function formatCount(locale: ServerLocale, key: MessageKey, count: number): string;
39
+ export {};
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.localeOf = localeOf;
4
+ exports.formatCompact = formatCompact;
5
+ exports.formatMessage = formatMessage;
6
+ exports.formatModifier = formatModifier;
7
+ exports.formatCount = formatCount;
8
+ const DEFAULT_LOCALE = "en";
9
+ const MESSAGES = {
10
+ en: {
11
+ tables: "{count} tables",
12
+ table: "1 table",
13
+ rows: "{count} rows",
14
+ row: "1 row",
15
+ schemas: "{count} schemas",
16
+ schema: "1 schema",
17
+ connectionDown: "Connection unavailable",
18
+ latency: "probe {value} ms",
19
+ HashModifier: "Hashed",
20
+ LocalizationModifier: "Localized",
21
+ EncryptionModifier: "Encrypted",
22
+ },
23
+ fr: {
24
+ tables: "{count} tables",
25
+ table: "1 table",
26
+ rows: "{count} lignes",
27
+ row: "1 ligne",
28
+ schemas: "{count} schémas",
29
+ schema: "1 schéma",
30
+ connectionDown: "Connexion indisponible",
31
+ latency: "sonde {value} ms",
32
+ HashModifier: "Haché",
33
+ LocalizationModifier: "Traduit",
34
+ EncryptionModifier: "Chiffré",
35
+ },
36
+ };
37
+ const SINGULAR = {
38
+ tables: "table",
39
+ rows: "row",
40
+ schemas: "schema",
41
+ };
42
+ function localeOf(user) {
43
+ const language = user?.language?.toLowerCase() ?? "";
44
+ return language.startsWith("fr") ? "fr" : DEFAULT_LOCALE;
45
+ }
46
+ function formatCompact(locale, value) {
47
+ return new Intl.NumberFormat(locale, {
48
+ notation: "compact",
49
+ maximumFractionDigits: 1,
50
+ }).format(value);
51
+ }
52
+ function formatMessage(locale, key, params = {}) {
53
+ return MESSAGES[locale][key].replace(/\{(\w+)\}/g, (match, name) => params[name] ?? match);
54
+ }
55
+ function formatModifier(locale, id) {
56
+ return id in MESSAGES[locale] ? MESSAGES[locale][id] : id;
57
+ }
58
+ function formatCount(locale, key, count) {
59
+ const singular = SINGULAR[key];
60
+ if (count === 1 && singular)
61
+ return formatMessage(locale, singular);
62
+ return formatMessage(locale, key, { count: formatCompact(locale, count) });
63
+ }
64
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":";;AAoDA,4BAGC;AAGD,sCAKC;AAED,sCASC;AAGD,wCAEC;AAGD,kCAQC;AAlFD,MAAM,cAAc,GAAiB,IAAI,CAAC;AAE1C,MAAM,QAAQ,GAAG;IACf,EAAE,EAAE;QACF,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,OAAO;QACZ,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,wBAAwB;QACxC,OAAO,EAAE,kBAAkB;QAC3B,YAAY,EAAE,QAAQ;QACtB,oBAAoB,EAAE,WAAW;QACjC,kBAAkB,EAAE,WAAW;KAChC;IACD,EAAE,EAAE;QACF,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,wBAAwB;QACxC,OAAO,EAAE,kBAAkB;QAC3B,YAAY,EAAE,OAAO;QACrB,oBAAoB,EAAE,SAAS;QAC/B,kBAAkB,EAAE,SAAS;KAC9B;CACO,CAAC;AAKX,MAAM,QAAQ,GAA4C;IACxD,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,QAAQ;CAClB,CAAC;AAMF,SAAgB,QAAQ,CAAC,IAA+B;IACtD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACrD,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;AAC3D,CAAC;AAGD,SAAgB,aAAa,CAAC,MAAoB,EAAE,KAAa;IAC/D,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACnC,QAAQ,EAAE,SAAS;QACnB,qBAAqB,EAAE,CAAC;KACzB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,SAAgB,aAAa,CAC3B,MAAoB,EACpB,GAAe,EACf,SAAiC,EAAE;IAEnC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAClC,YAAY,EACZ,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAC/C,CAAC;AACJ,CAAC;AAGD,SAAgB,cAAc,CAAC,MAAoB,EAAE,EAAU;IAC7D,OAAO,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAGD,SAAgB,WAAW,CACzB,MAAoB,EACpB,GAAe,EACf,KAAa;IAEb,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,CAAC,IAAI,QAAQ;QAAE,OAAO,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpE,OAAO,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import "./db";
2
+ import "./module";
2
3
  import { type DmsDatabaseConfig } from "./config";
3
4
  export type { DmsDatabaseConfig } from "./config";
4
5
  export * from "./pages";
package/dist/index.js CHANGED
@@ -21,19 +21,13 @@ exports.construct = construct;
21
21
  exports.start = start;
22
22
  exports.stop = stop;
23
23
  require("./db");
24
+ require("./module");
24
25
  const node_path_1 = __importDefault(require("node:path"));
25
26
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
26
27
  const page_1 = require("@antelopejs/interface-dms/page");
27
28
  const automation_1 = require("./automation");
28
29
  const config_1 = require("./config");
29
30
  const constants_1 = require("./types/constants");
30
- (0, page_1.RegisterModule)({
31
- id: "database",
32
- title: "$dms_database.title",
33
- description: "$dms_database.description",
34
- icon: "i-ph-database",
35
- landingPage: "overview",
36
- });
37
31
  __exportStar(require("./pages"), exports);
38
32
  __exportStar(require("./routes"), exports);
39
33
  async function construct(config) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AA0BA,8BASC;AAED,sBAGC;AAED,oBAEC;AA5CD,gBAAc;AACd,0DAA6B;AAC7B,6FAA2E;AAC3E,yDAGwC;AACxC,6CAGsB;AACtB,qCAAmE;AACnE,iDAAgD;AAEhD,IAAA,qBAAc,EAAC;IACb,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,UAAU;CACxB,CAAC,CAAC;AAGH,0CAAwB;AACxB,2CAAyB;AAElB,KAAK,UAAU,SAAS,CAAC,MAA0B;IACxD,IAAA,wBAAe,EAAC,MAAM,CAAC,CAAC;IACxB,MAAM,IAAA,wBAAiB,EAAC;QACtB,IAAI,EAAE,uCAAuC;QAC7C,UAAU,EAAE,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;QACvC,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,KAAK;IACzB,MAAM,IAAA,8CAAc,EAAC,uBAAW,CAAC,CAAC;IAClC,IAAA,oCAAuB,GAAE,CAAC;AAC5B,CAAC;AAED,SAAgB,IAAI;IAClB,IAAA,sCAAyB,GAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAgBA,8BASC;AAED,sBAGC;AAED,oBAEC;AAlCD,gBAAc;AACd,oBAAkB;AAClB,0DAA6B;AAC7B,6FAA2E;AAC3E,yDAAmE;AACnE,6CAGsB;AACtB,qCAAmE;AACnE,iDAAgD;AAGhD,0CAAwB;AACxB,2CAAyB;AAElB,KAAK,UAAU,SAAS,CAAC,MAA0B;IACxD,IAAA,wBAAe,EAAC,MAAM,CAAC,CAAC;IACxB,MAAM,IAAA,wBAAiB,EAAC;QACtB,IAAI,EAAE,uCAAuC;QAC7C,UAAU,EAAE,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;QACvC,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,KAAK;IACzB,MAAM,IAAA,8CAAc,EAAC,uBAAW,CAAC,CAAC;IAClC,IAAA,oCAAuB,GAAE,CAAC;AAC5B,CAAC;AAED,SAAgB,IAAI;IAClB,IAAA,sCAAyB,GAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const DATABASE_MODULE_ID = "database";
2
+ export declare const databaseModule: import("@antelopejs/interface-dms").CategoryInfo;
3
+ export declare const exploreSection: import("@antelopejs/interface-dms").CategoryInfo;
4
+ export declare const workSection: import("@antelopejs/interface-dms").CategoryInfo;
5
+ export declare const DATABASE_PATHS: {
6
+ readonly overview: "/modules/database/overview";
7
+ readonly schemas: "/modules/database/schemas";
8
+ readonly diagram: "/modules/database/diagram";
9
+ readonly data: "/modules/database/data";
10
+ readonly query: "/modules/database/query";
11
+ };
package/dist/module.js ADDED
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DATABASE_PATHS = exports.workSection = exports.exploreSection = exports.databaseModule = exports.DATABASE_MODULE_ID = void 0;
7
+ const node_fs_1 = require("node:fs");
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const page_1 = require("@antelopejs/interface-dms/page");
10
+ const catalog_1 = require("./service/catalog");
11
+ exports.DATABASE_MODULE_ID = "database";
12
+ function readVersion() {
13
+ try {
14
+ const manifest = (0, node_fs_1.readFileSync)(node_path_1.default.join(__dirname, "../package.json"), "utf8");
15
+ return JSON.parse(manifest).version;
16
+ }
17
+ catch {
18
+ return undefined;
19
+ }
20
+ }
21
+ exports.databaseModule = (0, page_1.RegisterModule)({
22
+ id: exports.DATABASE_MODULE_ID,
23
+ title: "$dms_database.title",
24
+ description: "$dms_database.description",
25
+ icon: "i-ph-database",
26
+ landingPage: "overview",
27
+ version: readVersion(),
28
+ catalogCategory: "$dms_database.catalog_category",
29
+ status: () => "beta",
30
+ readout: (context) => (0, catalog_1.readCatalogReadout)(context.user),
31
+ });
32
+ exports.exploreSection = (0, page_1.Category)("explore", {
33
+ displayName: "$dms_database.nav.explore",
34
+ icon: "i-ph-compass",
35
+ order: 0,
36
+ category: exports.databaseModule,
37
+ type: "label",
38
+ urlSlug: "/",
39
+ });
40
+ exports.workSection = (0, page_1.Category)("work", {
41
+ displayName: "$dms_database.nav.work",
42
+ icon: "i-ph-wrench",
43
+ order: 1,
44
+ category: exports.databaseModule,
45
+ type: "label",
46
+ urlSlug: "/",
47
+ });
48
+ exports.DATABASE_PATHS = {
49
+ overview: "/modules/database/overview",
50
+ schemas: "/modules/database/schemas",
51
+ diagram: "/modules/database/diagram",
52
+ data: "/modules/database/data",
53
+ query: "/modules/database/query",
54
+ };
55
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAuC;AACvC,0DAA6B;AAC7B,yDAA0E;AAC1E,+CAAuD;AAE1C,QAAA,kBAAkB,GAAG,UAAU,CAAC;AAO7C,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAC3B,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACvC,MAAM,CACP,CAAC;QACF,OAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAqB,CAAC,OAAO,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAGY,QAAA,cAAc,GAAG,IAAA,qBAAc,EAAC;IAC3C,EAAE,EAAE,0BAAkB;IACtB,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,WAAW,EAAE;IACtB,eAAe,EAAE,gCAAgC;IAGjD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;IACpB,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,4BAAkB,EAAC,OAAO,CAAC,IAAI,CAAC;CACvD,CAAC,CAAC;AAIU,QAAA,cAAc,GAAG,IAAA,eAAQ,EAAC,SAAS,EAAE;IAChD,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,sBAAc;IACxB,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,GAAG;CACb,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG,IAAA,eAAQ,EAAC,MAAM,EAAE;IAC1C,WAAW,EAAE,wBAAwB;IACrC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,sBAAc;IACxB,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,GAAG;CACb,CAAC,CAAC;AAGU,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,4BAA4B;IACtC,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,2BAA2B;IACpC,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,yBAAyB;CACxB,CAAC"}
@@ -4,6 +4,6 @@ declare const DatabaseDataPage_base: {
4
4
  location: string;
5
5
  };
6
6
  export declare class DatabaseDataPage extends DatabaseDataPage_base {
7
- static content: import("@antelopejs/interface-dms").ComponentBuilder<unknown>;
7
+ static browser: import("@antelopejs/interface-dms").ComponentBuilder<unknown>;
8
8
  }
9
9
  export {};
@@ -7,19 +7,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.DatabaseDataPage = void 0;
10
- const page_1 = require("@antelopejs/interface-dms/page");
11
10
  const custom_1 = require("@antelopejs/interface-dms/base/custom");
12
11
  const layouts_1 = require("@antelopejs/interface-dms/base/layouts");
12
+ const page_1 = require("@antelopejs/interface-dms/page");
13
+ const module_1 = require("../module");
13
14
  let DatabaseDataPage = class DatabaseDataPage extends (0, page_1.PageController)("data", {
14
15
  displayName: "$dms_database.data.title",
15
16
  description: "$dms_database.data.description",
16
17
  icon: "i-ph-rows",
17
- module: "database",
18
- order: 2,
19
- }, (0, layouts_1.DefaultLayout)({ fullWidth: true, fillHeight: true })) {
20
- static content = (0, custom_1.CustomComponent)("DmsDatabaseData").meta({
21
- name: "$dms_database.data.title",
18
+ module: module_1.DATABASE_MODULE_ID,
19
+ category: module_1.workSection,
20
+ order: 0,
21
+ }, (0, layouts_1.DefaultLayout)({ fillHeight: true })) {
22
+ static browser = (0, custom_1.CustomComponent)("DmsDatabaseDataBrowser").meta({
23
+ name: "$dms_database.data.meta",
22
24
  icon: "i-ph-rows",
25
+ description: "$dms_database.data.meta_description",
23
26
  });
24
27
  };
25
28
  exports.DatabaseDataPage = DatabaseDataPage;
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/pages/data.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8E;AAC9E,kEAAwE;AACxE,oEAAuE;AAGhE,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,IAAA,qBAAc,EAClD,MAAM,EACN;IACE,WAAW,EAAE,0BAA0B;IACvC,WAAW,EAAE,gCAAgC;IAC7C,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,CAAC;CACT,EACD,IAAA,uBAAa,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACrD;IACC,MAAM,CAAC,OAAO,GAAG,IAAA,wBAAe,EAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC;QACvD,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;;AAdQ,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAY,GAAE;GACF,gBAAgB,CAe5B"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/pages/data.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kEAAwE;AACxE,oEAAuE;AACvE,yDAA8E;AAC9E,sCAA4D;AAGrD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,IAAA,qBAAc,EAClD,MAAM,EACN;IACE,WAAW,EAAE,0BAA0B;IACvC,WAAW,EAAE,gCAAgC;IAC7C,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,2BAAkB;IAC1B,QAAQ,EAAE,oBAAW;IACrB,KAAK,EAAE,CAAC;CACT,EACD,IAAA,uBAAa,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACpC;IACC,MAAM,CAAC,OAAO,GAAG,IAAA,wBAAe,EAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC;QAC9D,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,qCAAqC;KACnD,CAAC,CAAC;;AAhBQ,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAY,GAAE;GACF,gBAAgB,CAiB5B"}
@@ -0,0 +1,9 @@
1
+ declare const DatabaseDiagramPage_base: {
2
+ new (...args: any[]): {};
3
+ extend: <T extends import("@antelopejs/interface-api").ControllerClass>(this: T, location: string) => T;
4
+ location: string;
5
+ };
6
+ export declare class DatabaseDiagramPage extends DatabaseDiagramPage_base {
7
+ static canvas: import("@antelopejs/interface-dms").ComponentBuilder<unknown>;
8
+ }
9
+ export {};
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DatabaseDiagramPage = void 0;
10
+ const button_1 = require("@antelopejs/interface-dms/base/types/button");
11
+ const custom_1 = require("@antelopejs/interface-dms/base/custom");
12
+ const layouts_1 = require("@antelopejs/interface-dms/base/layouts");
13
+ const page_1 = require("@antelopejs/interface-dms/page");
14
+ const module_1 = require("../module");
15
+ let DatabaseDiagramPage = class DatabaseDiagramPage extends (0, page_1.PageController)("diagram", {
16
+ displayName: "$dms_database.diagram.title",
17
+ description: "$dms_database.diagram.description",
18
+ icon: "i-ph-graph",
19
+ module: module_1.DATABASE_MODULE_ID,
20
+ category: module_1.exploreSection,
21
+ order: 2,
22
+ }, (0, layouts_1.DefaultLayout)({
23
+ fillHeight: true,
24
+ headerActions: [
25
+ {
26
+ id: "open-list",
27
+ label: "$dms_database.diagram.actions.list",
28
+ icon: "i-ph-rows",
29
+ variant: button_1.ButtonVariant.outline,
30
+ color: "neutral",
31
+ target: { type: "page", url: module_1.DATABASE_PATHS.schemas },
32
+ },
33
+ ],
34
+ })) {
35
+ static canvas = (0, custom_1.CustomComponent)("DmsDatabaseSchemaDiagram").meta({
36
+ name: "$dms_database.diagram.meta",
37
+ icon: "i-ph-graph",
38
+ description: "$dms_database.diagram.meta_description",
39
+ });
40
+ };
41
+ exports.DatabaseDiagramPage = DatabaseDiagramPage;
42
+ exports.DatabaseDiagramPage = DatabaseDiagramPage = __decorate([
43
+ (0, page_1.RegisterPage)()
44
+ ], DatabaseDiagramPage);
45
+ //# sourceMappingURL=diagram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram.js","sourceRoot":"","sources":["../../src/pages/diagram.ts"],"names":[],"mappings":";;;;;;;;;AAAA,wEAA4E;AAC5E,kEAAwE;AACxE,oEAAuE;AACvE,yDAA8E;AAC9E,sCAA+E;AAGxE,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,IAAA,qBAAc,EACrD,SAAS,EACT;IACE,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,mCAAmC;IAChD,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,2BAAkB;IAC1B,QAAQ,EAAE,uBAAc;IACxB,KAAK,EAAE,CAAC;CACT,EACD,IAAA,uBAAa,EAAC;IACZ,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE;QACb;YACE,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,oCAAoC;YAC3C,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,sBAAa,CAAC,OAAO;YAC9B,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAc,CAAC,OAAO,EAAE;SACtD;KACF;CACF,CAAC,CACH;IACC,MAAM,CAAC,MAAM,GAAG,IAAA,wBAAe,EAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC;QAC/D,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,wCAAwC;KACtD,CAAC,CAAC;;AA5BQ,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAY,GAAE;GACF,mBAAmB,CA6B/B"}
@@ -1,4 +1,5 @@
1
1
  export * from "./data";
2
+ export * from "./diagram";
2
3
  export * from "./overview";
3
4
  export * from "./query";
4
5
  export * from "./schemas";
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./data"), exports);
18
+ __exportStar(require("./diagram"), exports);
18
19
  __exportStar(require("./overview"), exports);
19
20
  __exportStar(require("./query"), exports);
20
21
  __exportStar(require("./schemas"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pages/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,6CAA2B;AAC3B,0CAAwB;AACxB,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pages/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,0CAAwB;AACxB,4CAA0B"}
@@ -4,6 +4,9 @@ declare const DatabaseOverviewPage_base: {
4
4
  location: string;
5
5
  };
6
6
  export declare class DatabaseOverviewPage extends DatabaseOverviewPage_base {
7
- static content: import("@antelopejs/interface-dms").ComponentBuilder<unknown>;
7
+ static beta: import("@antelopejs/interface-dms").ComponentBuilder<import("@antelopejs/interface-dms/base").BannerProps>;
8
+ static connection: import("@antelopejs/interface-dms").ComponentBuilder<unknown>;
9
+ static schemas: import("@antelopejs/interface-dms").ComponentBuilder<import("@antelopejs/interface-dms/base").SectionProps>;
10
+ static activity: import("@antelopejs/interface-dms").ComponentBuilder<import("@antelopejs/interface-dms/base").GridOptions>;
8
11
  }
9
12
  export {};