@raclettejs/core 0.1.31 → 0.1.32-nightly

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 (83) hide show
  1. package/CHANGELOG.md +31 -4
  2. package/dist/cli.js +94 -94
  3. package/dist/cli.js.map +3 -3
  4. package/dist/index.js +3 -3
  5. package/dist/index.js.map +1 -1
  6. package/package.json +4 -4
  7. package/services/backend/.yarn/install-state.gz +0 -0
  8. package/services/backend/dist/core/eventBus/index.js +7 -0
  9. package/services/backend/dist/core/pluginSystem/configGenerator/index.js +346 -0
  10. package/services/backend/dist/core/sockets/index.js +95 -0
  11. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/account/events/index.js +31 -0
  12. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/account/index.js +48 -0
  13. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/account/routes/index.js +15 -0
  14. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/composition/events/index.js +22 -0
  15. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/composition/index.js +51 -0
  16. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/composition/routes/index.js +19 -0
  17. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/interactionLink/events/index.js +22 -0
  18. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/interactionLink/index.js +48 -0
  19. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/interactionLink/routes/index.js +19 -0
  20. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/project/events/index.js +31 -0
  21. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/project/index.js +49 -0
  22. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/project/routes/index.js +16 -0
  23. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/tag/events/index.js +39 -0
  24. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/tag/index.js +50 -0
  25. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/tag/routes/index.js +19 -0
  26. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/user/events/index.js +31 -0
  27. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/user/index.js +51 -0
  28. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/user/routes/index.js +21 -0
  29. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/workSession/events/index.js +31 -0
  30. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/workSession/index.js +48 -0
  31. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/workSession/routes/index.js +15 -0
  32. package/services/backend/dist/corePlugins/raclette__core/backend/index.js +34 -0
  33. package/services/backend/dist/domains/index.js +11 -0
  34. package/services/backend/dist/domains/system/index.js +11 -0
  35. package/services/backend/dist/domains/system/routes/index.js +17 -0
  36. package/services/backend/dist/helpers/index.js +14 -0
  37. package/services/backend/dist/index.js +3 -0
  38. package/services/backend/dist/modules/authentication/index.js +253 -0
  39. package/services/backend/dist/shared/types/core/index.js +8 -0
  40. package/services/backend/dist/shared/types/dataTypes/index.js +6 -0
  41. package/services/backend/dist/shared/types/index.js +8 -0
  42. package/services/backend/dist/shared/types/plugins/index.js +8 -0
  43. package/services/backend/dist/types/index.js +12 -0
  44. package/services/backend/dist/utils/index.js +2 -0
  45. package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/routes/route.user.patchOwn.ts +1 -1
  46. package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/user.service.ts +22 -1
  47. package/services/backend/yarn.lock +1 -1
  48. package/services/frontend/.yarn/install-state.gz +0 -0
  49. package/services/frontend/package.json +2 -2
  50. package/services/frontend/src/core/lib/data/dataApi.ts +1 -2
  51. package/services/frontend/src/orchestrator/ProductOrchestrator.vue +8 -1
  52. package/services/frontend/src/orchestrator/assets/styles/layers.css +1 -4
  53. package/services/frontend/src/orchestrator/assets/styles/tailwindStyles.css +3 -3
  54. package/services/frontend/src/orchestrator/assets/styles/vuetifyStyles.scss +4 -1
  55. package/services/frontend/src/orchestrator/components/dataExport/DataExporter.vue +303 -0
  56. package/services/frontend/src/orchestrator/components/dataTable/BaseDataTable.vue +473 -0
  57. package/services/frontend/src/orchestrator/components/dataTable/FileUpload.vue +83 -0
  58. package/services/frontend/src/orchestrator/components/dataTable/SelectionDialog.vue +169 -0
  59. package/services/frontend/src/orchestrator/components/dataTable/SummaryDialog.vue +211 -0
  60. package/services/frontend/src/orchestrator/components/index.ts +2 -0
  61. package/services/frontend/src/orchestrator/composables/index.ts +1 -0
  62. package/services/frontend/src/orchestrator/composables/useExport/formats/builtins.ts +124 -0
  63. package/services/frontend/src/orchestrator/composables/useExport/index.ts +176 -0
  64. package/services/frontend/src/orchestrator/composables/useExport/types.ts +141 -0
  65. package/services/frontend/src/orchestrator/i18n/de-DE.json +26 -1
  66. package/services/frontend/src/orchestrator/i18n/en-EU.json +26 -1
  67. package/services/frontend/src/orchestrator/i18n/sk.json +26 -1
  68. package/services/frontend/src/orchestrator/i18n/tl-TL.json +14 -0
  69. package/services/frontend/src/orchestrator/setup/vuetify.ts +0 -1
  70. package/services/frontend/yarn.lock +4854 -0
  71. package/types/index.ts +1 -1
  72. package/package/LICENSE.md +0 -699
  73. package/package/README.md +0 -49
  74. package/package/dev/README.md +0 -4
  75. package/package/index.js +0 -11
  76. package/package/raclette.default.config.yaml +0 -60
  77. package/package/services/backend/README.md +0 -172
  78. package/package/services/backend/yarn.lock +0 -5320
  79. package/package/services/frontend/README.md +0 -511
  80. package/package/services/frontend/src/core/lib/eggs/readme.md +0 -75
  81. package/package/services/frontend/yarn.lock +0 -0
  82. package/package/src/README.md +0 -404
  83. package/package/templates/README.md +0 -0
@@ -0,0 +1,141 @@
1
+ // ─── Core Export Format Interface ────────────────────────────────────────────
2
+
3
+ /**
4
+ * Defines a data export format. Implement this to add custom formats.
5
+ *
6
+ * @template T - The expected shape of the data (defaults to unknown for safety)
7
+ *
8
+ * @example
9
+ * const xmlFormat: ExportFormat<Record<string, unknown>> = {
10
+ * id: 'xml',
11
+ * label: 'XML',
12
+ * extension: 'xml',
13
+ * mimeType: 'application/xml',
14
+ * serialize: (data) => toXml(data),
15
+ * }
16
+ */
17
+ export interface ExportFormat<T = unknown> {
18
+ /** Unique identifier used to reference this format in the `formats` prop */
19
+ id: string
20
+ /** Display label shown in the format selector tabs */
21
+ label: string
22
+ /** File extension appended to the filename on download (without leading dot) */
23
+ extension: string
24
+ /** MIME type used for the downloaded Blob */
25
+ mimeType: string
26
+ /**
27
+ * Transform `data` into a string for clipboard copy or file download.
28
+ * May throw — the component catches all errors and shows them inline.
29
+ */
30
+ serialize: (data: T) => string
31
+ }
32
+
33
+ export interface ExportPayload<TItem = unknown, TMeta = unknown> {
34
+ items: TItem[]
35
+ meta?: TMeta
36
+ }
37
+
38
+ export type ExportDataScope = "combined" | "items" | "meta"
39
+
40
+ // ─── Built-in Format IDs ──────────────────────────────────────────────────────
41
+
42
+ export type BuiltinFormatId = "json" | "yaml"
43
+
44
+ /** A format entry in the `formats` prop: either a builtin ID or a custom format object */
45
+ export type FormatEntry = BuiltinFormatId | ExportFormat
46
+
47
+ // ─── Component Props ──────────────────────────────────────────────────────────
48
+
49
+ export interface RacletteExportProps {
50
+ /**
51
+ * The data to export. Accepts any value: object, array, string, number, etc.
52
+ * Each serializer handles edge cases gracefully.
53
+ */
54
+ data: ExportPayload
55
+
56
+ /**
57
+ * Base filename for downloads (no extension). Extension is appended automatically.
58
+ * @default 'export'
59
+ */
60
+ filename?: string
61
+
62
+ /**
63
+ * Ordered list of formats to offer. Mix builtin IDs and custom ExportFormat objects.
64
+ * This single prop controls both inclusion and order.
65
+ * @default ['json', 'yaml']
66
+ */
67
+ formats?: FormatEntry[]
68
+
69
+ /**
70
+ * ID of the format that should be active when the popover opens.
71
+ * Falls back to the first format in the list if not found.
72
+ */
73
+ defaultFormat?: string
74
+
75
+ /**
76
+ * Label for the default trigger button (only used when no default slot is provided).
77
+ * @default 'Export'
78
+ */
79
+ buttonLabel?: string
80
+
81
+ /**
82
+ * Disables the trigger button and prevents the popover from opening.
83
+ * @default false
84
+ */
85
+ disabled?: boolean
86
+
87
+ /**
88
+ * Whether the preview pane starts collapsed.
89
+ * @default true
90
+ */
91
+ previewCollapsed?: boolean
92
+
93
+ /**
94
+ * Shows a scope switch inside the popover to choose whether to export:
95
+ * - the combined payload object
96
+ * - only items
97
+ * - only meta
98
+ * @default true
99
+ */
100
+ showDataScopeSwitch?: boolean
101
+ }
102
+
103
+ // ─── Component Emits ──────────────────────────────────────────────────────────
104
+
105
+ export interface ExportSuccessPayload {
106
+ /** ID of the format that was used */
107
+ formatId: string
108
+ /** Whether the user copied or downloaded */
109
+ action: "copy" | "download"
110
+ }
111
+
112
+ export interface ExportErrorPayload {
113
+ /** ID of the format that failed */
114
+ formatId: string
115
+ /** Whether the copy or download was attempted */
116
+ action: "copy" | "download" | "serialize"
117
+ /** The caught error */
118
+ error: unknown
119
+ }
120
+
121
+ export interface RacletteExportEmits {
122
+ (e: "export-success", payload: ExportSuccessPayload): void
123
+ (e: "export-error", payload: ExportErrorPayload): void
124
+ }
125
+
126
+ // ─── Slot Props ───────────────────────────────────────────────────────────────
127
+
128
+ export interface TriggerSlotProps {
129
+ /** Opens the export popover */
130
+ open: () => void
131
+ /** Whether the popover is currently open */
132
+ isOpen: boolean
133
+ /** Mirrors the `disabled` prop */
134
+ disabled: boolean
135
+ }
136
+
137
+ // ─── Serialization Result ─────────────────────────────────────────────────────
138
+
139
+ export type SerializeResult =
140
+ | { ok: true; value: string }
141
+ | { ok: false; error: string }
@@ -33,6 +33,30 @@
33
33
  "more_soonDescription": "Wir befinden uns noch in der Beta-Phase, aber liefern bereits! Schau dir unsere Roadmap an",
34
34
  "roadmap": "Roadmap auf Gitlab"
35
35
  },
36
+ "baseDataTable": {
37
+ "searchPlaceholder": "{dataName} durchsuchen",
38
+ "createDataButton": "{dataName} erstellen",
39
+ "deleteDataTitle": "{dataName} löschen",
40
+ "restoreDataTitle": "{dataName} widerherstellen",
41
+ "deleteDataConfirmMessage": "Bist du sicher, dass du {article} {dataName} <strong>{value}</strong> löschen willst?",
42
+ "deleteDataConfirmButton": "Löschen",
43
+ "deleteDataConfirmCancel": "Abbrechen"
44
+ },
45
+ "dataExporter": {
46
+ "lines": "Zeilen",
47
+ "title": "Daten exportieren",
48
+ "scopeLabel": "Daten",
49
+ "scopeCombined": "Kombiniert",
50
+ "scopeItems": "Elemente",
51
+ "scopeMeta": "Metadaten",
52
+ "noValidFormats": "Keine gueltigen Formate konfiguriert.",
53
+ "preview": "Vorschau",
54
+ "previewTruncatedAt": "Vorschau bei {count} Zeilen abgeschnitten",
55
+ "copied": "Kopiert!",
56
+ "copyFailed": "Fehlgeschlagen",
57
+ "copy": "Kopieren",
58
+ "download": "Herunterladen"
59
+ },
36
60
  "dataSync": {
37
61
  "update": {
38
62
  "$docCountOf$docTypeHaveBeenHandled": "{docCount} Dokumente vom Typ {docType} wurden erfolgreich geupdated",
@@ -219,4 +243,5 @@
219
243
  "sl-SL": "Slowenisch (Slowenien)"
220
244
  }
221
245
  }
222
- }
246
+ }
247
+
@@ -33,6 +33,30 @@
33
33
  "more_soonDescription": "We are still in Beta but on our way to deliver! Checkout our Roadmap",
34
34
  "roadmap": "Roadmap on Gitlab"
35
35
  },
36
+ "baseDataTable": {
37
+ "searchPlaceholder": "Search {dataName}",
38
+ "createDataButton": "Create {dataName}",
39
+ "deleteDataTitle": "Delete {dataName}",
40
+ "restoreDataTitle": "Restore {dataName}",
41
+ "deleteDataConfirmMessage": "Are you sure you want to delete {article} {dataName} <strong>{value}</strong>?",
42
+ "deleteDataConfirmButton": "Delete",
43
+ "deleteDataConfirmCancel": "Cancel"
44
+ },
45
+ "dataExporter": {
46
+ "lines": "Lines",
47
+ "title": "Export Data",
48
+ "scopeLabel": "Data",
49
+ "scopeCombined": "Combined",
50
+ "scopeItems": "Items",
51
+ "scopeMeta": "Meta",
52
+ "noValidFormats": "No valid formats configured.",
53
+ "preview": "Preview",
54
+ "previewTruncatedAt": "Preview truncated at {count} lines",
55
+ "copied": "Copied!",
56
+ "copyFailed": "Failed",
57
+ "copy": "Copy",
58
+ "download": "Download"
59
+ },
36
60
  "dataSync": {
37
61
  "update": {
38
62
  "$docCountOf$docTypeHaveBeenHandled": "{docCount} documents of type {docType} were successfully updated",
@@ -219,4 +243,5 @@
219
243
  "sl-SL": "Slovenian (Slovenia)"
220
244
  }
221
245
  }
222
- }
246
+ }
247
+
@@ -33,6 +33,30 @@
33
33
  "more_soonDescription": "Stále sme v beta verzii, ale pracujeme na tom, aby sme doručili! Pozrite si našu cestovnú mapu",
34
34
  "roadmap": "Cestovná mapa na Gitlabe"
35
35
  },
36
+ "baseDataTable": {
37
+ "searchPlaceholder": "Hľadať {dataName}",
38
+ "createDataButton": "Vytvoriť {dataName}",
39
+ "deleteDataTitle": "Odstrániť {dataName}",
40
+ "restoreDataTitle": "Obnoviť {dataName}",
41
+ "deleteDataConfirmMessage": "Naozaj chcete odstrániť {article} {dataName} <strong>{value}</strong>?",
42
+ "deleteDataConfirmButton": "Odstrániť",
43
+ "deleteDataConfirmCancel": "Zrušiť"
44
+ },
45
+ "dataExporter": {
46
+ "lines": "riadky",
47
+ "title": "Export údajov",
48
+ "scopeLabel": "Údaje",
49
+ "scopeCombined": "Kombinované",
50
+ "scopeItems": "Položky",
51
+ "scopeMeta": "Meta",
52
+ "noValidFormats": "Nie sú nakonfigurované žiadne platné formáty.",
53
+ "preview": "Náhľad",
54
+ "previewTruncatedAt": "Náhľad je skrátený na {count} riadkov",
55
+ "copied": "Skopírované!",
56
+ "copyFailed": "Zlyhalo",
57
+ "copy": "Kopírovať",
58
+ "download": "Stiahnuť"
59
+ },
36
60
  "dataSync": {
37
61
  "update": {
38
62
  "$docCountOf$docTypeHaveBeenHandled": "{docCount} dokumentov typu {docType} bolo úspešne aktualizovaných",
@@ -219,4 +243,5 @@
219
243
  "sl-SL": "Slovinčina (Slovinsko)"
220
244
  }
221
245
  }
222
- }
246
+ }
247
+
@@ -33,6 +33,20 @@
33
33
  "more_soonDescription": "Beta wItaH 'ach wIghoS – Roadmap yIlegh!",
34
34
  "roadmap": "GitlabDaq Roadmap"
35
35
  },
36
+ "dataExporter": {
37
+ "title": "Export Data",
38
+ "scopeLabel": "Data",
39
+ "scopeCombined": "Combined",
40
+ "scopeItems": "Items",
41
+ "scopeMeta": "Meta",
42
+ "noValidFormats": "No valid formats configured.",
43
+ "preview": "Preview",
44
+ "previewTruncatedAt": "Preview truncated at {count} lines",
45
+ "copied": "Copied!",
46
+ "copyFailed": "Failed",
47
+ "copy": "Copy",
48
+ "download": "Download"
49
+ },
36
50
  "dataSync": {
37
51
  "update": {
38
52
  "$docCountOf$docTypeHaveBeenHandled": "{docCount} {docType} puS ghItlhmey Qapla’ vI’taH",
@@ -34,7 +34,6 @@ const initVuetify = (instanceAdapter, dateLocale) => {
34
34
  components,
35
35
  directives,
36
36
  theme: {
37
- defaultTheme: "dark",
38
37
  themes: {
39
38
  dark,
40
39
  light,