refactor: extract numbering logic into numbering.service.ts
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,7 @@ import { requirePermission } from '../../middleware/auth';
|
||||
import { logAudit } from '../../services/audit';
|
||||
import { success, error, parseId } from '../../utils/response';
|
||||
import { parsePagination, buildPaginationMeta } from '../../utils/pagination';
|
||||
import { getNextNumber } from '../../utils/sequence';
|
||||
import { generateInvoiceNumber } from '../../services/numbering.service';
|
||||
import { parseBody } from '../../schemas/common';
|
||||
import { CreateInvoiceSchema, UpdateInvoiceSchema } from '../../schemas/invoices.schema';
|
||||
|
||||
@@ -106,7 +106,7 @@ export default async function invoicesRoutes(fastify: FastifyInstance): Promise<
|
||||
const prefix = `${yy}${typeCode}`;
|
||||
|
||||
// Atomic numbering via number_sequences table
|
||||
const nextNum = await getNextNumber('invoice', year);
|
||||
const nextNum = await generateInvoiceNumber(year);
|
||||
const number = `${prefix}${String(nextNum).padStart(4, '0')}`;
|
||||
return success(reply, { number, next_number: number });
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user