@open-mercato/core 0.6.6-develop.5505.1.f08e81a6fe → 0.6.6-develop.5509.1.006f4d4f24

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 (43) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/generated/entities/organization/index.js +2 -0
  3. package/dist/generated/entities/organization/index.js.map +2 -2
  4. package/dist/generated/entity-fields-registry.js +1 -0
  5. package/dist/generated/entity-fields-registry.js.map +2 -2
  6. package/dist/modules/auth/api/admin/nav.js +9 -0
  7. package/dist/modules/auth/api/admin/nav.js.map +2 -2
  8. package/dist/modules/auth/lib/backendChrome.js +35 -2
  9. package/dist/modules/auth/lib/backendChrome.js.map +2 -2
  10. package/dist/modules/directory/api/organization-branding/route.js +214 -0
  11. package/dist/modules/directory/api/organization-branding/route.js.map +7 -0
  12. package/dist/modules/directory/api/organizations/route.js +7 -0
  13. package/dist/modules/directory/api/organizations/route.js.map +3 -3
  14. package/dist/modules/directory/backend/directory/branding/page.js +214 -0
  15. package/dist/modules/directory/backend/directory/branding/page.js.map +7 -0
  16. package/dist/modules/directory/backend/directory/branding/page.meta.js +26 -0
  17. package/dist/modules/directory/backend/directory/branding/page.meta.js.map +7 -0
  18. package/dist/modules/directory/commands/organizations.js +8 -1
  19. package/dist/modules/directory/commands/organizations.js.map +2 -2
  20. package/dist/modules/directory/data/entities.js +3 -0
  21. package/dist/modules/directory/data/entities.js.map +2 -2
  22. package/dist/modules/directory/data/validators.js +9 -0
  23. package/dist/modules/directory/data/validators.js.map +2 -2
  24. package/dist/modules/directory/migrations/Migration20260607222259_directory.js +13 -0
  25. package/dist/modules/directory/migrations/Migration20260607222259_directory.js.map +7 -0
  26. package/generated/entities/organization/index.ts +1 -0
  27. package/generated/entity-fields-registry.ts +1 -0
  28. package/package.json +7 -7
  29. package/src/modules/auth/api/admin/nav.ts +9 -0
  30. package/src/modules/auth/lib/backendChrome.tsx +37 -1
  31. package/src/modules/directory/api/organization-branding/route.ts +238 -0
  32. package/src/modules/directory/api/organizations/route.ts +7 -0
  33. package/src/modules/directory/backend/directory/branding/page.meta.ts +24 -0
  34. package/src/modules/directory/backend/directory/branding/page.tsx +248 -0
  35. package/src/modules/directory/commands/organizations.ts +9 -1
  36. package/src/modules/directory/data/entities.ts +3 -0
  37. package/src/modules/directory/data/validators.ts +12 -0
  38. package/src/modules/directory/i18n/de.json +21 -0
  39. package/src/modules/directory/i18n/en.json +21 -0
  40. package/src/modules/directory/i18n/es.json +21 -0
  41. package/src/modules/directory/i18n/pl.json +21 -0
  42. package/src/modules/directory/migrations/.snapshot-open-mercato.json +40 -0
  43. package/src/modules/directory/migrations/Migration20260607222259_directory.ts +13 -0
@@ -5,6 +5,27 @@
5
5
  "directory.audit.tenants.create": "Mandanten anlegen",
6
6
  "directory.audit.tenants.delete": "Mandanten löschen",
7
7
  "directory.audit.tenants.update": "Mandanten aktualisieren",
8
+ "directory.branding.actions.reset": "Standardlogo verwenden",
9
+ "directory.branding.actions.save": "Branding speichern",
10
+ "directory.branding.currentScope": "Aktuelle Organisation",
11
+ "directory.branding.description": "Legen Sie das Logo fest, das in der Backend-Seitenleiste für die aktuell ausgewählte Organisation verwendet wird.",
12
+ "directory.branding.errors.blocked": "Das Speichern des Brandings wurde blockiert.",
13
+ "directory.branding.errors.invalidLogoUrl": "Geben Sie eine gültige Bild-URL ein.",
14
+ "directory.branding.errors.load": "Organisationsbranding konnte nicht geladen werden",
15
+ "directory.branding.errors.notFound": "Organisation nicht gefunden",
16
+ "directory.branding.errors.organizationRequired": "Wählen Sie eine einzelne Organisation aus, bevor Sie das Seitenleisten-Branding ändern.",
17
+ "directory.branding.errors.save": "Organisationsbranding konnte nicht aktualisiert werden",
18
+ "directory.branding.errors.upload": "Logo konnte nicht hochgeladen werden",
19
+ "directory.branding.file.hint": "PNG, JPG, WebP oder SVG funktioniert am besten. Hochgeladene Dateien werden als Organisationsanhänge gespeichert.",
20
+ "directory.branding.file.label": "Logo hochladen",
21
+ "directory.branding.flash.saved": "Organisationsbranding aktualisiert",
22
+ "directory.branding.loading": "Organisationsbranding wird geladen...",
23
+ "directory.branding.nav": "Organisationsbranding",
24
+ "directory.branding.previewAlt": "Logovorschau für {{name}}",
25
+ "directory.branding.title": "Organisationsbranding",
26
+ "directory.branding.url.hint": "Verwenden Sie eine externe Bild-URL oder lassen Sie das Feld leer, um auf das Standardlogo von Open Mercato zurückzufallen.",
27
+ "directory.branding.url.label": "Logo-URL",
28
+ "directory.branding.url.placeholder": "https://example.com/logo.svg",
8
29
  "directory.nav.group": "Verzeichnis",
9
30
  "directory.nav.organizations": "Organisationen",
10
31
  "directory.nav.organizations.create": "Organisation erstellen",
@@ -5,6 +5,27 @@
5
5
  "directory.audit.tenants.create": "Create tenant",
6
6
  "directory.audit.tenants.delete": "Delete tenant",
7
7
  "directory.audit.tenants.update": "Update tenant",
8
+ "directory.branding.actions.reset": "Use default logo",
9
+ "directory.branding.actions.save": "Save branding",
10
+ "directory.branding.currentScope": "Current organization",
11
+ "directory.branding.description": "Set the logo used in the backend sidebar for the currently selected organization.",
12
+ "directory.branding.errors.blocked": "Branding save was blocked.",
13
+ "directory.branding.errors.invalidLogoUrl": "Enter a valid image URL.",
14
+ "directory.branding.errors.load": "Failed to load organization branding",
15
+ "directory.branding.errors.notFound": "Organization not found",
16
+ "directory.branding.errors.organizationRequired": "Select a single organization before changing sidebar branding.",
17
+ "directory.branding.errors.save": "Failed to update organization branding",
18
+ "directory.branding.errors.upload": "Failed to upload logo",
19
+ "directory.branding.file.hint": "PNG, JPG, WebP, or SVG works best. Uploaded files are stored as organization attachments.",
20
+ "directory.branding.file.label": "Upload logo",
21
+ "directory.branding.flash.saved": "Organization branding updated",
22
+ "directory.branding.loading": "Loading organization branding...",
23
+ "directory.branding.nav": "Organization branding",
24
+ "directory.branding.previewAlt": "{{name}} logo preview",
25
+ "directory.branding.title": "Organization branding",
26
+ "directory.branding.url.hint": "Use an external image URL or leave empty to fall back to the default Open Mercato logo.",
27
+ "directory.branding.url.label": "Logo URL",
28
+ "directory.branding.url.placeholder": "https://example.com/logo.svg",
8
29
  "directory.nav.group": "Directory",
9
30
  "directory.nav.organizations": "Organizations",
10
31
  "directory.nav.organizations.create": "Create Organization",
@@ -5,6 +5,27 @@
5
5
  "directory.audit.tenants.create": "Crear inquilino",
6
6
  "directory.audit.tenants.delete": "Eliminar inquilino",
7
7
  "directory.audit.tenants.update": "Actualizar inquilino",
8
+ "directory.branding.actions.reset": "Usar logo predeterminado",
9
+ "directory.branding.actions.save": "Guardar marca",
10
+ "directory.branding.currentScope": "Organización actual",
11
+ "directory.branding.description": "Define el logo usado en la barra lateral del backend para la organización seleccionada.",
12
+ "directory.branding.errors.blocked": "Se bloqueó el guardado de la marca.",
13
+ "directory.branding.errors.invalidLogoUrl": "Introduce una URL de imagen válida.",
14
+ "directory.branding.errors.load": "No se pudo cargar la marca de la organización",
15
+ "directory.branding.errors.notFound": "Organización no encontrada",
16
+ "directory.branding.errors.organizationRequired": "Selecciona una sola organización antes de cambiar la marca de la barra lateral.",
17
+ "directory.branding.errors.save": "No se pudo actualizar la marca de la organización",
18
+ "directory.branding.errors.upload": "No se pudo subir el logo",
19
+ "directory.branding.file.hint": "PNG, JPG, WebP o SVG funcionan mejor. Los archivos subidos se guardan como adjuntos de la organización.",
20
+ "directory.branding.file.label": "Subir logo",
21
+ "directory.branding.flash.saved": "Marca de la organización actualizada",
22
+ "directory.branding.loading": "Cargando marca de la organización...",
23
+ "directory.branding.nav": "Marca de la organización",
24
+ "directory.branding.previewAlt": "Vista previa del logo de {{name}}",
25
+ "directory.branding.title": "Marca de la organización",
26
+ "directory.branding.url.hint": "Usa una URL de imagen externa o deja el campo vacío para volver al logo predeterminado de Open Mercato.",
27
+ "directory.branding.url.label": "URL del logo",
28
+ "directory.branding.url.placeholder": "https://example.com/logo.svg",
8
29
  "directory.nav.group": "Directorio",
9
30
  "directory.nav.organizations": "Organizaciones",
10
31
  "directory.nav.organizations.create": "Crear organización",
@@ -5,6 +5,27 @@
5
5
  "directory.audit.tenants.create": "Utwórz najemcę",
6
6
  "directory.audit.tenants.delete": "Usuń najemcę",
7
7
  "directory.audit.tenants.update": "Aktualizuj najemcę",
8
+ "directory.branding.actions.reset": "Użyj domyślnego logo",
9
+ "directory.branding.actions.save": "Zapisz branding",
10
+ "directory.branding.currentScope": "Aktualna organizacja",
11
+ "directory.branding.description": "Ustaw logo używane w sidebarze backendu dla aktualnie wybranej organizacji.",
12
+ "directory.branding.errors.blocked": "Zapis brandingu został zablokowany.",
13
+ "directory.branding.errors.invalidLogoUrl": "Podaj poprawny adres URL obrazka.",
14
+ "directory.branding.errors.load": "Nie udało się wczytać brandingu organizacji",
15
+ "directory.branding.errors.notFound": "Nie znaleziono organizacji",
16
+ "directory.branding.errors.organizationRequired": "Wybierz pojedynczą organizację przed zmianą brandingu sidebara.",
17
+ "directory.branding.errors.save": "Nie udało się zaktualizować brandingu organizacji",
18
+ "directory.branding.errors.upload": "Nie udało się przesłać logo",
19
+ "directory.branding.file.hint": "Najlepiej sprawdzi się PNG, JPG, WebP albo SVG. Przesłane pliki są zapisywane jako załączniki organizacji.",
20
+ "directory.branding.file.label": "Prześlij logo",
21
+ "directory.branding.flash.saved": "Branding organizacji zaktualizowany",
22
+ "directory.branding.loading": "Ładowanie brandingu organizacji...",
23
+ "directory.branding.nav": "Branding organizacji",
24
+ "directory.branding.previewAlt": "Podgląd logo {{name}}",
25
+ "directory.branding.title": "Branding organizacji",
26
+ "directory.branding.url.hint": "Użyj zewnętrznego adresu obrazka albo zostaw puste, aby wrócić do domyślnego logo Open Mercato.",
27
+ "directory.branding.url.label": "Adres URL logo",
28
+ "directory.branding.url.placeholder": "https://example.com/logo.svg",
8
29
  "directory.nav.group": "Katalog",
9
30
  "directory.nav.organizations": "Organizacje",
10
31
  "directory.nav.organizations.create": "Utwórz organizację",
@@ -21,6 +21,7 @@
21
21
  "scale": null,
22
22
  "default": "'[]'",
23
23
  "comment": null,
24
+ "collation": null,
24
25
  "enumItems": [],
25
26
  "mappedType": "json"
26
27
  },
@@ -37,6 +38,7 @@
37
38
  "scale": null,
38
39
  "default": "'[]'",
39
40
  "comment": null,
41
+ "collation": null,
40
42
  "enumItems": [],
41
43
  "mappedType": "json"
42
44
  },
@@ -53,6 +55,7 @@
53
55
  "scale": null,
54
56
  "default": null,
55
57
  "comment": null,
58
+ "collation": null,
56
59
  "enumItems": [],
57
60
  "mappedType": "datetime"
58
61
  },
@@ -69,6 +72,7 @@
69
72
  "scale": null,
70
73
  "default": null,
71
74
  "comment": null,
75
+ "collation": null,
72
76
  "enumItems": [],
73
77
  "mappedType": "datetime"
74
78
  },
@@ -85,6 +89,7 @@
85
89
  "scale": null,
86
90
  "default": "0",
87
91
  "comment": null,
92
+ "collation": null,
88
93
  "enumItems": [],
89
94
  "mappedType": "integer"
90
95
  },
@@ -101,6 +106,7 @@
101
106
  "scale": null,
102
107
  "default": "'[]'",
103
108
  "comment": null,
109
+ "collation": null,
104
110
  "enumItems": [],
105
111
  "mappedType": "json"
106
112
  },
@@ -117,6 +123,7 @@
117
123
  "scale": null,
118
124
  "default": "gen_random_uuid()",
119
125
  "comment": null,
126
+ "collation": null,
120
127
  "enumItems": [],
121
128
  "mappedType": "uuid"
122
129
  },
@@ -133,9 +140,27 @@
133
140
  "scale": null,
134
141
  "default": "true",
135
142
  "comment": null,
143
+ "collation": null,
136
144
  "enumItems": [],
137
145
  "mappedType": "boolean"
138
146
  },
147
+ "logo_url": {
148
+ "name": "logo_url",
149
+ "type": "text",
150
+ "unsigned": false,
151
+ "autoincrement": false,
152
+ "primary": false,
153
+ "nullable": true,
154
+ "unique": false,
155
+ "length": null,
156
+ "precision": null,
157
+ "scale": null,
158
+ "default": null,
159
+ "comment": null,
160
+ "collation": null,
161
+ "enumItems": [],
162
+ "mappedType": "text"
163
+ },
139
164
  "name": {
140
165
  "name": "name",
141
166
  "type": "text",
@@ -149,6 +174,7 @@
149
174
  "scale": null,
150
175
  "default": null,
151
176
  "comment": null,
177
+ "collation": null,
152
178
  "enumItems": [],
153
179
  "mappedType": "text"
154
180
  },
@@ -165,6 +191,7 @@
165
191
  "scale": null,
166
192
  "default": null,
167
193
  "comment": null,
194
+ "collation": null,
168
195
  "enumItems": [],
169
196
  "mappedType": "uuid"
170
197
  },
@@ -181,6 +208,7 @@
181
208
  "scale": null,
182
209
  "default": null,
183
210
  "comment": null,
211
+ "collation": null,
184
212
  "enumItems": [],
185
213
  "mappedType": "uuid"
186
214
  },
@@ -197,6 +225,7 @@
197
225
  "scale": null,
198
226
  "default": null,
199
227
  "comment": null,
228
+ "collation": null,
200
229
  "enumItems": [],
201
230
  "mappedType": "text"
202
231
  },
@@ -213,6 +242,7 @@
213
242
  "scale": null,
214
243
  "default": null,
215
244
  "comment": null,
245
+ "collation": null,
216
246
  "enumItems": [],
217
247
  "mappedType": "uuid"
218
248
  },
@@ -229,6 +259,7 @@
229
259
  "scale": null,
230
260
  "default": null,
231
261
  "comment": null,
262
+ "collation": null,
232
263
  "enumItems": [],
233
264
  "mappedType": "text"
234
265
  },
@@ -245,6 +276,7 @@
245
276
  "scale": null,
246
277
  "default": null,
247
278
  "comment": null,
279
+ "collation": null,
248
280
  "enumItems": [],
249
281
  "mappedType": "datetime"
250
282
  }
@@ -273,6 +305,7 @@
273
305
  }
274
306
  ],
275
307
  "checks": [],
308
+ "triggers": [],
276
309
  "foreignKeys": {
277
310
  "organizations_tenant_id_foreign": {
278
311
  "columnNames": [
@@ -305,6 +338,7 @@
305
338
  "scale": null,
306
339
  "default": null,
307
340
  "comment": null,
341
+ "collation": null,
308
342
  "enumItems": [],
309
343
  "mappedType": "datetime"
310
344
  },
@@ -321,6 +355,7 @@
321
355
  "scale": null,
322
356
  "default": null,
323
357
  "comment": null,
358
+ "collation": null,
324
359
  "enumItems": [],
325
360
  "mappedType": "datetime"
326
361
  },
@@ -337,6 +372,7 @@
337
372
  "scale": null,
338
373
  "default": "gen_random_uuid()",
339
374
  "comment": null,
375
+ "collation": null,
340
376
  "enumItems": [],
341
377
  "mappedType": "uuid"
342
378
  },
@@ -353,6 +389,7 @@
353
389
  "scale": null,
354
390
  "default": "true",
355
391
  "comment": null,
392
+ "collation": null,
356
393
  "enumItems": [],
357
394
  "mappedType": "boolean"
358
395
  },
@@ -369,6 +406,7 @@
369
406
  "scale": null,
370
407
  "default": null,
371
408
  "comment": null,
409
+ "collation": null,
372
410
  "enumItems": [],
373
411
  "mappedType": "text"
374
412
  },
@@ -385,6 +423,7 @@
385
423
  "scale": null,
386
424
  "default": null,
387
425
  "comment": null,
426
+ "collation": null,
388
427
  "enumItems": [],
389
428
  "mappedType": "datetime"
390
429
  }
@@ -402,6 +441,7 @@
402
441
  }
403
442
  ],
404
443
  "checks": [],
444
+ "triggers": [],
405
445
  "foreignKeys": {},
406
446
  "comment": null
407
447
  }
@@ -0,0 +1,13 @@
1
+ import { Migration } from '@mikro-orm/migrations';
2
+
3
+ export class Migration20260607222259_directory extends Migration {
4
+
5
+ override up(): void | Promise<void> {
6
+ this.addSql(`alter table "organizations" add "logo_url" text null;`);
7
+ }
8
+
9
+ override down(): void | Promise<void> {
10
+ this.addSql(`alter table "organizations" drop column "logo_url";`);
11
+ }
12
+
13
+ }