This commit is contained in:
seb
2026-10-10 02:08:10 +02:00
parent d4e2b05cb0
commit 7f8661be3e
43 changed files with 3312 additions and 2339 deletions

View File

@@ -1,5 +1,7 @@
import * as db from '../../db/order.js';
// #region Helpers
function requireSelectedCompany(req) {
const companyId = req.user.selectedCompanyId;
if (companyId == null) {
@@ -24,6 +26,8 @@ function orderErrorStatus(error) {
return 500;
}
// #endregion
/**
* Registers sales-order routes for the authenticated user's selected company.
* @param {import('express').Application} app
@@ -184,6 +188,8 @@ export function register(app, basePath = '') {
* schema:
* $ref: '#/components/schemas/Error'
*/
// #region GET /order
app.get(`${basePath}/order`, async (req, res) => {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -220,6 +226,10 @@ export function register(app, basePath = '') {
}
});
// #endregion
// #region POST /order
app.post(`${basePath}/order`, async (req, res) => {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -247,6 +257,8 @@ export function register(app, basePath = '') {
}
});
// #endregion
/**
* @openapi
* /order/{id}:
@@ -411,6 +423,8 @@ export function register(app, basePath = '') {
* schema:
* $ref: '#/components/schemas/Error'
*/
// #region GET /order/:id
app.get(`${basePath}/order/:id`, async (req, res) => {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -432,6 +446,10 @@ export function register(app, basePath = '') {
}
});
// #endregion
// #region PATCH /order/:id
app.patch(`${basePath}/order/:id`, async (req, res) => {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -474,6 +492,10 @@ export function register(app, basePath = '') {
}
});
// #endregion
// #region DELETE /order/:id
app.delete(`${basePath}/order/:id`, async (req, res) => {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -494,4 +516,6 @@ export function register(app, basePath = '') {
res.status(status).json({ error: error.message });
}
});
// #endregion
}