- Spegnimento
- 2 settembre 2026 alle ore 03:10 UTC
- Autore
- Kamo
- Impegno
- 4307ec4
Un rapporto è ora una classe Java qui e niente altrove. ReportDefinition descrive che cosa è un rapporto, che cosa può essere chiesto, quali colonne ha e come ciascuno dovrebbe essere letto; il frontend rende qualsiasi cosa che dichiara, in modo da aggiungere un report non ha bisogno di endpoint, nessuna pagina e nessun TypeScript. I pezzi che portano il peso: - ReportCapability è il motivo per cui il frontend può essere generico. Un rapporto che dichiara solo FAVORITE e SCHEDULE non ottiene nessun costruttore di filtri, nessun gestore di colonne e nessun pannello di gruppo — ManagementOverviewReport esiste in parte come il canario per quello. - ReportFormat è un descrittore, mai una stringa resa, quindi una moneta nella tabella, il grafico tooltip, il CSV e il PDF non possono essere in disaccordo. - RapportoSicurezza Scope proviene dai diritti di dominio OWN di ogni rapporto, mai da un giusto. Un rapporto di vendita si allarga su VIEW ALL LEADS esattamente come il piombo Griglia, quindi la segnalazione non può mai diventare un modo per aggirare il modello di sicurezza. - ReportQuerySupport mette l'ambito predicato prima, rifiuta una colonna sconosciuta chiave invece di lasciarla, e si unisce a sinistra ogni associazione — un'unione implicita è un INNER, e le file con nulla dall'altra parte sono quelle Qualcuno sta cercando. - ReportAggregator mantiene un gruppo nullo come proprio gruppo, quindi i subtotali aggiungono ancora fino al grande totale. - Le date si risolvono nel fuso orario del MEMBER e sono a metà aperto. A 03:30 UTC su 1 settembre un membro a Los Angeles è ancora in agosto. Ogni classe di report trasporta @Component e @ConditionalOnProperty. Questo non è decorazione: ogni servizio scansiona com.kamo ma dichiara il proprio esplicito @EnableJpaRepositories elenco, così un nudo @Component bisogno di un EntityManager è costruito in tutti loro e CrashLoops quelli che non possono soddisfarlo. The la proprietà è impostata solo in SecurityService, e ReportBeansAreConditional Il test fallisce la costruzione se un rapporto lo dimentica. Reports è un app (ServiceType id 32) con cinque diritti (295-299). VIEW REPORTS è la porta del modulo e non concede alcun dato da solo. I nomi VIEW REPORTS e EXPORT REPORTI esistevano a ids 1 e 2 fino al 2026-08-14, quando furono rimossi insieme alle pagine acrobatiche dietro di loro; i diritti persistono come getId(), quindi nessuna concessione fatto prima allora può risolvere a questi. PhiModule.REPORTING è PERMITTED — il motore legge in-cluster e non memorizza copia. L'esportazione e la programmazione lasciano il confine e sono governati dal loro diritti propri e da EMAIL.