- Shipped
- 3 settembre 2026 alle ore 22:50 UTC
- Author
- Kamo
- Commit
- a372f00
Una recensione del mio stesso commit ha trovato l'applicazione che ha sostenuto. JobApplicationService ha portato il commento "un curriculum REQUIRED è applicato a quel punto da richiedonoRisume soddisfatto" — e richiedonoRisume soddisfatto non esisteva. L'unico metodo correlato, curriculum soddisfatto, è stato chiamato da nulla e esposto su nessun DTO, quindi la regola vissuta interamente nel pulsante di presentazione del cliente. La causa era la forma a due posti. Un curriculum si attacca a un'applicazione attraverso applicazione propria uid, quindi la riga deve esistere prima; applicare() creato e il cliente caricato dopo. Chiunque POSTing the JSON endpoint direttamente, e qualsiasi client la cui gamba di upload fallita — che ApplyDialog tratta deliberatamente come non grassa, perché le risposte sono veramente memorizzate — archiviato un aspetto completo domanda contro un post il cui team HR aveva segnato il curriculum richiesto. Ora entrambe le metà sono una richiesta e una transazione. /listings/{uid}/apply ha due mappature divise sul tipo di contenuto: il multipart uno prende le risposte come un `payload` parte e il file come `file`, scrive la riga, memorizza il file contro il suo uid fresco, e rotola l'intera cosa indietro se il file è richiesto e mancante o non restaurabile. Il JSON non ha alcun file e quindi si rifiuta in modo definitivo quando la postazione richiede uno — che è ciò che chiude il foro di posta diretta piuttosto che la carta sopra E' cosi'. Modificare un'applicazione esistente rimane due chiamate, correttamente: la riga è già lì, quindi un re-attaccamento fallito non può orfano nulla. storeResume ora è condiviso da applicare e attaccareResume, quindi il soffitto di dimensione, il formato sniff e il nome sanitising non può derivare tra i due percorsi. Tre test lo pin: un curriculum richiesto senza file si rifiuta e scrive nessuna riga, un facoltativo può essere omesso, e riapplicare dopo un prelievo è soddisfatto da file già sulla riga rianimata piuttosto che essere chiesto per esso due volte. Rimuove anche CareersAccess.canManage, che è stato chiamato solo dal proprio test. Un'API mantenuto vivo da un test non è un API.