API di lettura/scrittura org-scoped per lavori di servizio

Featurekamo-shared-library
Spegnimento
27 agosto 2026 alle ore 07:42 UTC
Autore
Kamo
Impegno
29ced39

ServiceJob è stata un'entità mappata con repository e test di passaggio e Non c'è modo di leggere una fila. Questo gli dà l'intestazione l'interfaccia di lavoro finito già rende, così la griglia può smettere di generare la propria. Formata su ServiceTaskBookApi/Service: String ids e stringhe ISO-8601 sulle filo, orgId prima su ogni metodo, ogni lettura mappata a una vista INSIDE transazione perché ServiceJob.visite è LAZY, e l'inquilino predicato in il JPQL piuttosto che un assegno dopo il carico. ServiceJobRepository già ha portato tutte e quattro le domande, così è intatto. Due decisioni di forma hanno dovuto prendere il DTO: - totaleLabourMinutes è un Integer, mai ore di galleggiamento. Un compito di 20 minuti è 0.333 ore e tre non sono un'ora; ServiceLineItem.labourMinutes discute il caso per la colonna e tiene anche sul filo. È riassunto dalle finestre reali delle visite, che è l'unico lavoro che un lavoro può raggiungere: ServiceLineItem blocca un Ordine senza alcun link a un lavoro. Tempo frequentato, Non e' il momento giusto. - il commercio non è la categoria dell'UI. Dieci corde composte libere contro quindici ServiceTrade costanti, non 1:1 — 'Plumbing Repair' è PLUMBING plus WorkClass.REPAIR, e la classe di lavoro vive su un elemento di linea. Il filo porta il commercio e il cliente rende un'etichetta. Lo stato si muove attraverso ServiceJobStatusMachine e nessun altro luogo, motivo per cui JobInput non ha membro dello stato e StatusInput è il suo record. Uno stato raggiungibile tramite l'aggiornamento generale sarebbe una seconda porta sulla colonna, e la seconda porta è quella che nessuno controlla. I test sono comportamentali, non scansioni di sorgenti: il repository è un proxy il cui trovareByIdForOrg onora l'org e la cui ricercaById deliberatamente non lo fa, quindi una lettura non incorniciata è presa come una perdita piuttosto che come una rottura. Testato di mutazione — asserireTrasmissione cancellata, affermareTrasferimento spostato dopo setStatus, org-scoped query swapped per findById, i minuti convertiti in ore, il stato filtro spostato da SQL, ottenereVisits() lasciato illeggi, \@Transactional rimosso, e un componente 'status' aggiunto a JobInput. Ognuno ha prodotto un distinto fallimento nominare la proprietà che protegge.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo