- Veterinary medicine catalogue, lots and append-only movement ledger (rest always computed; corrections as counter-bookings; inactive medicines take no new stock; unit must match on lot moves). - Documents of medicine lots, authority notices and restrictions need the domain right on top of documents:* (403 before any lookup). - Label particulars: pure checkLabel with six mandatory gaps and four warnings, AFM font metrics, Berlin-day dates, geometric reading order for split addresses, new master-data fields with row-locked updates. - Herd events ColonyCreated, ColonyMoved, ApiaryChanged and TskReferenceDayReached (ids only, never forwarded to webhooks); CSV import emits ColonyCreated with audit. - ARCHITECTURE.md §12 Compliance (T6), Annahmen 59–70. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
30 lines
902 B
TypeScript
30 lines
902 B
TypeScript
import { UpdateLabelTemplateDto } from './dto/update-label-template.dto';
|
|
import { UpdateProductDto } from '../products/dto/update-product.dto';
|
|
import { UpdateSiteSettingsDto } from '../site-settings/dto/update-site-settings.dto';
|
|
import { describeNullContracts } from '../common/validation/null-contract.spec-helper';
|
|
|
|
// Only the fields T6 Task 5 adds; the older fields stay in
|
|
// update-dto-null-handling.spec.ts.
|
|
describeNullContracts('Label particulars null contracts', {
|
|
UpdateSiteSettingsDto: {
|
|
dto: UpdateSiteSettingsDto,
|
|
notNull: [],
|
|
clearable: [
|
|
'foodBusinessName',
|
|
'foodBusinessAddress',
|
|
'holderName',
|
|
'holderAddress',
|
|
],
|
|
},
|
|
UpdateProductDto: {
|
|
dto: UpdateProductDto,
|
|
notNull: [],
|
|
clearable: ['legalName'],
|
|
},
|
|
UpdateLabelTemplateDto: {
|
|
dto: UpdateLabelTemplateDto,
|
|
notNull: ['minXHeightMm'],
|
|
clearable: [],
|
|
},
|
|
});
|