@rebasepro/app 0.25.0 → 0.26.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 (38) hide show
  1. package/README.md +1 -1
  2. package/dist/RlsSimulatorPanel-DOfmVgM3.js +403 -0
  3. package/dist/RlsSimulatorPanel-DOfmVgM3.js.map +1 -0
  4. package/dist/collections/form-layout.d.ts +30 -27
  5. package/dist/components/LanguageToggle.d.ts +9 -0
  6. package/dist/components/LoginView/index.d.ts +7 -0
  7. package/dist/components/index.d.ts +1 -0
  8. package/dist/components/studio/RlsSimulatorBar.d.ts +39 -0
  9. package/dist/components/studio/RlsSimulatorPanel.d.ts +29 -0
  10. package/dist/contexts/RlsSimulationContext.d.ts +47 -0
  11. package/dist/contexts/index.d.ts +1 -0
  12. package/dist/core/effective_role_state.d.ts +9 -0
  13. package/dist/{de-BMgOgwue.js → de-3yzzpuZj.js} +175 -1
  14. package/dist/de-3yzzpuZj.js.map +1 -0
  15. package/dist/debug.js +96 -46
  16. package/dist/{es-DSOOSgPW.js → es-mnyTaRkK.js} +175 -1
  17. package/dist/es-mnyTaRkK.js.map +1 -0
  18. package/dist/{fr-CnXidmZf.js → fr-nJHADzlI.js} +175 -1
  19. package/dist/fr-nJHADzlI.js.map +1 -0
  20. package/dist/{hi-lTvNsFMr.js → hi-B9_iunnL.js} +175 -1
  21. package/dist/hi-B9_iunnL.js.map +1 -0
  22. package/dist/hooks/useBuildEffectiveRoleController.d.ts +9 -3
  23. package/dist/hooks/usePermissions.d.ts +4 -0
  24. package/dist/hooks/useUnsavedChangesDialog.d.ts +7 -1
  25. package/dist/i18n/RebaseI18nProvider.d.ts +11 -0
  26. package/dist/index.es.js +2814 -2555
  27. package/dist/index.es.js.map +1 -1
  28. package/dist/{it-BoT_vBlx.js → it-DoEtz-OK.js} +175 -1
  29. package/dist/it-DoEtz-OK.js.map +1 -0
  30. package/dist/{pt-D9mSchbY.js → pt-DT26AmBU.js} +175 -1
  31. package/dist/pt-DT26AmBU.js.map +1 -0
  32. package/package.json +7 -7
  33. package/dist/de-BMgOgwue.js.map +0 -1
  34. package/dist/es-DSOOSgPW.js.map +0 -1
  35. package/dist/fr-CnXidmZf.js.map +0 -1
  36. package/dist/hi-lTvNsFMr.js.map +0 -1
  37. package/dist/it-BoT_vBlx.js.map +0 -1
  38. package/dist/pt-D9mSchbY.js.map +0 -1
@@ -196,6 +196,30 @@ var it = {
196
196
  error_firestore_index: "Per questa query è richiesto un indice Firestore.",
197
197
  realtime_connection_lost_title: "Aggiornamenti in tempo reale in pausa",
198
198
  realtime_connection_lost_body: "La connessione al server si è interrotta, quindi ciò che vedi potrebbe non essere aggiornato. Si aggiornerà non appena la connessione tornerà.",
199
+ rls_simulate_access: "Simula accesso",
200
+ rls_simulate_access_description: "Guarda ogni collezione come la vedrebbe un ruolo, un utente o una chiave di servizio: le righe e i campi nascosti dalla sicurezza a livello di riga vengono esclusi.",
201
+ rls_simulate_tab_role: "Ruolo",
202
+ rls_simulate_tab_user: "Utente",
203
+ rls_simulate_tab_api_key: "Chiave API",
204
+ rls_simulate_user_id_optional: "Come id utente (facoltativo)",
205
+ rls_simulate_apply: "Simula",
206
+ rls_simulate_stop: "Interrompi simulazione",
207
+ rls_simulate_search_users: "Cerca utenti",
208
+ rls_simulate_no_users: "Nessun utente trovato.",
209
+ rls_simulate_no_api_keys: "Nessuna chiave di servizio attiva.",
210
+ rls_simulate_options_error: "Impossibile caricare cosa si può simulare: {{message}}",
211
+ rls_simulate_users_error: "Impossibile caricare gli utenti: {{message}}",
212
+ rls_simulation_viewing_as_role: "Vista come ruolo {{role}}",
213
+ rls_simulation_viewing_as_role_user: "Vista come {{user}} con il ruolo {{role}}",
214
+ rls_simulation_viewing_as_user: "Vista come utente {{user}}",
215
+ rls_simulation_viewing_as_api_key: "Vista come chiave API {{name}} ({{prefix}}…)",
216
+ rls_simulation_hidden_collections: "{{count}} collezioni nascoste",
217
+ rls_simulation_hidden_collections_one: "1 collezione nascosta",
218
+ rls_simulation_masked_columns: "{{count}} colonne mascherate dalla RLS",
219
+ rls_simulation_masked_columns_one: "1 colonna mascherata dalla RLS",
220
+ rls_simulation_counting: "Calcolo di ciò che questa identità può leggere…",
221
+ rls_simulation_count_failed: "Impossibile contare ciò che questa identità può leggere: {{message}}",
222
+ rls_simulation_note: "Le viste dei dati mostrano solo le righe e i campi che questa identità può leggere. La modifica è disattivata durante la simulazione: interrompi la simulazione per apportare modifiche. Gli aggiornamenti in tempo reale sono in pausa.",
199
223
  create_index: "Crea indice",
200
224
  value_is_not_reference: "Il valore non è un riferimento.",
201
225
  click_to_edit: "Fai clic per modificare",
@@ -957,6 +981,7 @@ var it = {
957
981
  studio_policy_help_step4_title: "4. Espressione WITH CHECK",
958
982
  studio_policy_help_step4_desc: "Una condizione SQL che deve risultare vera perché le righe nuove o modificate vengano salvate (INSERT, UPDATE).",
959
983
  studio_policy_help_step4_example: "Di solito coincide con l'espressione USING quando gli utenti possono inserire o modificare solo i propri dati.",
984
+ studio_policy_help_example: "Esempio:",
960
985
  studio_policy_help_auth_vars_title: "Variabili di autenticazione di Rebase",
961
986
  studio_policy_help_auth_vars_desc: "Rebase mette a disposizione funzioni native che puoi usare nelle tue espressioni:",
962
987
  studio_policy_help_auth_uid: "Restituisce l'ID dell'utente corrente come testo. Esempio:",
@@ -1019,12 +1044,69 @@ var it = {
1019
1044
  studio_collections_editor_pick: "Seleziona una collezione o creane una nuova per iniziare a modificarla.",
1020
1045
  studio_collections_editor_read_only: "Le collezioni non si possono modificare su questo server.",
1021
1046
  studio_collections_editor_unsaved: "Questa collezione ha modifiche non salvate.",
1047
+ schema_change_title_review: "Rivedi la modifica dello schema",
1048
+ schema_change_title_applied: "Modifica dello schema applicata",
1049
+ schema_change_title_committed: "Commit della modifica dello schema eseguito",
1050
+ schema_change_verdict_safe_title: "Pronto da applicare",
1051
+ schema_change_verdict_safe_body: "Ogni modifica qui si può fare sul database in esecuzione.",
1052
+ schema_change_verdict_diverges_title: "Questo lascerebbe il database non allineato",
1053
+ schema_change_verdict_diverges_body: "La modifica si può scrivere, ma il database non finirà per corrispondervi. I dettagli qui sotto dicono quale parte, e cosa la renderebbe applicabile.",
1054
+ schema_change_verdict_migration_title: "Serve una migrazione",
1055
+ schema_change_verdict_migration_body: "Una parte non si può fare affatto su un database in esecuzione: elimina o riscrive qualcosa, e questo va in una migrazione che qualcuno ha letto.",
1056
+ schema_change_commit_only_title: "Pronto per il commit",
1057
+ schema_change_commit_only_body: "Ora non viene eseguito nulla sul database. Ogni modifica qui sotto dice cosa fa e quando ha effetto.",
1058
+ schema_change_commit_only_body_no_changes: "Questo cambia ciò che il tuo progetto dichiara. Sul database non viene eseguito nulla: non c'è nessuna modifica dello schema da fare.",
1059
+ schema_change_chip_safe: "sicuro",
1060
+ schema_change_chip_diverges: "diverge",
1061
+ schema_change_chip_migration: "richiede migrazione",
1062
+ schema_change_follow_up_one: "Una cosa da fare dopo",
1063
+ schema_change_follow_up: "Da fare dopo",
1064
+ schema_change_withheld_one: "Un vincolo non verrà applicato",
1065
+ schema_change_withheld_many: "{{count}} vincoli non verranno applicati",
1066
+ schema_change_db_not_changed: "Il database non è stato modificato",
1067
+ schema_change_db_maybe_changed: "Il database potrebbe essere stato modificato in parte",
1068
+ schema_change_statements_partial: "Sono state eseguite {{ran}} istruzioni su {{total}}, poi una è fallita",
1069
+ schema_change_commit_holds: "Il commit è comunque su {{branch}}, quindi ciò che non è stato eseguito verrà applicato al prossimo avvio.",
1070
+ schema_change_committed: "Commit eseguito",
1071
+ schema_change_committed_on: "{{sha}} su {{branch}}",
1072
+ schema_change_plan_failed: "Non è stato possibile pianificare la modifica",
1073
+ schema_change_planning: "Sto calcolando cosa farebbe questa modifica…",
1074
+ schema_change_source_only_changes: "Niente qui cambia la forma dei tuoi dati. Cambia solo il sorgente della collezione, e ne viene fatto il commit.",
1075
+ schema_change_source_only_title: "Modifica solo il sorgente: fai il commit della collezione, lascia il database",
1076
+ schema_change_preview_only: "Puoi vedere l'anteprima di questa modifica, ma non applicarla",
1077
+ schema_change_statements: "Istruzioni che verranno eseguite",
1078
+ schema_change_files: "File di cui verrà fatto il commit",
1079
+ schema_change_message: "Messaggio del commit",
1080
+ schema_change_edit_source_only: "Modifica solo il sorgente",
1081
+ schema_change_committing: "Commit in corso…",
1082
+ schema_change_applying: "Applicazione in corso…",
1083
+ schema_change_commit: "Esegui il commit",
1084
+ schema_change_commit_and_apply: "Esegui il commit e applica",
1085
+ studio_api_explorer_spec_refused_title: "Questa sessione non può leggere la specifica dell'API",
1086
+ studio_api_explorer_spec_failed_title: "Impossibile caricare la specifica dell'API",
1087
+ studio_api_explorer_spec_refused_body: "L'accesso della console all'API di questo progetto è stato rifiutato. Di solito significa che la sessione è scaduta (accedi di nuovo) o che l'accesso della console è stato disattivato per questo progetto nelle Impostazioni.",
1088
+ studio_api_explorer_spec_failed_body: "Il progetto ha risposto, ma non con una specifica che questo explorer possa leggere. La sua API non è interessata; solo questa pagina.",
1022
1089
  db_column_type: "Tipo di colonna del database",
1023
1090
  primary_key_unique_id: "Chiave primaria / ID univoco",
1024
1091
  spread_children_as_columns: "Espandi i figli come colonne",
1025
1092
  mode: "Modalità",
1026
1093
  timezone: "Fuso orario",
1027
1094
  target_collection: "Collezione di destinazione",
1095
+ column_type_default: "Predefinito ({{type}})",
1096
+ column_type_uuid_forced: "uuid (imposto dalla chiave primaria)",
1097
+ column_type_varchar: "varchar (lunghezza variabile)",
1098
+ column_type_text: "text (illimitato)",
1099
+ column_type_char: "char (lunghezza fissa)",
1100
+ column_type_timestamp: "timestamp (con fuso orario)",
1101
+ column_type_caption_string: "Facoltativo: un tipo di colonna del database diverso per questo campo di testo.",
1102
+ column_type_caption_number: "Facoltativo: un tipo di colonna del database diverso per questo campo numerico.",
1103
+ column_type_caption_date: "Facoltativo: un tipo di colonna del database diverso per questo campo data.",
1104
+ primary_key_manual: "Sì (inserimento manuale)",
1105
+ primary_key_generated_string: "Sì (UUID/stringa generata automaticamente)",
1106
+ primary_key_identity: "Sì (autoincremento/identity)",
1107
+ primary_key_increment: "Sì (incremento)",
1108
+ primary_key_strategy: "Sì ({{strategy}})",
1109
+ primary_key_caption: "Imposta come chiave primaria e configura la strategia di generazione degli ID.",
1028
1110
  storage_file_name: "Nome del file",
1029
1111
  storage_path: "Percorso di archiviazione",
1030
1112
  storage_max_size: "Dimensione massima (in byte)",
@@ -1040,6 +1122,14 @@ var it = {
1040
1122
  storage_include_bucket_url: "Includi URL del bucket (s3://...) nel valore salvato",
1041
1123
  storage_save_url: "Salva URL invece del percorso di archiviazione",
1042
1124
  datetime_automatic_value: "Valore automatico",
1125
+ datetime_mode_date_time: "Data/ora",
1126
+ datetime_mode_date: "Data",
1127
+ datetime_auto_value_none: "Nessuno",
1128
+ datetime_auto_value_on_create: "Alla creazione",
1129
+ datetime_auto_value_on_update: "A ogni aggiornamento",
1130
+ datetime_auto_value_caption: "Aggiorna questo campo automaticamente quando il record viene creato o aggiornato",
1131
+ datetime_timezone_local: "Fuso orario locale",
1132
+ datetime_timezone_caption: "Fuso orario per mostrare e inserire le date. I valori vengono sempre salvati in UTC.",
1043
1133
  markdown_paste_behavior: "Comportamento incolla",
1044
1134
  entity_saved: "Salvato",
1045
1135
  more_actions: "Altre azioni",
@@ -1315,6 +1405,61 @@ var it = {
1315
1405
  studio_rls_nothing_changed: "Non è cambiato nulla, quindi non è stato salvato nulla.",
1316
1406
  studio_branches_unavailable_title: "Il branching del database non è disponibile",
1317
1407
  studio_branches_unavailable_body: "Il branching richiede un backend Postgres con una connessione da amministratore. Imposta ADMIN_CONNECTION_STRING nell'ambiente del backend.",
1408
+ studio_branch_diff_tab_schema: "Schema e policy RLS",
1409
+ studio_branch_diff_tab_data: "Modifiche ai dati",
1410
+ studio_branch_diff_tab_details: "Dettagli",
1411
+ studio_branch_diff_merge: "Unisci in {{target}}",
1412
+ studio_branch_diff_failed: "Impossibile confrontare questo branch",
1413
+ studio_branch_diff_denied_title: "Non puoi esaminare questo branch",
1414
+ studio_branch_diff_denied_hint: "Esaminare un branch richiede lo scope database:write: il suo diff mostra righe di entrambi i database, lette fuori dalla sicurezza a livello di riga.",
1415
+ studio_branch_diff_unreadable: "Il server ha risposto con qualcosa che non è un diff di branch.",
1416
+ studio_branch_diff_no_api: "Questo pannello non ha un indirizzo di backend da cui leggere il diff del branch.",
1417
+ studio_branch_diff_fork_unknown: "Non è stato possibile leggere il momento in cui è stato creato questo branch, quindi ogni riga diversa conta come modifica del branch. Un'unione annullerebbe anche ciò che {{target}} ha cambiato da allora.",
1418
+ studio_branch_diff_schema_empty: "Nessuna modifica a schema o policy rispetto a {{target}}.",
1419
+ studio_branch_diff_schema_not_merged: "Le modifiche a schema e policy sono mostrate per la revisione. Un'unione non le applica mai: appartengono alle tue collection e alle loro migrazioni.",
1420
+ studio_branch_diff_object_table: "Tabella",
1421
+ studio_branch_diff_object_column: "Colonna",
1422
+ studio_branch_diff_object_policy: "Policy di accesso",
1423
+ studio_branch_diff_object_rls: "Sicurezza a livello di riga",
1424
+ studio_branch_diff_object_constraint: "Vincolo",
1425
+ studio_branch_diff_object_index: "Indice",
1426
+ studio_branch_diff_object_trigger: "Trigger",
1427
+ studio_branch_diff_object_enum: "Tipo enum",
1428
+ studio_branch_diff_object_view: "Vista",
1429
+ studio_branch_diff_object_function: "Funzione",
1430
+ studio_branch_diff_change_added: "Aggiunto",
1431
+ studio_branch_diff_change_dropped: "Eliminato",
1432
+ studio_branch_diff_change_altered: "Modificato",
1433
+ studio_branch_diff_data_empty: "Il branch non ha modificato righe rispetto a {{target}}.",
1434
+ studio_branch_diff_row_inserted: "Inserita",
1435
+ studio_branch_diff_row_updated: "Aggiornata",
1436
+ studio_branch_diff_row_deleted: "Eliminata",
1437
+ studio_branch_diff_row_conflict: "Conflitto",
1438
+ studio_branch_diff_conflicts: "{{count}} conflitti",
1439
+ studio_branch_diff_target_changes: "{{count}} righe sono cambiate solo in {{target}} dalla creazione del branch. Un'unione le mantiene.",
1440
+ studio_branch_diff_target_changes_referencing: "{{count}} righe sono cambiate solo su {{target}} dalla creazione del branch. {{reached}} di esse fanno riferimento a righe che il branch ha eliminato: un merge le mantiene, a meno che il branch non vinca quel conflitto.",
1441
+ studio_branch_diff_referenced_by: "Righe che {{target}} ha scritto dalla creazione del branch fanno ancora riferimento a righe che il branch ha eliminato qui: {{tables}}. Ognuna conta come un conflitto.",
1442
+ studio_branch_diff_row_counts: "Righe: {{targetCount}} in {{target}}, {{branchCount}} nel branch.",
1443
+ studio_branch_diff_column_change: "Modifica",
1444
+ studio_branch_diff_column_key: "Chiave primaria",
1445
+ studio_branch_diff_column_values: "Valori",
1446
+ studio_branch_diff_samples_shown: "Mostrate {{shown}} di {{total}} righe modificate.",
1447
+ studio_branch_diff_merge_title: "Unisci {{branch}} in {{target}}",
1448
+ studio_branch_diff_merge_writes: "Questo scrive le righe del branch in {{target}}: {{inserted}} inserite, {{updated}} aggiornate e {{deleted}} eliminate.",
1449
+ studio_branch_diff_merge_target_kept: "Nulla di ciò che {{target}} ha cambiato dalla creazione del branch viene toccato.",
1450
+ studio_branch_diff_merge_target_kept_count: "Le {{count}} righe che {{target}} ha cambiato dalla creazione del branch restano come sono.",
1451
+ studio_branch_diff_merge_schema_skipped: "Le {{count}} modifiche a schema e policy non vengono unite. Applicale con le tue migrazioni (rebase db push).",
1452
+ studio_branch_diff_merge_conflicts: "{{count}} righe sono cambiate da entrambe le parti. Quale versione prevale?",
1453
+ studio_branch_diff_merge_referenced_conflicts: "Alcune sono righe che il branch ha eliminato e a cui fanno ancora riferimento {{count}} righe scritte da {{target}} nel frattempo: {{tables}}. Mantenere la versione di {{target}} mantiene quelle righe e le righe che le referenziano.",
1454
+ studio_branch_diff_merge_referenced_reached: "Se vince il branch, vengono eliminate righe a cui fanno ancora riferimento {{count}} righe scritte da {{target}} nel frattempo, e le chiavi esterne raggiungono quelle righe: {{tables}}. Le altre righe che {{target}} ha cambiato restano come sono.",
1455
+ studio_branch_diff_conflict_abort: "Nessuna: non unire nulla",
1456
+ studio_branch_diff_conflict_branch: "Quella del branch ({{branch}})",
1457
+ studio_branch_diff_conflict_target: "Quella di {{target}}: lasciarla com'è",
1458
+ studio_branch_diff_merge_blocked: "{{count}} tabelle con righe modificate non possono essere unite:",
1459
+ studio_branch_diff_merge_skip_blocked: "Unisci le altre tabelle e lascia queste come sono",
1460
+ studio_branch_diff_merge_atomic: "Tutto viene scritto in un'unica transazione, oppure niente. Se uno dei due database è cambiato da quando è stato letto questo diff, non viene scritto nulla e il diff si ricarica.",
1461
+ studio_branch_diff_merge_confirm: "Unisci",
1462
+ studio_branch_diff_merged: "{{count}} righe unite in {{target}}",
1318
1463
  studio_backups_not_configured_title: "I backup non sono configurati",
1319
1464
  studio_backups_not_configured_body: "Imposta BACKUP_DESTINATION su un percorso locale o su un URL s3:// o gs://, poi crea un backup con `rebase db backup` o un cron pianificato.",
1320
1465
  studio_cron_empty_title: "Nessun processo cron registrato",
@@ -1406,6 +1551,34 @@ var it = {
1406
1551
  studio_storage_folder_exists: "La cartella «{{name}}» esiste già",
1407
1552
  studio_storage_folder_created: "Cartella «{{name}}» creata",
1408
1553
  studio_storage_create_folder_failed: "Impossibile creare la cartella",
1554
+ studio_branches_empty: "Ancora nessun branch. Creane uno per lavorare su una copia isolata del database.",
1555
+ studio_branches_create_action: "Crea branch",
1556
+ studio_branches_empty_detail: "Crea un branch per iniziare",
1557
+ studio_branches_select_prompt: "Seleziona un branch per vederne i dettagli",
1558
+ studio_branches_list_from: "da {{parent}} · {{when}}",
1559
+ studio_branches_created_from: "Creato da",
1560
+ studio_branches_branch_name: "Nome del branch",
1561
+ studio_branches_source_database: "Database di origine",
1562
+ studio_branches_created: "Creato",
1563
+ studio_branches_size: "Dimensione",
1564
+ studio_branches_usage_title: "Come usare questo branch",
1565
+ studio_branches_usage_switch: "Punta questo checkout su di esso. Ogni comando successivo lo usa:",
1566
+ studio_branches_usage_off: "Torna al database principale con:",
1567
+ studio_branches_usage_isolated: "Le modifiche fatte su questo branch non toccano il database principale.",
1568
+ studio_branches_connection_details: "Dettagli di connessione",
1569
+ studio_branches_row_database: "Database:",
1570
+ studio_branches_row_connect: "Connettiti con:",
1571
+ studio_branches_row_branched_from: "Derivato da:",
1572
+ studio_branches_row_created_at: "Creato il:",
1573
+ studio_branches_create_title: "Crea nuovo branch",
1574
+ studio_branches_create_body: "Crea una copia isolata del database. Il branch sarà un clone completo del database di origine in questo momento.",
1575
+ studio_branches_name_placeholder: "es. feature-auth, staging, preview-pr-42",
1576
+ studio_branches_source_main: "Predefinito (database principale)",
1577
+ studio_branches_creating: "Creazione…",
1578
+ studio_branches_delete_title: "Elimina branch",
1579
+ studio_branches_delete_body: "Vuoi davvero eliminare definitivamente il branch “{{name}}”? Questa azione non può essere annullata e tutti i dati di questo branch andranno persi.",
1580
+ studio_branches_created_snackbar: "Branch “{{name}}” creato",
1581
+ studio_branches_deleted_snackbar: "Branch “{{name}}” eliminato",
1409
1582
  insights_period_last_days: "Ultimi {{count}} giorni",
1410
1583
  insights_period_last_days_one: "Ultimo giorno",
1411
1584
  insights_previous_period_value: "{{count}} giorni precedenti: {{value}}",
@@ -1425,10 +1598,11 @@ var it = {
1425
1598
  copy_column_name: "Copia nome colonna",
1426
1599
  generate_sql_templates: "Genera modelli SQL",
1427
1600
  select_row: "Seleziona {{id}}",
1601
+ relation_open_record: "Apri {{label}}",
1428
1602
  select: "Seleziona",
1429
1603
  open_view: "Apri vista"
1430
1604
  };
1431
1605
  //#endregion
1432
1606
  export { it };
1433
1607
 
1434
- //# sourceMappingURL=it-BoT_vBlx.js.map
1608
+ //# sourceMappingURL=it-DoEtz-OK.js.map